diff --git a/.eslintignore b/.eslintignore index 8b13789179..d2b2f271bd 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1 +1,2 @@ +!.meta diff --git a/.eslintrc b/.eslintrc index b8dab20247..1d4446029c 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a878569aea..9c46407681 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -164,6 +164,26 @@ If you'd like to download [`canonical_data_syncer`][canonical-data-syncer], you We have various `scripts` for you in order to aid with maintaining and contributing to this repository. +> ⚠ If you into into the following error: +> +> ```text +> SyntaxError: Unexpected token 'export' +> ``` +> +> It's because your local node version does **not** support es6 +> `import` and `export` statements in regular `.js` files, or +> files without extension. This is one of the reasons why these +> scripts are meant to be ran through node: +> +> ```shell +> npx babel-node scripts/the-script +> ``` +> +> Additionally, this ensures that the code written in the scripts +> and their dependencies can be executed by your current node +> version, which may be different than the maintainer or +> contributor who contributed to the script. + #### `format` ```js diff --git a/README.md b/README.md index 32c7ba8605..0a73c657a8 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,29 @@ You can find this in the [`config.json`][file-config]. See [CONTRIBUTING.md][file-contributing] for a list of requirements to contribute to this track. It also has a list of tools you can use, of which the `test` tool is one of them. +## Running the code quality tooling (linter) + +This run `eslint` for all files that _require_ linting. + +```shell +npx eslint exercises/**/*.spec.js exercises/**/.meta/*.js --fix +``` + +These are also the files that are linted using the lint script, mentioned in [CONTRIBUTING.md][file-contributing]. +The lint rules imposed on contributors and maintainers are stricter than those for the student. +The idea is that we do **not** impose style rules on the students, but we guard for (potential) errors. + +Files with strict rules: + +- `.spec.js` +- `.meta/proof.ci.js` +- `.meta/exemplar.js` + +Files with loose rules: + +- `custom.spec.js` +- `.js` + ## Running the test suite This runs `jest` tests for all sample solutions. diff --git a/babel.config.js b/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/babel.config.js +++ b/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/concept/annalyns-infiltration/.eslintrc b/exercises/concept/annalyns-infiltration/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/concept/annalyns-infiltration/.eslintrc +++ b/exercises/concept/annalyns-infiltration/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/concept/annalyns-infiltration/annalyns-infiltration.spec.js b/exercises/concept/annalyns-infiltration/annalyns-infiltration.spec.js index 60021a4f9e..4f870deca7 100644 --- a/exercises/concept/annalyns-infiltration/annalyns-infiltration.spec.js +++ b/exercises/concept/annalyns-infiltration/annalyns-infiltration.spec.js @@ -7,14 +7,14 @@ import { describe("Annalyn's infiltration", () => { describe('can execute fast attack', () => { - test(`when the knight is awake`, () => { + test('when the knight is awake', () => { const knightIsAwake = true; const expected = false; expect(canExecuteFastAttack(knightIsAwake)).toBe(expected); }); - test(`when the knight is asleep`, () => { + test('when the knight is asleep', () => { const knightIsAwake = false; const expected = true; diff --git a/exercises/concept/annalyns-infiltration/babel.config.js b/exercises/concept/annalyns-infiltration/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/concept/annalyns-infiltration/babel.config.js +++ b/exercises/concept/annalyns-infiltration/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/concept/annalyns-infiltration/package.json b/exercises/concept/annalyns-infiltration/package.json index 9fabcf8367..20bd60cdd4 100644 --- a/exercises/concept/annalyns-infiltration/package.json +++ b/exercises/concept/annalyns-infiltration/package.json @@ -6,6 +6,7 @@ "Derk-Jan Karrenbeld (https://derk-jan.com)" ], "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript", @@ -16,20 +17,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/concept/array-loops/.eslintrc b/exercises/concept/array-loops/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/concept/array-loops/.eslintrc +++ b/exercises/concept/array-loops/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/concept/array-loops/.meta/exemplar.js b/exercises/concept/array-loops/.meta/exemplar.js index f467d0bb5d..4de8e67531 100644 --- a/exercises/concept/array-loops/.meta/exemplar.js +++ b/exercises/concept/array-loops/.meta/exemplar.js @@ -11,7 +11,9 @@ export function cardTypeCheck(stack, card) { let count = 0; - stack.forEach((c) => c === card && count++); + stack.forEach((c) => { + c === card && count++; + }); return count; } diff --git a/exercises/concept/array-loops/array-loops.spec.js b/exercises/concept/array-loops/array-loops.spec.js index 1b47d65e0a..897ef47b8f 100644 --- a/exercises/concept/array-loops/array-loops.spec.js +++ b/exercises/concept/array-loops/array-loops.spec.js @@ -2,7 +2,7 @@ import { determineUniqueCards, determineOddEvenCards, cardTypeCheck, -} from './array-loops.js'; +} from './array-loops'; /** * @template T the expected return type diff --git a/exercises/concept/array-loops/babel.config.js b/exercises/concept/array-loops/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/concept/array-loops/babel.config.js +++ b/exercises/concept/array-loops/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/concept/array-loops/package.json b/exercises/concept/array-loops/package.json index f28b50e0c0..78b117ff3e 100644 --- a/exercises/concept/array-loops/package.json +++ b/exercises/concept/array-loops/package.json @@ -3,6 +3,7 @@ "description": "Exercism concept exercise on array-loops", "author": "Derk-Jan Karrenbeld ", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/concept/bird-watcher/.eslintrc b/exercises/concept/bird-watcher/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/concept/bird-watcher/.eslintrc +++ b/exercises/concept/bird-watcher/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/concept/bird-watcher/babel.config.js b/exercises/concept/bird-watcher/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/concept/bird-watcher/babel.config.js +++ b/exercises/concept/bird-watcher/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/concept/bird-watcher/bird-watcher.spec.js b/exercises/concept/bird-watcher/bird-watcher.spec.js index 0e0a447e4e..19fab79cd1 100644 --- a/exercises/concept/bird-watcher/bird-watcher.spec.js +++ b/exercises/concept/bird-watcher/bird-watcher.spec.js @@ -1,8 +1,4 @@ -import { - totalBirdCount, - birdsInWeek, - fixBirdCountLog, -} from './bird-watcher.js'; +import { totalBirdCount, birdsInWeek, fixBirdCountLog } from './bird-watcher'; describe('bird watcher', () => { describe('totalBirdCount', () => { diff --git a/exercises/concept/bird-watcher/package.json b/exercises/concept/bird-watcher/package.json index 74a71d41b4..33fd99e9c7 100644 --- a/exercises/concept/bird-watcher/package.json +++ b/exercises/concept/bird-watcher/package.json @@ -3,6 +3,7 @@ "description": "Exercism concept exercise on for loops and the increment and decrement operators", "author": "Franziska Obbarius <12543047+junedev@users.noreply.github.com>", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript", @@ -13,20 +14,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/concept/closures/.eslintrc b/exercises/concept/closures/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/concept/closures/.eslintrc +++ b/exercises/concept/closures/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/concept/closures/babel.config.js b/exercises/concept/closures/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/concept/closures/babel.config.js +++ b/exercises/concept/closures/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/concept/closures/closures.spec.js b/exercises/concept/closures/closures.spec.js index 9fdb8fb9ab..1078cf1650 100644 --- a/exercises/concept/closures/closures.spec.js +++ b/exercises/concept/closures/closures.spec.js @@ -30,7 +30,7 @@ describe('closures', () => { const x1 = 0; const y1 = 0; const expected = [3, -5]; - xtest(`should be predictable`, () => { + xtest('should be predictable', () => { expect(translator(x1, y1)).toEqual(expected); }); @@ -53,7 +53,7 @@ describe('closures', () => { const x1 = 1; const y1 = 1; const expected = [4, 2]; - xtest(`should be predictable`, () => { + xtest('should be predictable', () => { expect(scaler(x1, y1)).toEqual(expected); }); diff --git a/exercises/concept/closures/package.json b/exercises/concept/closures/package.json index 0e4618dcd8..1eebaaaef0 100644 --- a/exercises/concept/closures/package.json +++ b/exercises/concept/closures/package.json @@ -3,6 +3,7 @@ "description": "Exercism concept exercise on closures", "author": "Tim Austin", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/concept/elyses-analytic-enchantments/.eslintrc b/exercises/concept/elyses-analytic-enchantments/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/concept/elyses-analytic-enchantments/.eslintrc +++ b/exercises/concept/elyses-analytic-enchantments/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/concept/elyses-analytic-enchantments/babel.config.js b/exercises/concept/elyses-analytic-enchantments/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/concept/elyses-analytic-enchantments/babel.config.js +++ b/exercises/concept/elyses-analytic-enchantments/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/concept/elyses-analytic-enchantments/package.json b/exercises/concept/elyses-analytic-enchantments/package.json index 38511f4ac2..a6b64fddc6 100644 --- a/exercises/concept/elyses-analytic-enchantments/package.json +++ b/exercises/concept/elyses-analytic-enchantments/package.json @@ -3,6 +3,7 @@ "description": "Exercism concept exercise on array analysis", "author": "Peterchu999", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript", @@ -13,20 +14,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/concept/elyses-destructured-enchantments/.eslintrc b/exercises/concept/elyses-destructured-enchantments/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/concept/elyses-destructured-enchantments/.eslintrc +++ b/exercises/concept/elyses-destructured-enchantments/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/concept/elyses-destructured-enchantments/babel.config.js b/exercises/concept/elyses-destructured-enchantments/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/concept/elyses-destructured-enchantments/babel.config.js +++ b/exercises/concept/elyses-destructured-enchantments/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/concept/elyses-destructured-enchantments/package.json b/exercises/concept/elyses-destructured-enchantments/package.json index 3ef2d01338..b4545fb572 100644 --- a/exercises/concept/elyses-destructured-enchantments/package.json +++ b/exercises/concept/elyses-destructured-enchantments/package.json @@ -3,6 +3,7 @@ "description": "Exercism concept exercise on array destructuring", "author": "Kristina Born", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript", @@ -13,20 +14,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/concept/elyses-enchantments/.eslintrc b/exercises/concept/elyses-enchantments/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/concept/elyses-enchantments/.eslintrc +++ b/exercises/concept/elyses-enchantments/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/concept/elyses-enchantments/babel.config.js b/exercises/concept/elyses-enchantments/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/concept/elyses-enchantments/babel.config.js +++ b/exercises/concept/elyses-enchantments/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/concept/elyses-enchantments/enchantments.spec.js b/exercises/concept/elyses-enchantments/enchantments.spec.js index 746496d446..ae66970a1a 100644 --- a/exercises/concept/elyses-enchantments/enchantments.spec.js +++ b/exercises/concept/elyses-enchantments/enchantments.spec.js @@ -161,7 +161,7 @@ describe('Elyses enchantments', () => { // eslint-disable-next-line no-undef fail( new Error( - `The card has disappeared, but the stack has not changed in size. This magic trick has turned into actual magic. Perhaps a different method of removing the card will result in a stack that Elyse can work with...` + 'The card has disappeared, but the stack has not changed in size. This magic trick has turned into actual magic. Perhaps a different method of removing the card will result in a stack that Elyse can work with...' ) ); } diff --git a/exercises/concept/elyses-enchantments/package.json b/exercises/concept/elyses-enchantments/package.json index 1b39db47a7..974080af5b 100644 --- a/exercises/concept/elyses-enchantments/package.json +++ b/exercises/concept/elyses-enchantments/package.json @@ -6,6 +6,7 @@ "Derk-Jan Karrenbeld (https://derk-jan.com)" ], "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript", @@ -16,20 +17,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/concept/elyses-transformative-enchantments/.eslintrc b/exercises/concept/elyses-transformative-enchantments/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/concept/elyses-transformative-enchantments/.eslintrc +++ b/exercises/concept/elyses-transformative-enchantments/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/concept/elyses-transformative-enchantments/babel.config.js b/exercises/concept/elyses-transformative-enchantments/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/concept/elyses-transformative-enchantments/babel.config.js +++ b/exercises/concept/elyses-transformative-enchantments/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/concept/elyses-transformative-enchantments/package.json b/exercises/concept/elyses-transformative-enchantments/package.json index 634b8c0343..d4526f24e8 100644 --- a/exercises/concept/elyses-transformative-enchantments/package.json +++ b/exercises/concept/elyses-transformative-enchantments/package.json @@ -7,6 +7,7 @@ "Tejas Bubane (https://tejasbubane.github.io/)" ], "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -16,20 +17,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/concept/errors/.eslintrc b/exercises/concept/errors/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/concept/errors/.eslintrc +++ b/exercises/concept/errors/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/concept/errors/babel.config.js b/exercises/concept/errors/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/concept/errors/babel.config.js +++ b/exercises/concept/errors/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/concept/errors/package.json b/exercises/concept/errors/package.json index e9afa40100..22a3341499 100644 --- a/exercises/concept/errors/package.json +++ b/exercises/concept/errors/package.json @@ -2,6 +2,7 @@ "name": "@exercism/javascript-errors", "author": "Tom Pradat ", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript", @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/concept/freelancer-rates/.eslintrc b/exercises/concept/freelancer-rates/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/concept/freelancer-rates/.eslintrc +++ b/exercises/concept/freelancer-rates/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/concept/freelancer-rates/babel.config.js b/exercises/concept/freelancer-rates/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/concept/freelancer-rates/babel.config.js +++ b/exercises/concept/freelancer-rates/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/concept/freelancer-rates/package.json b/exercises/concept/freelancer-rates/package.json index 5a4490fd15..8ea828977e 100644 --- a/exercises/concept/freelancer-rates/package.json +++ b/exercises/concept/freelancer-rates/package.json @@ -3,6 +3,7 @@ "description": "Exercism concept exercise on numbers", "author": "Derk-Jan Karrenbeld ", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript", @@ -13,20 +14,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/concept/fruit-picker/.eslintrc b/exercises/concept/fruit-picker/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/concept/fruit-picker/.eslintrc +++ b/exercises/concept/fruit-picker/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/concept/fruit-picker/babel.config.js b/exercises/concept/fruit-picker/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/concept/fruit-picker/babel.config.js +++ b/exercises/concept/fruit-picker/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/concept/fruit-picker/package.json b/exercises/concept/fruit-picker/package.json index 0784595ecd..44b1af8b3f 100644 --- a/exercises/concept/fruit-picker/package.json +++ b/exercises/concept/fruit-picker/package.json @@ -3,6 +3,7 @@ "description": "Exercism concept exercise on callbacks", "author": "Tim Austin", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/concept/lasagna/.eslintrc b/exercises/concept/lasagna/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/concept/lasagna/.eslintrc +++ b/exercises/concept/lasagna/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/concept/lasagna/babel.config.js b/exercises/concept/lasagna/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/concept/lasagna/babel.config.js +++ b/exercises/concept/lasagna/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/concept/lasagna/lasagna.spec.js b/exercises/concept/lasagna/lasagna.spec.js index bcfcb3a0ff..55cd2385a0 100644 --- a/exercises/concept/lasagna/lasagna.spec.js +++ b/exercises/concept/lasagna/lasagna.spec.js @@ -1,4 +1,5 @@ import { + // eslint-disable-next-line import/named EXPECTED_MINUTES_IN_OVEN, remainingMinutesInOven, preparationTimeInMinutes, diff --git a/exercises/concept/lasagna/package.json b/exercises/concept/lasagna/package.json index b9921aae82..8d3aa07562 100644 --- a/exercises/concept/lasagna/package.json +++ b/exercises/concept/lasagna/package.json @@ -3,6 +3,7 @@ "description": "Exercism concept exercise on basics", "author": "Derk-Jan Karrenbeld ", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript", @@ -13,20 +14,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/concept/lucky-numbers/.eslintrc b/exercises/concept/lucky-numbers/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/concept/lucky-numbers/.eslintrc +++ b/exercises/concept/lucky-numbers/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/concept/lucky-numbers/babel.config.js b/exercises/concept/lucky-numbers/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/concept/lucky-numbers/babel.config.js +++ b/exercises/concept/lucky-numbers/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/concept/lucky-numbers/lucky-numbers.spec.js b/exercises/concept/lucky-numbers/lucky-numbers.spec.js index 1d924515b2..9208c1234c 100644 --- a/exercises/concept/lucky-numbers/lucky-numbers.spec.js +++ b/exercises/concept/lucky-numbers/lucky-numbers.spec.js @@ -6,7 +6,7 @@ describe('typeConversion', () => { const rightInput = [2, 4, 0, 0]; const expected = 18121; - test(`test summation`, () => { + test('test summation', () => { expect(twoSum(leftInput, rightInput)).toBe(expected); }); test(`luckyNumber(${expected})`, () => { diff --git a/exercises/concept/lucky-numbers/package.json b/exercises/concept/lucky-numbers/package.json index f620bef530..7077cf87a7 100644 --- a/exercises/concept/lucky-numbers/package.json +++ b/exercises/concept/lucky-numbers/package.json @@ -3,6 +3,7 @@ "description": "Exercism concept exercise on Type conversion", "author": "Shubham Singh ", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript", @@ -13,20 +14,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/concept/mixed-juices/.eslintrc b/exercises/concept/mixed-juices/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/concept/mixed-juices/.eslintrc +++ b/exercises/concept/mixed-juices/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/concept/mixed-juices/babel.config.js b/exercises/concept/mixed-juices/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/concept/mixed-juices/babel.config.js +++ b/exercises/concept/mixed-juices/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/concept/mixed-juices/mixed-juices.spec.js b/exercises/concept/mixed-juices/mixed-juices.spec.js index 673650a9ec..3dbb303149 100644 --- a/exercises/concept/mixed-juices/mixed-juices.spec.js +++ b/exercises/concept/mixed-juices/mixed-juices.spec.js @@ -1,7 +1,7 @@ -import { timeToMixJuice, limesToCut, remainingOrders } from './mixed-juices.js'; +import { timeToMixJuice, limesToCut, remainingOrders } from './mixed-juices'; describe('timeToMixJuice', () => { - test(`returns the correct time for 'Pure Strawberry Joy'`, () => { + test("returns the correct time for 'Pure Strawberry Joy'", () => { expect(timeToMixJuice('Pure Strawberry Joy')).toBe(0.5); }); diff --git a/exercises/concept/mixed-juices/package.json b/exercises/concept/mixed-juices/package.json index 6baa030bbb..adc4d90708 100644 --- a/exercises/concept/mixed-juices/package.json +++ b/exercises/concept/mixed-juices/package.json @@ -3,6 +3,7 @@ "description": "Exercism concept exercise on while loops and switch statements", "author": "Franziska Obbarius <12543047+junedev@users.noreply.github.com>", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript", @@ -13,20 +14,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/concept/nullability/.eslintrc b/exercises/concept/nullability/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/concept/nullability/.eslintrc +++ b/exercises/concept/nullability/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/concept/nullability/.meta/exemplar.js b/exercises/concept/nullability/.meta/exemplar.js index ff38fa2184..cbd7da819c 100644 --- a/exercises/concept/nullability/.meta/exemplar.js +++ b/exercises/concept/nullability/.meta/exemplar.js @@ -13,5 +13,5 @@ export function printBadge(id, name, department) { // prettier-ignore return id === null ? `${name} - ${worksAt}` - : `[${id}] ${name} - ${worksAt}` + : `[${id}] ${name} - ${worksAt}`; } diff --git a/exercises/concept/nullability/babel.config.js b/exercises/concept/nullability/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/concept/nullability/babel.config.js +++ b/exercises/concept/nullability/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/concept/nullability/package.json b/exercises/concept/nullability/package.json index 005f9add64..8d684cf729 100644 --- a/exercises/concept/nullability/package.json +++ b/exercises/concept/nullability/package.json @@ -3,6 +3,7 @@ "description": "Exercism concept exercise on nullability", "author": "Derk-Jan Karrenbeld ", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript", @@ -13,20 +14,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/concept/poetry-club-door-policy/.eslintrc b/exercises/concept/poetry-club-door-policy/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/concept/poetry-club-door-policy/.eslintrc +++ b/exercises/concept/poetry-club-door-policy/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/concept/poetry-club-door-policy/babel.config.js b/exercises/concept/poetry-club-door-policy/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/concept/poetry-club-door-policy/babel.config.js +++ b/exercises/concept/poetry-club-door-policy/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/concept/poetry-club-door-policy/package.json b/exercises/concept/poetry-club-door-policy/package.json index fc9238e303..170958c130 100644 --- a/exercises/concept/poetry-club-door-policy/package.json +++ b/exercises/concept/poetry-club-door-policy/package.json @@ -3,6 +3,7 @@ "description": "Exercism concept exercise on strings", "author": "Derk-Jan Karrenbeld ", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript", @@ -13,20 +14,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/concept/promises/.eslintrc b/exercises/concept/promises/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/concept/promises/.eslintrc +++ b/exercises/concept/promises/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/concept/promises/.meta/exemplar.alternative.js b/exercises/concept/promises/.meta/exemplar.alternative.js index d37f1c143a..b1304d4958 100644 --- a/exercises/concept/promises/.meta/exemplar.alternative.js +++ b/exercises/concept/promises/.meta/exemplar.alternative.js @@ -99,11 +99,11 @@ export class TranslationService { */ async request(text, attempt = 1) { try { - await new Promise((resolve, reject) => + await new Promise((resolve, reject) => { this.api.request(text, (err) => { err ? reject(err) : resolve(); - }) - ); + }); + }); } catch (err) { if (attempt === 3) { throw err; diff --git a/exercises/concept/promises/babel.config.js b/exercises/concept/promises/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/concept/promises/babel.config.js +++ b/exercises/concept/promises/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/concept/promises/package.json b/exercises/concept/promises/package.json index 6094923768..91f3778f23 100644 --- a/exercises/concept/promises/package.json +++ b/exercises/concept/promises/package.json @@ -3,6 +3,7 @@ "description": "Exercism concept exercise on promises", "author": "Derk-Jan Karrenbeld ", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript", @@ -13,20 +14,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/concept/promises/promises.spec.js b/exercises/concept/promises/promises.spec.js index d7ddd66f4d..ab41a2b4fc 100644 --- a/exercises/concept/promises/promises.spec.js +++ b/exercises/concept/promises/promises.spec.js @@ -30,7 +30,7 @@ naDevvo’ yIghoS! class Untranslatable extends Error { constructor() { - super(`jIyajbe’`); + super('jIyajbe’'); } } diff --git a/exercises/concept/recursion/.eslintrc b/exercises/concept/recursion/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/concept/recursion/.eslintrc +++ b/exercises/concept/recursion/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/concept/recursion/babel.config.js b/exercises/concept/recursion/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/concept/recursion/babel.config.js +++ b/exercises/concept/recursion/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/concept/recursion/package.json b/exercises/concept/recursion/package.json index 8deaa6f5f0..3634943a49 100644 --- a/exercises/concept/recursion/package.json +++ b/exercises/concept/recursion/package.json @@ -3,6 +3,7 @@ "description": "Exercism concept exercise on recursion", "author": "Derk-Jan Karrenbeld ", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript", @@ -13,20 +14,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/concept/recursion/recursion.spec.js b/exercises/concept/recursion/recursion.spec.js index a813627b38..8d73414d96 100644 --- a/exercises/concept/recursion/recursion.spec.js +++ b/exercises/concept/recursion/recursion.spec.js @@ -104,7 +104,7 @@ describe('recursion', () => { }); describe('Order price for one pizza margherita with a LOT of sauce and one pizza caprese with a LOT of toppings', () => { - xit(`orderPrice([PizzaOrder('Margherita', 'ExtraSauce', 'ExtraSauce', 'ExtraSauce'), PizzaOrder('Caprese', 'ExtraToppings', 'ExtraToppings', 'ExtraToppings', 'ExtraToppings')])`, () => { + xit("orderPrice([PizzaOrder('Margherita', 'ExtraSauce', 'ExtraSauce', 'ExtraSauce'), PizzaOrder('Caprese', 'ExtraToppings', 'ExtraToppings', 'ExtraToppings', 'ExtraToppings')])", () => { const saucyMargherita = new PizzaOrder( 'Margherita', 'ExtraSauce', diff --git a/exercises/concept/vehicle-purchase/.eslintrc b/exercises/concept/vehicle-purchase/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/concept/vehicle-purchase/.eslintrc +++ b/exercises/concept/vehicle-purchase/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/concept/vehicle-purchase/babel.config.js b/exercises/concept/vehicle-purchase/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/concept/vehicle-purchase/babel.config.js +++ b/exercises/concept/vehicle-purchase/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/concept/vehicle-purchase/package.json b/exercises/concept/vehicle-purchase/package.json index b86cde1d86..50fba4c129 100644 --- a/exercises/concept/vehicle-purchase/package.json +++ b/exercises/concept/vehicle-purchase/package.json @@ -3,6 +3,7 @@ "description": "Exercism concept exercise on conditionals and comparison", "author": "Franziska Obbarius <12543047+junedev@users.noreply.github.com>", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript", @@ -13,20 +14,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/accumulate/.eslintrc b/exercises/practice/accumulate/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/accumulate/.eslintrc +++ b/exercises/practice/accumulate/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/accumulate/babel.config.js b/exercises/practice/accumulate/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/accumulate/babel.config.js +++ b/exercises/practice/accumulate/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/accumulate/package.json b/exercises/practice/accumulate/package.json index fab94a1a56..3938126555 100644 --- a/exercises/practice/accumulate/package.json +++ b/exercises/practice/accumulate/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/acronym/.eslintrc b/exercises/practice/acronym/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/acronym/.eslintrc +++ b/exercises/practice/acronym/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/acronym/babel.config.js b/exercises/practice/acronym/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/acronym/babel.config.js +++ b/exercises/practice/acronym/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/acronym/package.json b/exercises/practice/acronym/package.json index 385e6e7bc0..6ad9b32638 100644 --- a/exercises/practice/acronym/package.json +++ b/exercises/practice/acronym/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/affine-cipher/.eslintrc b/exercises/practice/affine-cipher/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/affine-cipher/.eslintrc +++ b/exercises/practice/affine-cipher/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/affine-cipher/.meta/proof.ci.js b/exercises/practice/affine-cipher/.meta/proof.ci.js index e2c7772280..ee1665b0ed 100644 --- a/exercises/practice/affine-cipher/.meta/proof.ci.js +++ b/exercises/practice/affine-cipher/.meta/proof.ci.js @@ -3,7 +3,7 @@ const ALPHABET_LENGTH = ALPHABET.length; const areCoprimes = (a, b) => { for (let i = Math.min(a, b); i > 1; i--) { - if (a % i == 0 && b % i == 0) { + if (a % i === 0 && b % i === 0) { return false; } } diff --git a/exercises/practice/affine-cipher/babel.config.js b/exercises/practice/affine-cipher/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/affine-cipher/babel.config.js +++ b/exercises/practice/affine-cipher/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/affine-cipher/package.json b/exercises/practice/affine-cipher/package.json index b67d4a7913..ff574dd990 100644 --- a/exercises/practice/affine-cipher/package.json +++ b/exercises/practice/affine-cipher/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/all-your-base/.eslintrc b/exercises/practice/all-your-base/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/all-your-base/.eslintrc +++ b/exercises/practice/all-your-base/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/all-your-base/babel.config.js b/exercises/practice/all-your-base/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/all-your-base/babel.config.js +++ b/exercises/practice/all-your-base/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/all-your-base/package.json b/exercises/practice/all-your-base/package.json index cf36ec922b..1dcbef1e7a 100644 --- a/exercises/practice/all-your-base/package.json +++ b/exercises/practice/all-your-base/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/allergies/.eslintrc b/exercises/practice/allergies/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/allergies/.eslintrc +++ b/exercises/practice/allergies/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/allergies/babel.config.js b/exercises/practice/allergies/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/allergies/babel.config.js +++ b/exercises/practice/allergies/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/allergies/package.json b/exercises/practice/allergies/package.json index c80dd5fc2b..f34bbe4a8d 100644 --- a/exercises/practice/allergies/package.json +++ b/exercises/practice/allergies/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/alphametics/.eslintrc b/exercises/practice/alphametics/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/alphametics/.eslintrc +++ b/exercises/practice/alphametics/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/alphametics/.meta/proof.ci.js b/exercises/practice/alphametics/.meta/proof.ci.js index 6988c3f696..f982eb4543 100644 --- a/exercises/practice/alphametics/.meta/proof.ci.js +++ b/exercises/practice/alphametics/.meta/proof.ci.js @@ -19,11 +19,11 @@ export function solve(puzzle) { function countLetters(terms, total) { const counts = {}; - terms.forEach((term) => + terms.forEach((term) => { [...term].forEach((letter, i, { length }) => { counts[letter] = (counts[letter] ?? 0) + 10 ** (length - 1 - i); - }) - ); + }); + }); [...total].forEach((letter, i, { length }) => { counts[letter] = (counts[letter] ?? 0) - 10 ** (length - 1 - i); diff --git a/exercises/practice/alphametics/babel.config.js b/exercises/practice/alphametics/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/alphametics/babel.config.js +++ b/exercises/practice/alphametics/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/alphametics/package.json b/exercises/practice/alphametics/package.json index c8486a90a2..ed2c09e552 100644 --- a/exercises/practice/alphametics/package.json +++ b/exercises/practice/alphametics/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/anagram/.eslintrc b/exercises/practice/anagram/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/anagram/.eslintrc +++ b/exercises/practice/anagram/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/anagram/babel.config.js b/exercises/practice/anagram/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/anagram/babel.config.js +++ b/exercises/practice/anagram/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/anagram/package.json b/exercises/practice/anagram/package.json index 94da928a2e..e9cf0f34b6 100644 --- a/exercises/practice/anagram/package.json +++ b/exercises/practice/anagram/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/armstrong-numbers/.eslintrc b/exercises/practice/armstrong-numbers/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/armstrong-numbers/.eslintrc +++ b/exercises/practice/armstrong-numbers/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/armstrong-numbers/babel.config.js b/exercises/practice/armstrong-numbers/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/armstrong-numbers/babel.config.js +++ b/exercises/practice/armstrong-numbers/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/armstrong-numbers/package.json b/exercises/practice/armstrong-numbers/package.json index a3e1118804..dc19652425 100644 --- a/exercises/practice/armstrong-numbers/package.json +++ b/exercises/practice/armstrong-numbers/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/atbash-cipher/.eslintrc b/exercises/practice/atbash-cipher/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/atbash-cipher/.eslintrc +++ b/exercises/practice/atbash-cipher/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/atbash-cipher/babel.config.js b/exercises/practice/atbash-cipher/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/atbash-cipher/babel.config.js +++ b/exercises/practice/atbash-cipher/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/atbash-cipher/package.json b/exercises/practice/atbash-cipher/package.json index 91bfd55266..a3ac0be774 100644 --- a/exercises/practice/atbash-cipher/package.json +++ b/exercises/practice/atbash-cipher/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/bank-account/.eslintrc b/exercises/practice/bank-account/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/bank-account/.eslintrc +++ b/exercises/practice/bank-account/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/bank-account/babel.config.js b/exercises/practice/bank-account/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/bank-account/babel.config.js +++ b/exercises/practice/bank-account/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/bank-account/package.json b/exercises/practice/bank-account/package.json index 8ce9852704..738ea6afdd 100644 --- a/exercises/practice/bank-account/package.json +++ b/exercises/practice/bank-account/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/beer-song/.eslintrc b/exercises/practice/beer-song/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/beer-song/.eslintrc +++ b/exercises/practice/beer-song/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/beer-song/babel.config.js b/exercises/practice/beer-song/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/beer-song/babel.config.js +++ b/exercises/practice/beer-song/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/beer-song/package.json b/exercises/practice/beer-song/package.json index 8aa06b392f..a1d5b69781 100644 --- a/exercises/practice/beer-song/package.json +++ b/exercises/practice/beer-song/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/binary-search-tree/.eslintrc b/exercises/practice/binary-search-tree/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/binary-search-tree/.eslintrc +++ b/exercises/practice/binary-search-tree/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/binary-search-tree/babel.config.js b/exercises/practice/binary-search-tree/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/binary-search-tree/babel.config.js +++ b/exercises/practice/binary-search-tree/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/binary-search-tree/package.json b/exercises/practice/binary-search-tree/package.json index 16ff4df0e8..62794af7cd 100644 --- a/exercises/practice/binary-search-tree/package.json +++ b/exercises/practice/binary-search-tree/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/binary-search/.eslintrc b/exercises/practice/binary-search/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/binary-search/.eslintrc +++ b/exercises/practice/binary-search/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/binary-search/babel.config.js b/exercises/practice/binary-search/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/binary-search/babel.config.js +++ b/exercises/practice/binary-search/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/binary-search/package.json b/exercises/practice/binary-search/package.json index 4c8d2ce547..71ecde110f 100644 --- a/exercises/practice/binary-search/package.json +++ b/exercises/practice/binary-search/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/binary/.eslintrc b/exercises/practice/binary/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/binary/.eslintrc +++ b/exercises/practice/binary/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/binary/babel.config.js b/exercises/practice/binary/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/binary/babel.config.js +++ b/exercises/practice/binary/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/binary/package.json b/exercises/practice/binary/package.json index 1f2a6d8c0a..21064ad170 100644 --- a/exercises/practice/binary/package.json +++ b/exercises/practice/binary/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/bob/.eslintrc b/exercises/practice/bob/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/bob/.eslintrc +++ b/exercises/practice/bob/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/bob/babel.config.js b/exercises/practice/bob/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/bob/babel.config.js +++ b/exercises/practice/bob/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/bob/package.json b/exercises/practice/bob/package.json index 487255a6d9..8627123313 100644 --- a/exercises/practice/bob/package.json +++ b/exercises/practice/bob/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/bowling/.eslintrc b/exercises/practice/bowling/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/bowling/.eslintrc +++ b/exercises/practice/bowling/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/bowling/babel.config.js b/exercises/practice/bowling/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/bowling/babel.config.js +++ b/exercises/practice/bowling/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/bowling/package.json b/exercises/practice/bowling/package.json index 069062f98c..758c82a513 100644 --- a/exercises/practice/bowling/package.json +++ b/exercises/practice/bowling/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/change/.eslintrc b/exercises/practice/change/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/change/.eslintrc +++ b/exercises/practice/change/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/change/babel.config.js b/exercises/practice/change/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/change/babel.config.js +++ b/exercises/practice/change/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/change/package.json b/exercises/practice/change/package.json index a081d204c2..563d7cf8e5 100644 --- a/exercises/practice/change/package.json +++ b/exercises/practice/change/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/circular-buffer/.eslintrc b/exercises/practice/circular-buffer/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/circular-buffer/.eslintrc +++ b/exercises/practice/circular-buffer/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/circular-buffer/.meta/proof.ci.js b/exercises/practice/circular-buffer/.meta/proof.ci.js index 8ba5832015..c31f24e834 100644 --- a/exercises/practice/circular-buffer/.meta/proof.ci.js +++ b/exercises/practice/circular-buffer/.meta/proof.ci.js @@ -11,6 +11,7 @@ export class BufferFullError extends Error { } } +// eslint-disable-next-line import/no-default-export export default class CircularBuffer { constructor(capacity) { this.buffer = []; diff --git a/exercises/practice/circular-buffer/babel.config.js b/exercises/practice/circular-buffer/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/circular-buffer/babel.config.js +++ b/exercises/practice/circular-buffer/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/circular-buffer/package.json b/exercises/practice/circular-buffer/package.json index 5ab6ea3144..a9254716f0 100644 --- a/exercises/practice/circular-buffer/package.json +++ b/exercises/practice/circular-buffer/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/clock/.eslintrc b/exercises/practice/clock/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/clock/.eslintrc +++ b/exercises/practice/clock/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/clock/babel.config.js b/exercises/practice/clock/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/clock/babel.config.js +++ b/exercises/practice/clock/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/clock/package.json b/exercises/practice/clock/package.json index faa75f7ebe..2b4dcff7a6 100644 --- a/exercises/practice/clock/package.json +++ b/exercises/practice/clock/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/collatz-conjecture/.eslintrc b/exercises/practice/collatz-conjecture/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/collatz-conjecture/.eslintrc +++ b/exercises/practice/collatz-conjecture/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/collatz-conjecture/babel.config.js b/exercises/practice/collatz-conjecture/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/collatz-conjecture/babel.config.js +++ b/exercises/practice/collatz-conjecture/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/collatz-conjecture/package.json b/exercises/practice/collatz-conjecture/package.json index f416ad28b4..d20c38f2ff 100644 --- a/exercises/practice/collatz-conjecture/package.json +++ b/exercises/practice/collatz-conjecture/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/complex-numbers/.eslintrc b/exercises/practice/complex-numbers/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/complex-numbers/.eslintrc +++ b/exercises/practice/complex-numbers/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/complex-numbers/babel.config.js b/exercises/practice/complex-numbers/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/complex-numbers/babel.config.js +++ b/exercises/practice/complex-numbers/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/complex-numbers/complex-numbers.spec.js b/exercises/practice/complex-numbers/complex-numbers.spec.js index a0283aee65..bdb1e221a1 100644 --- a/exercises/practice/complex-numbers/complex-numbers.spec.js +++ b/exercises/practice/complex-numbers/complex-numbers.spec.js @@ -1,4 +1,4 @@ -import { ComplexNumber } from './complex-numbers.js'; +import { ComplexNumber } from './complex-numbers'; describe('Complex numbers', () => { test('Real part of a purely real number', () => { diff --git a/exercises/practice/complex-numbers/package.json b/exercises/practice/complex-numbers/package.json index f0db17fe7e..3ed288ee65 100644 --- a/exercises/practice/complex-numbers/package.json +++ b/exercises/practice/complex-numbers/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/connect/.eslintrc b/exercises/practice/connect/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/connect/.eslintrc +++ b/exercises/practice/connect/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/connect/babel.config.js b/exercises/practice/connect/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/connect/babel.config.js +++ b/exercises/practice/connect/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/connect/package.json b/exercises/practice/connect/package.json index fc91a243b7..91e8a79faa 100644 --- a/exercises/practice/connect/package.json +++ b/exercises/practice/connect/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/crypto-square/.eslintrc b/exercises/practice/crypto-square/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/crypto-square/.eslintrc +++ b/exercises/practice/crypto-square/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/crypto-square/babel.config.js b/exercises/practice/crypto-square/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/crypto-square/babel.config.js +++ b/exercises/practice/crypto-square/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/crypto-square/package.json b/exercises/practice/crypto-square/package.json index b59af035ef..50037590bf 100644 --- a/exercises/practice/crypto-square/package.json +++ b/exercises/practice/crypto-square/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/custom-set/.eslintrc b/exercises/practice/custom-set/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/custom-set/.eslintrc +++ b/exercises/practice/custom-set/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/custom-set/.meta/proof.ci.js b/exercises/practice/custom-set/.meta/proof.ci.js index 67a6d4c3bd..b56c67315f 100644 --- a/exercises/practice/custom-set/.meta/proof.ci.js +++ b/exercises/practice/custom-set/.meta/proof.ci.js @@ -1,7 +1,9 @@ export class CustomSet { constructor(data = []) { this.data = {}; - data.forEach((el) => this.add(el)); + data.forEach((el) => { + this.add(el); + }); } add(el) { diff --git a/exercises/practice/custom-set/babel.config.js b/exercises/practice/custom-set/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/custom-set/babel.config.js +++ b/exercises/practice/custom-set/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/custom-set/package.json b/exercises/practice/custom-set/package.json index 02c5ef67ee..d6e52ba237 100644 --- a/exercises/practice/custom-set/package.json +++ b/exercises/practice/custom-set/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/darts/.eslintrc b/exercises/practice/darts/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/darts/.eslintrc +++ b/exercises/practice/darts/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/darts/babel.config.js b/exercises/practice/darts/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/darts/babel.config.js +++ b/exercises/practice/darts/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/darts/package.json b/exercises/practice/darts/package.json index 9442dc7d69..440428ef7d 100644 --- a/exercises/practice/darts/package.json +++ b/exercises/practice/darts/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/diamond/.eslintrc b/exercises/practice/diamond/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/diamond/.eslintrc +++ b/exercises/practice/diamond/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/diamond/babel.config.js b/exercises/practice/diamond/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/diamond/babel.config.js +++ b/exercises/practice/diamond/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/diamond/diamond.spec.js b/exercises/practice/diamond/diamond.spec.js index 0e40d9cf91..0563893923 100644 --- a/exercises/practice/diamond/diamond.spec.js +++ b/exercises/practice/diamond/diamond.spec.js @@ -1,4 +1,4 @@ -import { rows } from './diamond.js'; +import { rows } from './diamond'; describe('Diamond', () => { test("Degenerate case with a single 'A' row", () => { diff --git a/exercises/practice/diamond/package.json b/exercises/practice/diamond/package.json index c3a058f961..162d609cc5 100644 --- a/exercises/practice/diamond/package.json +++ b/exercises/practice/diamond/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/difference-of-squares/.eslintrc b/exercises/practice/difference-of-squares/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/difference-of-squares/.eslintrc +++ b/exercises/practice/difference-of-squares/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/difference-of-squares/babel.config.js b/exercises/practice/difference-of-squares/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/difference-of-squares/babel.config.js +++ b/exercises/practice/difference-of-squares/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/difference-of-squares/package.json b/exercises/practice/difference-of-squares/package.json index 5487331515..d2ad10691d 100644 --- a/exercises/practice/difference-of-squares/package.json +++ b/exercises/practice/difference-of-squares/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/diffie-hellman/.eslintrc b/exercises/practice/diffie-hellman/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/diffie-hellman/.eslintrc +++ b/exercises/practice/diffie-hellman/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/diffie-hellman/babel.config.js b/exercises/practice/diffie-hellman/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/diffie-hellman/babel.config.js +++ b/exercises/practice/diffie-hellman/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/diffie-hellman/package.json b/exercises/practice/diffie-hellman/package.json index 544666bedc..cb3fa36083 100644 --- a/exercises/practice/diffie-hellman/package.json +++ b/exercises/practice/diffie-hellman/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/dnd-character/.eslintrc b/exercises/practice/dnd-character/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/dnd-character/.eslintrc +++ b/exercises/practice/dnd-character/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/dnd-character/babel.config.js b/exercises/practice/dnd-character/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/dnd-character/babel.config.js +++ b/exercises/practice/dnd-character/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/dnd-character/package.json b/exercises/practice/dnd-character/package.json index 167e0ccab7..0bbeb64738 100644 --- a/exercises/practice/dnd-character/package.json +++ b/exercises/practice/dnd-character/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/dominoes/.eslintrc b/exercises/practice/dominoes/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/dominoes/.eslintrc +++ b/exercises/practice/dominoes/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/dominoes/babel.config.js b/exercises/practice/dominoes/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/dominoes/babel.config.js +++ b/exercises/practice/dominoes/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/dominoes/package.json b/exercises/practice/dominoes/package.json index 428b6707e0..c659316d8f 100644 --- a/exercises/practice/dominoes/package.json +++ b/exercises/practice/dominoes/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/etl/.eslintrc b/exercises/practice/etl/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/etl/.eslintrc +++ b/exercises/practice/etl/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/etl/babel.config.js b/exercises/practice/etl/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/etl/babel.config.js +++ b/exercises/practice/etl/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/etl/package.json b/exercises/practice/etl/package.json index 16a1a7d2c1..f1258255ed 100644 --- a/exercises/practice/etl/package.json +++ b/exercises/practice/etl/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/flatten-array/.eslintrc b/exercises/practice/flatten-array/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/flatten-array/.eslintrc +++ b/exercises/practice/flatten-array/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/flatten-array/babel.config.js b/exercises/practice/flatten-array/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/flatten-array/babel.config.js +++ b/exercises/practice/flatten-array/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/flatten-array/flatten-array.spec.js b/exercises/practice/flatten-array/flatten-array.spec.js index 782bf31eb9..c25a6ed531 100644 --- a/exercises/practice/flatten-array/flatten-array.spec.js +++ b/exercises/practice/flatten-array/flatten-array.spec.js @@ -1,4 +1,4 @@ -import { flatten } from './flatten-array.js'; +import { flatten } from './flatten-array'; describe('FlattenArray', () => { xtest('empty', () => { diff --git a/exercises/practice/flatten-array/package.json b/exercises/practice/flatten-array/package.json index c33069f4e8..6307d36dd7 100644 --- a/exercises/practice/flatten-array/package.json +++ b/exercises/practice/flatten-array/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/food-chain/.eslintrc b/exercises/practice/food-chain/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/food-chain/.eslintrc +++ b/exercises/practice/food-chain/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/food-chain/babel.config.js b/exercises/practice/food-chain/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/food-chain/babel.config.js +++ b/exercises/practice/food-chain/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/food-chain/package.json b/exercises/practice/food-chain/package.json index 0363c33176..34fb9aea7d 100644 --- a/exercises/practice/food-chain/package.json +++ b/exercises/practice/food-chain/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/forth/.eslintrc b/exercises/practice/forth/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/forth/.eslintrc +++ b/exercises/practice/forth/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/forth/babel.config.js b/exercises/practice/forth/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/forth/babel.config.js +++ b/exercises/practice/forth/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/forth/package.json b/exercises/practice/forth/package.json index 8ad4d58302..836f4863bb 100644 --- a/exercises/practice/forth/package.json +++ b/exercises/practice/forth/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/gigasecond/.eslintrc b/exercises/practice/gigasecond/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/gigasecond/.eslintrc +++ b/exercises/practice/gigasecond/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/gigasecond/babel.config.js b/exercises/practice/gigasecond/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/gigasecond/babel.config.js +++ b/exercises/practice/gigasecond/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/gigasecond/package.json b/exercises/practice/gigasecond/package.json index 5b954c0202..3e1ed6f1f9 100644 --- a/exercises/practice/gigasecond/package.json +++ b/exercises/practice/gigasecond/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/grade-school/.eslintrc b/exercises/practice/grade-school/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/grade-school/.eslintrc +++ b/exercises/practice/grade-school/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/grade-school/babel.config.js b/exercises/practice/grade-school/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/grade-school/babel.config.js +++ b/exercises/practice/grade-school/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/grade-school/package.json b/exercises/practice/grade-school/package.json index df078deab2..2e75fc9f17 100644 --- a/exercises/practice/grade-school/package.json +++ b/exercises/practice/grade-school/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/grains/.eslintrc b/exercises/practice/grains/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/grains/.eslintrc +++ b/exercises/practice/grains/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/grains/.meta/proof.ci.js b/exercises/practice/grains/.meta/proof.ci.js index 3c634af49c..59f5218a63 100644 --- a/exercises/practice/grains/.meta/proof.ci.js +++ b/exercises/practice/grains/.meta/proof.ci.js @@ -18,11 +18,11 @@ export const square = (num) => { * @return {BigInt} Sum of all squares */ export const total = () => { - let total = BigInt(0); + let result = BigInt(0); for (let squareNum = 1; squareNum <= 64; squareNum++) { - total += square(squareNum); + result += square(squareNum); } - return total; + return result; }; diff --git a/exercises/practice/grains/babel.config.js b/exercises/practice/grains/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/grains/babel.config.js +++ b/exercises/practice/grains/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/grains/package.json b/exercises/practice/grains/package.json index b56ee48487..8727909e7f 100644 --- a/exercises/practice/grains/package.json +++ b/exercises/practice/grains/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/grep/.eslintrc b/exercises/practice/grep/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/grep/.eslintrc +++ b/exercises/practice/grep/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/grep/babel.config.js b/exercises/practice/grep/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/grep/babel.config.js +++ b/exercises/practice/grep/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/grep/grep.spec.js b/exercises/practice/grep/grep.spec.js index f83be90532..98ef1dafe0 100644 --- a/exercises/practice/grep/grep.spec.js +++ b/exercises/practice/grep/grep.spec.js @@ -1,9 +1,9 @@ // @ts-check const { spawnSync } = require('child_process'); -const { resolve, relative } = require('path'); +const { resolve: resolvePath, relative } = require('path'); -const BASE_DIR = resolve(__dirname); +const BASE_DIR = resolvePath(__dirname); /** * Spawns a new node process, emulating `grep`. @@ -14,11 +14,11 @@ const BASE_DIR = resolve(__dirname); */ function spawnGrep(config) { const args = [ - resolve(BASE_DIR, 'grep.js'), + resolvePath(BASE_DIR, 'grep.js'), ...config.flags, config.pattern, ...config.files.map((file) => - relative(BASE_DIR, resolve(BASE_DIR, 'data', file)) + relative(BASE_DIR, resolvePath(BASE_DIR, 'data', file)) ), ]; @@ -56,7 +56,7 @@ function formatStringTemplate(stringTemplate) { * @param {string} file */ function resolveDataFile(file) { - return relative(BASE_DIR, resolve(BASE_DIR, 'data', file)); + return relative(BASE_DIR, resolvePath(BASE_DIR, 'data', file)); } describe('grep exercise', () => { diff --git a/exercises/practice/grep/package.json b/exercises/practice/grep/package.json index 4719003036..93b7dca38b 100644 --- a/exercises/practice/grep/package.json +++ b/exercises/practice/grep/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/hamming/.eslintrc b/exercises/practice/hamming/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/hamming/.eslintrc +++ b/exercises/practice/hamming/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/hamming/babel.config.js b/exercises/practice/hamming/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/hamming/babel.config.js +++ b/exercises/practice/hamming/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/hamming/package.json b/exercises/practice/hamming/package.json index 316274c603..610fdb9b5d 100644 --- a/exercises/practice/hamming/package.json +++ b/exercises/practice/hamming/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/hello-world/.eslintrc b/exercises/practice/hello-world/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/hello-world/.eslintrc +++ b/exercises/practice/hello-world/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/hello-world/babel.config.js b/exercises/practice/hello-world/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/hello-world/babel.config.js +++ b/exercises/practice/hello-world/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/hello-world/package.json b/exercises/practice/hello-world/package.json index 288b148937..2c60c61a53 100644 --- a/exercises/practice/hello-world/package.json +++ b/exercises/practice/hello-world/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/hexadecimal/.eslintrc b/exercises/practice/hexadecimal/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/hexadecimal/.eslintrc +++ b/exercises/practice/hexadecimal/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/hexadecimal/babel.config.js b/exercises/practice/hexadecimal/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/hexadecimal/babel.config.js +++ b/exercises/practice/hexadecimal/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/hexadecimal/package.json b/exercises/practice/hexadecimal/package.json index 3b03f5c4d9..29de02b439 100644 --- a/exercises/practice/hexadecimal/package.json +++ b/exercises/practice/hexadecimal/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/high-scores/.eslintrc b/exercises/practice/high-scores/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/high-scores/.eslintrc +++ b/exercises/practice/high-scores/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/high-scores/babel.config.js b/exercises/practice/high-scores/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/high-scores/babel.config.js +++ b/exercises/practice/high-scores/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/high-scores/package.json b/exercises/practice/high-scores/package.json index 0bc2b8b288..f2037ab229 100644 --- a/exercises/practice/high-scores/package.json +++ b/exercises/practice/high-scores/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/house/.eslintrc b/exercises/practice/house/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/house/.eslintrc +++ b/exercises/practice/house/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/house/babel.config.js b/exercises/practice/house/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/house/babel.config.js +++ b/exercises/practice/house/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/house/package.json b/exercises/practice/house/package.json index 2180b26844..1f2959497d 100644 --- a/exercises/practice/house/package.json +++ b/exercises/practice/house/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/isbn-verifier/.eslintrc b/exercises/practice/isbn-verifier/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/isbn-verifier/.eslintrc +++ b/exercises/practice/isbn-verifier/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/isbn-verifier/babel.config.js b/exercises/practice/isbn-verifier/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/isbn-verifier/babel.config.js +++ b/exercises/practice/isbn-verifier/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/isbn-verifier/isbn-verifier.spec.js b/exercises/practice/isbn-verifier/isbn-verifier.spec.js index 746d65c126..5232cf315d 100644 --- a/exercises/practice/isbn-verifier/isbn-verifier.spec.js +++ b/exercises/practice/isbn-verifier/isbn-verifier.spec.js @@ -1,4 +1,4 @@ -import { isValid } from './isbn-verifier.js'; +import { isValid } from './isbn-verifier'; describe('ISBN Verifier', () => { test('valid isbn', () => { diff --git a/exercises/practice/isbn-verifier/package.json b/exercises/practice/isbn-verifier/package.json index 5f3bb1afef..7b6dd68f9e 100644 --- a/exercises/practice/isbn-verifier/package.json +++ b/exercises/practice/isbn-verifier/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/isogram/.eslintrc b/exercises/practice/isogram/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/isogram/.eslintrc +++ b/exercises/practice/isogram/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/isogram/babel.config.js b/exercises/practice/isogram/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/isogram/babel.config.js +++ b/exercises/practice/isogram/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/isogram/package.json b/exercises/practice/isogram/package.json index 19d44c882a..cf667cb5ad 100644 --- a/exercises/practice/isogram/package.json +++ b/exercises/practice/isogram/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/kindergarten-garden/.eslintrc b/exercises/practice/kindergarten-garden/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/kindergarten-garden/.eslintrc +++ b/exercises/practice/kindergarten-garden/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/kindergarten-garden/babel.config.js b/exercises/practice/kindergarten-garden/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/kindergarten-garden/babel.config.js +++ b/exercises/practice/kindergarten-garden/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/kindergarten-garden/package.json b/exercises/practice/kindergarten-garden/package.json index e30cd108c2..db2b8c86fb 100644 --- a/exercises/practice/kindergarten-garden/package.json +++ b/exercises/practice/kindergarten-garden/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/largest-series-product/.eslintrc b/exercises/practice/largest-series-product/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/largest-series-product/.eslintrc +++ b/exercises/practice/largest-series-product/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/largest-series-product/.meta/proof.ci.js b/exercises/practice/largest-series-product/.meta/proof.ci.js index acae3b03f6..077d6d9f69 100644 --- a/exercises/practice/largest-series-product/.meta/proof.ci.js +++ b/exercises/practice/largest-series-product/.meta/proof.ci.js @@ -13,16 +13,17 @@ export const largestProduct = (digits, seriesLength) => { throw new Error('Digits input must only contain digits'); } - let largestProduct = 0; + let result = 0; for (let i = 0; i <= digits.length - seriesLength; i++) { const product = digits .substring(i, i + seriesLength) .split('') .map((digit) => Number(digit)) .reduce((a, b) => a * b); - if (product > largestProduct) { - largestProduct = product; + + if (product > result) { + result = product; } } - return largestProduct; + return result; }; diff --git a/exercises/practice/largest-series-product/babel.config.js b/exercises/practice/largest-series-product/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/largest-series-product/babel.config.js +++ b/exercises/practice/largest-series-product/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/largest-series-product/package.json b/exercises/practice/largest-series-product/package.json index 424f30b62c..9263d8f225 100644 --- a/exercises/practice/largest-series-product/package.json +++ b/exercises/practice/largest-series-product/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/leap/.eslintrc b/exercises/practice/leap/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/leap/.eslintrc +++ b/exercises/practice/leap/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/leap/babel.config.js b/exercises/practice/leap/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/leap/babel.config.js +++ b/exercises/practice/leap/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/leap/package.json b/exercises/practice/leap/package.json index 3036103b37..b777872d7a 100644 --- a/exercises/practice/leap/package.json +++ b/exercises/practice/leap/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/linked-list/.eslintrc b/exercises/practice/linked-list/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/linked-list/.eslintrc +++ b/exercises/practice/linked-list/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/linked-list/babel.config.js b/exercises/practice/linked-list/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/linked-list/babel.config.js +++ b/exercises/practice/linked-list/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/linked-list/package.json b/exercises/practice/linked-list/package.json index 0bf807d403..b4ceaf6a82 100644 --- a/exercises/practice/linked-list/package.json +++ b/exercises/practice/linked-list/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/list-ops/.eslintrc b/exercises/practice/list-ops/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/list-ops/.eslintrc +++ b/exercises/practice/list-ops/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/list-ops/babel.config.js b/exercises/practice/list-ops/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/list-ops/babel.config.js +++ b/exercises/practice/list-ops/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/list-ops/package.json b/exercises/practice/list-ops/package.json index 5c025c0e07..1b7a2977d3 100644 --- a/exercises/practice/list-ops/package.json +++ b/exercises/practice/list-ops/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/luhn/.eslintrc b/exercises/practice/luhn/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/luhn/.eslintrc +++ b/exercises/practice/luhn/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/luhn/babel.config.js b/exercises/practice/luhn/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/luhn/babel.config.js +++ b/exercises/practice/luhn/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/luhn/package.json b/exercises/practice/luhn/package.json index 4c8fde9355..c4af015110 100644 --- a/exercises/practice/luhn/package.json +++ b/exercises/practice/luhn/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/matching-brackets/.eslintrc b/exercises/practice/matching-brackets/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/matching-brackets/.eslintrc +++ b/exercises/practice/matching-brackets/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/matching-brackets/babel.config.js b/exercises/practice/matching-brackets/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/matching-brackets/babel.config.js +++ b/exercises/practice/matching-brackets/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/matching-brackets/package.json b/exercises/practice/matching-brackets/package.json index 37e5bad534..0beb2445d5 100644 --- a/exercises/practice/matching-brackets/package.json +++ b/exercises/practice/matching-brackets/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/matrix/.eslintrc b/exercises/practice/matrix/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/matrix/.eslintrc +++ b/exercises/practice/matrix/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/matrix/babel.config.js b/exercises/practice/matrix/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/matrix/babel.config.js +++ b/exercises/practice/matrix/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/matrix/package.json b/exercises/practice/matrix/package.json index d30151c40d..6961c11ceb 100644 --- a/exercises/practice/matrix/package.json +++ b/exercises/practice/matrix/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/meetup/.eslintrc b/exercises/practice/meetup/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/meetup/.eslintrc +++ b/exercises/practice/meetup/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/meetup/babel.config.js b/exercises/practice/meetup/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/meetup/babel.config.js +++ b/exercises/practice/meetup/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/meetup/package.json b/exercises/practice/meetup/package.json index bb54cb22f7..43029e49a0 100644 --- a/exercises/practice/meetup/package.json +++ b/exercises/practice/meetup/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/minesweeper/.eslintrc b/exercises/practice/minesweeper/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/minesweeper/.eslintrc +++ b/exercises/practice/minesweeper/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/minesweeper/babel.config.js b/exercises/practice/minesweeper/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/minesweeper/babel.config.js +++ b/exercises/practice/minesweeper/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/minesweeper/package.json b/exercises/practice/minesweeper/package.json index e5e4f13126..4977d78780 100644 --- a/exercises/practice/minesweeper/package.json +++ b/exercises/practice/minesweeper/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/nth-prime/.eslintrc b/exercises/practice/nth-prime/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/nth-prime/.eslintrc +++ b/exercises/practice/nth-prime/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/nth-prime/babel.config.js b/exercises/practice/nth-prime/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/nth-prime/babel.config.js +++ b/exercises/practice/nth-prime/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/nth-prime/package.json b/exercises/practice/nth-prime/package.json index 602b455b80..9f0acdbe74 100644 --- a/exercises/practice/nth-prime/package.json +++ b/exercises/practice/nth-prime/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/nucleotide-count/.eslintrc b/exercises/practice/nucleotide-count/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/nucleotide-count/.eslintrc +++ b/exercises/practice/nucleotide-count/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/nucleotide-count/babel.config.js b/exercises/practice/nucleotide-count/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/nucleotide-count/babel.config.js +++ b/exercises/practice/nucleotide-count/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/nucleotide-count/package.json b/exercises/practice/nucleotide-count/package.json index 13e4d7e282..53e8cf659a 100644 --- a/exercises/practice/nucleotide-count/package.json +++ b/exercises/practice/nucleotide-count/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/ocr-numbers/.eslintrc b/exercises/practice/ocr-numbers/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/ocr-numbers/.eslintrc +++ b/exercises/practice/ocr-numbers/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/ocr-numbers/babel.config.js b/exercises/practice/ocr-numbers/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/ocr-numbers/babel.config.js +++ b/exercises/practice/ocr-numbers/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/ocr-numbers/package.json b/exercises/practice/ocr-numbers/package.json index 401630d3b3..9ed18172b3 100644 --- a/exercises/practice/ocr-numbers/package.json +++ b/exercises/practice/ocr-numbers/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/octal/.eslintrc b/exercises/practice/octal/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/octal/.eslintrc +++ b/exercises/practice/octal/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/octal/babel.config.js b/exercises/practice/octal/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/octal/babel.config.js +++ b/exercises/practice/octal/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/octal/package.json b/exercises/practice/octal/package.json index 14cc6b8377..e372edf7ee 100644 --- a/exercises/practice/octal/package.json +++ b/exercises/practice/octal/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/palindrome-products/.eslintrc b/exercises/practice/palindrome-products/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/palindrome-products/.eslintrc +++ b/exercises/practice/palindrome-products/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/palindrome-products/.meta/proof.ci.js b/exercises/practice/palindrome-products/.meta/proof.ci.js index 34539c490e..b954a0e60d 100644 --- a/exercises/practice/palindrome-products/.meta/proof.ci.js +++ b/exercises/practice/palindrome-products/.meta/proof.ci.js @@ -18,7 +18,9 @@ class Palindrome { } merge(other) { - other.factors.forEach((f) => this.factors.push(f)); + other.factors.forEach((f) => { + this.factors.push(f); + }); this.factors = this.factors.sort(); return this; } diff --git a/exercises/practice/palindrome-products/babel.config.js b/exercises/practice/palindrome-products/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/palindrome-products/babel.config.js +++ b/exercises/practice/palindrome-products/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/palindrome-products/package.json b/exercises/practice/palindrome-products/package.json index f890f1392b..53c7352af7 100644 --- a/exercises/practice/palindrome-products/package.json +++ b/exercises/practice/palindrome-products/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/pangram/.eslintrc b/exercises/practice/pangram/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/pangram/.eslintrc +++ b/exercises/practice/pangram/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/pangram/babel.config.js b/exercises/practice/pangram/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/pangram/babel.config.js +++ b/exercises/practice/pangram/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/pangram/package.json b/exercises/practice/pangram/package.json index a516155aa2..cfe6801535 100644 --- a/exercises/practice/pangram/package.json +++ b/exercises/practice/pangram/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/pascals-triangle/.eslintrc b/exercises/practice/pascals-triangle/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/pascals-triangle/.eslintrc +++ b/exercises/practice/pascals-triangle/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/pascals-triangle/babel.config.js b/exercises/practice/pascals-triangle/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/pascals-triangle/babel.config.js +++ b/exercises/practice/pascals-triangle/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/pascals-triangle/package.json b/exercises/practice/pascals-triangle/package.json index 56a9ee87bf..cafe6ea358 100644 --- a/exercises/practice/pascals-triangle/package.json +++ b/exercises/practice/pascals-triangle/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/perfect-numbers/.eslintrc b/exercises/practice/perfect-numbers/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/perfect-numbers/.eslintrc +++ b/exercises/practice/perfect-numbers/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/perfect-numbers/babel.config.js b/exercises/practice/perfect-numbers/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/perfect-numbers/babel.config.js +++ b/exercises/practice/perfect-numbers/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/perfect-numbers/package.json b/exercises/practice/perfect-numbers/package.json index 2d8bf74010..92928cfe4c 100644 --- a/exercises/practice/perfect-numbers/package.json +++ b/exercises/practice/perfect-numbers/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/phone-number/.eslintrc b/exercises/practice/phone-number/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/phone-number/.eslintrc +++ b/exercises/practice/phone-number/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/phone-number/babel.config.js b/exercises/practice/phone-number/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/phone-number/babel.config.js +++ b/exercises/practice/phone-number/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/phone-number/package.json b/exercises/practice/phone-number/package.json index 374d723872..68e1f99a7a 100644 --- a/exercises/practice/phone-number/package.json +++ b/exercises/practice/phone-number/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/pig-latin/.eslintrc b/exercises/practice/pig-latin/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/pig-latin/.eslintrc +++ b/exercises/practice/pig-latin/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/pig-latin/babel.config.js b/exercises/practice/pig-latin/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/pig-latin/babel.config.js +++ b/exercises/practice/pig-latin/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/pig-latin/package.json b/exercises/practice/pig-latin/package.json index 1eeba2ae91..c53b6d9f36 100644 --- a/exercises/practice/pig-latin/package.json +++ b/exercises/practice/pig-latin/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/point-mutations/.eslintrc b/exercises/practice/point-mutations/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/point-mutations/.eslintrc +++ b/exercises/practice/point-mutations/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/point-mutations/babel.config.js b/exercises/practice/point-mutations/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/point-mutations/babel.config.js +++ b/exercises/practice/point-mutations/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/point-mutations/package.json b/exercises/practice/point-mutations/package.json index d6fbf4caa7..f7ddf1999c 100644 --- a/exercises/practice/point-mutations/package.json +++ b/exercises/practice/point-mutations/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/prime-factors/.eslintrc b/exercises/practice/prime-factors/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/prime-factors/.eslintrc +++ b/exercises/practice/prime-factors/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/prime-factors/babel.config.js b/exercises/practice/prime-factors/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/prime-factors/babel.config.js +++ b/exercises/practice/prime-factors/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/prime-factors/package.json b/exercises/practice/prime-factors/package.json index e60600d6e1..1506924297 100644 --- a/exercises/practice/prime-factors/package.json +++ b/exercises/practice/prime-factors/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/promises/.eslintrc b/exercises/practice/promises/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/promises/.eslintrc +++ b/exercises/practice/promises/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/promises/.meta/proof.ci.js b/exercises/practice/promises/.meta/proof.ci.js index 6fe7a75de3..3d1bc1673b 100644 --- a/exercises/practice/promises/.meta/proof.ci.js +++ b/exercises/practice/promises/.meta/proof.ci.js @@ -1,7 +1,7 @@ export const promisify = (fn) => (...args) => - new Promise((resolve, reject) => - fn(...args, (err, result) => (err ? reject(err) : resolve(result))) - ); + new Promise((resolve, reject) => { + fn(...args, (err, result) => (err ? reject(err) : resolve(result))); + }); export const all = (promises) => promises.reduce( @@ -17,12 +17,16 @@ export const allSettled = (promises) => ); export const race = (promises) => - new Promise((resolve, reject) => - promises.forEach((promise) => promise.then(resolve, reject)) - ); + new Promise((resolve, reject) => { + promises.forEach((promise) => { + promise.then(resolve, reject); + }); + }); export const any = (promises) => new Promise((resolve, reject) => { - promises.forEach((promise) => promise.then(resolve).catch(() => null)); + promises.forEach((promise) => { + promise.then(resolve).catch(() => null); + }); allSettled(promises).then(reject); }); diff --git a/exercises/practice/promises/babel.config.js b/exercises/practice/promises/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/promises/babel.config.js +++ b/exercises/practice/promises/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/promises/package.json b/exercises/practice/promises/package.json index 70235e1fd2..88f2ea768d 100644 --- a/exercises/practice/promises/package.json +++ b/exercises/practice/promises/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/protein-translation/.eslintrc b/exercises/practice/protein-translation/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/protein-translation/.eslintrc +++ b/exercises/practice/protein-translation/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/protein-translation/babel.config.js b/exercises/practice/protein-translation/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/protein-translation/babel.config.js +++ b/exercises/practice/protein-translation/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/protein-translation/package.json b/exercises/practice/protein-translation/package.json index a325547f07..591705a015 100644 --- a/exercises/practice/protein-translation/package.json +++ b/exercises/practice/protein-translation/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/proverb/.eslintrc b/exercises/practice/proverb/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/proverb/.eslintrc +++ b/exercises/practice/proverb/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/proverb/babel.config.js b/exercises/practice/proverb/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/proverb/babel.config.js +++ b/exercises/practice/proverb/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/proverb/package.json b/exercises/practice/proverb/package.json index 4d62b79f36..8f88db6605 100644 --- a/exercises/practice/proverb/package.json +++ b/exercises/practice/proverb/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/pythagorean-triplet/.eslintrc b/exercises/practice/pythagorean-triplet/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/pythagorean-triplet/.eslintrc +++ b/exercises/practice/pythagorean-triplet/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/pythagorean-triplet/.meta/proof.ci.js b/exercises/practice/pythagorean-triplet/.meta/proof.ci.js index 0edf221412..57f5410eed 100644 --- a/exercises/practice/pythagorean-triplet/.meta/proof.ci.js +++ b/exercises/practice/pythagorean-triplet/.meta/proof.ci.js @@ -26,7 +26,7 @@ export function triplets({ minFactor, maxFactor, sum }) { return triplet.pythagorean && (!sum || triplet.sum === sum); }; - const triplets = []; + const result = []; for (let a = min; a < max - 1; a += 1) { for (let b = a + 1; b < max; b += 1) { @@ -34,11 +34,11 @@ export function triplets({ minFactor, maxFactor, sum }) { const triplet = new Triplet(a, b, c); if (isDesired(triplet)) { - triplets.push(triplet); + result.push(triplet); } } } } - return triplets; + return result; } diff --git a/exercises/practice/pythagorean-triplet/babel.config.js b/exercises/practice/pythagorean-triplet/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/pythagorean-triplet/babel.config.js +++ b/exercises/practice/pythagorean-triplet/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/pythagorean-triplet/package.json b/exercises/practice/pythagorean-triplet/package.json index 59bf098f90..be8602ad1a 100644 --- a/exercises/practice/pythagorean-triplet/package.json +++ b/exercises/practice/pythagorean-triplet/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/queen-attack/.eslintrc b/exercises/practice/queen-attack/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/queen-attack/.eslintrc +++ b/exercises/practice/queen-attack/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/queen-attack/babel.config.js b/exercises/practice/queen-attack/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/queen-attack/babel.config.js +++ b/exercises/practice/queen-attack/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/queen-attack/package.json b/exercises/practice/queen-attack/package.json index 782c339124..0a99860d7f 100644 --- a/exercises/practice/queen-attack/package.json +++ b/exercises/practice/queen-attack/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/raindrops/.eslintrc b/exercises/practice/raindrops/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/raindrops/.eslintrc +++ b/exercises/practice/raindrops/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/raindrops/babel.config.js b/exercises/practice/raindrops/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/raindrops/babel.config.js +++ b/exercises/practice/raindrops/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/raindrops/package.json b/exercises/practice/raindrops/package.json index 07e95de923..c745859e14 100644 --- a/exercises/practice/raindrops/package.json +++ b/exercises/practice/raindrops/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/rational-numbers/.eslintrc b/exercises/practice/rational-numbers/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/rational-numbers/.eslintrc +++ b/exercises/practice/rational-numbers/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/rational-numbers/babel.config.js b/exercises/practice/rational-numbers/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/rational-numbers/babel.config.js +++ b/exercises/practice/rational-numbers/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/rational-numbers/package.json b/exercises/practice/rational-numbers/package.json index 2309be992b..00e72ee16a 100644 --- a/exercises/practice/rational-numbers/package.json +++ b/exercises/practice/rational-numbers/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/react/.eslintrc b/exercises/practice/react/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/react/.eslintrc +++ b/exercises/practice/react/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/react/.meta/proof.ci.js b/exercises/practice/react/.meta/proof.ci.js index bf6bb699ae..4931c20a01 100644 --- a/exercises/practice/react/.meta/proof.ci.js +++ b/exercises/practice/react/.meta/proof.ci.js @@ -13,8 +13,12 @@ class InputCell { } notify() { - this.subscribers.forEach((sub) => sub.markForUpdate()); - this.subscribers.forEach((sub) => sub.update()); + this.subscribers.forEach((sub) => { + sub.markForUpdate(); + }); + this.subscribers.forEach((sub) => { + sub.update(); + }); } addSubscriber(sub) { @@ -26,7 +30,9 @@ class ComputeCell { constructor(inputCells, fn) { this.fn = fn; this.inputCells = inputCells; - this.inputCells.forEach((cell) => cell.addSubscriber(this)); + this.inputCells.forEach((cell) => { + cell.addSubscriber(this); + }); this.subscribers = []; this.value = fn(inputCells); this.callbacks = []; @@ -44,20 +50,28 @@ class ComputeCell { } notify() { - this.subscribers.forEach((sub) => sub.markForUpdate()); - this.subscribers.forEach((sub) => sub.update()); + this.subscribers.forEach((sub) => { + sub.markForUpdate(); + }); + this.subscribers.forEach((sub) => { + sub.update(); + }); this.runCallbacks(); } markForUpdate() { this.updated = false; - this.subscribers.forEach((sub) => sub.markForUpdate()); + this.subscribers.forEach((sub) => { + sub.markForUpdate(); + }); } runCallbacks() { if (this.allInputsUpdated() && this.valueChanged()) { this.lastValue = this.value; - this.callbacks.forEach((cb) => cb.run(this)); + this.callbacks.forEach((cb) => { + cb.run(this); + }); } } diff --git a/exercises/practice/react/babel.config.js b/exercises/practice/react/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/react/babel.config.js +++ b/exercises/practice/react/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/react/package.json b/exercises/practice/react/package.json index e95bd5c8a4..090f62c806 100644 --- a/exercises/practice/react/package.json +++ b/exercises/practice/react/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/rectangles/.eslintrc b/exercises/practice/rectangles/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/rectangles/.eslintrc +++ b/exercises/practice/rectangles/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/rectangles/babel.config.js b/exercises/practice/rectangles/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/rectangles/babel.config.js +++ b/exercises/practice/rectangles/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/rectangles/package.json b/exercises/practice/rectangles/package.json index cc7e4436b3..3ac010df81 100644 --- a/exercises/practice/rectangles/package.json +++ b/exercises/practice/rectangles/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/resistor-color-duo/.eslintrc b/exercises/practice/resistor-color-duo/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/resistor-color-duo/.eslintrc +++ b/exercises/practice/resistor-color-duo/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/resistor-color-duo/babel.config.js b/exercises/practice/resistor-color-duo/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/resistor-color-duo/babel.config.js +++ b/exercises/practice/resistor-color-duo/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/resistor-color-duo/package.json b/exercises/practice/resistor-color-duo/package.json index fd5328ebd4..00a5abbefb 100644 --- a/exercises/practice/resistor-color-duo/package.json +++ b/exercises/practice/resistor-color-duo/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/resistor-color-duo/resistor-color-duo.spec.js b/exercises/practice/resistor-color-duo/resistor-color-duo.spec.js index 220bbd3e91..9053b80a3a 100644 --- a/exercises/practice/resistor-color-duo/resistor-color-duo.spec.js +++ b/exercises/practice/resistor-color-duo/resistor-color-duo.spec.js @@ -1,4 +1,4 @@ -import { decodedValue } from './resistor-color-duo.js'; +import { decodedValue } from './resistor-color-duo'; describe('Resistor Colors', () => { test('Brown and black', () => { diff --git a/exercises/practice/resistor-color-trio/.eslintrc b/exercises/practice/resistor-color-trio/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/resistor-color-trio/.eslintrc +++ b/exercises/practice/resistor-color-trio/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/resistor-color-trio/babel.config.js b/exercises/practice/resistor-color-trio/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/resistor-color-trio/babel.config.js +++ b/exercises/practice/resistor-color-trio/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/resistor-color-trio/package.json b/exercises/practice/resistor-color-trio/package.json index 984daf61f3..240bf3308e 100644 --- a/exercises/practice/resistor-color-trio/package.json +++ b/exercises/practice/resistor-color-trio/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/resistor-color-trio/resistor-color-trio.spec.js b/exercises/practice/resistor-color-trio/resistor-color-trio.spec.js index 931abdabf9..be86abf55c 100644 --- a/exercises/practice/resistor-color-trio/resistor-color-trio.spec.js +++ b/exercises/practice/resistor-color-trio/resistor-color-trio.spec.js @@ -1,4 +1,4 @@ -import { ResistorColorTrio } from './resistor-color-trio.js'; +import { ResistorColorTrio } from './resistor-color-trio'; function makeLabel({ value, unit }) { return `Resistor value: ${value} ${unit}`; diff --git a/exercises/practice/resistor-color/.eslintrc b/exercises/practice/resistor-color/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/resistor-color/.eslintrc +++ b/exercises/practice/resistor-color/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/resistor-color/babel.config.js b/exercises/practice/resistor-color/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/resistor-color/babel.config.js +++ b/exercises/practice/resistor-color/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/resistor-color/package.json b/exercises/practice/resistor-color/package.json index bd5918d97d..f868b54181 100644 --- a/exercises/practice/resistor-color/package.json +++ b/exercises/practice/resistor-color/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/reverse-string/.eslintrc b/exercises/practice/reverse-string/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/reverse-string/.eslintrc +++ b/exercises/practice/reverse-string/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/reverse-string/babel.config.js b/exercises/practice/reverse-string/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/reverse-string/babel.config.js +++ b/exercises/practice/reverse-string/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/reverse-string/package.json b/exercises/practice/reverse-string/package.json index 5a0a1f3a63..2915f7db39 100644 --- a/exercises/practice/reverse-string/package.json +++ b/exercises/practice/reverse-string/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/rna-transcription/.eslintrc b/exercises/practice/rna-transcription/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/rna-transcription/.eslintrc +++ b/exercises/practice/rna-transcription/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/rna-transcription/babel.config.js b/exercises/practice/rna-transcription/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/rna-transcription/babel.config.js +++ b/exercises/practice/rna-transcription/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/rna-transcription/package.json b/exercises/practice/rna-transcription/package.json index 46770107ba..ac5d51c0f3 100644 --- a/exercises/practice/rna-transcription/package.json +++ b/exercises/practice/rna-transcription/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/robot-name/.eslintrc b/exercises/practice/robot-name/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/robot-name/.eslintrc +++ b/exercises/practice/robot-name/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/robot-name/babel.config.js b/exercises/practice/robot-name/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/robot-name/babel.config.js +++ b/exercises/practice/robot-name/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/robot-name/package.json b/exercises/practice/robot-name/package.json index 06ddb2d4eb..b019a1510c 100644 --- a/exercises/practice/robot-name/package.json +++ b/exercises/practice/robot-name/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/robot-name/robot-name.spec.js b/exercises/practice/robot-name/robot-name.spec.js index c4b7ff9e61..f8b685fdc1 100644 --- a/exercises/practice/robot-name/robot-name.spec.js +++ b/exercises/practice/robot-name/robot-name.spec.js @@ -3,8 +3,8 @@ import { Robot } from './robot-name'; const areSequential = (name1, name2) => { const alpha1 = name1.substr(0, 2); const alpha2 = name2.substr(0, 2); - const num1 = +name1.substr(2, 3); - const num2 = +name2.substr(2, 3); + const num1 = Number(name1.substr(2, 3)); + const num2 = Number(name2.substr(2, 3)); const numDiff = num2 - num1; const alphaDiff = diff --git a/exercises/practice/robot-simulator/.eslintrc b/exercises/practice/robot-simulator/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/robot-simulator/.eslintrc +++ b/exercises/practice/robot-simulator/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/robot-simulator/babel.config.js b/exercises/practice/robot-simulator/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/robot-simulator/babel.config.js +++ b/exercises/practice/robot-simulator/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/robot-simulator/package.json b/exercises/practice/robot-simulator/package.json index 02e9b558c5..1bf962d2a7 100644 --- a/exercises/practice/robot-simulator/package.json +++ b/exercises/practice/robot-simulator/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/roman-numerals/.eslintrc b/exercises/practice/roman-numerals/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/roman-numerals/.eslintrc +++ b/exercises/practice/roman-numerals/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/roman-numerals/babel.config.js b/exercises/practice/roman-numerals/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/roman-numerals/babel.config.js +++ b/exercises/practice/roman-numerals/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/roman-numerals/package.json b/exercises/practice/roman-numerals/package.json index 410497a8c4..c879511386 100644 --- a/exercises/practice/roman-numerals/package.json +++ b/exercises/practice/roman-numerals/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/rotational-cipher/.eslintrc b/exercises/practice/rotational-cipher/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/rotational-cipher/.eslintrc +++ b/exercises/practice/rotational-cipher/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/rotational-cipher/babel.config.js b/exercises/practice/rotational-cipher/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/rotational-cipher/babel.config.js +++ b/exercises/practice/rotational-cipher/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/rotational-cipher/package.json b/exercises/practice/rotational-cipher/package.json index a949ca5196..84da9da491 100644 --- a/exercises/practice/rotational-cipher/package.json +++ b/exercises/practice/rotational-cipher/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/run-length-encoding/.eslintrc b/exercises/practice/run-length-encoding/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/run-length-encoding/.eslintrc +++ b/exercises/practice/run-length-encoding/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/run-length-encoding/.meta/proof.ci.js b/exercises/practice/run-length-encoding/.meta/proof.ci.js index b46566b70d..133e3d2bb5 100644 --- a/exercises/practice/run-length-encoding/.meta/proof.ci.js +++ b/exercises/practice/run-length-encoding/.meta/proof.ci.js @@ -8,6 +8,6 @@ export const encode = (plainText) => { export const decode = (encodedText) => { const countAndChar = /(\d+)(\w|\s)/g; return encodedText.replace(countAndChar, (match, repeats, char) => - new Array(+repeats + 1).join(char) + new Array(Number(repeats) + 1).join(char) ); }; diff --git a/exercises/practice/run-length-encoding/babel.config.js b/exercises/practice/run-length-encoding/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/run-length-encoding/babel.config.js +++ b/exercises/practice/run-length-encoding/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/run-length-encoding/package.json b/exercises/practice/run-length-encoding/package.json index 97e032651d..136c0e8bbe 100644 --- a/exercises/practice/run-length-encoding/package.json +++ b/exercises/practice/run-length-encoding/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/saddle-points/.eslintrc b/exercises/practice/saddle-points/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/saddle-points/.eslintrc +++ b/exercises/practice/saddle-points/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/saddle-points/babel.config.js b/exercises/practice/saddle-points/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/saddle-points/babel.config.js +++ b/exercises/practice/saddle-points/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/saddle-points/package.json b/exercises/practice/saddle-points/package.json index 52dee31e53..8e50c3992b 100644 --- a/exercises/practice/saddle-points/package.json +++ b/exercises/practice/saddle-points/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/say/.eslintrc b/exercises/practice/say/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/say/.eslintrc +++ b/exercises/practice/say/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/say/babel.config.js b/exercises/practice/say/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/say/babel.config.js +++ b/exercises/practice/say/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/say/package.json b/exercises/practice/say/package.json index 476e80d000..94e625ddbe 100644 --- a/exercises/practice/say/package.json +++ b/exercises/practice/say/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/scale-generator/.eslintrc b/exercises/practice/scale-generator/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/scale-generator/.eslintrc +++ b/exercises/practice/scale-generator/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/scale-generator/babel.config.js b/exercises/practice/scale-generator/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/scale-generator/babel.config.js +++ b/exercises/practice/scale-generator/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/scale-generator/package.json b/exercises/practice/scale-generator/package.json index 86e4d88c35..8854a0e62c 100644 --- a/exercises/practice/scale-generator/package.json +++ b/exercises/practice/scale-generator/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/scrabble-score/.eslintrc b/exercises/practice/scrabble-score/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/scrabble-score/.eslintrc +++ b/exercises/practice/scrabble-score/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/scrabble-score/babel.config.js b/exercises/practice/scrabble-score/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/scrabble-score/babel.config.js +++ b/exercises/practice/scrabble-score/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/scrabble-score/package.json b/exercises/practice/scrabble-score/package.json index 743c5c340c..981613de4f 100644 --- a/exercises/practice/scrabble-score/package.json +++ b/exercises/practice/scrabble-score/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/secret-handshake/.eslintrc b/exercises/practice/secret-handshake/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/secret-handshake/.eslintrc +++ b/exercises/practice/secret-handshake/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/secret-handshake/babel.config.js b/exercises/practice/secret-handshake/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/secret-handshake/babel.config.js +++ b/exercises/practice/secret-handshake/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/secret-handshake/package.json b/exercises/practice/secret-handshake/package.json index e48c6fd264..99a396c712 100644 --- a/exercises/practice/secret-handshake/package.json +++ b/exercises/practice/secret-handshake/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/series/.eslintrc b/exercises/practice/series/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/series/.eslintrc +++ b/exercises/practice/series/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/series/.meta/proof.ci.js b/exercises/practice/series/.meta/proof.ci.js index 147e5f1a5a..fddadf623c 100644 --- a/exercises/practice/series/.meta/proof.ci.js +++ b/exercises/practice/series/.meta/proof.ci.js @@ -20,7 +20,7 @@ export class Series { throw new Error('slice length cannot be negative'); } - if (sliceSize == 0) { + if (sliceSize === 0) { throw new Error('slice length cannot be zero'); } diff --git a/exercises/practice/series/babel.config.js b/exercises/practice/series/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/series/babel.config.js +++ b/exercises/practice/series/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/series/package.json b/exercises/practice/series/package.json index 4f18b19e5e..3f0c1a0210 100644 --- a/exercises/practice/series/package.json +++ b/exercises/practice/series/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/sieve/.eslintrc b/exercises/practice/sieve/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/sieve/.eslintrc +++ b/exercises/practice/sieve/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/sieve/babel.config.js b/exercises/practice/sieve/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/sieve/babel.config.js +++ b/exercises/practice/sieve/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/sieve/package.json b/exercises/practice/sieve/package.json index ebd529cc8f..0a103d03c4 100644 --- a/exercises/practice/sieve/package.json +++ b/exercises/practice/sieve/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/simple-cipher/.eslintrc b/exercises/practice/simple-cipher/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/simple-cipher/.eslintrc +++ b/exercises/practice/simple-cipher/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/simple-cipher/babel.config.js b/exercises/practice/simple-cipher/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/simple-cipher/babel.config.js +++ b/exercises/practice/simple-cipher/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/simple-cipher/package.json b/exercises/practice/simple-cipher/package.json index bbec3af504..1afbed8edc 100644 --- a/exercises/practice/simple-cipher/package.json +++ b/exercises/practice/simple-cipher/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/simple-linked-list/.eslintrc b/exercises/practice/simple-linked-list/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/simple-linked-list/.eslintrc +++ b/exercises/practice/simple-linked-list/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/simple-linked-list/.meta/proof.ci.js b/exercises/practice/simple-linked-list/.meta/proof.ci.js index 2dca846a5c..77215a430f 100644 --- a/exercises/practice/simple-linked-list/.meta/proof.ci.js +++ b/exercises/practice/simple-linked-list/.meta/proof.ci.js @@ -9,7 +9,9 @@ export class List { constructor(arr) { this.head = null; if (arr) { - arr.forEach((el) => this.add(new Element(el))); + arr.forEach((el) => { + this.add(new Element(el)); + }); } } diff --git a/exercises/practice/simple-linked-list/babel.config.js b/exercises/practice/simple-linked-list/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/simple-linked-list/babel.config.js +++ b/exercises/practice/simple-linked-list/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/simple-linked-list/package.json b/exercises/practice/simple-linked-list/package.json index 564f726821..ea52a69665 100644 --- a/exercises/practice/simple-linked-list/package.json +++ b/exercises/practice/simple-linked-list/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/space-age/.eslintrc b/exercises/practice/space-age/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/space-age/.eslintrc +++ b/exercises/practice/space-age/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/space-age/babel.config.js b/exercises/practice/space-age/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/space-age/babel.config.js +++ b/exercises/practice/space-age/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/space-age/package.json b/exercises/practice/space-age/package.json index c6c38e13e2..2686bedcb2 100644 --- a/exercises/practice/space-age/package.json +++ b/exercises/practice/space-age/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/spiral-matrix/.eslintrc b/exercises/practice/spiral-matrix/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/spiral-matrix/.eslintrc +++ b/exercises/practice/spiral-matrix/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/spiral-matrix/babel.config.js b/exercises/practice/spiral-matrix/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/spiral-matrix/babel.config.js +++ b/exercises/practice/spiral-matrix/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/spiral-matrix/package.json b/exercises/practice/spiral-matrix/package.json index 93d44f5e81..86abb395f2 100644 --- a/exercises/practice/spiral-matrix/package.json +++ b/exercises/practice/spiral-matrix/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/square-root/.eslintrc b/exercises/practice/square-root/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/square-root/.eslintrc +++ b/exercises/practice/square-root/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/square-root/babel.config.js b/exercises/practice/square-root/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/square-root/babel.config.js +++ b/exercises/practice/square-root/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/square-root/package.json b/exercises/practice/square-root/package.json index b74c06d222..0966d960e2 100644 --- a/exercises/practice/square-root/package.json +++ b/exercises/practice/square-root/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/strain/.eslintrc b/exercises/practice/strain/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/strain/.eslintrc +++ b/exercises/practice/strain/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/strain/babel.config.js b/exercises/practice/strain/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/strain/babel.config.js +++ b/exercises/practice/strain/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/strain/package.json b/exercises/practice/strain/package.json index 841cfc0bf0..b7c677893b 100644 --- a/exercises/practice/strain/package.json +++ b/exercises/practice/strain/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/sublist/.eslintrc b/exercises/practice/sublist/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/sublist/.eslintrc +++ b/exercises/practice/sublist/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/sublist/babel.config.js b/exercises/practice/sublist/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/sublist/babel.config.js +++ b/exercises/practice/sublist/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/sublist/package.json b/exercises/practice/sublist/package.json index 62c8c682b0..3c99d0402f 100644 --- a/exercises/practice/sublist/package.json +++ b/exercises/practice/sublist/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/sum-of-multiples/.eslintrc b/exercises/practice/sum-of-multiples/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/sum-of-multiples/.eslintrc +++ b/exercises/practice/sum-of-multiples/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/sum-of-multiples/.meta/proof.ci.js b/exercises/practice/sum-of-multiples/.meta/proof.ci.js index e51aa1eaa0..fc33a914a5 100644 --- a/exercises/practice/sum-of-multiples/.meta/proof.ci.js +++ b/exercises/practice/sum-of-multiples/.meta/proof.ci.js @@ -1,9 +1,9 @@ export const sum = (multiples, limit) => { - let sum = 0; + let result = 0; for (let i = 1; i < limit; i++) { if (multiples.some((multiple) => i % multiple === 0)) { - sum += i; + result += i; } } - return sum; + return result; }; diff --git a/exercises/practice/sum-of-multiples/babel.config.js b/exercises/practice/sum-of-multiples/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/sum-of-multiples/babel.config.js +++ b/exercises/practice/sum-of-multiples/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/sum-of-multiples/package.json b/exercises/practice/sum-of-multiples/package.json index a9fa3ce7c4..3cf10d1355 100644 --- a/exercises/practice/sum-of-multiples/package.json +++ b/exercises/practice/sum-of-multiples/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/transpose/.eslintrc b/exercises/practice/transpose/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/transpose/.eslintrc +++ b/exercises/practice/transpose/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/transpose/babel.config.js b/exercises/practice/transpose/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/transpose/babel.config.js +++ b/exercises/practice/transpose/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/transpose/package.json b/exercises/practice/transpose/package.json index 8ce0a11fac..7161517426 100644 --- a/exercises/practice/transpose/package.json +++ b/exercises/practice/transpose/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/triangle/.eslintrc b/exercises/practice/triangle/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/triangle/.eslintrc +++ b/exercises/practice/triangle/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/triangle/babel.config.js b/exercises/practice/triangle/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/triangle/babel.config.js +++ b/exercises/practice/triangle/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/triangle/package.json b/exercises/practice/triangle/package.json index d15bd38832..fa8dd8ac67 100644 --- a/exercises/practice/triangle/package.json +++ b/exercises/practice/triangle/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/trinary/.eslintrc b/exercises/practice/trinary/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/trinary/.eslintrc +++ b/exercises/practice/trinary/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/trinary/babel.config.js b/exercises/practice/trinary/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/trinary/babel.config.js +++ b/exercises/practice/trinary/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/trinary/package.json b/exercises/practice/trinary/package.json index fbc87ce46c..eea05906d8 100644 --- a/exercises/practice/trinary/package.json +++ b/exercises/practice/trinary/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/twelve-days/.eslintrc b/exercises/practice/twelve-days/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/twelve-days/.eslintrc +++ b/exercises/practice/twelve-days/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/twelve-days/babel.config.js b/exercises/practice/twelve-days/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/twelve-days/babel.config.js +++ b/exercises/practice/twelve-days/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/twelve-days/package.json b/exercises/practice/twelve-days/package.json index 8e8e12248c..291e641535 100644 --- a/exercises/practice/twelve-days/package.json +++ b/exercises/practice/twelve-days/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/twelve-days/twelve-days.spec.js b/exercises/practice/twelve-days/twelve-days.spec.js index 1a4178b049..ec4fc28079 100644 --- a/exercises/practice/twelve-days/twelve-days.spec.js +++ b/exercises/practice/twelve-days/twelve-days.spec.js @@ -1,4 +1,4 @@ -import { recite } from './twelve-days.js'; +import { recite } from './twelve-days'; describe('TwelveDays', () => { test('test verse first day a partridge in a pear tree', () => { diff --git a/exercises/practice/two-bucket/.eslintrc b/exercises/practice/two-bucket/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/two-bucket/.eslintrc +++ b/exercises/practice/two-bucket/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/two-bucket/babel.config.js b/exercises/practice/two-bucket/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/two-bucket/babel.config.js +++ b/exercises/practice/two-bucket/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/two-bucket/package.json b/exercises/practice/two-bucket/package.json index 07b07dc7f2..99c1f88955 100644 --- a/exercises/practice/two-bucket/package.json +++ b/exercises/practice/two-bucket/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/two-fer/.eslintrc b/exercises/practice/two-fer/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/two-fer/.eslintrc +++ b/exercises/practice/two-fer/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/two-fer/babel.config.js b/exercises/practice/two-fer/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/two-fer/babel.config.js +++ b/exercises/practice/two-fer/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/two-fer/package.json b/exercises/practice/two-fer/package.json index da56f752ca..ff5164dc7b 100644 --- a/exercises/practice/two-fer/package.json +++ b/exercises/practice/two-fer/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/variable-length-quantity/.eslintrc b/exercises/practice/variable-length-quantity/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/variable-length-quantity/.eslintrc +++ b/exercises/practice/variable-length-quantity/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/variable-length-quantity/babel.config.js b/exercises/practice/variable-length-quantity/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/variable-length-quantity/babel.config.js +++ b/exercises/practice/variable-length-quantity/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/variable-length-quantity/package.json b/exercises/practice/variable-length-quantity/package.json index 6c59fcc009..5ec25d3481 100644 --- a/exercises/practice/variable-length-quantity/package.json +++ b/exercises/practice/variable-length-quantity/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/word-count/.eslintrc b/exercises/practice/word-count/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/word-count/.eslintrc +++ b/exercises/practice/word-count/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/word-count/babel.config.js b/exercises/practice/word-count/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/word-count/babel.config.js +++ b/exercises/practice/word-count/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/word-count/package.json b/exercises/practice/word-count/package.json index 822b1a3c8e..ef78de0e68 100644 --- a/exercises/practice/word-count/package.json +++ b/exercises/practice/word-count/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/word-search/.eslintrc b/exercises/practice/word-search/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/word-search/.eslintrc +++ b/exercises/practice/word-search/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/word-search/babel.config.js b/exercises/practice/word-search/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/word-search/babel.config.js +++ b/exercises/practice/word-search/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/word-search/package.json b/exercises/practice/word-search/package.json index a452b0df1f..d94e4a08a6 100644 --- a/exercises/practice/word-search/package.json +++ b/exercises/practice/word-search/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/wordy/.eslintrc b/exercises/practice/wordy/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/wordy/.eslintrc +++ b/exercises/practice/wordy/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/wordy/babel.config.js b/exercises/practice/wordy/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/wordy/babel.config.js +++ b/exercises/practice/wordy/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/wordy/package.json b/exercises/practice/wordy/package.json index da0a4f2aab..ca9b6d0f5b 100644 --- a/exercises/practice/wordy/package.json +++ b/exercises/practice/wordy/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/yacht/.eslintrc b/exercises/practice/yacht/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/yacht/.eslintrc +++ b/exercises/practice/yacht/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/yacht/.meta/proof.ci.js b/exercises/practice/yacht/.meta/proof.ci.js index 01f07306b7..9ba5a965ea 100644 --- a/exercises/practice/yacht/.meta/proof.ci.js +++ b/exercises/practice/yacht/.meta/proof.ci.js @@ -53,7 +53,7 @@ const getScoreForTheBigStraightCategory = (dices) => { const arrayIsFilledWithValue = (array, startPos, endPos, value) => { for (let i = startPos; i < endPos; i++) { - if (array[i] != value) { + if (array[i] !== value) { return false; } } diff --git a/exercises/practice/yacht/babel.config.js b/exercises/practice/yacht/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/yacht/babel.config.js +++ b/exercises/practice/yacht/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/yacht/package.json b/exercises/practice/yacht/package.json index 967d92b467..5ebdf0e6c0 100644 --- a/exercises/practice/yacht/package.json +++ b/exercises/practice/yacht/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/exercises/practice/zipper/.eslintrc b/exercises/practice/zipper/.eslintrc index b8dab20247..1d4446029c 100644 --- a/exercises/practice/zipper/.eslintrc +++ b/exercises/practice/zipper/.eslintrc @@ -1,29 +1,14 @@ { "root": true, - "parser": "babel-eslint", - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - "globals": { - "BigInt": true - }, + "extends": "@exercism/eslint-config-javascript", "env": { - "es6": true, - "node": true, "jest": true }, - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings" - ], - "rules": { - "linebreak-style": "off", - - "import/extensions": "off", - "import/no-default-export": "off", - "import/no-unresolved": "off", - "import/prefer-default-export": "off" - } + "overrides": [ + { + "files": [".meta/proof.ci.js", ".meta/exemplar.js", "*.spec.js"], + "excludedFiles": ["custom.spec.js"], + "extends": "@exercism/eslint-config-javascript/maintainers" + } + ] } diff --git a/exercises/practice/zipper/babel.config.js b/exercises/practice/zipper/babel.config.js index 5cec97251a..b9e80f6e56 100644 --- a/exercises/practice/zipper/babel.config.js +++ b/exercises/practice/zipper/babel.config.js @@ -7,7 +7,7 @@ module.exports = { node: 'current', }, useBuiltIns: 'entry', - corejs: 3, + corejs: '3.10', }, ], ], diff --git a/exercises/practice/zipper/package.json b/exercises/practice/zipper/package.json index cafe9cce1d..fdc1316adf 100644 --- a/exercises/practice/zipper/package.json +++ b/exercises/practice/zipper/package.json @@ -3,6 +3,7 @@ "description": "Exercism exercises in Javascript.", "author": "Katrina Owen", "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -12,20 +13,19 @@ "@babel/core": "^7.13.15", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "core-js": "^3.10.1", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/package-lock.json b/package-lock.json index 92592ef162..be44f20ce5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -284,6 +284,40 @@ } } }, + "@babel/eslint-parser": { + "version": "7.13.14", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.13.14.tgz", + "integrity": "sha512-I0HweR36D73Ibn/FfrRDMKlMqJHFwidIUgYdMpH+aXYuQC+waq59YaJ6t9e9N36axJ82v1jR041wwqDrDXEwRA==", + "dev": true, + "requires": { + "eslint-scope": "^5.1.0", + "eslint-visitor-keys": "^1.3.0", + "semver": "^6.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/eslint-plugin": { + "version": "7.13.15", + "resolved": "https://registry.npmjs.org/@babel/eslint-plugin/-/eslint-plugin-7.13.15.tgz", + "integrity": "sha512-ZrfhoThsrkcws78a7IJdfUBU5mXIfLiXxjxfIUSWtqYh/F9k1ZCiuibfNJuD5mDsyG3tqPrfE83Qlj/Gfzyi7w==", + "dev": true, + "requires": { + "eslint-rule-composer": "^0.3.0" + } + }, "@babel/generator": { "version": "7.8.8", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz", @@ -3205,6 +3239,18 @@ } } }, + "@exercism/eslint-config-javascript": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@exercism/eslint-config-javascript/-/eslint-config-javascript-0.3.1.tgz", + "integrity": "sha512-TvFHHNRVPaT1FkXwiULDf8QL7y5Q5FmbbmiICUWA6O2MEK8ZarUEjHWr8aX7MekOj2IhMOIM1PawMBD1RcssVA==", + "dev": true, + "requires": { + "@babel/eslint-parser": "^7.13.14", + "@babel/eslint-plugin": "^7.13.15", + "eslint-config-prettier": "^8.2.0", + "eslint-plugin-import": "^2.22.1" + } + }, "@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -4169,13 +4215,15 @@ "dev": true }, "array-includes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", - "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", + "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", "dev": true, "requires": { + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0", + "es-abstract": "^1.18.0-next.2", + "get-intrinsic": "^1.1.1", "is-string": "^1.0.5" } }, @@ -4186,13 +4234,14 @@ "dev": true }, "array.prototype.flat": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz", - "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", + "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", "dev": true, "requires": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" + "es-abstract": "^1.18.0-next.1" } }, "asn1": { @@ -5275,22 +5324,53 @@ } }, "es-abstract": { - "version": "1.17.4", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz", - "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==", + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", + "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", "dev": true, "requires": { + "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.1.5", - "is-regex": "^1.0.5", - "object-inspect": "^1.7.0", + "has-symbols": "^1.0.2", + "is-callable": "^1.2.3", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.2", + "is-string": "^1.0.5", + "object-inspect": "^1.9.0", "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.1", - "string.prototype.trimright": "^2.1.1" + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.0" + }, + "dependencies": { + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true + }, + "is-callable": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", + "dev": true + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + } } }, "es-to-primitive": { @@ -5558,6 +5638,12 @@ } } }, + "eslint-config-prettier": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.2.0.tgz", + "integrity": "sha512-dWV9EVeSo2qodOPi1iBYU/x6F6diHv8uujxbxr77xExs3zTAlNXvVZKiyLsQGNz7yPV2K49JY5WjPzNIuDc2Bw==", + "dev": true + }, "eslint-import-resolver-node": { "version": "0.3.4", "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", @@ -5664,16 +5750,23 @@ } }, "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", "dev": true, "requires": { + "is-core-module": "^2.2.0", "path-parse": "^1.0.6" } } } }, + "eslint-rule-composer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz", + "integrity": "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==", + "dev": true + }, "eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", @@ -6695,12 +6788,13 @@ "dev": true }, "is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", "dev": true, "requires": { - "has": "^1.0.3" + "call-bind": "^1.0.2", + "has-symbols": "^1.0.1" } }, "is-stream": { @@ -9008,9 +9102,9 @@ } }, "object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", "dev": true }, "object-keys": { @@ -9127,14 +9221,14 @@ } }, "object.values": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", - "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.3.tgz", + "integrity": "sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw==", "dev": true, "requires": { + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", + "es-abstract": "^1.18.0-next.2", "has": "^1.0.3" } }, @@ -10257,26 +10351,6 @@ "define-properties": "^1.1.3" } }, - "string.prototype.trimleft": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", - "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1" - } - }, - "string.prototype.trimright": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", - "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1" - } - }, "string.prototype.trimstart": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", diff --git a/package.json b/package.json index 0d33e5f0b7..d68ae2c944 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,7 @@ "Tejas Bubane (https://tejasbubane.github.io/)" ], "private": true, + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/exercism/javascript" @@ -17,6 +18,7 @@ "@babel/node": "^7.13.13", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/preset-env": "^7.13.15", + "@exercism/eslint-config-javascript": "^0.3.1", "@types/jest": "^26.0.22", "@types/node": "^14.14.39", "babel-eslint": "^10.1.0", @@ -25,16 +27,14 @@ "core-js": "^3.10.1", "diff": "^5.0.0", "eslint": "^7.24.0", - "eslint-plugin-import": "^2.22.1", "jest": "^26.6.3", "prettier": "^2.2.1", "shelljs": "^0.8.4" }, + "dependencies": {}, "scripts": { "test": "jest --no-cache ./*", "watch": "jest --no-cache --watch ./*", "lint": "eslint ." - }, - "license": "MIT", - "dependencies": {} + } } diff --git a/scripts/lint b/scripts/lint index 70ab9f639a..b57aaaf529 100755 --- a/scripts/lint +++ b/scripts/lint @@ -32,7 +32,11 @@ const infoStr = assignment const failureStr = '[Failure] Lint check failed!'; // Run lint all at once -prepareAndRun('npx eslint tmp_exercises -c .eslintrc', infoStr, failureStr); +prepareAndRun( + 'npx eslint tmp_exercises -c node_modules/@exercism/eslint-config-javascript/maintainers.js', + infoStr, + failureStr +); shell.echo( assignment