strict tsc and linting configs

main
Inga 🏳‍🌈 6 days ago
parent 2134385c9e
commit 54648bd617
  1. 11
      service/.eslintrc.js
  2. 8
      service/package-lock.json
  3. 1
      service/package.json
  4. 1
      service/src/app.module.ts
  5. 4
      service/src/main.ts
  6. 7
      service/test/app.e2e-spec.ts
  7. 8
      service/tsconfig.json

@ -7,7 +7,9 @@ module.exports = {
},
plugins: ['@typescript-eslint/eslint-plugin'],
extends: [
'plugin:@typescript-eslint/recommended',
'eslint:recommended',
'plugin:@typescript-eslint/strict-type-checked',
'plugin:@typescript-eslint/stylistic-type-checked',
'plugin:prettier/recommended',
],
root: true,
@ -16,10 +18,5 @@ module.exports = {
jest: true,
},
ignorePatterns: ['.eslintrc.js'],
rules: {
'@typescript-eslint/interface-name-prefix': 'off',
'@typescript-eslint/explicit-function-return-type': 'off',
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/no-explicit-any': 'off',
},
rules: {},
};

@ -19,6 +19,7 @@
"@nestjs/cli": "^10.0.0",
"@nestjs/schematics": "^10.0.0",
"@nestjs/testing": "^10.0.0",
"@tsconfig/strictest": "^2.0.5",
"@types/express": "^5.0.0",
"@types/jest": "^29.5.2",
"@types/node": "^20.3.1",
@ -1896,6 +1897,13 @@
"dev": true,
"license": "MIT"
},
"node_modules/@tsconfig/strictest": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/@tsconfig/strictest/-/strictest-2.0.5.tgz",
"integrity": "sha512-ec4tjL2Rr0pkZ5hww65c+EEPYwxOi4Ryv+0MtjeaSQRJyq322Q27eOQiFbuNgw2hpL4hB1/W/HBGk3VKS43osg==",
"dev": true,
"license": "MIT"
},
"node_modules/@types/babel__core": {
"version": "7.20.5",
"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",

@ -30,6 +30,7 @@
"@nestjs/cli": "^10.0.0",
"@nestjs/schematics": "^10.0.0",
"@nestjs/testing": "^10.0.0",
"@tsconfig/strictest": "^2.0.5",
"@types/express": "^5.0.0",
"@types/jest": "^29.5.2",
"@types/node": "^20.3.1",

@ -7,4 +7,5 @@ import { AppService } from './app.service';
controllers: [AppController],
providers: [AppService],
})
// eslint-disable-next-line @typescript-eslint/no-extraneous-class
export class AppModule {}

@ -3,6 +3,6 @@ import { AppModule } from './app.module';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
await app.listen(process.env.PORT ?? 3000);
await app.listen(process.env['PORT'] ?? 3000);
}
bootstrap();
void bootstrap();

@ -1,17 +1,18 @@
import { Test, TestingModule } from '@nestjs/testing';
import { INestApplication } from '@nestjs/common';
import * as request from 'supertest';
import request from 'supertest';
import type { App } from 'supertest/types';
import { AppModule } from './../src/app.module';
describe('AppController (e2e)', () => {
let app: INestApplication;
let app: INestApplication<App>;
beforeEach(async () => {
const moduleFixture: TestingModule = await Test.createTestingModule({
imports: [AppModule],
}).compile();
app = moduleFixture.createNestApplication();
app = moduleFixture.createNestApplication<INestApplication<App>>();
await app.init();
});

@ -1,4 +1,5 @@
{
"extends": "@tsconfig/strictest",
"compilerOptions": {
"module": "commonjs",
"declaration": true,
@ -11,11 +12,6 @@
"outDir": "./dist",
"baseUrl": "./",
"incremental": true,
"skipLibCheck": true,
"strictNullChecks": true,
"noImplicitAny": true,
"strictBindCallApply": true,
"forceConsistentCasingInFileNames": true,
"noFallthroughCasesInSwitch": true
"skipLibCheck": true
}
}

Loading…
Cancel
Save