Skip to content

Commit

Permalink
feat(games): basic game creation (#13)
Browse files Browse the repository at this point in the history
  • Loading branch information
antoinezanardi committed Mar 9, 2023
1 parent e87754d commit c3a1aad
Show file tree
Hide file tree
Showing 61 changed files with 7,983 additions and 1,413 deletions.
8 changes: 7 additions & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
const { importRules } = require("./config/eslint/rules/import");
const { configFilesOverride } = require("./config/eslint/rules/overrides/config-files");
const { decoratorFilesOverride } = require("./config/eslint/rules/overrides/decorator-files");
const { dtoFilesOverride } = require("./config/eslint/rules/overrides/dto-files");
const { eslintConfigFilesOverride } = require("./config/eslint/rules/overrides/eslint-config-files");
const { factoryFilesOverride } = require("./config/eslint/rules/overrides/factory-files");
const { testFilesOverride } = require("./config/eslint/rules/overrides/test-files");
const { standardRules } = require("./config/eslint/rules/standard");
const { typescriptRules } = require("./config/eslint/rules/typescript");
Expand All @@ -13,7 +16,7 @@ module.exports = {
},
parser: "@typescript-eslint/parser",
extends: ["plugin:@typescript-eslint/recommended"],
plugins: ["@typescript-eslint", "import"],
plugins: ["@typescript-eslint", "import", "jest"],
ignorePatterns: ["node_modules/", "dist/"],
parserOptions: {
parser: "@typescript-eslint/parser",
Expand All @@ -30,5 +33,8 @@ module.exports = {
eslintConfigFilesOverride,
configFilesOverride,
testFilesOverride,
dtoFilesOverride,
factoryFilesOverride,
decoratorFilesOverride,
],
};
1 change: 1 addition & 0 deletions config/eslint/constants.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ const NAMING_CONVENTION_DEFAULT_CONFIG = [
}, {
selector: ["function", "classProperty", "classMethod", "accessor"],
format: ["camelCase"],
leadingUnderscore: "allow",
}, {
selector: ["variable", "classProperty"],
types: ["boolean"],
Expand Down
19 changes: 19 additions & 0 deletions config/eslint/rules/overrides/decorator-files.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
const { ERROR, NAMING_CONVENTION_DEFAULT_CONFIG } = require("../../constants");

const decoratorFilesOverride = Object.freeze({
files: ["*.decorator.ts"],
rules: {
"@typescript-eslint/naming-convention": [
ERROR,
...[
{
selector: "function",
format: ["camelCase", "PascalCase"],
},
...NAMING_CONVENTION_DEFAULT_CONFIG,
],
],
},
});

module.exports = { decoratorFilesOverride };
11 changes: 11 additions & 0 deletions config/eslint/rules/overrides/dto-files.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
const { OFF } = require("../../constants");

const dtoFilesOverride = Object.freeze({
files: ["*.dto.ts"],
rules: {
"max-len": OFF,
"@typescript-eslint/no-magic-numbers": OFF,
},
});

module.exports = { dtoFilesOverride };
8 changes: 8 additions & 0 deletions config/eslint/rules/overrides/factory-files.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
const { OFF } = require("../../constants");

const factoryFilesOverride = Object.freeze({
files: ["*.factory.ts"],
rules: { "@typescript-eslint/no-magic-numbers": OFF },
});

module.exports = { factoryFilesOverride };
3 changes: 1 addition & 2 deletions config/eslint/rules/overrides/test-files.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@ const { OFF, ERROR } = require("../../constants");

const testFilesOverride = Object.freeze({
files: ["*.e2e-spec.ts", "*.spec.ts"],
plugins: ["jest"],
extends: ["plugin:jest/recommended"],
rules: {
"max-len": OFF,
"max-lines-per-function": OFF,
"@typescript-eslint/init-declarations": OFF,
"@typescript-eslint/no-magic-numbers": OFF,
Expand Down
1 change: 1 addition & 0 deletions config/eslint/rules/typescript.js
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ const typescriptRules = Object.freeze({
"@typescript-eslint/no-type-alias": [
ERROR, {
allowLiterals: "always",
allowGenerics: "always",
allowAliases: "in-unions",
},
],
Expand Down
3 changes: 2 additions & 1 deletion config/jest/jest-e2e.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,9 @@ const config: Config = {
clearMocks: true,
coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
collectCoverageFrom: [
"src/**/*.controller.ts",
"src/**/*.module.ts",
"src/**/*.controller.ts",
"src/**/*.repository.ts",
],
coverageDirectory: "tests/e2e/coverage",
coverageThreshold: {
Expand Down
2 changes: 2 additions & 0 deletions config/jest/jest-global.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ const config: Config = {
collectCoverageFrom: [
"src/**/*.ts",
"!src/main.ts",
"!src/**/*.dto.ts",
"!src/**/*.schema.ts",
],
coverageDirectory: "tests/coverage",
coverageThreshold: {
Expand Down
5 changes: 4 additions & 1 deletion config/jest/jest-unit.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ const config: Config = {
moduleFileExtensions: ["js", "ts"],
rootDir: "../../",
testEnvironment: "node",
testRegex: "tests/unit/.+.spec.ts",
testRegex: "tests/unit/specs/.+.spec.ts",
transform: { "^.+\\.(t|j)s$": "ts-jest" },
verbose: true,
resetMocks: true,
Expand All @@ -18,6 +18,9 @@ const config: Config = {
"!src/main.ts",
"!src/**/*.module.ts",
"!src/**/*.controller.ts",
"!src/**/*.repository.ts",
"!src/**/*.dto.ts",
"!src/**/*.schema.ts",
],
coverageDirectory: "tests/unit/coverage",
coverageThreshold: {
Expand Down
13 changes: 12 additions & 1 deletion nest-cli.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,17 @@
"sourceRoot": "src",
"compilerOptions": {
"deleteOutDir": true,
"plugins": ["@nestjs/swagger"]
"plugins": [
{
"name": "@nestjs/swagger",
"options": {
"dtoFileNameSuffix": [
".dto.ts",
".entity.ts",
".schema.ts"
]
}
}
]
}
}

0 comments on commit c3a1aad

Please sign in to comment.