From 60cdc7709d1b524de88b071812b52bd6f9c05fad Mon Sep 17 00:00:00 2001 From: mk-mxp <55182845+mk-mxp@users.noreply.github.com> Date: Sun, 26 May 2024 13:19:59 +0200 Subject: [PATCH 1/6] Provide more helpful test output --- .../dnd-character/dnd-character.test.ts | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/exercises/practice/dnd-character/dnd-character.test.ts b/exercises/practice/dnd-character/dnd-character.test.ts index 7118108d5..a6796318c 100644 --- a/exercises/practice/dnd-character/dnd-character.test.ts +++ b/exercises/practice/dnd-character/dnd-character.test.ts @@ -75,27 +75,51 @@ describe('Ability generator', () => { }) describe('Character creation', () => { - xit('Random character is valid', () => { + xit('Random character is valid - hitpoints', () => { const character = new DnDCharacter() expect(character.hitpoints).toEqual( 10 + DnDCharacter.getModifierFor(character.constitution) ) + }) + + xit('Random character is valid - strength', () => { + const character = new DnDCharacter() expect(character.strength).toBeGreaterThanOrEqual(3) expect(character.strength).toBeLessThanOrEqual(18) + }) + + xit('Random character is valid - dexterity', () => { + const character = new DnDCharacter() expect(character.dexterity).toBeGreaterThanOrEqual(3) expect(character.dexterity).toBeLessThanOrEqual(18) + }) + + xit('Random character is valid - constitution', () => { + const character = new DnDCharacter() expect(character.constitution).toBeGreaterThanOrEqual(3) expect(character.constitution).toBeLessThanOrEqual(18) + }) + + xit('Random character is valid - intelligence', () => { + const character = new DnDCharacter() expect(character.intelligence).toBeGreaterThanOrEqual(3) expect(character.intelligence).toBeLessThanOrEqual(18) + }) + + xit('Random character is valid - wisdom', () => { + const character = new DnDCharacter() expect(character.wisdom).toBeGreaterThanOrEqual(3) expect(character.wisdom).toBeLessThanOrEqual(18) + }) + + xit('Random character is valid - charisma', () => { + const character = new DnDCharacter() expect(character.charisma).toBeGreaterThanOrEqual(3) expect(character.charisma).toBeLessThanOrEqual(18) From f72a12b0e22d43bcf94a9fa45e9af000e42a9a0c Mon Sep 17 00:00:00 2001 From: Michael Kramer Date: Sun, 26 May 2024 13:55:35 +0200 Subject: [PATCH 2/6] Sync packages.json --- exercises/practice/dnd-character/package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/exercises/practice/dnd-character/package.json b/exercises/practice/dnd-character/package.json index fdafe9826..501252ab8 100644 --- a/exercises/practice/dnd-character/package.json +++ b/exercises/practice/dnd-character/package.json @@ -14,12 +14,12 @@ "devDependencies": { "@exercism/babel-preset-typescript": "^0.4.0", "@exercism/eslint-config-typescript": "^0.5.0", - "@types/jest": "^29.5.2", + "@types/jest": "^29.5.12", "@types/node": "~18.16.16", - "babel-jest": "^29.5.0", + "babel-jest": "^29.7.0", "core-js": "~3.30.2", - "eslint": "^8.42.0", - "jest": "^29.5.0", + "eslint": "^9.2.0", + "jest": "^29.7.0", "typescript": "~5.0.4" }, "scripts": { From 1fbf5cdf2ebafcbf010848e4b076f1c3aabe5c57 Mon Sep 17 00:00:00 2001 From: Michael Kramer Date: Mon, 27 May 2024 09:54:06 +0200 Subject: [PATCH 3/6] Move ignored files into eslint config --- .eslintignore | 13 ------------- .eslintrc | 8 ++++++++ exercises/practice/dnd-character/.eslintignore | 13 ------------- exercises/practice/dnd-character/.eslintrc.cjs | 9 +++++++++ scripts/lint.mjs | 2 +- 5 files changed, 18 insertions(+), 27 deletions(-) delete mode 100644 .eslintignore delete mode 100644 exercises/practice/dnd-character/.eslintignore diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index bfc691654..000000000 --- a/.eslintignore +++ /dev/null @@ -1,13 +0,0 @@ -!.meta - -# Protected or generated -/.appends -/.github -/.vscode - -# Binaries -/bin - -# Configuration -/config - diff --git a/.eslintrc b/.eslintrc index 1a692a8f8..7204678bb 100644 --- a/.eslintrc +++ b/.eslintrc @@ -10,5 +10,13 @@ "excludedFiles": ["custom.test.ts"], "extends": "@exercism/eslint-config-typescript/maintainers" } + ], + "ignores": [ + "!.meta", + ".appends", + ".git", + ".vscode", + "/bin", + "/config" ] } diff --git a/exercises/practice/dnd-character/.eslintignore b/exercises/practice/dnd-character/.eslintignore deleted file mode 100644 index e08db2a94..000000000 --- a/exercises/practice/dnd-character/.eslintignore +++ /dev/null @@ -1,13 +0,0 @@ -!.meta - -# Protected or generated -.git -.vscode - -# When using npm -node_modules/* - -# Configuration files -.eslintrc.cjs -babel.config.cjs -jest.config.cjs \ No newline at end of file diff --git a/exercises/practice/dnd-character/.eslintrc.cjs b/exercises/practice/dnd-character/.eslintrc.cjs index e09910032..354ed66f6 100644 --- a/exercises/practice/dnd-character/.eslintrc.cjs +++ b/exercises/practice/dnd-character/.eslintrc.cjs @@ -35,4 +35,13 @@ module.exports = { extends: '@exercism/eslint-config-typescript/maintainers', }, ], + ignores: [ + "!.meta", + ".git", + ".vscode", + "node_modules/*", + ".eslintrc.cjs", + "babel.config.cjs", + "jest.config.cjs", + ], } diff --git a/scripts/lint.mjs b/scripts/lint.mjs index cd13bbd6e..dee1d5d9d 100644 --- a/scripts/lint.mjs +++ b/scripts/lint.mjs @@ -35,7 +35,7 @@ const failureStr = '[Failure] Lint check failed!' // Run lint all at once prepareAndRun( - 'yarn eslint tmp_exercises --ext .ts --ext .tsx -c node_modules/@exercism/eslint-config-typescript/maintainers.js', + 'yarn eslint tmp_exercises -c node_modules/@exercism/eslint-config-typescript/maintainers.js', infoStr, failureStr ) From f396f8bc915b4fa8b22d2c5083e0bea64042e2e7 Mon Sep 17 00:00:00 2001 From: Michael Kramer Date: Mon, 27 May 2024 10:00:25 +0200 Subject: [PATCH 4/6] Rename parserOptions -> languageOptions --- common/.eslintrc.cjs | 2 +- exercises/practice/dnd-character/.eslintrc.cjs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/common/.eslintrc.cjs b/common/.eslintrc.cjs index e09910032..08ad67d65 100644 --- a/common/.eslintrc.cjs +++ b/common/.eslintrc.cjs @@ -1,6 +1,6 @@ module.exports = { root: true, - parserOptions: { + languageOptions: { tsconfigRootDir: __dirname, project: ['./tsconfig.json'], }, diff --git a/exercises/practice/dnd-character/.eslintrc.cjs b/exercises/practice/dnd-character/.eslintrc.cjs index 354ed66f6..9ff6f50dc 100644 --- a/exercises/practice/dnd-character/.eslintrc.cjs +++ b/exercises/practice/dnd-character/.eslintrc.cjs @@ -1,6 +1,6 @@ module.exports = { root: true, - parserOptions: { + languageOptions: { tsconfigRootDir: __dirname, project: ['./tsconfig.json'], }, From 0db7e8f1361beb22283d1b6b3b5659d37a3953e1 Mon Sep 17 00:00:00 2001 From: Michael Kramer Date: Mon, 27 May 2024 10:16:46 +0200 Subject: [PATCH 5/6] Move ignored files into eslint config for common --- common/.eslintignore | 13 ------------- common/.eslintrc.cjs | 9 +++++++++ 2 files changed, 9 insertions(+), 13 deletions(-) delete mode 100644 common/.eslintignore diff --git a/common/.eslintignore b/common/.eslintignore deleted file mode 100644 index e08db2a94..000000000 --- a/common/.eslintignore +++ /dev/null @@ -1,13 +0,0 @@ -!.meta - -# Protected or generated -.git -.vscode - -# When using npm -node_modules/* - -# Configuration files -.eslintrc.cjs -babel.config.cjs -jest.config.cjs \ No newline at end of file diff --git a/common/.eslintrc.cjs b/common/.eslintrc.cjs index 08ad67d65..9ff6f50dc 100644 --- a/common/.eslintrc.cjs +++ b/common/.eslintrc.cjs @@ -35,4 +35,13 @@ module.exports = { extends: '@exercism/eslint-config-typescript/maintainers', }, ], + ignores: [ + "!.meta", + ".git", + ".vscode", + "node_modules/*", + ".eslintrc.cjs", + "babel.config.cjs", + "jest.config.cjs", + ], } From 2a7b0d5a6e86e3b86ec6a9249cc9732e53806e27 Mon Sep 17 00:00:00 2001 From: Michael Kramer Date: Mon, 27 May 2024 10:20:44 +0200 Subject: [PATCH 6/6] No longer try to copy `.eslintignore` --- scripts/helpers.mjs | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/helpers.mjs b/scripts/helpers.mjs index 342293e41..8fcf7b15a 100644 --- a/scripts/helpers.mjs +++ b/scripts/helpers.mjs @@ -23,7 +23,6 @@ export const COMMON_DIRS = [ ] export const COMMON_FILES = [ path.join('.yarn', 'releases', 'yarn-3.6.4.cjs'), - '.eslintignore', '.eslintrc.cjs', '.yarnrc.yml', 'babel.config.cjs',