Nest Logo

Description

Nest framework TypeScript starter repository.

Installation

$ pnpm install

Running the app

# development
$ pnpm run start

# development with watch mode
$ pnpm run start:dev

# production mode
$ pnpm run start:prod

Husky

Read docs to install husky here

For first time

# add next command into package.json or run on console
pnpm exec husky

Add commands into .husky folder:

pre-commmit

# copy this into .husky/pre-commmit

#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"

pnpm lint-staged

commit-msg

# copy this into .husky/pre-commmit

#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"

npx --no -- commitlint --edit ${1}

or run these commands manually:

pre-commmit

echo "pnpm lint-staged" > .husky/pre-commit

commit-msg

# use one of both
echo "npx --no -- commitlint --edit ${1}" > .husky/commit-msg
echo "npx --no -- commitlint --edit \$1" > .husky/commit-msg

Migrations

Create a migration

$ npm run migrate:create <path>
$ yarn migrate:create <path>

# example
$ npm run migrate:create src/migrations/migration_name
$ yarn migrate:create src/migrations/migration_name

Generate a migration

$ npm run migrate:g <path>
$ yarn migrate:g <path>

# example
$ npm run migrate:g src/migrations/migration_name
$ yarn migrate:g src/migrations/migration_name

Run a migration

$ npm run migrate:run
$ yarn migrate:run

Revert a migration

$ npm run migrate:rollback
$ yarn migrate:rollback

Migrations scripts with yarn

"typeorm": "ts-node ./node_modules/typeorm/cli",
"migrate:create": "yarn typeorm migration:create",
"migrate:g": "yarn typeorm -d ./src/config/data.source.ts migration:generate",
"migrate:run": "yarn typeorm migration:run -d ./src/config/data.source.ts",
"migrate:rollback": "yarn typeorm -d ./src/config/data.source.ts migration:revert"

Migrations scripts with npm

"typeorm": "ts-node ./node_modules/typeorm/cli",
"migrate:create": "npm run typeorm -- migration:create",
"migrate:g": "npm run typeorm -- -d ./src/config/data.source.ts migration:generate",
"migrate:run": "npm run typeorm migration:run -- -d ./src/config/data.source.ts",
"migrate:rollback": "npm run typeorm -- -d ./src/config/data.source.ts migration:revert"

Recommendations

  • To install ts-node globally
$ npm install -g ts-node
  • Copy migrations scripts into the package.