diff --git a/.github/workflows/deploy-workflow.yml b/.github/workflows/deploy-workflow.yml index d461f88..7f65f09 100644 --- a/.github/workflows/deploy-workflow.yml +++ b/.github/workflows/deploy-workflow.yml @@ -29,11 +29,12 @@ jobs: - name: Install dependencies run: pnpm install --frozen-lockfile --ignore-scripts - - name: Run lint and type checks - run: pnpm lint & pnpm check:types & wait -n - - - name: Run tests - run: pnpm test -- --maxWorkers=4 --no-color --coverage=false --changedSince=origin/main + - name: Run lint, type checks and tests + run: | + pnpm concurrently -g \ + "pnpm lint" \ + "pnpm check:types" \ + "pnpm test -- --maxWorkers=4 --no-color --coverage=false --changedSince=origin/main" deploy-to-dev: name: Deploy to Dev diff --git a/.github/workflows/pr-tests.yml b/.github/workflows/pr-tests.yml index 34d0c36..a74b806 100644 --- a/.github/workflows/pr-tests.yml +++ b/.github/workflows/pr-tests.yml @@ -23,8 +23,9 @@ jobs: - name: Install dependencies run: pnpm install --frozen-lockfile --ignore-scripts - - name: Run lint and type checks - run: pnpm lint & pnpm check:types & wait -n - - - name: Run tests - run: pnpm test -- --maxWorkers=4 --no-color --coverage=false --changedSince=origin/main + - name: Run lint, type checks and tests + run: | + pnpm concurrently -g \ + "pnpm lint" \ + "pnpm check:types" \ + "pnpm test -- --maxWorkers=4 --no-color --coverage=false --changedSince=origin/main" diff --git a/.husky/pre-commit b/.husky/pre-commit index f0e9c9e..2ccf0fc 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,4 +1,6 @@ #!/usr/bin/env sh . "$(dirname "$0")/_/husky.sh" -npx lint-staged --concurrent false +npx concurrently -g \ +"npx lint-staged --concurrent false" \ +"npm run check:types" diff --git a/package.json b/package.json index 6244e8a..d79ce19 100644 --- a/package.json +++ b/package.json @@ -51,6 +51,7 @@ "@types/supertest": "^2.0.12", "@typescript-eslint/eslint-plugin": "^5.41.0", "@typescript-eslint/parser": "^5.41.0", + "concurrently": "^7.6.0", "cross-env": "^7.0.3", "eslint": "^8.26.0", "eslint-config-airbnb-base": "^15.0.0", @@ -88,4 +89,4 @@ "coverageDirectory": "../coverage", "testEnvironment": "node" } -} \ No newline at end of file +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9c991d4..407c556 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,6 +17,7 @@ specifiers: '@types/supertest': ^2.0.12 '@typescript-eslint/eslint-plugin': ^5.41.0 '@typescript-eslint/parser': ^5.41.0 + concurrently: ^7.6.0 cross-env: ^7.0.3 eslint: ^8.26.0 eslint-config-airbnb-base: ^15.0.0 @@ -62,6 +63,7 @@ devDependencies: '@types/supertest': 2.0.12 '@typescript-eslint/eslint-plugin': 5.41.0_huremdigmcnkianavgfk3x6iou '@typescript-eslint/parser': 5.41.0_wyqvi574yv7oiwfeinomdzmc3m + concurrently: 7.6.0 cross-env: 7.0.3 eslint: 8.26.0 eslint-config-airbnb-base: 15.0.0_mynvxvmq5qtyojffiqgev4x7mm @@ -2464,6 +2466,22 @@ packages: readable-stream: 2.3.7 typedarray: 0.0.6 + /concurrently/7.6.0: + resolution: {integrity: sha512-BKtRgvcJGeZ4XttiDiNcFiRlxoAeZOseqUvyYRUp/Vtd+9p1ULmeoSqGsDA+2ivdeDFpqrJvGvmI+StKfKl5hw==} + engines: {node: ^12.20.0 || ^14.13.0 || >=16.0.0} + hasBin: true + dependencies: + chalk: 4.1.2 + date-fns: 2.29.3 + lodash: 4.17.21 + rxjs: 7.5.7 + shell-quote: 1.7.4 + spawn-command: 0.0.2-1 + supports-color: 8.1.1 + tree-kill: 1.2.2 + yargs: 17.6.0 + dev: true + /confusing-browser-globals/1.0.11: resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} dev: true @@ -2588,6 +2606,11 @@ packages: engines: {node: '>=8'} dev: true + /date-fns/2.29.3: + resolution: {integrity: sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==} + engines: {node: '>=0.11'} + dev: true + /debug/2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: @@ -5453,6 +5476,10 @@ packages: engines: {node: '>=8'} dev: true + /shell-quote/1.7.4: + resolution: {integrity: sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==} + dev: true + /shelljs/0.8.5: resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} engines: {node: '>=4'} @@ -5537,6 +5564,10 @@ packages: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} dev: true + /spawn-command/0.0.2-1: + resolution: {integrity: sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg==} + dev: true + /spdx-correct/3.1.1: resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} dependencies: