From eb066fc85c0baf417131b97acd7f6f189c195745 Mon Sep 17 00:00:00 2001 From: Txabi Lopez Date: Tue, 23 Apr 2024 09:00:38 +0100 Subject: [PATCH 01/13] chore: remove travis.yml no longer needed. we use github actions for Open Source packages now Issues: MOL-29362 --- .travis.yml | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 8c14e8e..0000000 --- a/.travis.yml +++ /dev/null @@ -1,19 +0,0 @@ -sudo: false -language: node_js -notifications: - email: false -node_js: - - 20 -script: - - npm run test - - npm run lint -after_success: - - npm run semantic-release -branches: - except: - - /^v\d+\.\d+\.\d+$/ -deploy: - provider: npm - email: "fe@mailonline.co.uk" - api_key: - secure: YSEoK4O+Njx8TdBC3fX4d5VrfRuLnTUROHNT3cjgZs7AH8trjwcEFDP8EdwKm3P4/40qm9CdLgxkjUV2fOULn04tfP2UqcCxcXQqqYEc8jGLItJYVzGmqGtrFeEEgJEb0ZqDLHkQsLQ1ooyvtwy1JG0twgJcsP7+QHCMsXPIgRxYo7eifRCR3h4n62HFx5D8thRH6+ElGmkl1CwYJ6XYyep5HW3EE03B5sZ7Q7Sk3QRShNItThtfNoUmC4l1V3xe5rPNSxZwfkgieph0G+uvVnK5vb7NRvf9H4NrNJ5XZUcHr5GD3Go3E7g3P6JoMZgKa2j4WqR0UnBBB1peN+CTYzgnUi1WCbnd9Nqamb4gT17VlkAWnP92uee28onb+6fuY712BikabRCDz7FuMsYll1xTR5gBZNbF/tJ8f3AWmPiNAisFdWz4HYbuFLY748XINp3febd+JORYAiNdmAdCFD+8UbCJ8wLkaTdh7UVMwya78Zq/AwK9aqdPz+wtprALtRQFv0OSxDOyIu/KCEd6iKFYx952jVow22xCo2yTGi0LF6CzeKgYHyV/gtu6zJVkZksQ92cXi2I0hytnIbmUchRRfD6Ir6J3mH1dwJHt5Eg0PUFlQM2lG10h0pTtVgRm1qMPkxf77/cYU/CDCsLlwNHP5RVk9vwNdjwvruZ1GLE= From 2725ceb51d9f6ce3c0abeeb378f1cfae9a1f0fd1 Mon Sep 17 00:00:00 2001 From: Txabi Lopez Date: Tue, 23 Apr 2024 09:07:43 +0100 Subject: [PATCH 02/13] chore: upgrade minimal node version to 18.18 node.js < v18.18, v19 are no longer supported. https://eslint.org/docs/latest/use/migrate-to-9.0.0#-nodejs--v1818-v19-are-no-longer-supported Issues: MOL-29362 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e685758..1866280 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "semantic-release": "^22.0.12" }, "engines": { - "node": ">=18" + "node": ">=18.18" }, "peerDependencies": { "eslint": "^7.32.0" From 4b7e8fd33eb40741cf19b8a48e8c8a2dc05f3e81 Mon Sep 17 00:00:00 2001 From: Txabi Lopez Date: Tue, 23 Apr 2024 09:23:58 +0100 Subject: [PATCH 03/13] chore: remove travis.yml no longer needed. we use github actions for Open Source packages now Issues: MOL-29362 --- .gitignore | 1 - README.md | 1 - 2 files changed, 2 deletions(-) diff --git a/.gitignore b/.gitignore index c0849f8..0125785 100644 --- a/.gitignore +++ b/.gitignore @@ -4,5 +4,4 @@ node_modules !.husky !.gitignore !.npmignore -!.travis.yml package-lock.json diff --git a/README.md b/README.md index 8b947ee..9c97c2f 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,6 @@ [![Greenkeeper badge](https://badges.greenkeeper.io/MailOnline/eslint-config-mailonline.svg)](https://greenkeeper.io/) [![NPM version](http://img.shields.io/npm/v/eslint-config-mailonline.svg?style=flat-square)](https://www.npmjs.org/package/eslint-config-mailonline) -[![Travis build status](http://img.shields.io/travis/MailOnline/eslint-config-mailonline/master.svg?style=flat-square)](https://travis-ci.org/MailOnline/eslint-config-mailonline) MailOnline ESLint configuration. From 8dad0b6833e2144928748d0ac489fa29b18f0510 Mon Sep 17 00:00:00 2001 From: Txabi Lopez Date: Tue, 23 Apr 2024 09:25:02 +0100 Subject: [PATCH 04/13] docs: remove greenkeeper from README greenkeeper is deprecated in favor of Snyk Issues: MOL-29362 --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 9c97c2f..d5ca65f 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,5 @@ # `eslint-config-mailonline` -[![Greenkeeper badge](https://badges.greenkeeper.io/MailOnline/eslint-config-mailonline.svg)](https://greenkeeper.io/) - [![NPM version](http://img.shields.io/npm/v/eslint-config-mailonline.svg?style=flat-square)](https://www.npmjs.org/package/eslint-config-mailonline) MailOnline ESLint configuration. From 0399f90f09d2a2c93711b9f40ec6ddbd6777b261 Mon Sep 17 00:00:00 2001 From: Txabi Lopez Date: Tue, 23 Apr 2024 09:35:40 +0100 Subject: [PATCH 05/13] chore: upgrade eslint peerDependency to 9 Issues: MOL-29362 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1866280..04baa61 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "node": ">=18.18" }, "peerDependencies": { - "eslint": "^7.32.0" + "eslint": "^9.0.0" }, "keywords": [ "eslint", From a02b477f47480bb789a42b572f4b1ad763e856d4 Mon Sep 17 00:00:00 2001 From: Txabi Lopez Date: Tue, 23 Apr 2024 09:45:42 +0100 Subject: [PATCH 06/13] chore: remove flow rules after agreed this with Carlos Serrano, remove support for flow. We don't use it and it brings some unneeded complexity to the package. BREAKING CHANGE: remove support for Flow Issues: MOL-29362 --- README.md | 58 ++++++++++++++++------------------ configurations/flowtype.json | 61 ------------------------------------ flowtype.js | 1 - package.json | 1 - 4 files changed, 27 insertions(+), 94 deletions(-) delete mode 100644 configurations/flowtype.json delete mode 100644 flowtype.js diff --git a/README.md b/README.md index d5ca65f..39953f0 100644 --- a/README.md +++ b/README.md @@ -12,12 +12,16 @@ Add `eslint-config-mailonline` as a development dependency: npm install eslint-config-mailonline --save-dev ``` -Create ESLint configuration file (`.eslintrc`) that extends `eslint-config-mailonline`: +Create ESLint configuration file (`eslint.config.js`) that extends `eslint-config-mailonline`: -```json -{ - "extends": "mailonline" -} +```js +// eslint.config.[m]js +import baseMailonlineConfig from "eslint-config-mailonline"; + +export default [{ + ...baseMailonlineConfig, + // additional config here +]; ``` ## Extended configs @@ -25,62 +29,54 @@ Create ESLint configuration file (`.eslintrc`) that extends `eslint-config-mailo The package also has separate entry points for some environments. Simply extend from the entry point as described below, either in a folder-specific eslint config, or additionally to the root config, e.g.: -```json -{ +```js +module.exports = { "extends": [ "mailonline", "mailonline/jest", "mailonline/react" ] -} +}; ``` ### jest -```json -{ +```js +module.exports = { "extends": "mailonline/jest" -} +}; ``` ### mocha -```json -{ +```js +module.exports = { "extends": "mailonline/mocha" -} +}; ``` ### react -```json -{ +```js +module.exports = { "extends": "mailonline/react" -} -``` - -### flowtype - -```json -{ - "extends": "mailonline/flowtype" -} +}; ``` ### lodash -```json -{ +```js +module.exports = { "extends": "mailonline/lodash" -} +}; ``` ### webpack -```json -{ +```js +module.exports = { "extends": "mailonline/webpack" -} +}; ``` ## Breaking changes diff --git a/configurations/flowtype.json b/configurations/flowtype.json deleted file mode 100644 index 7c0a344..0000000 --- a/configurations/flowtype.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "plugins": [ - "flowtype" - ], - "rules": { - "flowtype/boolean-style": [ - 2, - "boolean" - ], - "flowtype/define-flow-type": 1, - "flowtype/delimiter-dangle": [ - 2, - "never" - ], - "flowtype/generic-spacing": [ - 2, - "never" - ], - "flowtype/no-primitive-constructor-types": 2, - "flowtype/no-types-missing-file-annotation": 2, - "flowtype/no-weak-types": 2, - "flowtype/object-type-delimiter": [ - 2, - "comma" - ], - "flowtype/require-parameter-type": 0, - "flowtype/require-return-type": 0, - "flowtype/require-valid-file-annotation": 2, - "flowtype/require-variable-type": 0, - "flowtype/semi": [ - 2, - "always" - ], - "flowtype/space-after-type-colon": [ - 2, - "always" - ], - "flowtype/space-before-generic-bracket": [ - 2, - "never" - ], - "flowtype/space-before-type-colon": [ - 2, - "never" - ], - "flowtype/type-id-match": [ - 2, - "^([A-Z][a-z0-9]+)+Type$" - ], - "flowtype/union-intersection-spacing": [ - 2, - "always" - ], - "flowtype/use-flow-type": 1 - }, - "settings": { - "flowtype": { - "onlyFilesWithFlowAnnotation": true - } - } -} diff --git a/flowtype.js b/flowtype.js deleted file mode 100644 index 3080b80..0000000 --- a/flowtype.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./configurations/flowtype.json'); diff --git a/package.json b/package.json index 04baa61..90eab6b 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,6 @@ "babel-eslint": "^10.1.0", "eslint-plugin-babel": "^5.3.1", "eslint-plugin-filenames": "^1.3.2", - "eslint-plugin-flowtype": "^8.0.3", "eslint-plugin-import": "^2.29.1", "eslint-plugin-jest": "^28.2.0", "eslint-plugin-jsdoc": "^48.2.3", From 281a8034fa2a108041198c2cac12b2979fcd8b3d Mon Sep 17 00:00:00 2001 From: Txabi Lopez Date: Tue, 23 Apr 2024 10:17:19 +0100 Subject: [PATCH 07/13] chore: transform config files from json to js thus, we are allowed to add comments to the rules Issues: MOL-29362 --- .husky/pre-commit | 2 +- configurations/{base.json => base.js} | 4 +- configurations/{jest.json => jest.js} | 4 +- configurations/{lodash.json => lodash.js} | 4 +- configurations/{mocha.json => mocha.js} | 4 +- configurations/{react.json => react.js} | 4 +- configurations/{webpack.json => webpack.js} | 4 +- index.js | 2 +- jest.js | 2 +- lodash.js | 2 +- mocha.js | 2 +- package.json | 2 - react.js | 2 +- webpack.js | 2 +- yarn.lock | 63 --------------------- 15 files changed, 19 insertions(+), 84 deletions(-) rename configurations/{base.json => base.js} (99%) rename configurations/{jest.json => jest.js} (91%) rename configurations/{lodash.json => lodash.js} (98%) rename configurations/{mocha.json => mocha.js} (94%) rename configurations/{react.json => react.js} (99%) rename configurations/{webpack.json => webpack.js} (69%) diff --git a/.husky/pre-commit b/.husky/pre-commit index 9133ad3..a6d839a 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,4 +1,4 @@ #!/bin/sh . "$(dirname "$0")/_/husky.sh" -npm run lint && npm run test && npm run format +npm run lint && npm run test diff --git a/configurations/base.json b/configurations/base.js similarity index 99% rename from configurations/base.json rename to configurations/base.js index 5626af5..5b681cf 100644 --- a/configurations/base.json +++ b/configurations/base.js @@ -1,4 +1,4 @@ -{ +module.exports = { "env": { "browser": true, "es6": true, @@ -658,4 +658,4 @@ ".js" ] } -} \ No newline at end of file +}; \ No newline at end of file diff --git a/configurations/jest.json b/configurations/jest.js similarity index 91% rename from configurations/jest.json rename to configurations/jest.js index 765687f..09df0be 100644 --- a/configurations/jest.json +++ b/configurations/jest.js @@ -1,4 +1,4 @@ -{ +module.exports = { "env": { "jest": true }, @@ -11,4 +11,4 @@ "jest/no-identical-title": "error", "jest/valid-expect": "error" } -} +}; diff --git a/configurations/lodash.json b/configurations/lodash.js similarity index 98% rename from configurations/lodash.json rename to configurations/lodash.js index b85dd7d..1257a9c 100644 --- a/configurations/lodash.json +++ b/configurations/lodash.js @@ -1,4 +1,4 @@ -{ +module.exports = { "plugins": [ "lodash" ], @@ -65,4 +65,4 @@ "lodash/prop-shorthand": 1, "lodash/unwrap": 1 } -} +}; diff --git a/configurations/mocha.json b/configurations/mocha.js similarity index 94% rename from configurations/mocha.json rename to configurations/mocha.js index 9b7b4df..e1ee15b 100644 --- a/configurations/mocha.json +++ b/configurations/mocha.js @@ -1,4 +1,4 @@ -{ +module.exports = { "env": { "mocha": true }, @@ -19,4 +19,4 @@ "mocha/no-return-and-callback": 2, "mocha/no-top-level-hooks": 2 } -} +}; diff --git a/configurations/react.json b/configurations/react.js similarity index 99% rename from configurations/react.json rename to configurations/react.js index 3723a46..5e22d19 100644 --- a/configurations/react.json +++ b/configurations/react.js @@ -1,4 +1,4 @@ -{ +module.exports = { "plugins": [ "react" ], @@ -104,4 +104,4 @@ "react/style-prop-object": 2, "react/void-dom-elements-no-children": 2 } -} +}; diff --git a/configurations/webpack.json b/configurations/webpack.js similarity index 69% rename from configurations/webpack.json rename to configurations/webpack.js index 26d493b..eab64d9 100644 --- a/configurations/webpack.json +++ b/configurations/webpack.js @@ -1,5 +1,5 @@ -{ +module.exports = { "settings": { "import/resolver": "webpack" } -} +}; diff --git a/index.js b/index.js index b5d6ffc..7358fe6 100644 --- a/index.js +++ b/index.js @@ -1 +1 @@ -module.exports = require('./configurations/base.json'); +module.exports = require('./configurations/base'); diff --git a/jest.js b/jest.js index 0648ce1..28c0994 100644 --- a/jest.js +++ b/jest.js @@ -1 +1 @@ -module.exports = require('./configurations/jest.json'); +module.exports = require('./configurations/jest'); diff --git a/lodash.js b/lodash.js index a04688a..624ef82 100644 --- a/lodash.js +++ b/lodash.js @@ -1 +1 @@ -module.exports = require('./configurations/lodash.json'); +module.exports = require('./configurations/lodash'); diff --git a/mocha.js b/mocha.js index 0d8f72e..1e36ad8 100644 --- a/mocha.js +++ b/mocha.js @@ -1 +1 @@ -module.exports = require('./configurations/mocha.json'); +module.exports = require('./configurations/mocha'); diff --git a/package.json b/package.json index 90eab6b..f6fc0f0 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,6 @@ "devDependencies": { "eslint": "^9.0.0", "husky": "^7.0.2", - "jsonlint": "^1.6.3", "semantic-release": "^22.0.12" }, "engines": { @@ -46,7 +45,6 @@ "url": "https://github.com/mailonline/eslint-config-mailonline" }, "scripts": { - "format": "jsonlint --sort-keys --in-place --indent ' ' ./configurations/*.json", "lint": "echo 'This project has no linting' && exit 0", "prepare": "husky install", "semantic-release": "semantic-release", diff --git a/react.js b/react.js index 4b756ea..927049a 100644 --- a/react.js +++ b/react.js @@ -1 +1 @@ -module.exports = require('./configurations/react.json'); +module.exports = require('./configurations/react'); diff --git a/webpack.js b/webpack.js index ab11e4b..cb6512f 100644 --- a/webpack.js +++ b/webpack.js @@ -1 +1 @@ -module.exports = require('./configurations/webpack.json'); \ No newline at end of file +module.exports = require('./configurations/webpack'); \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index b2b41f8..e1e4976 100644 --- a/yarn.lock +++ b/yarn.lock @@ -794,11 +794,6 @@ JSONStream@^1.3.5: jsonparse "^1.2.0" through ">=2.2.7 <3" -JSV@^4.0.x: - version "4.0.2" - resolved "https://registry.yarnpkg.com/JSV/-/JSV-4.0.2.tgz#d077f6825571f82132f9dffaed587b4029feff57" - integrity sha512-ZJ6wx9xaKJ3yFUhq5/sk82PJMuUyLk277I8mQeyDgCTjGdjWJIvPfaU5LIXaMuaN2UO1X3kZH4+lgphublZUHw== - abbrev@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-2.0.0.tgz#cf59829b8b4f03f89dda2771cb7f3653828c89bf" @@ -881,11 +876,6 @@ ansi-styles@^6.1.0: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== -ansi-styles@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" - integrity sha512-3iF4FIKdxaVYT3JqQuY3Wat/T2t7TRbbQ94Fu50ZUCbLy4TFbTzr90NOHQodQkNqmeEGCw8WbeP78WNi6SKYUA== - any-promise@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" @@ -1195,15 +1185,6 @@ chalk@^5.3.0: resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== -chalk@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" - integrity sha512-sQfYDlfv2DGVtjdoQqxS0cEZDroyG8h6TamA6rvxwlrU5BaSLDx9xhatBYl2pxZ7gmpNaPFVwBtdGdu5rQ+tYQ== - dependencies: - ansi-styles "~1.0.0" - has-color "~0.1.0" - strip-ansi "~0.1.0" - char-regex@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" @@ -1818,14 +1799,6 @@ eslint-plugin-filenames@^1.3.2: lodash.snakecase "4.1.1" lodash.upperfirst "4.3.1" -eslint-plugin-flowtype@^8.0.3: - version "8.0.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz#e1557e37118f24734aa3122e7536a038d34a4912" - integrity sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ== - dependencies: - lodash "^4.17.21" - string-natural-compare "^3.0.1" - eslint-plugin-import@^2.29.1: version "2.29.1" resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz#d45b37b5ef5901d639c15270d74d46d161150643" @@ -2458,11 +2431,6 @@ has-bigints@^1.0.1, has-bigints@^1.0.2: resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== -has-color@~0.1.0: - version "0.1.7" - resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" - integrity sha512-kaNz5OTAYYmt646Hkqw50/qyxP2vFnTVu5AQ1Zmk22Kk5+4Qx6BpO8+u7IKsML5fOsFk0ZT0AcCJNYwcvaLBvw== - has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -3091,14 +3059,6 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" -jsonlint@^1.6.3: - version "1.6.3" - resolved "https://registry.yarnpkg.com/jsonlint/-/jsonlint-1.6.3.tgz#cb5e31efc0b78291d0d862fbef05900adf212988" - integrity sha512-jMVTMzP+7gU/IyC6hvKyWpUU8tmTkK5b3BPNuMI9U8Sit+YAWLlZwB6Y6YrdCxfg2kNz05p3XY3Bmm4m26Nv3A== - dependencies: - JSV "^4.0.x" - nomnom "^1.5.x" - jsonparse@^1.2.0, jsonparse@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" @@ -3628,14 +3588,6 @@ node-releases@^2.0.14: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== -nomnom@^1.5.x: - version "1.8.1" - resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.8.1.tgz#2151f722472ba79e50a76fc125bb8c8f2e4dc2a7" - integrity sha512-5s0JxqhDx9/rksG2BTMVN1enjWSvPidpoSgViZU4ZXULyTe+7jxcCRLB6f42Z0l1xYJpleCBtSyY6Lwg3uu5CQ== - dependencies: - chalk "~0.4.0" - underscore "~1.6.0" - nopt@^7.0.0, nopt@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/nopt/-/nopt-7.2.0.tgz#067378c68116f602f552876194fd11f1292503d7" @@ -4781,11 +4733,6 @@ stream-combiner2@~1.1.1: duplexer2 "~0.1.0" readable-stream "^2.0.2" -string-natural-compare@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/string-natural-compare/-/string-natural-compare-3.0.1.tgz#7a42d58474454963759e8e8b7ae63d71c1e7fdf4" - integrity sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw== - "string-width-cjs@npm:string-width@^4.2.0": version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" @@ -4887,11 +4834,6 @@ strip-ansi@^7.0.1: dependencies: ansi-regex "^6.0.1" -strip-ansi@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" - integrity sha512-behete+3uqxecWlDAm5lmskaSaISA+ThQ4oNNBDTBJt0x2ppR6IPqfZNuj6BLaLJ/Sji4TPZlcRyOis8wXQTLg== - strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" @@ -5183,11 +5125,6 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" -underscore@~1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8" - integrity sha512-z4o1fvKUojIWh9XuaVLUDdf86RQiq13AC1dmHbTpoyuu+bquHms76v16CjycCbec87J7z0k//SiQVk0sMdFmpQ== - unicode-emoji-modifier-base@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz#dbbd5b54ba30f287e2a8d5a249da6c0cef369459" From 1d4383b8f55db244ebe5628081a66b1f1d1d5222 Mon Sep 17 00:00:00 2001 From: Txabi Lopez Date: Thu, 25 Apr 2024 09:28:28 +0100 Subject: [PATCH 08/13] chore: downgrade eslint to 8.x eslint 9 is still too new and its ecosystem is simply not ready yet, so we (Carlos Serrano and me) decided to downgrade it to eslint 8. Also remove babel-eslint since it is discontinued in favour of the default eslint parser "espree" BREAKING CHANGE: downgrade eslint from 9 to 8 Issues: MOL-29362 --- configurations/base.js | 2 +- package.json | 6 +- yarn.lock | 382 ++++++++++++++--------------------------- 3 files changed, 130 insertions(+), 260 deletions(-) diff --git a/configurations/base.js b/configurations/base.js index 5b681cf..e2d23d2 100644 --- a/configurations/base.js +++ b/configurations/base.js @@ -4,7 +4,7 @@ module.exports = { "es6": true, "node": true }, - "parser": "babel-eslint", + "parser": "espree", // default one: https://eslint.org/docs/v8.x/use/configure/parser "parserOptions": { "ecmaFeatures": { "experimentalObjectRestSpread": true, diff --git a/package.json b/package.json index f6fc0f0..0d0f31b 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "eslint-import-resolver-webpack": "^0.13.8" }, "dependencies": { - "babel-eslint": "^10.1.0", + "eslint": "^8.57.0", "eslint-plugin-babel": "^5.3.1", "eslint-plugin-filenames": "^1.3.2", "eslint-plugin-import": "^2.29.1", @@ -18,16 +18,12 @@ "eslint-plugin-unicorn": "^52.0.0" }, "devDependencies": { - "eslint": "^9.0.0", "husky": "^7.0.2", "semantic-release": "^22.0.12" }, "engines": { "node": ">=18.18" }, - "peerDependencies": { - "eslint": "^9.0.0" - }, "keywords": [ "eslint", "config" diff --git a/yarn.lock b/yarn.lock index e1e4976..09183a0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7,7 +7,7 @@ resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.1": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.22.13": version "7.24.2" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae" integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== @@ -15,48 +15,6 @@ "@babel/highlight" "^7.24.2" picocolors "^1.0.0" -"@babel/generator@^7.24.1": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.4.tgz#1fc55532b88adf952025d5d2d1e71f946cb1c498" - integrity sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw== - dependencies: - "@babel/types" "^7.24.0" - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^2.5.1" - -"@babel/helper-environment-visitor@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" - integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== - -"@babel/helper-function-name@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" - integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== - dependencies: - "@babel/template" "^7.22.15" - "@babel/types" "^7.23.0" - -"@babel/helper-hoist-variables@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" - integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-split-export-declaration@^7.22.6": - version "7.22.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" - integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-string-parser@^7.23.4": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz#f99c36d3593db9540705d0739a1f10b5e20c696e" - integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== - "@babel/helper-validator-identifier@^7.22.20": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" @@ -72,45 +30,6 @@ js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/parser@^7.24.0", "@babel/parser@^7.24.1", "@babel/parser@^7.7.0": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.4.tgz#234487a110d89ad5a3ed4a8a566c36b9453e8c88" - integrity sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg== - -"@babel/template@^7.22.15": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50" - integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== - dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/parser" "^7.24.0" - "@babel/types" "^7.24.0" - -"@babel/traverse@^7.7.0": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.1.tgz#d65c36ac9dd17282175d1e4a3c49d5b7988f530c" - integrity sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ== - dependencies: - "@babel/code-frame" "^7.24.1" - "@babel/generator" "^7.24.1" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.24.1" - "@babel/types" "^7.24.0" - debug "^4.3.1" - globals "^11.1.0" - -"@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.24.0", "@babel/types@^7.7.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.0.tgz#3b951f435a92e7333eba05b7566fd297960ea1bf" - integrity sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w== - dependencies: - "@babel/helper-string-parser" "^7.23.4" - "@babel/helper-validator-identifier" "^7.22.20" - to-fast-properties "^2.0.0" - "@colors/colors@1.5.0": version "1.5.0" resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" @@ -152,32 +71,17 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/eslintrc@^3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.0.2.tgz#36180f8e85bf34d2fe3ccc2261e8e204a411ab4e" - integrity sha512-wV19ZEGEMAC1eHgrS7UQPqsdEiCIbTKTasEfcXAigzoXICcqZSjBZEHlZwNVvKg6UBCjSlos84XiLqsRJnIcIg== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^10.0.1" - globals "^14.0.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@eslint/js@9.0.0": - version "9.0.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.0.0.tgz#1a9e4b4c96d8c7886e0110ed310a0135144a1691" - integrity sha512-RThY/MnKrhubF6+s1JflwUjPEsnCEmYCWwqa/aRISKWNXGZ9epUwft4bUMM35SdKF9xvBrLydAM1RDHd1Z//ZQ== +"@eslint/js@8.57.0": + version "8.57.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f" + integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== -"@humanwhocodes/config-array@^0.12.3": - version "0.12.3" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.12.3.tgz#a6216d90f81a30bedd1d4b5d799b47241f318072" - integrity sha512-jsNnTBlMWuTpDkeE3on7+dWJi0D6fdDfeANj/w7MpS8ztROCoLvIO2nG0CcFj+E4k8j4QrSTh4Oryi3i2G669g== +"@humanwhocodes/config-array@^0.11.14": + version "0.11.14" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" + integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== dependencies: - "@humanwhocodes/object-schema" "^2.0.3" + "@humanwhocodes/object-schema" "^2.0.2" debug "^4.3.1" minimatch "^3.0.5" @@ -186,7 +90,7 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== -"@humanwhocodes/object-schema@^2.0.3": +"@humanwhocodes/object-schema@^2.0.2": version "2.0.3" resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== @@ -208,38 +112,6 @@ resolved "https://registry.yarnpkg.com/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz#291c227e93fd407a96ecd59879a35809120e432b" integrity sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ== -"@jridgewell/gen-mapping@^0.3.5": - version "0.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" - integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== - dependencies: - "@jridgewell/set-array" "^1.2.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.24" - -"@jridgewell/resolve-uri@^3.1.0": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" - integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== - -"@jridgewell/set-array@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" - integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": - version "0.3.25" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" - integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -355,9 +227,9 @@ which "^4.0.0" "@npmcli/installed-package-contents@^2.0.1", "@npmcli/installed-package-contents@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz#bfd817eccd9e8df200919e73f57f9e3d9e4f9e33" - integrity sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ== + version "2.1.0" + resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-2.1.0.tgz#63048e5f6e40947a3a88dcbcb4fd9b76fdd37c17" + integrity sha512-c8UuGLeZpm69BryRykLuKRyKFZYJsZSCT4aVY5ds4omyZqJ172ApzgfKJ5eV/r3HgLdUYgFVe54KSFVjKoe27w== dependencies: npm-bundled "^3.0.0" npm-normalize-package-bin "^3.0.0" @@ -393,10 +265,10 @@ resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz#101b2d0490ef1aa20ed460e4c0813f0db560545a" integrity sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA== -"@npmcli/package-json@^5.0.0", "@npmcli/package-json@^5.0.2": - version "5.0.3" - resolved "https://registry.yarnpkg.com/@npmcli/package-json/-/package-json-5.0.3.tgz#d8a922fcd5abe27a8b0ed619beddfef0f44e614e" - integrity sha512-cgsjCvld2wMqkUqvY+SZI+1ZJ7umGBYc9IAKfqJRKJCcs7hCQYxScUgdsyrRINk3VmdCYf9TXiLBHQ6ECTxhtg== +"@npmcli/package-json@^5.0.0", "@npmcli/package-json@^5.0.2", "@npmcli/package-json@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@npmcli/package-json/-/package-json-5.1.0.tgz#10d117b5fb175acc14c70901a151c52deffc843e" + integrity sha512-1aL4TuVrLS9sf8quCLerU3H9J4vtCtgu8VauYozrmEyU57i/EdKleCnsQ7vpnABIH6c9mnTxcH5sFkO3BlV8wQ== dependencies: "@npmcli/git" "^5.0.0" glob "^10.2.2" @@ -786,6 +658,11 @@ "@typescript-eslint/types" "6.21.0" eslint-visitor-keys "^3.4.1" +"@ungap/structured-clone@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" + integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== + JSONStream@^1.3.5: version "1.3.5" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" @@ -804,7 +681,7 @@ acorn-jsx@^5.3.2: resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn@^8.11.3, acorn@^8.9.0: +acorn@^8.9.0: version "8.11.3" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== @@ -1038,18 +915,6 @@ available-typed-arrays@^1.0.7: dependencies: possible-typed-array-names "^1.0.0" -babel-eslint@^10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" - integrity sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.7.0" - "@babel/traverse" "^7.7.0" - "@babel/types" "^7.7.0" - eslint-visitor-keys "^1.0.0" - resolve "^1.12.0" - balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" @@ -1159,9 +1024,9 @@ callsites@^3.0.0: integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== caniuse-lite@^1.0.30001587: - version "1.0.30001611" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001611.tgz#4dbe78935b65851c2d2df1868af39f709a93a96e" - integrity sha512-19NuN1/3PjA3QI8Eki55N8my4LzfkMCRLgCVfrl/slbSAchQfV0+GwjPrK3rq37As4UCLlM/DHajbKkAqbv92Q== + version "1.0.30001612" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001612.tgz#d34248b4ec1f117b70b24ad9ee04c90e0b8a14ae" + integrity sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g== chalk@^2.3.2, chalk@^2.4.2: version "2.4.2" @@ -1533,6 +1398,13 @@ doctrine@^2.1.0: dependencies: esutils "^2.0.2" +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + dot-prop@^5.1.0: version "5.3.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" @@ -1553,9 +1425,9 @@ eastasianwidth@^0.2.0: integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== electron-to-chromium@^1.4.668: - version "1.4.740" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.740.tgz#89c82421332ee425e5b193e3db2dea019d423419" - integrity sha512-Yvg5i+iyv7Xm18BRdVPVm8lc7kgxM3r6iwqCH2zB7QZy1kZRNmd0Zqm0zcD9XoFREE5/5rwIuIAOT+/mzGcnZg== + version "1.4.748" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.748.tgz#aa7d4f2f3eac3a6a863cd1779bd4682b4bb68ed5" + integrity sha512-VWqjOlPZn70UZ8FTKUOkUvBLeTQ0xpty66qV0yJcAGY2/CthI4xyW9aEozRVtuwv3Kpf5xTesmJUcPwuJmgP4A== emoji-regex@^8.0.0: version "8.0.0" @@ -1613,7 +1485,7 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.1, es-abstract@^1.23.2: +es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.1, es-abstract@^1.23.2, es-abstract@^1.23.3: version "1.23.3" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== @@ -1678,13 +1550,13 @@ es-errors@^1.1.0, es-errors@^1.2.1, es-errors@^1.3.0: integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== es-iterator-helpers@^1.0.17: - version "1.0.18" - resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.0.18.tgz#4d3424f46b24df38d064af6fbbc89274e29ea69d" - integrity sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA== + version "1.0.19" + resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz#117003d0e5fec237b4b5c08aded722e0c6d50ca8" + integrity sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw== dependencies: call-bind "^1.0.7" define-properties "^1.2.1" - es-abstract "^1.23.0" + es-abstract "^1.23.3" es-errors "^1.3.0" es-set-tostringtag "^2.0.3" function-bind "^1.1.2" @@ -1852,9 +1724,9 @@ eslint-plugin-lodash@^7.4.0: lodash "^4.17.21" eslint-plugin-mocha@^10.4.2: - version "10.4.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-mocha/-/eslint-plugin-mocha-10.4.2.tgz#dfaed06d362506c5e4d561c534314e25b3b0f1f7" - integrity sha512-cur4dVYnSEWTBwdqIBQFxa/9siAhesu0TX+lbJ4ClE9j0eNMNe6BSx3vkFFNz6tGoveyMyELFXa30f3fvuAVDg== + version "10.4.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-mocha/-/eslint-plugin-mocha-10.4.3.tgz#bf641379d9f1c7d6a84646a3fc1a0baa50da8bfd" + integrity sha512-emc4TVjq5Ht0/upR+psftuz6IBG5q279p+1dSRDeHf+NS9aaerBi3lXKo1SEzwC29hFIW21gO89CEWSvRsi8IQ== dependencies: eslint-utils "^3.0.0" globals "^13.24.0" @@ -1926,10 +1798,10 @@ eslint-rule-composer@^0.3.0: resolved "https://registry.yarnpkg.com/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9" integrity sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg== -eslint-scope@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.0.1.tgz#a9601e4b81a0b9171657c343fb13111688963cfc" - integrity sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og== +eslint-scope@^7.2.2: + version "7.2.2" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" + integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== dependencies: esrecurse "^4.3.0" estraverse "^5.2.0" @@ -1941,57 +1813,51 @@ eslint-utils@^3.0.0: dependencies: eslint-visitor-keys "^2.0.0" -eslint-visitor-keys@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== - eslint-visitor-keys@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1: +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: version "3.4.3" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -eslint-visitor-keys@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz#e3adc021aa038a2a8e0b2f8b0ce8f66b9483b1fb" - integrity sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw== - -eslint@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.0.0.tgz#6270548758e390343f78c8afd030566d86927d40" - integrity sha512-IMryZ5SudxzQvuod6rUdIUz29qFItWx281VhtFVc2Psy/ZhlCeD/5DT6lBIJ4H3G+iamGJoTln1v+QSuPw0p7Q== +eslint@^8.57.0: + version "8.57.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.0.tgz#c786a6fd0e0b68941aaf624596fb987089195668" + integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.6.1" - "@eslint/eslintrc" "^3.0.2" - "@eslint/js" "9.0.0" - "@humanwhocodes/config-array" "^0.12.3" + "@eslint/eslintrc" "^2.1.4" + "@eslint/js" "8.57.0" + "@humanwhocodes/config-array" "^0.11.14" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" + "@ungap/structured-clone" "^1.2.0" ajv "^6.12.4" chalk "^4.0.0" cross-spawn "^7.0.2" debug "^4.3.2" + doctrine "^3.0.0" escape-string-regexp "^4.0.0" - eslint-scope "^8.0.1" - eslint-visitor-keys "^4.0.0" - espree "^10.0.1" + eslint-scope "^7.2.2" + eslint-visitor-keys "^3.4.3" + espree "^9.6.1" esquery "^1.4.2" esutils "^2.0.2" fast-deep-equal "^3.1.3" - file-entry-cache "^8.0.0" + file-entry-cache "^6.0.1" find-up "^5.0.0" glob-parent "^6.0.2" + globals "^13.19.0" graphemer "^1.4.0" ignore "^5.2.0" imurmurhash "^0.1.4" is-glob "^4.0.0" is-path-inside "^3.0.3" + js-yaml "^4.1.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" lodash.merge "^4.6.2" @@ -2001,16 +1867,7 @@ eslint@^9.0.0: strip-ansi "^6.0.1" text-table "^0.2.0" -espree@^10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-10.0.1.tgz#600e60404157412751ba4a6f3a2ee1a42433139f" - integrity sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww== - dependencies: - acorn "^8.11.3" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^4.0.0" - -espree@^9.6.0: +espree@^9.6.0, espree@^9.6.1: version "9.6.1" resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== @@ -2115,12 +1972,12 @@ figures@^6.0.0: dependencies: is-unicode-supported "^2.0.0" -file-entry-cache@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f" - integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== dependencies: - flat-cache "^4.0.0" + flat-cache "^3.0.4" fill-range@^7.0.1: version "7.0.1" @@ -2169,13 +2026,14 @@ find-versions@^5.1.0: dependencies: semver-regex "^4.0.5" -flat-cache@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c" - integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== +flat-cache@^3.0.4: + version "3.2.0" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" + integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== dependencies: flatted "^3.2.9" - keyv "^4.5.4" + keyv "^4.5.3" + rimraf "^3.0.2" flatted@^3.2.9: version "3.3.1" @@ -2228,6 +2086,11 @@ fs-minipass@^3.0.0, fs-minipass@^3.0.3: dependencies: minipass "^7.0.3" +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + function-bind@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" @@ -2344,10 +2207,17 @@ glob@^10.2.2, glob@^10.3.10, glob@^10.3.12: minipass "^7.0.4" path-scurry "^1.10.2" -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== +glob@^7.1.3: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" globals@^13.19.0, globals@^13.24.0: version "13.24.0" @@ -2356,11 +2226,6 @@ globals@^13.19.0, globals@^13.24.0: dependencies: type-fest "^0.20.2" -globals@^14.0.0: - version "14.0.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e" - integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== - globalthis@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" @@ -2590,7 +2455,15 @@ index-to-position@^0.1.2: resolved "https://registry.yarnpkg.com/index-to-position/-/index-to-position-0.1.2.tgz#e11bfe995ca4d8eddb1ec43274488f3c201a7f09" integrity sha512-MWDKS3AS1bGCHLBA2VLImJz42f7bJh8wQsTGCzI3j519/CASStoDONUBVz2I/VID0MpiX3SGSnbOD2xUalbE5g== -inherits@^2.0.1, inherits@~2.0.3: +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.1, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -2988,11 +2861,6 @@ jsdoc-type-pratt-parser@~4.0.0: resolved "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz#136f0571a99c184d84ec84662c45c29ceff71114" integrity sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ== -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - jsesc@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" @@ -3084,7 +2952,7 @@ just-diff@^6.0.0: resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-6.0.2.tgz#03b65908543ac0521caf6d8eb85035f7d27ea285" integrity sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA== -keyv@^4.5.4: +keyv@^4.5.3: version "4.5.4" resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== @@ -3396,9 +3264,9 @@ micromatch@^4.0.2, micromatch@^4.0.4: picomatch "^2.3.1" mime@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/mime/-/mime-4.0.1.tgz#ad7563d1bfe30253ad97dedfae2b1009d01b9470" - integrity sha512-5lZ5tyrIfliMXzFtkYyekWbtRXObT9OWa8IwQ5uxTBDHucNNwniRqo0yInflj+iYi5CBa6qxadGzGarDfuEOxA== + version "4.0.2" + resolved "https://registry.yarnpkg.com/mime/-/mime-4.0.2.tgz#2da851f9b6545ed402525fa9075c440d76f20ef5" + integrity sha512-rSR2L7RhEm0ifwn6lZAa+CcLy7EEl6POovp3QcnFHb/C5P4B+h6u+yCQPQaWzNdecHL8p85zRowrAjpF9F46Og== mimic-fn@^4.0.0: version "4.0.0" @@ -3417,7 +3285,7 @@ minimatch@9.0.3: dependencies: brace-expansion "^2.0.1" -minimatch@^3.0.5, minimatch@^3.1.2: +minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -3868,7 +3736,7 @@ object.values@^1.1.6, object.values@^1.1.7: define-properties "^1.2.1" es-object-atoms "^1.0.0" -once@^1.4.0: +once@^1.3.0, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== @@ -4005,12 +3873,13 @@ pacote@^17.0.4, pacote@^17.0.6: tar "^6.1.11" pacote@^18.0.0: - version "18.0.0" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-18.0.0.tgz#974491c8b5a40f42830bc55361924ca7c7e45784" - integrity sha512-ma7uVt/q3Sb3XbLwUjOeClz+7feHjMOFegHn5whw++x+GzikZkAq/2auklSbRuy6EI2iJh1/ZqCpVaUcxRaeqQ== + version "18.0.2" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-18.0.2.tgz#ac78b9d6a441788f024c14179e193e170a8af964" + integrity sha512-oMxnZQCOZqFZyEh5oJtpMepoub4hoI6EfMUCdbwkBqkFuJ1Dwfz5IMQD344dKbwPPBNZWKwGL/kNvmDubZyvug== dependencies: "@npmcli/git" "^5.0.0" "@npmcli/installed-package-contents" "^2.0.1" + "@npmcli/package-json" "^5.1.0" "@npmcli/promise-spawn" "^7.0.0" "@npmcli/run-script" "^8.0.0" cacache "^18.0.0" @@ -4022,8 +3891,6 @@ pacote@^18.0.0: npm-registry-fetch "^16.0.0" proc-log "^4.0.0" promise-retry "^2.0.1" - read-package-json "^7.0.0" - read-package-json-fast "^3.0.0" sigstore "^2.2.0" ssri "^10.0.0" tar "^6.1.11" @@ -4098,6 +3965,11 @@ path-exists@^4.0.0: resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + path-key@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" @@ -4415,7 +4287,7 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve@^1.10.0, resolve@^1.12.0, resolve@^1.22.4: +resolve@^1.10.0, resolve@^1.22.4: version "1.22.8" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -4443,6 +4315,13 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" @@ -4967,11 +4846,6 @@ tiny-relative-date@^1.3.0: resolved "https://registry.yarnpkg.com/tiny-relative-date/-/tiny-relative-date-1.3.0.tgz#fa08aad501ed730f31cc043181d995c39a935e07" integrity sha512-MOQHpzllWxDCHHaDno30hhLfbouoYlOI8YlMNtvKe1zXbjEVhbcEovQxvZrPvtiYW630GQDoMMarCnjfyfHA+A== -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" @@ -5050,9 +4924,9 @@ type-fest@^2.12.2: integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== type-fest@^4.6.0, type-fest@^4.7.1: - version "4.15.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-4.15.0.tgz#21da206b89c15774cc718c4f2d693e13a1a14a43" - integrity sha512-tB9lu0pQpX5KJq54g+oHOLumOx+pMep4RaM6liXh2PKmVRFF+/vAtUP0ZaJ0kOySfVNjF6doBWPHhBhISKdlIA== + version "4.17.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-4.17.0.tgz#4c1b2c2852d2a40ba8c0236d3afc6fc68229e5bf" + integrity sha512-9flrz1zkfLRH3jO3bLflmTxryzKMxVa7841VeMgBaNQGY6vH4RCcpN/sQLB7mQQYh1GZ5utT2deypMuCy4yicw== typed-array-buffer@^1.0.2: version "1.0.2" From b4262410a2ae53289b4e99e8899b3251095dc0b8 Mon Sep 17 00:00:00 2001 From: Txabi Lopez Date: Thu, 25 Apr 2024 09:53:15 +0100 Subject: [PATCH 09/13] chore: remove "jsdoc/newline-after-description" rule because it was removed as seen here: https://github.com/gajus/eslint-plugin-jsdoc/issues/1031 BREAKING CHANGE: remove "jsdoc/newline-after-description" rule Issues: MOL-29362 --- configurations/base.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/configurations/base.js b/configurations/base.js index e2d23d2..b602055 100644 --- a/configurations/base.js +++ b/configurations/base.js @@ -234,10 +234,6 @@ module.exports = { "jsdoc/check-param-names": 1, "jsdoc/check-tag-names": 1, "jsdoc/check-types": 1, - "jsdoc/newline-after-description": [ - 1, - "always" - ], "jsdoc/require-description-complete-sentence": 1, "jsdoc/require-hyphen-before-description": 0, "jsdoc/require-param": 0, From e0559e6490eb4cd45155e882e86378e3e234ab33 Mon Sep 17 00:00:00 2001 From: Txabi Lopez Date: Thu, 25 Apr 2024 12:59:03 +0100 Subject: [PATCH 10/13] chore: upgrade ecmaScript used to 2021 after discussed about it in the mol-fe-devs channel in Slack and having the approval of Carlos Serrano BREAKING CHANGE: upgrade ecmaScript from 2017 to 2021 Issues: MOL-29362 --- configurations/base.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configurations/base.js b/configurations/base.js index b602055..688876f 100644 --- a/configurations/base.js +++ b/configurations/base.js @@ -12,7 +12,7 @@ module.exports = { "impliedStrict": true, "jsx": true }, - "ecmaVersion": 2017, + "ecmaVersion": 2021, "sourceType": "module" }, "plugins": [ From ede77bcc21c5059d672b13ee201fd2f115ad6910 Mon Sep 17 00:00:00 2001 From: Txabi Lopez Date: Thu, 25 Apr 2024 16:55:26 +0100 Subject: [PATCH 11/13] chore: allow relative imports before absolute in import/first rule this change addresses use cases in mol-fe-sync-bundler where local styles need to be loaded before absolute imports. BREAKING CHANGE: The 'absolute-first' condition from the import/first rule has been removed. Issues: MOL-29362 --- configurations/base.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/configurations/base.js b/configurations/base.js index 688876f..48c9745 100644 --- a/configurations/base.js +++ b/configurations/base.js @@ -166,10 +166,7 @@ module.exports = { "json": "always" } ], - "import/first": [ - 2, - "absolute-first" - ], + "import/first": 2, "import/max-dependencies": 0, "import/named": 2, "import/namespace": 2, From 9118c6855bda287f91562c2a0be7745d7a68dabc Mon Sep 17 00:00:00 2001 From: Txabi Lopez Date: Mon, 29 Apr 2024 11:43:57 +0100 Subject: [PATCH 12/13] chore: remove support for eslint-plugin-mocha agreed with Carlos Serrano. we are not using mocha anymore in any relevant package BREAKING CHANGE: remove support for eslint-plugin-mocha Issues: MOL-29362 --- README.md | 8 -------- configurations/mocha.js | 22 ---------------------- mocha.js | 1 - package.json | 1 - yarn.lock | 28 +--------------------------- 5 files changed, 1 insertion(+), 59 deletions(-) delete mode 100644 configurations/mocha.js delete mode 100644 mocha.js diff --git a/README.md b/README.md index 39953f0..f4b5673 100644 --- a/README.md +++ b/README.md @@ -47,14 +47,6 @@ module.exports = { }; ``` -### mocha - -```js -module.exports = { - "extends": "mailonline/mocha" -}; -``` - ### react ```js diff --git a/configurations/mocha.js b/configurations/mocha.js deleted file mode 100644 index e1ee15b..0000000 --- a/configurations/mocha.js +++ /dev/null @@ -1,22 +0,0 @@ -module.exports = { - "env": { - "mocha": true - }, - "plugins": [ - "mocha" - ], - "rules": { - "mocha/max-top-level-suites": [ - 2, - { - "limit": 1 - } - ], - "mocha/no-hooks-for-single-case": 1, - "mocha/no-exclusive-tests": 2, - "mocha/no-identical-title": 2, - "mocha/no-nested-tests": 2, - "mocha/no-return-and-callback": 2, - "mocha/no-top-level-hooks": 2 - } -}; diff --git a/mocha.js b/mocha.js deleted file mode 100644 index 1e36ad8..0000000 --- a/mocha.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./configurations/mocha'); diff --git a/package.json b/package.json index 0d0f31b..b1f964d 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,6 @@ "eslint-plugin-jest": "^28.2.0", "eslint-plugin-jsdoc": "^48.2.3", "eslint-plugin-lodash": "^7.4.0", - "eslint-plugin-mocha": "^10.4.2", "eslint-plugin-no-use-extend-native": "^0.5.0", "eslint-plugin-promise": "^6.1.1", "eslint-plugin-react": "^7.34.1", diff --git a/yarn.lock b/yarn.lock index 09183a0..6d70919 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1723,15 +1723,6 @@ eslint-plugin-lodash@^7.4.0: dependencies: lodash "^4.17.21" -eslint-plugin-mocha@^10.4.2: - version "10.4.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-mocha/-/eslint-plugin-mocha-10.4.3.tgz#bf641379d9f1c7d6a84646a3fc1a0baa50da8bfd" - integrity sha512-emc4TVjq5Ht0/upR+psftuz6IBG5q279p+1dSRDeHf+NS9aaerBi3lXKo1SEzwC29hFIW21gO89CEWSvRsi8IQ== - dependencies: - eslint-utils "^3.0.0" - globals "^13.24.0" - rambda "^7.4.0" - eslint-plugin-no-use-extend-native@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/eslint-plugin-no-use-extend-native/-/eslint-plugin-no-use-extend-native-0.5.0.tgz#d6855e3a823a819b467cf7df56adca57de741bf9" @@ -1806,18 +1797,6 @@ eslint-scope@^7.2.2: esrecurse "^4.3.0" estraverse "^5.2.0" -eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== - dependencies: - eslint-visitor-keys "^2.0.0" - -eslint-visitor-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: version "3.4.3" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" @@ -2219,7 +2198,7 @@ glob@^7.1.3: once "^1.3.0" path-is-absolute "^1.0.0" -globals@^13.19.0, globals@^13.24.0: +globals@^13.19.0: version "13.24.0" resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== @@ -4128,11 +4107,6 @@ queue-microtask@^1.2.2: resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== -rambda@^7.4.0: - version "7.5.0" - resolved "https://registry.yarnpkg.com/rambda/-/rambda-7.5.0.tgz#1865044c59bc0b16f63026c6e5a97e4b1bbe98fe" - integrity sha512-y/M9weqWAH4iopRd7EHDEQQvpFPHj1AA3oHozE9tfITHUtTR7Z9PSlIRRG2l1GuW7sefC1cXFfIcF+cgnShdBA== - rc@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" From c4dd08f6195c23ff53d2a0f44873e9b27d797d0f Mon Sep 17 00:00:00 2001 From: Txabi Lopez Date: Tue, 30 Apr 2024 08:24:03 +0100 Subject: [PATCH 13/13] docs: update README file Issues: MOL-29362 --- README.md | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index f4b5673..587976f 100644 --- a/README.md +++ b/README.md @@ -2,26 +2,36 @@ [![NPM version](http://img.shields.io/npm/v/eslint-config-mailonline.svg?style=flat-square)](https://www.npmjs.org/package/eslint-config-mailonline) -MailOnline ESLint configuration. +`eslint-config-mailonline` is a shared ESLint configuration used by MailOnline. This configuration includes rules for ES6, React, Jest, Lodash, and Webpack. -## Usage +## Prerequisites + +- Node.js v18.18 or higher + +## Installation Add `eslint-config-mailonline` as a development dependency: +For *npm* users: ```bash npm install eslint-config-mailonline --save-dev ``` -Create ESLint configuration file (`eslint.config.js`) that extends `eslint-config-mailonline`: +For *Yarn* users: +```bash +yarn add eslint-config-mailonline --dev +``` + +Please note that there is no requirement to install stylelint independently in the parent package. This is because it is included as a dependency within this library and will be hoisted to the parent package. -```js -// eslint.config.[m]js -import baseMailonlineConfig from "eslint-config-mailonline"; +## Usage -export default [{ - ...baseMailonlineConfig, - // additional config here -]; +Create ESLint configuration file (`eslint.json`) that extends `eslint-config-mailonline`: + +```js +{ + "extends": "mailonline", +} ``` ## Extended configs