@solumjs/cli
v0.3.10
Published
SolumJS CLI: scaffold controllers, services, entities, and more
Readme
@solumjs/cli
Command-line interface for scaffolding and utilities.
Install
npm install -g @solumjs/cliCommands
Create New Project
solum new <project-name>Generates a complete project structure:
package.jsonwith all dependenciestsconfig.jsonconfigured for decoratorsjest.config.jswith path mappingsrc/app.tsbootstrap filesrc/controllers/— REST controllerssrc/services/— Service classessrc/repositories/— Repository classessrc/entities/— ORM entitiessrc/dto/— DTO interfacessrc/advice/— Exception handlerssrc/database/— Migration and schema scripts
solum new my-api
cd my-api
npm install
npm run devGenerate Files
solum generate <type> <name>| Type | Description |
|------|-------------|
| controller | REST controller class |
| service | Service class |
| repository | Repository with BaseRepository |
| entity | ORM entity class |
| dto | DTO interface |
| middleware | Middleware function |
| guard | Guard class |
| listener | Event listener class |
| filter | Exception filter class |
solum generate controller product
solum generate service product
solum generate entity product
solum generate repository product
solum generate dto createProduct
solum generate middleware auth
solum generate guard apiKey
solum generate listener productCreated
solum generate filter globalExceptionRun Tests
solum testRuns npm test in the current project directory.
Run Migrations
solum db:migrateRuns database migrations configured in the project.
Show Version
solum --version
solum -v
solum versionNPM Scripts (Generated Projects)
{
"scripts": {
"dev": "ts-node-dev --respawn --transpile-only -r tsconfig-paths/register src/app.ts",
"build": "tsc",
"start": "node -r ./prod-paths.js dist/app.js",
"test": "jest",
"migrate": "ts-node -r tsconfig-paths/register src/database/migrate.ts up",
"migrate:down": "ts-node -r tsconfig-paths/register src/database/migrate.ts down",
"migrate:status": "ts-node -r tsconfig-paths/register src/database/migrate.ts status",
"migrate:generate": "ts-node -r tsconfig-paths/register src/database/generate-migration.ts",
"schema:sync": "ts-node -r tsconfig-paths/register src/database/sync-schema.ts validate",
"schema:sync:update": "ts-node -r tsconfig-paths/register src/database/sync-schema.ts update"
}
}License
MIT
