Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 38 additions & 12 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Setup Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
Expand All @@ -35,24 +35,44 @@ jobs:
test:
name: Unit Tests
runs-on: ubuntu-latest
services:
postgres:
image: postgres:15
env:
POSTGRES_PASSWORD: postgres
POSTGRES_DB: nestjs_template_test
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Setup Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Setup test database
run: |
npm run db:generate
npm run db:push
env:
DATABASE_URL: postgresql://postgres:postgres@localhost:5432/nestjs_template_test

- name: Run unit tests
run: npm run test:cov

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v5
with:
file: ./coverage/lcov.info
flags: unittests
Expand All @@ -64,22 +84,28 @@ jobs:
needs: [lint, test]
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Setup Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Setup test database
run: |
npm run db:generate
env:
DATABASE_URL: postgresql://postgres:postgres@localhost:5432/nestjs_template_test

- name: Build application
run: npm run build

- name: Upload build artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v5
with:
name: dist
path: dist/
Expand All @@ -104,10 +130,10 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Setup Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
Expand All @@ -134,10 +160,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Setup Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# compiled output
/dist
/node_modules
/build

# Logs
logs
Expand Down Expand Up @@ -49,3 +50,4 @@ lerna-debug.log*
# Prisma
/prisma/.env
/prisma/migrations/dev
/generated/prisma
16 changes: 2 additions & 14 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -1,17 +1,5 @@
{
"printWidth": 120,
"singleQuote": true,
"trailingComma": "all",
"printWidth": 100,
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not clear why you removed prettier configuration.

"tabWidth": 2,
"semi": true,
"bracketSpacing": true,
"arrowParens": "avoid",
"endOfLine": "lf",
"useTabs": false,
"quoteProps": "as-needed",
"jsxSingleQuote": false,
"bracketSameLine": false,
"proseWrap": "preserve",
"htmlWhitespaceSensitivity": "css",
"embeddedLanguageFormatting": "auto"
"trailingComma": "all"
}
11 changes: 2 additions & 9 deletions jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,10 @@ module.exports = {
],
coverageDirectory: './coverage',
coverageReporters: ['text', 'lcov', 'html'],
coverageThreshold: {
global: {
branches: 80,
functions: 80,
lines: 80,
statements: 80,
},
},
moduleNameMapper: {
'^@core/(.*)$': '<rootDir>/src/core/$1',
'^@application/(.*)$': '<rootDir>/src/application/$1',
'^@core/(.*)$': '<rootDir>/src/core/$1',
'^@generated/(.*)$': '<rootDir>/generated/$1',
'^@infrastructure/(.*)$': '<rootDir>/src/infrastructure/$1',
'^@presentation/(.*)$': '<rootDir>/src/presentation/$1',
'^@shared/(.*)$': '<rootDir>/src/shared/$1',
Expand Down
Loading
Loading