Skip to content

Commit

Permalink
Release v1.37.0 (#1315)
Browse files Browse the repository at this point in the history
## Release v1.37.0

### 🚀 Features

* **game**: feedback with review
* **players**: distinct player groups in game

### 🐛 Bug Fixes

* **deps**: update dependency @types/lodash to ^4.17.10
* **deps**: update dependency @types/lodash to ^4.17.9
* **deps**: update dependency mongoose to ^8.6.4
* **deps**: update dependency mongoose to ^8.7.0
* **deps**: update nest monorepo to ^10.4.4

### 🧹 Chore

* **deps**: update dependency @faker-js/faker to ^9.0.2
* **deps**: update dependency @faker-js/faker to ^9.0.3
* **deps**: update dependency @stylistic/eslint-plugin to ^2.9.0
* **deps**: update dependency @types/express to v5
* **deps**: update dependency @types/node to ^20.16.10
* **deps**: update dependency @types/node to ^20.16.6
* **deps**: update dependency @types/node to ^20.16.7
* **deps**: update dependency @types/node to ^20.16.9
* **deps**: update dependency cucumber-html-reporter to ^7.2.0
* **deps**: update dependency eslint to ^9.11.0
* **deps**: update dependency eslint to ^9.11.1
* **deps**: update dependency eslint to ^9.12.0
* **deps**: update dependency eslint-plugin-import to ^2.31.0
* **deps**: update dependency semantic-release to ^24.1.2
* **deps**: update pnpm to v9.11.0
* **deps**: update pnpm to v9.12.0
* **deps**: update stryker-js monorepo to ^8.6.0
* **deps**: update typescript-eslint monorepo to ^8.7.0
* **deps**: update typescript-eslint monorepo to ^8.8.0
* **eslint**: import plugin back
* **merge**: merge from main
  • Loading branch information
antoinezanardi authored Oct 6, 2024
2 parents 77ab1d4 + 77238c0 commit 76d51c8
Show file tree
Hide file tree
Showing 123 changed files with 33,134 additions and 31,248 deletions.
12 changes: 12 additions & 0 deletions .run/Game Feedback.run.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Game Feedback" type="cucumber.js" factoryName="Cucumber.js" folderName="Tags">
<option name="myFilePath" value="$PROJECT_DIR$/tests/acceptance" />
<option name="myNameFilter" value="" />
<option name="cucumberJsArguments" value="--config config/cucumber/cucumber.json --tags @game-feedback --parallel 1" />
<option name="workingDirectory" value="$PROJECT_DIR$" />
<envs>
<env name="NODE_ENV" value="test" />
</envs>
<method v="2" />
</configuration>
</component>
3 changes: 2 additions & 1 deletion config/eslint/eslint.constants.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
const MAX_LENGTH = 180;
const MAX_NESTED_CALLBACK = 5;
const MAX_PARAMS = 10;
const MAX_PARAMS = 15;
const INDENT_SPACE_COUNT = 2;
const ERROR = "error";
const WARNING = "warn";
Expand Down Expand Up @@ -50,6 +50,7 @@ const NAMING_CONVENTION_DEFAULT_CONFIG = [
const ESLINT_IGNORES = [
"node_modules/",
"dist/",
"dist/**/*",
"!.releaserc.js",
"tests/coverage/*",
"tests/e2e/coverage/*",
Expand Down
7 changes: 6 additions & 1 deletion config/eslint/flat-configs/eslint-configs-config.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,17 @@ const { OFF } = require("../eslint.constants");

const ESLINT_CONFIGS_CONFIG = Object.freeze({
name: "configs",
files: ["config/**/*.ts", "config/**/*.js"],
files: [
"eslint.config.js",
"config/**/*.ts",
"config/**/*.js",
],
rules: {
"no-magic-numbers": OFF,
"@typescript-eslint/no-require-imports": OFF,
"@typescript-eslint/no-restricted-imports": OFF,
"import/no-default-export": OFF,
"import/no-internal-modules": OFF,
"import/no-relative-parent-imports": OFF,
},
});
Expand Down
5 changes: 3 additions & 2 deletions config/eslint/flat-configs/eslint.dto-config.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
const { OFF } = require("../eslint.constants");
const { OFF, ERROR } = require("../eslint.constants");

const ESLINT_DTO_CONFIG = Object.freeze({
name: "dto",
files: ["**/*.dto.ts"],
rules: {
"@stylistic/max-len": OFF,
// "import/max-dependencies": [ERROR, { max: 30 }],
"import/max-dependencies": [ERROR, { max: 30 }],
},
});

Expand Down
17 changes: 6 additions & 11 deletions config/eslint/flat-configs/eslint.factories-config.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,11 @@
const { OFF } = require("../eslint.constants");

const ESLINT_FACTORIES_CONFIG = Object.freeze({
name: "factories",
files: ["*.factory.ts"],
/*
* rules: {
* "import/max-dependencies": [
* eRROR, {
* max: 30,
* ignoreTypeImports: true,
* },
* ],
* },
*/
files: ["**/*.factory.ts"],
rules: {
"import/max-dependencies": OFF,
},
});

module.exports = ESLINT_FACTORIES_CONFIG;
55 changes: 35 additions & 20 deletions config/eslint/flat-configs/eslint.import-config.js
Original file line number Diff line number Diff line change
@@ -1,64 +1,79 @@
const { OFF, ERROR } = require("../eslint.constants");
const ImportPlugin = require("eslint-plugin-import");

const { OFF, ERROR, ESLINT_IGNORES, NEVER, ALWAYS } = require("../eslint.constants");

const ESLINT_IMPORT_CONFIG = Object.freeze({
...ImportPlugin.flatConfigs.recommended,
name: "import",
languageOptions: {
parserOptions: {
ecmaVersion: "latest",
sourceType: "module",
},
},
settings: {
"import/parsers": { espree: [".js", ".cjs", ".mjs", ".jsx"] },
"import/resolver": {
typescript: true,
node: true,
},
},
ignores: ESLINT_IGNORES,
rules: {
/*
* ---- ESLint Import Rules -----
* - Static analysis (https://github.com/import-js/eslint-plugin-import#static-analysis)
* TODO: Modify webpack for this
*/
"import/no-unresolved": OFF,
// TODO: Need to check config of this rule
"import/consistent-type-specifier-style": [ERROR, "prefer-top-level"],
"import/default": ERROR,
"import/named": OFF,
"import/namespace": ERROR,
"import/no-restricted-paths": ERROR,
"import/no-absolute-path": ERROR,
// TODO: Need to check config of this rule
"import/no-dynamic-require": ERROR,
// TODO: Need to check config of this rule
"import/no-empty-named-blocks": ERROR,
"import/no-internal-modules": ERROR,
"import/no-webpack-loader-syntax": ERROR,
"import/no-self-import": ERROR,
"import/no-cycle": ERROR,
"import/no-useless-path-segments": ERROR,
"import/no-relative-parent-imports": ERROR,
"import/no-relative-packages": ERROR,
// - Helpful warnings (https://github.com/import-js/eslint-plugin-import#helpful-warnings)
// helpful warnings (https://github.com/import-js/eslint-plugin-import#helpful-warnings)
"import/export": ERROR,
"import/no-named-as-default": ERROR,
"import/no-named-as-default-member": ERROR,
"import/no-deprecated": ERROR,
"import/no-extraneous-dependencies": [ERROR, { peerDependencies: false }],
"import/no-mutable-exports": ERROR,
"import/no-unused-modules": [ERROR, { unusedExports: true }],
// - Module systems (https://github.com/import-js/eslint-plugin-import#module-systems)
"import/no-unused-modules": ERROR,
// module systems (https://github.com/import-js/eslint-plugin-import#module-systems)
"import/unambiguous": OFF,
"import/no-commonjs": OFF,
"import/no-amd": ERROR,
"import/no-nodejs-modules": OFF,
"import/no-import-module-exports": ERROR,
// - Style guide (https://github.com/import-js/eslint-plugin-import#style-guide)
// style guide (https://github.com/import-js/eslint-plugin-import#style-guide)
"import/first": ERROR,
"import/exports-last": ERROR,
"import/no-duplicates": ERROR,
"import/no-namespace": ERROR,
// TODO: Check this rule config
"import/extensions": OFF,
"import/extensions": [
ERROR, NEVER, {
factory: ALWAYS,
helpers: ALWAYS,
enums: ALWAYS,
types: ALWAYS,
transformer: ALWAYS,
constants: ALWAYS,
class: ALWAYS,
schema: ALWAYS,
service: ALWAYS,
mutators: ALWAYS,
repository: ALWAYS,
dto: ALWAYS,
decorator: ALWAYS,
mappers: ALWAYS,
controller: ALWAYS,
module: ALWAYS,
pipe: ALWAYS,
json: ALWAYS,
},
],
"import/order": [
ERROR, {
"warnOnUnassignedImports": true,
Expand All @@ -73,6 +88,7 @@ const ESLINT_IMPORT_CONFIG = Object.freeze({
"newlines-between": "always",
},
],

"import/newline-after-import": ERROR,
"import/prefer-default-export": OFF,
"import/max-dependencies": [
Expand All @@ -81,13 +97,12 @@ const ESLINT_IMPORT_CONFIG = Object.freeze({
ignoreTypeImports: true,
},
],
"import/no-unassigned-import": [ERROR, { allow: ["**/*.css"] }],
"import/no-unassigned-import": ERROR,
"import/no-named-default": ERROR,
"import/no-default-export": ERROR,
"import/no-named-export": OFF,
"import/no-anonymous-default-export": OFF,
"import/group-exports": ERROR,
// TODO: Check this rule
"import/dynamic-import-chunkname": OFF,
},
});
Expand Down
11 changes: 11 additions & 0 deletions config/eslint/flat-configs/eslint.modules-config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
const { ERROR } = require("../eslint.constants");

const ESLINT_MODULE_CONFIG = Object.freeze({
name: "modules",
files: ["**/*.module.ts"],
rules: {
"import/max-dependencies": [ERROR, { max: 30 }],
},
});

module.exports = ESLINT_MODULE_CONFIG;
5 changes: 3 additions & 2 deletions config/eslint/flat-configs/eslint.schemas-config.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
const { ERROR } = require("../eslint.constants");

const ESLINT_SCHEMAS_CONFIG = Object.freeze({
name: "schemas",
files: ["**/*.schema.ts"],
rules: {},
// rules: {"import/max-dependencies": [ERROR, { max: 30 }],},
rules: { "import/max-dependencies": [ERROR, { max: 30 }] },
});

module.exports = ESLINT_SCHEMAS_CONFIG;
9 changes: 7 additions & 2 deletions config/eslint/flat-configs/eslint.stylistic-config.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
const StylisticPlugin = require("@stylistic/eslint-plugin");

const { ALWAYS, ERROR, INDENT_SPACE_COUNT, MAX_LENGTH_DEFAULT_CONFIG, NEVER, OFF } = require("../eslint.constants.js");
const { ESLINT_IGNORES } = require("../eslint.constants");
const { ALWAYS, ERROR, INDENT_SPACE_COUNT, MAX_LENGTH_DEFAULT_CONFIG, NEVER, OFF, ESLINT_IGNORES } = require("../eslint.constants");

const ESLINT_STYLISTIC_CONFIG = {
name: "stylistic",
Expand Down Expand Up @@ -166,6 +165,12 @@ const ESLINT_STYLISTIC_CONFIG = {
"@stylistic/switch-colon-spacing": ERROR,
"@stylistic/template-curly-spacing": ERROR,
"@stylistic/template-tag-spacing": ERROR,
"@stylistic/curly-newline": [
ERROR, {
multiline: true,
consistent: true,
},
],
"@stylistic/type-annotation-spacing": ERROR,
"@stylistic/type-generic-spacing": ERROR,
"@stylistic/type-named-tuple-spacing": ERROR,
Expand Down
11 changes: 11 additions & 0 deletions config/eslint/flat-configs/eslint.tests-config.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
const JestPlugin = require("eslint-plugin-jest");

const { OFF, ERROR } = require("../eslint.constants");

const ESLINT_TESTS_CONFIG = Object.freeze({
Expand All @@ -10,6 +11,8 @@ const ESLINT_TESTS_CONFIG = Object.freeze({
"@typescript-eslint/init-declarations": OFF,
"@typescript-eslint/no-magic-numbers": OFF,
"@typescript-eslint/unbound-method": OFF,
"import/no-namespace": OFF,
"import/max-dependencies": OFF,
"@stylistic/max-len": OFF,
/*
* ---- Test Rules -----
Expand Down Expand Up @@ -42,6 +45,14 @@ const ESLINT_TESTS_CONFIG = Object.freeze({
"jest/no-test-prefixes": ERROR,
"jest/no-test-return-statement": ERROR,
"jest/no-untyped-mock-factory": ERROR,
"jest/padding-around-after-all-blocks": ERROR,
"jest/padding-around-after-each-blocks": ERROR,
"jest/padding-around-all": ERROR,
"jest/padding-around-before-all-blocks": ERROR,
"jest/padding-around-before-each-blocks": ERROR,
"jest/padding-around-describe-blocks": ERROR,
"jest/padding-around-expect-groups": ERROR,
"jest/padding-around-test-blocks": ERROR,
"jest/prefer-called-with": ERROR,
"jest/prefer-comparison-matcher": ERROR,
"jest/prefer-each": ERROR,
Expand Down
2 changes: 2 additions & 0 deletions config/eslint/flat-configs/eslint.typescript-config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
const TypeScriptParser = require("@typescript-eslint/parser");
const TypeScriptPlugin = require("@typescript-eslint/eslint-plugin");

const { ERROR, OFF, NAMING_CONVENTION_DEFAULT_CONFIG, MAX_PARAMS, ESLINT_IGNORES } = require("../eslint.constants");

const ESLINT_TYPESCRIPT_CONFIG = Object.freeze({
Expand Down Expand Up @@ -64,6 +65,7 @@ const ESLINT_TYPESCRIPT_CONFIG = Object.freeze({
"@typescript-eslint/no-base-to-string": ERROR,
"@typescript-eslint/no-confusing-non-null-assertion": ERROR,
"@typescript-eslint/no-confusing-void-expression": [ERROR, { ignoreArrowShorthand: true }],
"@typescript-eslint/no-deprecated": ERROR,
"@typescript-eslint/no-dupe-class-members": ERROR,
"@typescript-eslint/no-duplicate-enum-values": ERROR,
"@typescript-eslint/no-duplicate-type-constituents": ERROR,
Expand Down
11 changes: 5 additions & 6 deletions eslint.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ const { ESLINT_CUCUMBER_CONTEXT_HELPERS_CONFIG } = require("./config/eslint/flat
const { OFF } = require("./config/eslint/eslint.constants");
const ESLINT_REPOSITORIES_CONFIG = require("./config/eslint/flat-configs/eslint.repositories-config");
const ESLINT_STYLISTIC_CONFIG = require("./config/eslint/flat-configs/eslint.stylistic-config");
// const ESLINT_IMPORT_CONFIG = require("./rules/eslint.import-config");
const ESLINT_IMPORT_CONFIG = require("./config/eslint/flat-configs/eslint.import-config");
const ESLINT_MODULES_CONFIG = require("./config/eslint/flat-configs/eslint.modules-config");

module.exports = [
{
Expand All @@ -25,21 +26,19 @@ module.exports = [
ESLINT_GLOBAL_CONFIG,
ESLINT_STYLISTIC_CONFIG,
ESLINT_TYPESCRIPT_CONFIG,
/*
* TODO: Uncomment the following line when import plugin supports eslint v9
* - ESLINT_IMPORT_CONFIG,
*/
ESLINT_IMPORT_CONFIG,
ESLINT_CONFIGS_CONFIG,
ESLINT_CONSTANTS_CONFIG,
ESLINT_DTO_CONFIG,
ESLINT_SCHEMAS_CONFIG,
ESLINT_PIPES_CONFIG,
ESLINT_DECORATORS_CONFIG,
ESLINT_TESTS_CONFIG,
ESLINT_FACTORIES_CONFIG,
ESLINT_MODULES_CONFIG,
ESLINT_SERVICES_CONFIG,
ESLINT_REPOSITORIES_CONFIG,
ESLINT_CONTROLLERS_CONFIG,
ESLINT_CUCUMBER_STEPS_AND_HOOKS_CONFIG,
ESLINT_CUCUMBER_CONTEXT_HELPERS_CONFIG,
ESLINT_FACTORIES_CONFIG,
];
Loading

0 comments on commit 76d51c8

Please sign in to comment.