{"_id":"@archlynx/create-common-crud","_rev":"8-8f0c3defac0929d35ac827d325bc27f7","name":"@archlynx/create-common-crud","dist-tags":{"latest":"1.0.7"},"versions":{"1.0.0":{"name":"@archlynx/create-common-crud","version":"1.0.0","_id":"@archlynx/create-common-crud@1.0.0","maintainers":[{"name":"archlynx","email":"dishanshakya@gmail.com"}],"bin":{"common-crud-install":"./bin/index.js"},"dist":{"shasum":"aa888f49b2d00bdd79a16995ae443832c9378c06","tarball":"https://registry.npmjs.org/@archlynx/create-common-crud/-/create-common-crud-1.0.0.tgz","fileCount":5,"integrity":"sha512-QdVWjYrFgmYBzccEh4gSmKz4bgmlilFPn53EAHgTdy14RvQCswPkLJL6WOUQgkY5NnlzG0xDOixN5GN/QPqrlQ==","signatures":[{"sig":"MEQCIFrKAGTwJff+ny6Tw3/DGjr6gUbT+IQA0CN0TELbDAEDAiAY/b9u09G7moIjLvFtFQrov+CpKFVFy+1QBw/gvVH47Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12541},"type":"module","_npmUser":{"name":"archlynx","email":"dishanshakya@gmail.com"},"description":"Installs @archlynx/common-crud into the current project","directories":{},"_nodeVersion":"26.4.0","dependencies":{"prompts":"^2.4.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/create-common-crud_1.0.0_1788265076328_0.8095024597998615","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@archlynx/create-common-crud","version":"1.0.1","_id":"@archlynx/create-common-crud@1.0.1","maintainers":[{"name":"archlynx","email":"dishanshakya@gmail.com"}],"bin":{"common-crud-install":"./bin/index.js"},"dist":{"shasum":"f4f9ac6345660554b665cf98bccdd0a6c52412bc","tarball":"https://registry.npmjs.org/@archlynx/create-common-crud/-/create-common-crud-1.0.1.tgz","fileCount":5,"integrity":"sha512-/LsKb3KmPdJlzkOqowLOMpXs89toW2/W4h22g/IMzyYW99ZHKwXhuMEYyP4BOdS1NkiVx6c1sIss6zkqdufvGg==","signatures":[{"sig":"MEQCIFnw+LxZajsBGYJiL5kvoWbzYLPcasDuXXQkTH4Hx2LBAiB6joGb5QDwNkVFLCypg1dDG8klXlF1RtxLkjeRZ5kBqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14610},"type":"module","_npmUser":{"name":"archlynx","email":"dishanshakya@gmail.com"},"description":"Installs @archlynx/common-crud into the current project","directories":{},"_nodeVersion":"26.4.0","dependencies":{"prompts":"^2.4.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/create-common-crud_1.0.1_1788349191421_0.9890115157669099","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@archlynx/create-common-crud","version":"1.0.2","_id":"@archlynx/create-common-crud@1.0.2","maintainers":[{"name":"archlynx","email":"dishanshakya@gmail.com"}],"bin":{"common-crud-install":"./bin/index.js"},"dist":{"shasum":"b2702a6beb018e8c32120402e497424266655b2f","tarball":"https://registry.npmjs.org/@archlynx/create-common-crud/-/create-common-crud-1.0.2.tgz","fileCount":5,"integrity":"sha512-XHqLnnPjT/nxSmnc5FU0PMkb2PSddA8sUeWmnkh1SFTgaSR/KosBhnf9iE6/s8NiIxjh+MRl5dGX/4gqxep84g==","signatures":[{"sig":"MEUCIQDPrkwOPtwZCakz3bt1ZWh95TfhuqJmDMH7VlxdvOrKAgIgPcxCXKpOx2YF3neRiFErJBdt1TakQYRmQPX4tqB+YX0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14706},"type":"module","_npmUser":{"name":"archlynx","email":"dishanshakya@gmail.com"},"description":"Installs @archlynx/common-crud into the current project","directories":{},"_nodeVersion":"26.4.0","dependencies":{"prompts":"^2.4.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/create-common-crud_1.0.2_1788349555743_0.6366188454627084","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@archlynx/create-common-crud","version":"1.0.3","_id":"@archlynx/create-common-crud@1.0.3","maintainers":[{"name":"archlynx","email":"dishanshakya@gmail.com"}],"bin":{"common-crud-install":"./bin/index.js"},"dist":{"shasum":"87d5b0c6fe37f6989cbb2d783651235a72b55c2c","tarball":"https://registry.npmjs.org/@archlynx/create-common-crud/-/create-common-crud-1.0.3.tgz","fileCount":5,"integrity":"sha512-3V5BoU24bQ7SmHlnp887U6DGngvM6K7/63Izjkc6lx1Qs76Tl7GvxM+P6KaoNC2R2frx/RfDTaotsFGPZa3sLA==","signatures":[{"sig":"MEUCIQDX99UWwsgEgUPzyaNUKygOIsCnTqk+VJDCLPeNZfo8tAIgap7d/eiz0XBs82MzrKgn6csSuJcgI1BIy9KSrlb7pzU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15798},"type":"module","_npmUser":{"name":"archlynx","email":"dishanshakya@gmail.com"},"description":"Installs @archlynx/common-crud into the current project","directories":{},"_nodeVersion":"26.4.0","dependencies":{"prompts":"^2.4.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/create-common-crud_1.0.3_1788350856958_0.8171811886602478","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@archlynx/create-common-crud","version":"1.0.4","_id":"@archlynx/create-common-crud@1.0.4","maintainers":[{"name":"archlynx","email":"dishanshakya@gmail.com"}],"bin":{"common-crud-install":"./bin/index.js"},"dist":{"shasum":"07846abd20d371ef0948844d1d07a8f92709ba8b","tarball":"https://registry.npmjs.org/@archlynx/create-common-crud/-/create-common-crud-1.0.4.tgz","fileCount":5,"integrity":"sha512-von7bRfXSEUcd8AqTwWnN1ma1d+ReJnx+/5nk4n0SYQXIR0BZd2cqv/OkKzqSZLN3OhCIVrhhpiHuk6G0wxRiQ==","signatures":[{"sig":"MEUCIDP0qF/ZQ4t6hC3gzSvBjsgRt/XMsi8X7eYTtr57LqdAAiEA9ZvMLkqiqH525KLZMX4iFRVpyvHMfZpWBCOd6TgiiLk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15793},"type":"module","_npmUser":{"name":"archlynx","email":"dishanshakya@gmail.com"},"description":"Installs @archlynx/common-crud into the current project","directories":{},"_nodeVersion":"26.4.0","dependencies":{"prompts":"^2.4.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/create-common-crud_1.0.4_1788401761784_0.9454420824382797","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@archlynx/create-common-crud","version":"1.0.5","_id":"@archlynx/create-common-crud@1.0.5","maintainers":[{"name":"archlynx","email":"dishanshakya@gmail.com"}],"bin":{"common-crud-install":"./bin/index.js"},"dist":{"shasum":"829bb32a4ab09a1b384807a587a64794f6f27892","tarball":"https://registry.npmjs.org/@archlynx/create-common-crud/-/create-common-crud-1.0.5.tgz","fileCount":5,"integrity":"sha512-cEa97lEQUXgTS47xKckFXhrTheoAe1PmGeZMqDIYQV8CCIIr2hJvW4pNyVVdI3+FwQikdCD1GwmUuAwtIXZs6w==","signatures":[{"sig":"MEYCIQDVp5AGcXh52s8BAnzhyjRb2aZk2a1kMt9l8Zlt+4vDYwIhAKcH0osbrnUg6cvpIIXw9MnPwWRLTHo0aCqr7UAu0dtD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15936},"type":"module","_npmUser":{"name":"archlynx","email":"dishanshakya@gmail.com"},"description":"Installs @archlynx/common-crud into the current project","directories":{},"_nodeVersion":"26.4.0","dependencies":{"prompts":"^2.4.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/create-common-crud_1.0.5_1788403486649_0.5505984458263031","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@archlynx/create-common-crud","version":"1.0.6","_id":"@archlynx/create-common-crud@1.0.6","maintainers":[{"name":"archlynx","email":"dishanshakya@gmail.com"}],"bin":{"common-crud-install":"./bin/index.js"},"dist":{"shasum":"f0cebd0c897161f449d8f375996e1373b58cb166","tarball":"https://registry.npmjs.org/@archlynx/create-common-crud/-/create-common-crud-1.0.6.tgz","fileCount":5,"integrity":"sha512-SO0eoEf+PDYWQRgyupfVdvjQilvn9ma/E4GtXo1YFVs/r3FNEZ/VtXqo6ivdDYVB+sOTqhqt8nAqys5KTl0BLA==","signatures":[{"sig":"MEQCICOHt3Ql7GslGL5YEb8w9Pxbv9XYU25D0BqnSLXcDlKKAiBm0pEFSQjegZYIvttyUM7TqVIurKFXWsjlbl4a5ce/CQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17463},"type":"module","_npmUser":{"name":"archlynx","email":"dishanshakya@gmail.com"},"description":"Installs @archlynx/common-crud into the current project","directories":{},"_nodeVersion":"26.4.0","dependencies":{"prompts":"^2.4.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/create-common-crud_1.0.6_1788404022416_0.683051754261846","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@archlynx/create-common-crud","version":"1.0.7","description":"Installs @archlynx/common-crud into the current project","type":"module","bin":{"common-crud-install":"./bin/index.js"},"publishConfig":{"access":"public"},"dependencies":{"prompts":"^2.4.2"},"_nodeVersion":"26.4.0","_id":"@archlynx/create-common-crud@1.0.7","dist":{"integrity":"sha512-LtzY13FfjPHfw4f3IQJ1dp/mZBKr8tuT2YvCAxc5TgYI7Fu03lZUpEmhAIbAzqZW/7RI/E1Z17YtIYsYJwStSA==","shasum":"1b2a9c5aa90ac276f45a5ba344489af3db4bf7a2","tarball":"https://registry.npmjs.org/@archlynx/create-common-crud/-/create-common-crud-1.0.7.tgz","fileCount":5,"unpackedSize":17493,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCdrWY0NhBNj9Fdrhf9GxXwek9RMnAd1uWMNAPkBP2tOgIgYhxotzKSf4gZb3kXIWZ2YrNdJJhgDADrTg7xVH8tMGY="}]},"_npmUser":{"name":"archlynx","email":"dishanshakya@gmail.com"},"directories":{},"maintainers":[{"name":"archlynx","email":"dishanshakya@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/create-common-crud_1.0.7_1788404241584_0.17707042484182622"},"_hasShrinkwrap":false}},"time":{"created":"2026-09-01T12:17:55.637Z","modified":"2026-09-03T02:57:21.993Z","1.0.0":"2026-09-01T12:17:56.464Z","1.0.1":"2026-09-02T11:39:51.547Z","1.0.2":"2026-09-02T11:45:55.867Z","1.0.3":"2026-09-02T12:07:37.097Z","1.0.4":"2026-09-03T02:16:01.919Z","1.0.5":"2026-09-03T02:44:46.794Z","1.0.6":"2026-09-03T02:53:42.553Z","1.0.7":"2026-09-03T02:57:21.834Z"},"description":"Installs @archlynx/common-crud into the current project","maintainers":[{"name":"archlynx","email":"dishanshakya@gmail.com"}],"readme":"# @archlynx/create-common-crud\n\nInstalls [common-crud](https://github.com/dishanshakya/common-crud)'s reusable\n`common/` layer into an existing Node/Express project — same vendor-copy\napproach as `@archlynx/create-admin-panel`. No published npm package for the\nCRUD code itself, no build step: it's copied straight into your project as\nsource you own and can edit.\n\n## Usage\n\n```bash\nnpx @archlynx/create-common-crud\n```\n\nRun it from the root of an existing Node project (with `\"type\": \"module\"`\nin package.json).\n\n## What it does\n\n1. Clones `common-crud` and copies its `common/` folder into `src/common`.\n2. Reads `common/dependencies.json` and installs whichever of its runtime\n   deps (`drizzle-orm`, `jsonwebtoken`, `multer`, `uuid`, `http-status-codes`,\n   `pg`, `dotenv`, `zod`) aren't already in your project.\n3. Scaffolds `src/config/env.js` and `src/config/db.js` — these are yours to\n   edit, and `common/`'s repository/auth code imports `db` and `env` from\n   exactly those two files via relative paths, so keep them at\n   `src/config/*` unless you also update the imports inside `src/common`.\n4. Adds `\"imports\": { \"#/*\": \"./src/*\" }` to your `package.json`, since\n   `common/feature/common.controller.js` (and a few feature-level files in\n   the source app) resolve imports through that `#/` alias.\n5. Prints the manual steps left: env vars, pointing drizzle-kit at your own\n   schema, mounting a route with the common CRUD controllers, and serving\n   `src/public/uploads` as static.\n\n## Why a CLI instead of an npm package\n\nSame reasoning as admin-panel: this is meant to be forked into your project\nand adapted per-app (different tables, different auth rules), not consumed\nas a black-box dependency. The CLI just saves you the copy-paste and the\ndependency bookkeeping.\n","readmeFilename":""}