From 6330e45f98a7e0afbbfc38fb7149ea005f2164af Mon Sep 17 00:00:00 2001 From: Jeroen Claassens Date: Sun, 7 Apr 2024 16:31:29 +0200 Subject: [PATCH 01/21] feat!: update to eslint v9, flat config only BREAKING CHANGE: This package now only exports flat config. For more information see the [eslint migration guide](https://eslint.org/blog/2024/04/eslint-v9.0.0-released) and [flat config guide](https://eslint.org/blog/2022/08/new-config-system-part-2/). The README of this package has instructions for how to use this package with the new flat config system. --- README.md | 369 +++---- angular.js | 1 - astro.js | 1 - browser.js | 1 - common.js | 5 - cypress.js | 1 - edge.js | 1 - eslint.config.js => eslint.config.mjs | 6 +- flat/angular.js | 1 - flat/astro.js | 1 - flat/browser.js | 1 - flat/common.js | 1 - flat/cypress.js | 1 - flat/edge.js | 1 - flat/jsx-a11y.js | 1 - flat/jsx.js | 1 - flat/mdx.js | 1 - flat/module.js | 1 - flat/next.js | 1 - flat/no-deprecated.js | 1 - flat/node.js | 1 - flat/prettier.js | 1 - flat/react.js | 1 - flat/rxjs-angular.js | 1 - flat/rxjs.js | 1 - flat/svelte-typescript.js | 1 - flat/svelte.js | 1 - flat/typescript.js | 1 - flat/vue-typescript.js | 1 - flat/vue.js | 1 - jsx-a11y.js | 1 - jsx.js | 1 - mdx.js | 1 - module.js | 1 - next.js | 1 - no-deprecated.js | 1 - node.js | 1 - package.json | 143 ++- prettier.js | 1 - react.js | 1 - rxjs-angular.js | 1 - rxjs.js | 1 - src/angular.js | 86 +- src/astro.js | 62 +- src/browser.js | 21 +- src/common.js | 71 +- src/cypress.js | 33 +- src/edge.js | 14 +- src/jsx-a11y.js | 26 +- src/jsx.js | 42 +- src/mdx.js | 75 +- src/module.js | 14 +- src/next.js | 21 +- src/no-deprecated.js | 14 +- src/node.js | 52 +- src/prettier.js | 14 +- src/react.js | 26 +- src/rxjs-angular.js | 21 +- src/rxjs.js | 21 +- src/svelte-typescript.js | 25 +- src/svelte.js | 35 +- src/typescript.js | 49 +- src/vue-typescript.js | 24 +- src/vue.js | 42 +- svelte-typescript.js | 1 - svelte.js | 1 - typescript.js | 1 - vue-typescript.js | 1 - vue.js | 1 - yarn.lock | 1268 ++++--------------------- 70 files changed, 755 insertions(+), 1867 deletions(-) delete mode 100644 angular.js delete mode 100644 astro.js delete mode 100644 browser.js delete mode 100644 common.js delete mode 100644 cypress.js delete mode 100644 edge.js rename eslint.config.js => eslint.config.mjs (51%) delete mode 100644 flat/angular.js delete mode 100644 flat/astro.js delete mode 100644 flat/browser.js delete mode 100644 flat/common.js delete mode 100644 flat/cypress.js delete mode 100644 flat/edge.js delete mode 100644 flat/jsx-a11y.js delete mode 100644 flat/jsx.js delete mode 100644 flat/mdx.js delete mode 100644 flat/module.js delete mode 100644 flat/next.js delete mode 100644 flat/no-deprecated.js delete mode 100644 flat/node.js delete mode 100644 flat/prettier.js delete mode 100644 flat/react.js delete mode 100644 flat/rxjs-angular.js delete mode 100644 flat/rxjs.js delete mode 100644 flat/svelte-typescript.js delete mode 100644 flat/svelte.js delete mode 100644 flat/typescript.js delete mode 100644 flat/vue-typescript.js delete mode 100644 flat/vue.js delete mode 100644 jsx-a11y.js delete mode 100644 jsx.js delete mode 100644 mdx.js delete mode 100644 module.js delete mode 100644 next.js delete mode 100644 no-deprecated.js delete mode 100644 node.js delete mode 100644 prettier.js delete mode 100644 react.js delete mode 100644 rxjs-angular.js delete mode 100644 rxjs.js delete mode 100644 svelte-typescript.js delete mode 100644 svelte.js delete mode 100644 typescript.js delete mode 100644 vue-typescript.js delete mode 100644 vue.js diff --git a/README.md b/README.md index 094de23..7da41d7 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ # Neon ESLint Config
-
-

- npm version - npm downloads -

+
+

+ npm version + npm downloads +

## Installation @@ -22,55 +22,67 @@ pnpm add eslint eslint-config-neon This package includes the following configurations: -- [`neon/common`](./src/common.js) – The neon code style guide. -- [`neon/angular`](./src/angular.js) – for usage with [Angular](https://angular.io/). -- [`neon/astro`](./src/astro.js) – for usage with [Astro](https://astro.build/). -- [`neon/browser`](./src/browser.js) – for usage with DOM and other browser APIs. -- [`neon/cypress`](./src/cypress.js) – for usage with [Cypress](https://cypress.io/). -- [`neon/edge`](./src/edge.js) – for usage with an edge runtime [Vercel](https://vercel.com/blog/introducing-the-edge-runtime), [Cloudflare Workers](https://workers.cloudflare.com/), or others. -- [`neon/jsx`](./src/jsx.js) – for usage with [JSX](https://reactjs.org/docs/introducing-jsx.html) (with or without [React](https://reactjs.org/)). -- [`neon/jsx-a11y`](./src/jsx-a11y.js) – for usage with [JSX](https://facebook.github.io/react/) (with or without [React](https://reactjs.org/)) and want to include [accessibility checks](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y). -- [`neon/module`](./src/module.js) – for usage with ESM modules. -- [`neon/next`](./src/next.js) – for usage with [Next.js](https://nextjs.org/). -- [`neon/no-deprecated`](./src/no-deprecated.js) - for reporting deprecated APIs (very slow on big repos, especially monorepos). -- [`neon/node`](./src/node.js) – for usage with Node.js. -- [`neon/prettier`](./src/prettier.js) – for usage with [Prettier](https://prettier.io/). -- [`neon/react`](./src/react.js) – for usage with [React](https://reactjs.org/). -- [`neon/rxjs`](./src/rxjs.js) – for usage with [RxJS](https://rxjs.dev/). -- [`neon/rxjs-angular`](./src/rxjs-angular.js) – for usage [RxJS](https://rxjs.dev/) and [Angular](https://angular.io/). -- [`neon/svelte`](./src/svelte.js) – for usage with [Svelte](https://svelte.dev/). -- [`neon/svelte-typescript`](./src/svelte-typescript.js) – for usage with [Svelte](https://svelte.dev/) and [TypeScript](http://typescriptlang.org/). -- [`neon/typescript`](./src/typescript.js) – for usage with [TypeScript](http://typescriptlang.org/). -- [`neon/vue`](./src/vue.js) – for usage with [Vue](https://vuejs.org/). -- [`neon/vue-typescript`](./src/vue-typescript.js) – for usage with [Vue](https://vuejs.org/) and [TypeScript](http://typescriptlang.org/). +- [`eslint-config-neon/common`](./src/common.js) – The neon code style guide. +- [`eslint-config-neon/angular`](./src/angular.js) – for usage with [Angular](https://angular.io/). +- [`eslint-config-neon/astro`](./src/astro.js) – for usage with [Astro](https://astro.build/). +- [`eslint-config-neon/browser`](./src/browser.js) – for usage with DOM and other browser APIs. +- [`eslint-config-neon/cypress`](./src/cypress.js) – for usage with [Cypress](https://cypress.io/). +- [`eslint-config-neon/edge`](./src/edge.js) – for usage with an edge runtime [Vercel](https://vercel.com/blog/introducing-the-edge-runtime), [Cloudflare Workers](https://workers.cloudflare.com/), or others. +- [`eslint-config-neon/jsx`](./src/jsx.js) – for usage with [JSX](https://reactjs.org/docs/introducing-jsx.html) (with or without [React](https://reactjs.org/)). +- [`eslint-config-neon/jsx-a11y`](./src/jsx-a11y.js) – for usage with [JSX](https://facebook.github.io/react/) (with or without [React](https://reactjs.org/)) and want to include [accessibility checks](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y). +- [`eslint-config-neon/module`](./src/module.js) – for usage with ESM modules. +- [`eslint-config-neon/next`](./src/next.js) – for usage with [Next.js](https://nextjs.org/). +- [`eslint-config-neon/no-deprecated`](./src/no-deprecated.js) - for reporting deprecated APIs (very slow on big repos, especially monorepos). +- [`eslint-config-neon/node`](./src/node.js) – for usage with Node.js. +- [`eslint-config-neon/prettier`](./src/prettier.js) – for usage with [Prettier](https://prettier.io/). +- [`eslint-config-neon/react`](./src/react.js) – for usage with [React](https://reactjs.org/). +- [`eslint-config-neon/rxjs`](./src/rxjs.js) – for usage with [RxJS](https://rxjs.dev/). +- [`eslint-config-neon/rxjs-angular`](./src/rxjs-angular.js) – for usage [RxJS](https://rxjs.dev/) and [Angular](https://angular.io/). +- [`eslint-config-neon/svelte`](./src/svelte.js) – for usage with [Svelte](https://svelte.dev/). +- [`eslint-config-neon/svelte-typescript`](./src/svelte-typescript.js) – for usage with [Svelte](https://svelte.dev/) and [TypeScript](http://typescriptlang.org/). +- [`eslint-config-neon/typescript`](./src/typescript.js) – for usage with [TypeScript](http://typescriptlang.org/). +- [`eslint-config-neon/vue`](./src/vue.js) – for usage with [Vue](https://vuejs.org/). +- [`eslint-config-neon/vue-typescript`](./src/vue-typescript.js) – for usage with [Vue](https://vuejs.org/) and [TypeScript](http://typescriptlang.org/). ### Configuration -```json -{ - "root": true, - "extends": ["neon/common", "neon/node", "neon/typescript", "neon/prettier"], - "parserOptions": { - "project": "./tsconfig.json" +It is important to note that this package only exports [ESLint Flat Config][]! This means that you _have_ to use `eslint.config.js`, `eslint.config.mjs`, or `eslint.config.cjs` to use this package. See the ESLint documentation on flat config for more information. + +```js +module.exports = [ + { + ignore: ["**/dist/*"], + }, + ...require("eslint-config-neon/common"), + ...require("eslint-config-neon/typescript"), + ...require("eslint-config-neon/prettier"), + { + languageOptions: { + project: "./tsconfig.json", + }, }, - "ignorePatterns": ["**/dist/*"] -} +]; ```
Node.js
-```json -{ - "root": true, - "root": true, - "extends": ["neon/common", "neon/node", "neon/typescript", "neon/prettier"], - "parserOptions": { - "project": "./tsconfig.json" +```js +module.exports = [ + { + ignore: ["**/dist/*"], }, - "ignorePatterns": ["**/dist/*"] -} + ...require("eslint-config-neon/common"), + ...require("eslint-config-neon/typescript"), + ...require("eslint-config-neon/node"), + ...require("eslint-config-neon/prettier"), + { + languageOptions: { + project: "./tsconfig.json", + }, + }, +]; ```
@@ -82,64 +94,70 @@ This package includes the following configurations: React: -```json -{ - "root": true, - "extends": [ - "neon/common", - "neon/browser", - "neon/node", - "neon/typescript", - "neon/react", - "neon/next", - "neon/edge", - "neon/prettier" - ], - "settings": { - "react": { - "version": "detect" - } - }, - "parserOptions": { - "project": "./tsconfig.json" - }, - "ignorePatterns": ["**/dist/*"], - "rules": { - "react/react-in-jsx-scope": 0, - "react/jsx-filename-extension": [1, { "extensions": [".tsx"] }] - } -} +```js +module.exports = [ + { + ignore: ["**/dist/*"], + }, + ...require("eslint-config-neon/common"), + ...require("eslint-config-neon/browser"), + ...require("eslint-config-neon/typescript"), + ...require("eslint-config-neon/node"), + ...require("eslint-config-neon/react"), + ...require("eslint-config-neon/edge"), + ...require("eslint-config-neon/prettier"), + { + settings: { + react: { + version: "detect", + }, + }, + languageOptions: { + parserOptions: { + project: "./tsconfig.json", + }, + }, + rules: { + "react/react-in-jsx-scope": 0, + "react/jsx-filename-extension": [1, { extensions: [".tsx"] }], + }, + }, +]; ``` Next: -```json -{ - "root": true, - "extends": [ - "neon/common", - "neon/browser", - "neon/node", - "neon/typescript", - "neon/react", - "neon/next", - "neon/edge", - "neon/prettier" - ], - "settings": { - "react": { - "version": "detect" - } - }, - "parserOptions": { - "project": "./tsconfig.json" - }, - "ignorePatterns": ["**/dist/*"], - "rules": { - "react/react-in-jsx-scope": 0, - "react/jsx-filename-extension": [1, { "extensions": [".tsx"] }] - } -} +```js +module.exports = [ + { + ignore: ["**/dist/*"], + }, + ...require("eslint-config-neon/common"), + ...require("eslint-config-neon/browser"), + ...require("eslint-config-neon/node"), + ...require("eslint-config-neon/typescript"), + ...require("eslint-config-neon/react"), + ...require("eslint-config-neon/next"), + ...require("eslint-config-neon/edge"), + ...require("eslint-config-neon/prettier"), + { + settings: { + react: { + version: "detect", + }, + }, + languageOptions: { + project: "./tsconfig.json", + parserOptions: { + project: "./tsconfig.json", + }, + }, + rules: { + "react/react-in-jsx-scope": 0, + "react/jsx-filename-extension": [1, { extensions: [".tsx"] }], + }, + }, +]; ```
@@ -149,31 +167,35 @@ Next: Astro
-```json -{ - "root": true, - "extends": [ - "neon/common", - "neon/browser", - "neon/node", - "neon/typescript", - "neon/react", - "neon/astro", - "neon/prettier" - ], - "settings": { - "react": { - "version": "detect" - } - }, - "parserOptions": { - "project": "./tsconfig.json" - }, - "ignorePatterns": ["**/dist/*"], - "rules": { - "react/jsx-filename-extension": [1, { "extensions": [".tsx", ".astro"] }] - } -} +```js +module.exports = [ + { + ignore: ["**/dist/*"], + }, + ...require("eslint-config-neon/common"), + ...require("eslint-config-neon/browser"), + ...require("eslint-config-neon/node"), + ...require("eslint-config-neon/typescript"), + ...require("eslint-config-neon/react"), + ...require("eslint-config-neon/astro"), + ...require("eslint-config-neon/prettier"), + { + settings: { + react: { + version: "detect", + }, + }, + languageOptions: { + project: "./tsconfig.json", + parserOptions: { + project: "./tsconfig.json", + }, + }, + rules: { + "react/jsx-filename-extension": [1, { extensions: [".tsx"] }], + }, + }, +]; ```
@@ -183,23 +205,26 @@ Next: Vue 2/3 / Nuxt
-```json -{ - "root": true, - "extends": [ - "neon/common", - "neon/browser", - "neon/node", - "neon/typescript", - "neon/vue", - "neon/vue-typescript", - "neon/prettier" - ], - "parserOptions": { - "project": "./tsconfig.json" - }, - "ignorePatterns": ["**/dist/*"] -} +```js +module.exports = [ + { + ignore: ["**/dist/*"], + }, + ...require("eslint-config-neon/common"), + ...require("eslint-config-neon/browser"), + ...require("eslint-config-neon/node"), + ...require("eslint-config-neon/typescript"), + ...require("eslint-config-neon/vue"), + ...require("eslint-config-neon/vue-typescript"), + ...require("eslint-config-neon/prettier"), + { + languageOptions: { + parserOptions: { + project: "./tsconfig.json", + }, + }, + }, +]; ```
@@ -209,33 +234,34 @@ Next: Angular / NX
-```json -{ - "root": true, - "parserOptions": { - "project": "./tsconfig.json" - }, - "ignorePatterns": ["!**/*"], - "overrides": [ - { - "files": ["*.ts"], - "extends": [ - "neon/common", - "neon/browser", - "neon/node", - "neon/typescript", - "neon/angular", - "neon/rxjs", - "neon/rxjs-angular", - "neon/prettier" - ] +```js +module.exports = [ + { + ignore: ["**/dist/*"], + }, + { + files: ["*.ts"], + ...require("eslint-config-neon/common"), + ...require("eslint-config-neon/browser"), + ...require("eslint-config-neon/node"), + ...require("eslint-config-neon/typescript"), + ...require("eslint-config-neon/angular"), + ...require("eslint-config-neon/rxjs"), + ...require("eslint-config-neon/rxjs-angular"), + ...require("eslint-config-neon/prettier"), + }, + { + files: ["*.html"], + ...require("eslint-config-neon/angular"), + }, + { + languageOptions: { + parserOptions: { + project: "./tsconfig.json", + }, }, - { - "files": ["*.html"], - "extends": ["neon/angular"] - } - ] -} + }, +]; ```
@@ -245,10 +271,15 @@ Next: Prettier and neon are already compatible. Just add it as the last config in your `extends` configuration, e.g. -```json -{ - "extends": ["neon/common", "neon/node", "neon/typescript", "neon/prettier"] -} +```js +module.exports = [ + ...require("eslint-config-neon/common"), + ...require("eslint-config-neon/node"), + ...require("eslint-config-neon/typescript"), + ...require("eslint-config-neon/prettier"), +]; ``` This configuration disables all neon rules that conflict with Prettier. + +[ESLint Flat Config]: https://eslint.org/blog/2022/08/new-config-system-part-2/ diff --git a/angular.js b/angular.js deleted file mode 100644 index 6621510..0000000 --- a/angular.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./src/angular.js").default; diff --git a/astro.js b/astro.js deleted file mode 100644 index 8546869..0000000 --- a/astro.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./src/astro.js").default; diff --git a/browser.js b/browser.js deleted file mode 100644 index d19220b..0000000 --- a/browser.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./src/browser.js").default; diff --git a/common.js b/common.js deleted file mode 100644 index 12a2f55..0000000 --- a/common.js +++ /dev/null @@ -1,5 +0,0 @@ -try { - require("@rushstack/eslint-patch/modern-module-resolution"); -} catch {} - -module.exports = require("./src/common.js").default; diff --git a/cypress.js b/cypress.js deleted file mode 100644 index 991b034..0000000 --- a/cypress.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./src/cypress.js").default; diff --git a/edge.js b/edge.js deleted file mode 100644 index becf9ae..0000000 --- a/edge.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./src/edge.js").default; diff --git a/eslint.config.js b/eslint.config.mjs similarity index 51% rename from eslint.config.js rename to eslint.config.mjs index b537e24..9ab6586 100644 --- a/eslint.config.js +++ b/eslint.config.mjs @@ -1,8 +1,8 @@ // @ts-check import tseslint from "typescript-eslint"; -import common from "./flat/common.js"; -import node from "./flat/node.js"; -import prettier from "./flat/prettier.js"; +import common from "./src/common.js"; +import node from "./src/node.js"; +import prettier from "./src/prettier.js"; export default tseslint.config(...common, ...node, ...prettier); diff --git a/flat/angular.js b/flat/angular.js deleted file mode 100644 index 355152e..0000000 --- a/flat/angular.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("../src/angular.js").flat; diff --git a/flat/astro.js b/flat/astro.js deleted file mode 100644 index 5ca5645..0000000 --- a/flat/astro.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("../src/astro.js").flat; diff --git a/flat/browser.js b/flat/browser.js deleted file mode 100644 index e02e35a..0000000 --- a/flat/browser.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("../src/browser.js").flat; diff --git a/flat/common.js b/flat/common.js deleted file mode 100644 index c6ff256..0000000 --- a/flat/common.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("../src/common.js").flat; diff --git a/flat/cypress.js b/flat/cypress.js deleted file mode 100644 index 9718ebe..0000000 --- a/flat/cypress.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("../src/cypress.js").flat; diff --git a/flat/edge.js b/flat/edge.js deleted file mode 100644 index 2c38a39..0000000 --- a/flat/edge.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("../src/edge.js").flat; diff --git a/flat/jsx-a11y.js b/flat/jsx-a11y.js deleted file mode 100644 index c703e2a..0000000 --- a/flat/jsx-a11y.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("../src/jsx-a11y.js").flat; diff --git a/flat/jsx.js b/flat/jsx.js deleted file mode 100644 index 4c3da1a..0000000 --- a/flat/jsx.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("../src/jsx.js").flat; diff --git a/flat/mdx.js b/flat/mdx.js deleted file mode 100644 index 7dd1544..0000000 --- a/flat/mdx.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("../src/mdx.js").flat; diff --git a/flat/module.js b/flat/module.js deleted file mode 100644 index c159e6e..0000000 --- a/flat/module.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("../src/module.js").flat; diff --git a/flat/next.js b/flat/next.js deleted file mode 100644 index c577363..0000000 --- a/flat/next.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("../src/next.js").flat; diff --git a/flat/no-deprecated.js b/flat/no-deprecated.js deleted file mode 100644 index 0da7e6a..0000000 --- a/flat/no-deprecated.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("../src/no-deprecated.js").flat; diff --git a/flat/node.js b/flat/node.js deleted file mode 100644 index 76d3556..0000000 --- a/flat/node.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("../src/node.js").flat; diff --git a/flat/prettier.js b/flat/prettier.js deleted file mode 100644 index 9235d60..0000000 --- a/flat/prettier.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("../src/prettier.js").flat; diff --git a/flat/react.js b/flat/react.js deleted file mode 100644 index 9807ef5..0000000 --- a/flat/react.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("../src/react.js").flat; diff --git a/flat/rxjs-angular.js b/flat/rxjs-angular.js deleted file mode 100644 index bca7912..0000000 --- a/flat/rxjs-angular.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("../src/rxjs-angular.js").flat; diff --git a/flat/rxjs.js b/flat/rxjs.js deleted file mode 100644 index 29520e2..0000000 --- a/flat/rxjs.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("../src/rxjs.js").flat; diff --git a/flat/svelte-typescript.js b/flat/svelte-typescript.js deleted file mode 100644 index a6fc686..0000000 --- a/flat/svelte-typescript.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("../src/svelte-typescript.js").flat; diff --git a/flat/svelte.js b/flat/svelte.js deleted file mode 100644 index 98696e2..0000000 --- a/flat/svelte.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("../src/svelte.js").flat; diff --git a/flat/typescript.js b/flat/typescript.js deleted file mode 100644 index 6737b1f..0000000 --- a/flat/typescript.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("../src/typescript.js").flat; diff --git a/flat/vue-typescript.js b/flat/vue-typescript.js deleted file mode 100644 index 9ea8d7d..0000000 --- a/flat/vue-typescript.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("../src/vue-typescript.js").flat; diff --git a/flat/vue.js b/flat/vue.js deleted file mode 100644 index fdd6588..0000000 --- a/flat/vue.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("../src/vue.js").flat; diff --git a/jsx-a11y.js b/jsx-a11y.js deleted file mode 100644 index 87e30f2..0000000 --- a/jsx-a11y.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./src/jsx-a11y.js").default; diff --git a/jsx.js b/jsx.js deleted file mode 100644 index 4fa67d2..0000000 --- a/jsx.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./src/jsx.js").default; diff --git a/mdx.js b/mdx.js deleted file mode 100644 index 0032525..0000000 --- a/mdx.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./src/mdx.js").default; diff --git a/module.js b/module.js deleted file mode 100644 index 9977376..0000000 --- a/module.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./src/module.js").default; diff --git a/next.js b/next.js deleted file mode 100644 index 616e656..0000000 --- a/next.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./src/next.js").default; diff --git a/no-deprecated.js b/no-deprecated.js deleted file mode 100644 index b0e9960..0000000 --- a/no-deprecated.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./src/no-deprecated.js").default; diff --git a/node.js b/node.js deleted file mode 100644 index 8348c6b..0000000 --- a/node.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./src/node.js").default; diff --git a/package.json b/package.json index ff4335b..31fb2ab 100644 --- a/package.json +++ b/package.json @@ -3,20 +3,132 @@ "version": "0.1.62", "description": "The ultimate ESLint shareable config", "scripts": { - "lint": "prettier --check . && eslint *.js", - "format": "prettier --write . && eslint *.js --fix", + "lint": "prettier --check . && eslint src", + "format": "prettier --write . && eslint src --fix", "fmt": "yarn format", - "postinstall": "is-ci || husky install", - "prepack": "pinst --disable", - "postpack": "pinst --enable", "update": "yarn upgrade-interactive" }, "type": "commonjs", - "main": "./common.js", + "main": "src/common.js", + "exports": { + ".": { + "require": { + "default": "./src/common.js" + } + }, + "./angular": { + "require": { + "default": "./src/angular.js" + } + }, + "./astro": { + "require": { + "default": "./src/astro.js" + } + }, + "./browser": { + "require": { + "default": "./src/browser.js" + } + }, + "./common": { + "require": { + "default": "./src/common.js" + } + }, + "./cypress": { + "require": { + "default": "./src/cypress.js" + } + }, + "./edge": { + "require": { + "default": "./src/edge.js" + } + }, + "./jsx-a11y": { + "require": { + "default": "./src/jsx-a11y.js" + } + }, + "./jsx": { + "require": { + "default": "./src/jsx.js" + } + }, + "./mdx": { + "require": { + "default": "./src/mdx.js" + } + }, + "./module": { + "require": { + "default": "./src/module.js" + } + }, + "./next": { + "require": { + "default": "./src/next.js" + } + }, + "./no-deprecated": { + "require": { + "default": "./src/no-deprecated.js" + } + }, + "./node": { + "require": { + "default": "./src/node.js" + } + }, + "./prettier": { + "require": { + "default": "./src/prettier.js" + } + }, + "./react": { + "require": { + "default": "./src/react.js" + } + }, + "./rxjs-angular": { + "require": { + "default": "./src/rxjs-angular.js" + } + }, + "./rxjs": { + "require": { + "default": "./src/rxjs.js" + } + }, + "./svelte-typescript": { + "require": { + "default": "./src/svelte-typescript.js" + } + }, + "./svelte": { + "require": { + "default": "./src/svelte.js" + } + }, + "./typescript": { + "require": { + "default": "./src/typescript.js" + } + }, + "./vue-typescript": { + "require": { + "default": "./src/vue-typescript.js" + } + }, + "./vue": { + "require": { + "default": "./src/vue.js" + } + } + }, "files": [ - "*.js", - "src/*.js", - "flat/*.js" + "src/" ], "keywords": [ "eslint", @@ -44,13 +156,13 @@ "@rushstack/eslint-patch": "^1.10.1", "@typescript-eslint/eslint-plugin": "^7.5.0", "@typescript-eslint/parser": "^7.5.0", - "astro-eslint-parser": "^0.16.3", + "astro-eslint-parser": "^0.17.0", "eslint-config-prettier": "^9.1.0", "eslint-import-resolver-typescript": "^3.6.1", "eslint-mdx": "^3.1.5", - "eslint-plugin-astro": "^0.33.1", + "eslint-plugin-astro": "^0.34.0", "eslint-plugin-cypress": "^2.15.1", - "eslint-plugin-import": "npm:eslint-plugin-i@latest", + "eslint-plugin-import": "npm:eslint-plugin-import-x@latest", "eslint-plugin-jsdoc": "^48.2.3", "eslint-plugin-jsx-a11y": "^6.8.0", "eslint-plugin-mdx": "^3.1.5", @@ -71,15 +183,12 @@ "vue-eslint-parser": "^9.4.2" }, "devDependencies": { - "eslint": "^8.57.0", - "husky": "^9.0.11", - "is-ci": "^3.0.1", - "pinst": "^3.0.0", + "eslint": "^9.0.0", "prettier": "^3.2.5", "typescript": "^5.4.4" }, "engines": { - "node": ">=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "packageManager": "yarn@4.1.1" } diff --git a/prettier.js b/prettier.js deleted file mode 100644 index c65b18c..0000000 --- a/prettier.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./src/prettier.js").default; diff --git a/react.js b/react.js deleted file mode 100644 index c16350b..0000000 --- a/react.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./src/react.js").default; diff --git a/rxjs-angular.js b/rxjs-angular.js deleted file mode 100644 index 4a36d20..0000000 --- a/rxjs-angular.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./src/rxjs-angular.js").default; diff --git a/rxjs.js b/rxjs.js deleted file mode 100644 index a10ed8a..0000000 --- a/rxjs.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./src/rxjs.js").default; diff --git a/src/angular.js b/src/angular.js index 2587b56..3e624a9 100644 --- a/src/angular.js +++ b/src/angular.js @@ -1,19 +1,3 @@ -const plugins = (old = true) => - old - ? ["@angular-eslint", "@angular-eslint/template"] - : { - "@angular-eslint": require("@angular-eslint/eslint-plugin"), - "@angular-eslint/template": require("@angular-eslint/eslint-plugin-template"), - }; - -const templatePlugins = (old = true) => - old - ? ["@angular-eslint/template"] - : { "@angular-eslint/template": require("@angular-eslint/eslint-plugin-template") }; - -const templateParser = (old = true) => - old ? "@angular-eslint/template-parser" : require("@angular-eslint/template-parser"); - const rules = { "@angular-eslint/component-class-suffix": 2, "@angular-eslint/contextual-decorator": 2, @@ -70,59 +54,23 @@ const templateRules = { "@angular-eslint/template/use-track-by-function": 2, }; -module.exports = { - /** @type {import('eslint').Linter.Config} */ - default: { - overrides: [ - { - files: ["**/*.ts"], - plugins: plugins(), - processor: "@angular-eslint/template/extract-inline-html", - rules, - }, - { - files: ["**/*.html"], - parser: templateParser(), - plugins: templatePlugins(), - rules: { - "@angular-eslint/template/accessibility-alt-text": 2, - "@angular-eslint/template/accessibility-elements-content": 2, - "@angular-eslint/template/accessibility-label-has-associated-control": 1, - "@angular-eslint/template/accessibility-table-scope": 2, - "@angular-eslint/template/accessibility-valid-aria": 2, - "@angular-eslint/template/banana-in-box": 2, - "@angular-eslint/template/button-has-type": 2, - "@angular-eslint/template/click-events-have-key-events": 2, - "@angular-eslint/template/conditional-complexity": 0, - "@angular-eslint/template/cyclomatic-complexity": 0, - "@angular-eslint/template/eqeqeq": 2, - "@angular-eslint/template/i18n": 0, - "@angular-eslint/template/mouse-events-have-key-events": 2, - "@angular-eslint/template/no-any": 0, - "@angular-eslint/template/no-autofocus": 2, - "@angular-eslint/template/no-call-expression": 2, - "@angular-eslint/template/no-distracting-elements": 2, - "@angular-eslint/template/no-duplicate-attributes": 2, - "@angular-eslint/template/no-negated-async": 2, - "@angular-eslint/template/no-positive-tabindex": 2, - "@angular-eslint/template/use-track-by-function": 2, - }, - }, - ], +/** @type {import('eslint').Linter.FlatConfig[]} */ +module.exports = [ + { + plugins: { + "@angular-eslint": require("@angular-eslint/eslint-plugin"), + "@angular-eslint/template": require("@angular-eslint/eslint-plugin-template"), + }, + processor: "@angular-eslint/template/extract-inline-html", + rules, }, - /** @type {import('eslint').Linter.FlatConfig[]} */ - flat: [ - { - plugins: plugins(false), - processor: "@angular-eslint/template/extract-inline-html", - rules, + { + languageOptions: { + parser: require("@angular-eslint/template-parser"), }, - { - languageOptions: { - parser: templateParser(false), - }, - plugins: templatePlugins(false), - rules: templateRules, + plugins: { + "@angular-eslint/template": require("@angular-eslint/eslint-plugin-template"), }, - ], -}; + rules: templateRules, + }, +]; diff --git a/src/astro.js b/src/astro.js index 119f778..d504acc 100644 --- a/src/astro.js +++ b/src/astro.js @@ -1,55 +1,31 @@ const astroPlugin = require("eslint-plugin-astro"); -const astroParser = (old = true) => (old ? "astro-eslint-parser" : require("astro-eslint-parser")); - -const astroPlugins = (old = true) => (old ? ["astro"] : { astro: astroPlugin }); - const astroRules = { "react/jsx-key": 0, "react/no-unknown-property": 0, "react/self-closing-comp": 0, }; -module.exports = { - /** @type {import('eslint').Linter.Config} */ - default: { - parserOptions: { - extraFileExtensions: [".astro"], - }, - overrides: [ - { - files: ["**/*.astro"], - plugins: astroPlugins(), - env: { - "astro/astro": true, - }, - parser: astroParser(), - rules: astroRules, - }, - { - files: ["**/*.astro/*.js", "*.astro/*.js"], - }, - ], - }, - /** @type {import('eslint').Linter.FlatConfig[]} */ - flat: [ - { - languageOptions: { - globals: astroPlugin.environments.astro.globals, - parserOptions: { - extraFileExtensions: [".astro"], - }, +/** @type {import('eslint').Linter.FlatConfig[]} */ +module.exports = [ + { + languageOptions: { + globals: astroPlugin.environments.astro.globals, + parserOptions: { + extraFileExtensions: [".astro"], }, }, - { - languageOptions: { - parser: astroParser(false), - }, - plugins: astroPlugins(false), - rules: astroRules, + }, + { + languageOptions: { + parser: require("astro-eslint-parser"), }, - { - files: ["**/*.astro/*.js", "*.astro/*.js"], + plugins: { + astro: astroPlugin, }, - ], -}; + rules: astroRules, + }, + { + files: ["**/*.astro/*.js", "*.astro/*.js"], + }, +]; diff --git a/src/browser.js b/src/browser.js index 488bae7..ab1faf9 100644 --- a/src/browser.js +++ b/src/browser.js @@ -9,21 +9,12 @@ const rules = { "unicorn/prefer-modern-dom-apis": 2, }; -module.exports = { - /** @type {import('eslint').Linter.Config} */ - default: { - env: { - browser: true, +/** @type {import('eslint').Linter.FlatConfig[]} */ +module.exports = [ + { + languageOptions: { + globals: globals.browser, }, rules, }, - /** @type {import('eslint').Linter.FlatConfig[]} */ - flat: [ - { - languageOptions: { - globals: globals.browser, - }, - rules, - }, - ], -}; +]; diff --git a/src/common.js b/src/common.js index 4f8eff3..e873711 100644 --- a/src/common.js +++ b/src/common.js @@ -1,12 +1,6 @@ -const plugins = (old = true) => - old - ? ["import", "jsdoc", "unicorn", "promise"] - : { - import: require("eslint-plugin-import"), - jsdoc: require("eslint-plugin-jsdoc"), - unicorn: require("eslint-plugin-unicorn"), - promise: require("eslint-plugin-promise"), - }; +try { + require("@rushstack/eslint-patch/modern-module-resolution"); +} catch {} const rules = { "accessor-pairs": 0, @@ -711,45 +705,30 @@ const settings = { }, }; -module.exports = { - /** @type {import('eslint').Linter.Config} */ - default: { - env: { - es6: true, - }, - parserOptions: { - ecmaFeatures: { - globalReturn: false, - impliedStrict: true, - }, - ecmaVersion: 2_022, - requireConfigFile: false, +/** @type {import('eslint').Linter.FlatConfig[]} */ +module.exports = [ + { + linterOptions: { + reportUnusedDisableDirectives: true, + }, + languageOptions: { + ecmaVersion: "latest", sourceType: "module", + parserOptions: { + requireConfigFile: false, + ecmaFeatures: { + globalReturn: false, + impliedStrict: true, + }, + }, + }, + plugins: { + import: require("eslint-plugin-import"), + jsdoc: require("eslint-plugin-jsdoc"), + unicorn: require("eslint-plugin-unicorn"), + promise: require("eslint-plugin-promise"), }, - plugins: plugins(), rules, settings, }, - /** @type {import('eslint').Linter.FlatConfig[]} */ - flat: [ - { - linterOptions: { - reportUnusedDisableDirectives: true, - }, - languageOptions: { - ecmaVersion: "latest", - sourceType: "module", - parserOptions: { - requireConfigFile: false, - ecmaFeatures: { - globalReturn: false, - impliedStrict: true, - }, - }, - }, - plugins: plugins(false), - rules, - settings, - }, - ], -}; +]; diff --git a/src/cypress.js b/src/cypress.js index 0cb479c..bc00616 100644 --- a/src/cypress.js +++ b/src/cypress.js @@ -1,12 +1,5 @@ const cypress = require("eslint-plugin-cypress"); -const plugins = (old = true) => - old - ? ["cypress"] - : { - cypress, - }; - const rules = { "cypress/assertion-before-screenshot": 2, "cypress/no-assigning-return-values": 2, @@ -17,23 +10,15 @@ const rules = { "import/unambiguous": 0, }; -module.exports = { - /** @type {import('eslint').Linter.Config} */ - default: { - env: { - "cypress/globals": true, +/** @type {import('eslint').Linter.FlatConfig[]} */ +module.exports = [ + { + languageOptions: { + globals: cypress.environments.globals.globals, + }, + plugins: { + cypress, }, - plugins: plugins(), rules, }, - /** @type {import('eslint').Linter.FlatConfig[]} */ - flat: [ - { - languageOptions: { - globals: cypress.environments.globals.globals, - }, - plugins: plugins(false), - rules, - }, - ], -}; +]; diff --git a/src/edge.js b/src/edge.js index 220824a..d1f408a 100644 --- a/src/edge.js +++ b/src/edge.js @@ -10,15 +10,9 @@ const rules = { "n/prefer-global/url-search-params": [2, "always"], }; -module.exports = { - /** @type {import('eslint').Linter.Config} */ - default: { +/** @type {import('eslint').Linter.FlatConfig[]} */ +module.exports = [ + { rules, }, - /** @type {import('eslint').Linter.FlatConfig[]} */ - flat: [ - { - rules, - }, - ], -}; +]; diff --git a/src/jsx-a11y.js b/src/jsx-a11y.js index 4f8a956..a0be228 100644 --- a/src/jsx-a11y.js +++ b/src/jsx-a11y.js @@ -1,10 +1,3 @@ -const plugins = (old = true) => - old - ? ["jsx-a11y"] - : { - "jsx-a11y": require("eslint-plugin-jsx-a11y"), - }; - const rules = { "jsx-a11y/alt-text": 2, "jsx-a11y/anchor-has-content": 2, @@ -85,17 +78,12 @@ const rules = { "jsx-a11y/tabindex-no-positive": 2, }; -module.exports = { - /** @type {import('eslint').Linter.Config} */ - default: { - plugins: plugins(), +/** @type {import('eslint').Linter.FlatConfig[]} */ +module.exports = [ + { + plugins: { + "jsx-a11y": require("eslint-plugin-jsx-a11y"), + }, rules, }, - /** @type {import('eslint').Linter.FlatConfig[]} */ - flat: [ - { - plugins: plugins(false), - rules, - }, - ], -}; +]; diff --git a/src/jsx.js b/src/jsx.js index 5df5148..01432d4 100644 --- a/src/jsx.js +++ b/src/jsx.js @@ -1,10 +1,3 @@ -const plugins = (old = true) => - old - ? ["react"] - : { - react: require("eslint-plugin-react"), - }; - const rules = { "react/jsx-boolean-value": [2, "never"], "react/jsx-child-element-spacing": 0, @@ -114,31 +107,20 @@ const settings = { }, }; -module.exports = { - /** @type {import('eslint').Linter.Config} */ - default: { - parserOptions: { - ecmaFeatures: { - jsx: true, +/** @type {import('eslint').Linter.FlatConfig[]} */ +module.exports = [ + { + languageOptions: { + parserOptions: { + ecmaFeatures: { + jsx: true, + }, }, }, - plugins: plugins(), + plugins: { + react: require("eslint-plugin-react"), + }, rules, settings, }, - /** @type {import('eslint').Linter.FlatConfig[]} */ - flat: [ - { - languageOptions: { - parserOptions: { - ecmaFeatures: { - jsx: true, - }, - }, - }, - plugins: plugins(false), - rules, - settings, - }, - ], -}; +]; diff --git a/src/mdx.js b/src/mdx.js index 7639c2d..bf8d33f 100644 --- a/src/mdx.js +++ b/src/mdx.js @@ -1,13 +1,8 @@ const mdxPlugin = require("eslint-plugin-mdx"); -const plugins = (old = true) => - old - ? ["mdx"] - : { - mdx: mdxPlugin, - }; - -const parser = (old = true) => (old ? "eslint-mdx" : require("eslint-mdx")); +const plugins = { + mdx: mdxPlugin, +}; const rules = { "mdx/remark": 2, @@ -17,51 +12,29 @@ const settings = { "mdx/code-blocks": true, }; -module.exports = { - /** @type {import('eslint').Linter.Config} */ - default: { - overrides: [ - { - files: ["**/*.{md,mdx}"], - plugins: plugins(), - parser: parser(), - parserOptions: { - extensions: [".mdx", ".md"], - }, - processor: "mdx/remark", - rules, - settings, +/** @type {import('eslint').Linter.FlatConfig[]} */ +module.exports = [ + { + languageOptions: { + parser: require("eslint-mdx"), + parserOptions: { + extensions: [".mdx", ".md"], }, - { - files: ["**/*.{md,mdx}/**"], - extends: ["plugin:mdx/code-blocks"], - }, - ], + }, + processor: "mdx/remark", + plugins, + rules, + settings, }, - /** @type {import('eslint').Linter.FlatConfig[]} */ - flat: [ - { - languageOptions: { - parser: parser(false), - parserOptions: { - extensions: [".mdx", ".md"], - }, + { + languageOptions: { + parserOptions: { + ...mdxPlugin.configs["code-blocks"].parserOptions, }, - processor: "mdx/remark", - plugins: plugins(false), - rules, - settings, }, - { - languageOptions: { - parserOptions: { - ...mdxPlugin.configs["code-blocks"].parserOptions, - }, - }, - plugins: plugins(false), - rules: { - ...mdxPlugin.configs["code-blocks"].rules, - }, + plugins, + rules: { + ...mdxPlugin.configs["code-blocks"].rules, }, - ], -}; + }, +]; diff --git a/src/module.js b/src/module.js index 257c57f..5cd99ac 100644 --- a/src/module.js +++ b/src/module.js @@ -2,15 +2,9 @@ const rules = { "unicorn/prefer-module": 2, }; -module.exports = { - /** @type {import('eslint').Linter.Config} */ - default: { +/** @type {import('eslint').Linter.FlatConfig[]} */ +module.exports = [ + { rules, }, - /** @type {import('eslint').Linter.FlatConfig[]} */ - flat: [ - { - rules, - }, - ], -}; +]; diff --git a/src/next.js b/src/next.js index 3b4991c..13bd426 100644 --- a/src/next.js +++ b/src/next.js @@ -1,5 +1,3 @@ -const plugins = (old = true) => (old ? ["@next/next"] : { "@next/next": require("@next/eslint-plugin-next") }); - const rules = { "@next/next/google-font-display": 1, "@next/next/google-font-preconnect": 1, @@ -23,17 +21,12 @@ const rules = { "import/extensions": 0, }; -module.exports = { - /** @type {import('eslint').Linter.Config} */ - default: { - plugins: plugins(), +/** @type {import('eslint').Linter.FlatConfig[]} */ +module.exports = [ + { + plugins: { + "@next/next": require("@next/eslint-plugin-next"), + }, rules, }, - /** @type {import('eslint').Linter.FlatConfig[]} */ - flat: [ - { - plugins: plugins(false), - rules, - }, - ], -}; +]; diff --git a/src/no-deprecated.js b/src/no-deprecated.js index 4d99951..6c3d760 100644 --- a/src/no-deprecated.js +++ b/src/no-deprecated.js @@ -2,15 +2,9 @@ const rules = { "import/no-deprecated": 1, }; -module.exports = { - /** @type {import('eslint').Linter.Config} */ - default: { +/** @type {import('eslint').Linter.FlatConfig[]} */ +module.exports = [ + { rules, }, - /** @type {import('eslint').Linter.FlatConfig[]} */ - flat: [ - { - rules, - }, - ], -}; +]; diff --git a/src/node.js b/src/node.js index b02b858..523a11a 100644 --- a/src/node.js +++ b/src/node.js @@ -1,13 +1,6 @@ // eslint-disable-next-line id-length const n = require("eslint-plugin-n"); - -const plugins = (old = true) => - old - ? ["n"] - : { - // eslint-disable-next-line id-length - n, - }; +const globals = require("globals"); const rules = { "no-restricted-globals": [ @@ -99,33 +92,24 @@ const rules = { "unicorn/require-post-message-target-origin": 0, }; -module.exports = { - /** @type {import('eslint').Linter.Config} */ - default: { - env: { - node: true, - }, - parserOptions: { - ecmaFeatures: { - globalReturn: true, +/** @type {import('eslint').Linter.FlatConfig[]} */ +module.exports = [ + { + languageOptions: { + globals: { + ...n.configs["recommended-module"].globals, + ...globals.node, }, - }, - plugins: plugins(), - rules, - }, - /** @type {import('eslint').Linter.FlatConfig[]} */ - flat: [ - { - languageOptions: { - globals: n.configs["recommended-module"].globals, - parserOptions: { - ecmaFeatures: { - globalReturn: true, - }, + parserOptions: { + ecmaFeatures: { + globalReturn: true, }, }, - plugins: plugins(false), - rules, }, - ], -}; + plugins: { + // eslint-disable-next-line id-length + n, + }, + rules, + }, +]; diff --git a/src/prettier.js b/src/prettier.js index 21cfc1d..b84adfc 100644 --- a/src/prettier.js +++ b/src/prettier.js @@ -8,15 +8,9 @@ const rules = { "no-inline-comments": 0, }; -module.exports = { - /** @type {import('eslint').Linter.Config} */ - default: { +/** @type {import('eslint').Linter.FlatConfig[]} */ +module.exports = [ + { rules, }, - /** @type {import('eslint').Linter.FlatConfig[]} */ - flat: [ - { - rules, - }, - ], -}; +]; diff --git a/src/react.js b/src/react.js index 31074a7..524975d 100644 --- a/src/react.js +++ b/src/react.js @@ -1,10 +1,5 @@ const jsx = require("./jsx.js"); -const plugins = (old = true) => - old - ? ["react", "react-hooks"] - : { react: require("eslint-plugin-react"), "react-hooks": require("eslint-plugin-react-hooks") }; - const rules = { ...jsx.rules, @@ -84,19 +79,14 @@ const settings = { }, }; -module.exports = { - /** @type {import('eslint').Linter.Config} */ - default: { - plugins: plugins(), +/** @type {import('eslint').Linter.FlatConfig[]} */ +module.exports = [ + { + plugins: { + react: require("eslint-plugin-react"), + "react-hooks": require("eslint-plugin-react-hooks"), + }, rules, settings, }, - /** @type {import('eslint').Linter.FlatConfig[]} */ - flat: [ - { - plugins: plugins(false), - rules, - settings, - }, - ], -}; +]; diff --git a/src/rxjs-angular.js b/src/rxjs-angular.js index ab19181..ef40f01 100644 --- a/src/rxjs-angular.js +++ b/src/rxjs-angular.js @@ -1,22 +1,15 @@ -const plugins = (old = true) => (old ? ["rxjs-angular"] : { "rxjs-angular": require("eslint-plugin-rxjs-angular") }); - const rules = { "rxjs-angular/prefer-async-pipe": 0, "rxjs-angular/prefer-composition": 0, "rxjs-angular/prefer-takeuntil": 0, }; -module.exports = { - /** @type {import('eslint').Linter.Config} */ - default: { - plugins: plugins(), +/** @type {import('eslint').Linter.FlatConfig[]} */ +module.exports = [ + { + plugins: { + "rxjs-angular": require("eslint-plugin-rxjs-angular"), + }, rules, }, - /** @type {import('eslint').Linter.FlatConfig[]} */ - flat: [ - { - plugins: plugins(false), - rules, - }, - ], -}; +]; diff --git a/src/rxjs.js b/src/rxjs.js index d6bd5d6..7146cad 100644 --- a/src/rxjs.js +++ b/src/rxjs.js @@ -1,5 +1,3 @@ -const plugins = (old = true) => (old ? ["rxjs"] : { rxjs: require("eslint-plugin-rxjs") }); - const rules = { "rxjs/ban-observables": 0, "rxjs/ban-operators": 0, @@ -42,17 +40,12 @@ const rules = { "rxjs/throw-error": 2, }; -module.exports = { - /** @type {import('eslint').Linter.Config} */ - default: { - plugins: plugins(), +/** @type {import('eslint').Linter.FlatConfig[]} */ +module.exports = [ + { + plugins: { + rxjs: require("eslint-plugin-rxjs"), + }, rules, }, - /** @type {import('eslint').Linter.FlatConfig[]} */ - flat: [ - { - plugins: plugins(false), - rules, - }, - ], -}; +]; diff --git a/src/svelte-typescript.js b/src/svelte-typescript.js index ecc1b46..ea2fe27 100644 --- a/src/svelte-typescript.js +++ b/src/svelte-typescript.js @@ -2,23 +2,14 @@ const settings = { "svelte3/typescript": true, }; -module.exports = { - /** @type {import('eslint').Linter.Config} */ - default: { - parserOptions: { - extraFileExtensions: [".svelte"], +/** @type {import('eslint').Linter.FlatConfig[]} */ +module.exports = [ + { + languageOptions: { + parserOptions: { + extraFileExtensions: [".svelte"], + }, }, settings, }, - /** @type {import('eslint').Linter.FlatConfig[]} */ - flat: [ - { - languageOptions: { - parserOptions: { - extraFileExtensions: [".svelte"], - }, - }, - settings, - }, - ], -}; +]; diff --git a/src/svelte.js b/src/svelte.js index 201cf66..a615d73 100644 --- a/src/svelte.js +++ b/src/svelte.js @@ -1,4 +1,4 @@ -const plugins = (old = true) => (old ? ["svelte3"] : { svelte3: require("eslint-plugin-svelte3") }); +const plugins = { svelte3: require("eslint-plugin-svelte3") }; const svelteRules = { "import/first": 0, @@ -8,27 +8,14 @@ const svelteRules = { "import/prefer-default-export": 0, }; -module.exports = { - /** @type {import('eslint').Linter.Config} */ - default: { - plugins: plugins(), - overrides: [ - { - files: ["**/*.svelte"], - processor: "svelte3/svelte3", - rules: svelteRules, - }, - ], +/** @type {import('eslint').Linter.FlatConfig[]} */ +module.exports = [ + { + plugins, }, - /** @type {import('eslint').Linter.FlatConfig[]} */ - flat: [ - { - plugins: plugins(false), - }, - { - plugins: plugins(false), - processor: "svelte3/svelte3", - rules: svelteRules, - }, - ], -}; + { + plugins, + processor: "svelte3/svelte3", + rules: svelteRules, + }, +]; diff --git a/src/typescript.js b/src/typescript.js index 483731d..98f9535 100644 --- a/src/typescript.js +++ b/src/typescript.js @@ -1,15 +1,3 @@ -const parser = (old = true) => (old ? "@typescript-eslint/parser" : require("typescript-eslint").parser); - -const plugins = (old = true) => - old - ? ["@typescript-eslint", "sonarjs", "tsdoc", "typescript-sort-keys"] - : { - "@typescript-eslint": require("typescript-eslint").plugin, - sonarjs: require("eslint-plugin-sonarjs"), - tsdoc: require("eslint-plugin-tsdoc"), - "typescript-sort-keys": require("eslint-plugin-typescript-sort-keys"), - }; - const rules = { "@typescript-eslint/adjacent-overload-signatures": 2, "@typescript-eslint/array-type": [ @@ -428,28 +416,19 @@ const settings = { }, }; -module.exports = { - /** @type {import('eslint').Linter.Config} */ - default: { - overrides: [ - { - files: ["**/*.ts", "**/*.tsx"], - parser: parser(), - plugins: plugins(), - rules, - }, - ], +/** @type {import('eslint').Linter.FlatConfig[]} */ +module.exports = [ + { + languageOptions: { + parser: require("typescript-eslint").parser, + }, + plugins: { + "@typescript-eslint": require("typescript-eslint").plugin, + sonarjs: require("eslint-plugin-sonarjs"), + tsdoc: require("eslint-plugin-tsdoc"), + "typescript-sort-keys": require("eslint-plugin-typescript-sort-keys"), + }, + rules, settings, }, - /** @type {import('eslint').Linter.FlatConfig[]} */ - flat: [ - { - languageOptions: { - parser: parser(false), - }, - plugins: plugins(false), - rules, - settings, - }, - ], -}; +]; diff --git a/src/vue-typescript.js b/src/vue-typescript.js index ac8cacd..6e084a2 100644 --- a/src/vue-typescript.js +++ b/src/vue-typescript.js @@ -1,18 +1,10 @@ -module.exports = { - /** @type {import('eslint').Linter.Config} */ - default: { - parserOptions: { - extraFileExtensions: [".vue"], - }, - }, - /** @type {import('eslint').Linter.FlatConfig[]} */ - flat: [ - { - languageOptions: { - parserOptions: { - extraFileExtensions: [".vue"], - }, +/** @type {import('eslint').Linter.FlatConfig[]} */ +module.exports = [ + { + languageOptions: { + parserOptions: { + extraFileExtensions: [".vue"], }, }, - ], -}; + }, +]; diff --git a/src/vue.js b/src/vue.js index a54c9ba..c2b11cb 100644 --- a/src/vue.js +++ b/src/vue.js @@ -1,7 +1,3 @@ -const parser = (old = true) => (old ? "vue-eslint-parser" : require("vue-eslint-parser")); - -const plugins = (old = true) => (old ? ["vue"] : { vue: require("eslint-plugin-vue") }); - const rules = { "vue/array-bracket-newline": [2, { multiline: true }], "vue/array-bracket-spacing": [2, "never"], @@ -304,30 +300,18 @@ const vueRules = { indent: 0, }; -module.exports = { - /** @type {import('eslint').Linter.Config} */ - default: { - parser: parser(), - plugins: plugins(), - rules, - overrides: [ - { - files: ["**/*.vue"], - rules: vueRules, - }, - ], - }, - /** @type {import('eslint').Linter.FlatConfig[]} */ - flat: [ - { - languageOptions: { - parser: parser(false), - }, - plugins: plugins(false), - rules, +/** @type {import('eslint').Linter.FlatConfig[]} */ +module.exports = [ + { + languageOptions: { + parser: require("vue-eslint-parser"), }, - { - rules: vueRules, + plugins: { + vue: require("eslint-plugin-vue"), }, - ], -}; + rules, + }, + { + rules: vueRules, + }, +]; diff --git a/svelte-typescript.js b/svelte-typescript.js deleted file mode 100644 index 4938ef2..0000000 --- a/svelte-typescript.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./src/svelte-typescript.js").default; diff --git a/svelte.js b/svelte.js deleted file mode 100644 index 04ae4d9..0000000 --- a/svelte.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./src/svelte.js").default; diff --git a/typescript.js b/typescript.js deleted file mode 100644 index b30169b..0000000 --- a/typescript.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./src/typescript.js").default; diff --git a/vue-typescript.js b/vue-typescript.js deleted file mode 100644 index eb03666..0000000 --- a/vue-typescript.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./src/vue-typescript.js").default; diff --git a/vue.js b/vue.js deleted file mode 100644 index 4bf566c..0000000 --- a/vue.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./src/vue.js").default; diff --git a/yarn.lock b/yarn.lock index b433137..ebf6b39 100644 --- a/yarn.lock +++ b/yarn.lock @@ -145,14 +145,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.18.6, @babel/helper-validator-identifier@npm:^7.19.1": - version: 7.19.1 - resolution: "@babel/helper-validator-identifier@npm:7.19.1" - checksum: 10c0/f978ecfea840f65b64ab9e17fac380625a45f4fe1361eeb29867fcfd1c9eaa72abd7023f2f40ac3168587d7e5153660d16cfccb352a557be2efd347a051b4b20 - languageName: node - linkType: hard - -"@babel/helper-validator-identifier@npm:^7.22.20": +"@babel/helper-validator-identifier@npm:^7.18.6, @babel/helper-validator-identifier@npm:^7.19.1, @babel/helper-validator-identifier@npm:^7.22.20": version: 7.22.20 resolution: "@babel/helper-validator-identifier@npm:7.22.20" checksum: 10c0/dcad63db345fb110e032de46c3688384b0008a42a4845180ce7cd62b1a9c0507a1bed727c4d1060ed1a03ae57b4d918570259f81724aaac1a5b776056f37504e @@ -274,21 +267,38 @@ __metadata: languageName: node linkType: hard -"@eslint/js@npm:8.57.0": - version: 8.57.0 - resolution: "@eslint/js@npm:8.57.0" - checksum: 10c0/9a518bb8625ba3350613903a6d8c622352ab0c6557a59fe6ff6178bf882bf57123f9d92aa826ee8ac3ee74b9c6203fe630e9ee00efb03d753962dcf65ee4bd94 +"@eslint/eslintrc@npm:^3.0.2": + version: 3.0.2 + resolution: "@eslint/eslintrc@npm:3.0.2" + dependencies: + ajv: "npm:^6.12.4" + debug: "npm:^4.3.2" + espree: "npm:^10.0.1" + globals: "npm:^14.0.0" + ignore: "npm:^5.2.0" + import-fresh: "npm:^3.2.1" + js-yaml: "npm:^4.1.0" + minimatch: "npm:^3.1.2" + strip-json-comments: "npm:^3.1.1" + checksum: 10c0/d8c92f06bdf8e2be9fcc0eeac4a9351745174adfcc72571ef3d179101cb55e19f15f6385c2a4f4945a3ba9245802d3371208e2e1e4f00f6bcf6b8711656af85a languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.11.14": - version: 0.11.14 - resolution: "@humanwhocodes/config-array@npm:0.11.14" +"@eslint/js@npm:9.0.0": + version: 9.0.0 + resolution: "@eslint/js@npm:9.0.0" + checksum: 10c0/ec3242a60a2525d2785d96d1e95b8060235f47f3b953aa81626968591ef8c1eb4f7f8b3647db2c97fdfa524eace949a5695be50521f64b8dcc4ed3b493ee409e + languageName: node + linkType: hard + +"@humanwhocodes/config-array@npm:^0.12.3": + version: 0.12.3 + resolution: "@humanwhocodes/config-array@npm:0.12.3" dependencies: - "@humanwhocodes/object-schema": "npm:^2.0.2" + "@humanwhocodes/object-schema": "npm:^2.0.3" debug: "npm:^4.3.1" minimatch: "npm:^3.0.5" - checksum: 10c0/66f725b4ee5fdd8322c737cb5013e19fac72d4d69c8bf4b7feb192fcb83442b035b92186f8e9497c220e58b2d51a080f28a73f7899bc1ab288c3be172c467541 + checksum: 10c0/7a97f1414c63f353557ff8ad2987774cbcd3ed87525909cc845b629518dd74dc92cacf8ac8dc4161549a87441f8c64802ac530ce879ddcbf2551a53ba73d03d1 languageName: node linkType: hard @@ -299,7 +309,7 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^2.0.2": +"@humanwhocodes/object-schema@npm:^2.0.3": version: 2.0.3 resolution: "@humanwhocodes/object-schema@npm:2.0.3" checksum: 10c0/80520eabbfc2d32fe195a93557cef50dfe8c8905de447f022675aaf66abc33ae54098f5ea78548d925aa671cd4ab7c7daa5ad704fe42358c9b5e7db60f80696c @@ -553,20 +563,13 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:^7.0.12": +"@types/json-schema@npm:^7.0.12, @types/json-schema@npm:^7.0.9": version: 7.0.12 resolution: "@types/json-schema@npm:7.0.12" checksum: 10c0/2c39946ae321fe42d085c61a85872a81bbee70f9b2054ad344e8811dfc478fdbaf1ebf5f2989bb87c895ba2dfc3b1dcba85db11e467bbcdc023708814207791c languageName: node linkType: hard -"@types/json-schema@npm:^7.0.9": - version: 7.0.11 - resolution: "@types/json-schema@npm:7.0.11" - checksum: 10c0/bd1f9a7b898ff15c4bb494eb19124f2d688b804c39f07cbf135ac73f35324970e9e8329b72aae1fb543d925ea295a1568b23056c26658cecec4741fa28c3b81a - languageName: node - linkType: hard - "@types/mdast@npm:^3.0.0": version: 3.0.11 resolution: "@types/mdast@npm:3.0.11" @@ -592,14 +595,7 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*": - version: 20.1.0 - resolution: "@types/node@npm:20.1.0" - checksum: 10c0/77173e89fe39867e5f5a2fe8771ae093d6cb81a077319d23090bd257113fb0b6ab327a56966d5d33609b57194ef79ae6fe884c83fc84af7f4915ed79273890a7 - languageName: node - linkType: hard - -"@types/node@npm:^20.0.0": +"@types/node@npm:*, @types/node@npm:^20.0.0": version: 20.11.16 resolution: "@types/node@npm:20.11.16" dependencies: @@ -615,14 +611,7 @@ __metadata: languageName: node linkType: hard -"@types/semver@npm:^7.3.12": - version: 7.3.13 - resolution: "@types/semver@npm:7.3.13" - checksum: 10c0/73295bb1fee46f8c76c7a759feeae5a3022f5bedfdc17d16982092e4b33af17560234fb94861560c20992a702a1e1b9a173bb623a96f95f80892105f5e7d25e3 - languageName: node - linkType: hard - -"@types/semver@npm:^7.5.0": +"@types/semver@npm:^7.3.12, @types/semver@npm:^7.5.0": version: 7.5.0 resolution: "@types/semver@npm:7.5.0" checksum: 10c0/ca4ba4642b5972b6e88e73c5bc02bbaceb8d76bce71748d86e3e95042d4e5a44603113a1dcd2cb9b73ad6f91f6e4ab73185eb41bbfc9c73b11f0ed3db3b7443a @@ -636,20 +625,20 @@ __metadata: languageName: node linkType: hard -"@types/unist@npm:*, @types/unist@npm:^2.0.0, @types/unist@npm:^2.0.2": - version: 2.0.6 - resolution: "@types/unist@npm:2.0.6" - checksum: 10c0/8690789328e8e10c487334341fcf879fd49f8987c98ce49849f9871052f95d87477735171bb661e6f551bdb95235e015dfdad1867ca1d9b5b88a053f72ac40eb - languageName: node - linkType: hard - -"@types/unist@npm:^3.0.0": +"@types/unist@npm:*, @types/unist@npm:^3.0.0": version: 3.0.2 resolution: "@types/unist@npm:3.0.2" checksum: 10c0/39f220ce184a773c55c18a127062bfc4d0d30c987250cd59bab544d97be6cfec93717a49ef96e81f024b575718f798d4d329eb81c452fc57d6d051af8b043ebf languageName: node linkType: hard +"@types/unist@npm:^2.0.0, @types/unist@npm:^2.0.2": + version: 2.0.6 + resolution: "@types/unist@npm:2.0.6" + checksum: 10c0/8690789328e8e10c487334341fcf879fd49f8987c98ce49849f9871052f95d87477735171bb661e6f551bdb95235e015dfdad1867ca1d9b5b88a053f72ac40eb + languageName: node + linkType: hard + "@types/yargs-parser@npm:*": version: 21.0.0 resolution: "@types/yargs-parser@npm:21.0.0" @@ -794,14 +783,14 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:5.59.2, @typescript-eslint/types@npm:^5.25.0": +"@typescript-eslint/types@npm:5.59.2": version: 5.59.2 resolution: "@typescript-eslint/types@npm:5.59.2" checksum: 10c0/6e213fbd54b69d03f4db387931329d1274ff23b1d22514dc05087b35883c52f9050957c662fdc4fc232dc5691c7efab16961894a01bdbaf39412222df8bbd910 languageName: node linkType: hard -"@typescript-eslint/types@npm:5.62.0, @typescript-eslint/types@npm:^5.0.0": +"@typescript-eslint/types@npm:5.62.0, @typescript-eslint/types@npm:^5.0.0, @typescript-eslint/types@npm:^5.25.0": version: 5.62.0 resolution: "@typescript-eslint/types@npm:5.62.0" checksum: 10c0/7febd3a7f0701c0b927e094f02e82d8ee2cada2b186fcb938bc2b94ff6fbad88237afc304cbaf33e82797078bbbb1baf91475f6400912f8b64c89be79bfa4ddf @@ -878,6 +867,24 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/typescript-estree@npm:^5.0.0": + version: 5.62.0 + resolution: "@typescript-eslint/typescript-estree@npm:5.62.0" + dependencies: + "@typescript-eslint/types": "npm:5.62.0" + "@typescript-eslint/visitor-keys": "npm:5.62.0" + debug: "npm:^4.3.4" + globby: "npm:^11.1.0" + is-glob: "npm:^4.0.3" + semver: "npm:^7.3.7" + tsutils: "npm:^3.21.0" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/d7984a3e9d56897b2481940ec803cb8e7ead03df8d9cfd9797350be82ff765dfcf3cfec04e7355e1779e948da8f02bc5e11719d07a596eb1cb995c48a95e38cf + languageName: node + linkType: hard + "@typescript-eslint/utils@npm:5.59.2": version: 5.59.2 resolution: "@typescript-eslint/utils@npm:5.59.2" @@ -913,7 +920,7 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:7.5.0": +"@typescript-eslint/utils@npm:7.5.0, @typescript-eslint/utils@npm:^7.4.0": version: 7.5.0 resolution: "@typescript-eslint/utils@npm:7.5.0" dependencies: @@ -970,7 +977,7 @@ __metadata: languageName: node linkType: hard -"@ungap/structured-clone@npm:^1.0.0, @ungap/structured-clone@npm:^1.2.0": +"@ungap/structured-clone@npm:^1.0.0": version: 1.2.0 resolution: "@ungap/structured-clone@npm:1.2.0" checksum: 10c0/8209c937cb39119f44eb63cf90c0b73e7c754209a6411c707be08e50e29ee81356dca1a848a405c8bdeebfe2f5e4f831ad310ae1689eeef65e7445c090c6657d @@ -993,16 +1000,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.0.0, acorn@npm:^8.8.0": - version: 8.8.2 - resolution: "acorn@npm:8.8.2" - bin: - acorn: bin/acorn - checksum: 10c0/b5c54e736af5ed753911c6752fafd02d0a74cf4d55be606bd81fe71faba4f986dc090952329931ac2aba165803fd0005c59eeef08f9c6c689e8dc420031f3df0 - languageName: node - linkType: hard - -"acorn@npm:^8.11.3": +"acorn@npm:^8.0.0, acorn@npm:^8.11.3, acorn@npm:^8.9.0": version: 8.11.3 resolution: "acorn@npm:8.11.3" bin: @@ -1011,15 +1009,6 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.9.0": - version: 8.10.0 - resolution: "acorn@npm:8.10.0" - bin: - acorn: bin/acorn - checksum: 10c0/deaeebfbea6e40f6c0e1070e9b0e16e76ba484de54cbd735914d1d41d19169a450de8630b7a3a0c4e271a3b0c0b075a3427ad1a40d8a69f8747c0e8cb02ee3e2 - languageName: node - linkType: hard - "ajv@npm:^6.12.4, ajv@npm:~6.12.6": version: 6.12.6 resolution: "ajv@npm:6.12.6" @@ -1094,16 +1083,6 @@ __metadata: languageName: node linkType: hard -"array-buffer-byte-length@npm:^1.0.0": - version: 1.0.0 - resolution: "array-buffer-byte-length@npm:1.0.0" - dependencies: - call-bind: "npm:^1.0.2" - is-array-buffer: "npm:^3.0.1" - checksum: 10c0/12f84f6418b57a954caa41654e5e63e019142a4bbb2c6829ba86d1ba65d31ccfaf1461d1743556fd32b091fac34ff44d9dfbdb001402361c45c373b2c86f5c20 - languageName: node - linkType: hard - "array-buffer-byte-length@npm:^1.0.1": version: 1.0.1 resolution: "array-buffer-byte-length@npm:1.0.1" @@ -1114,20 +1093,7 @@ __metadata: languageName: node linkType: hard -"array-includes@npm:^3.1.5, array-includes@npm:^3.1.6": - version: 3.1.6 - resolution: "array-includes@npm:3.1.6" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.1.4" - es-abstract: "npm:^1.20.4" - get-intrinsic: "npm:^1.1.3" - is-string: "npm:^1.0.7" - checksum: 10c0/d0caeaa57bea7d14b8480daee30cf8611899321006b15a6cd872b831bd7aaed7649f8764e060d01c5d33b8d9e998e5de5c87f4901874e1c1f467f429b7db2929 - languageName: node - linkType: hard - -"array-includes@npm:^3.1.7": +"array-includes@npm:^3.1.6, array-includes@npm:^3.1.7": version: 3.1.7 resolution: "array-includes@npm:3.1.7" dependencies: @@ -1210,21 +1176,6 @@ __metadata: languageName: node linkType: hard -"arraybuffer.prototype.slice@npm:^1.0.2": - version: 1.0.2 - resolution: "arraybuffer.prototype.slice@npm:1.0.2" - dependencies: - array-buffer-byte-length: "npm:^1.0.0" - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - get-intrinsic: "npm:^1.2.1" - is-array-buffer: "npm:^3.0.2" - is-shared-array-buffer: "npm:^1.0.2" - checksum: 10c0/96b6e40e439678ffb7fa266398510074d33c3980fbb475490b69980cca60adec3b0777047ef377068a29862157f83edef42efc64ce48ce38977d04d68de5b7fb - languageName: node - linkType: hard - "arraybuffer.prototype.slice@npm:^1.0.3": version: 1.0.3 resolution: "arraybuffer.prototype.slice@npm:1.0.3" @@ -1248,20 +1199,23 @@ __metadata: languageName: node linkType: hard -"astro-eslint-parser@npm:^0.16.3": - version: 0.16.3 - resolution: "astro-eslint-parser@npm:0.16.3" +"astro-eslint-parser@npm:^0.17.0": + version: 0.17.0 + resolution: "astro-eslint-parser@npm:0.17.0" dependencies: "@astrojs/compiler": "npm:^2.0.0" "@typescript-eslint/scope-manager": "npm:^5.0.0" "@typescript-eslint/types": "npm:^5.0.0" + "@typescript-eslint/typescript-estree": "npm:^5.0.0" astrojs-compiler-sync: "npm:^0.3.0" debug: "npm:^4.3.4" entities: "npm:^4.5.0" eslint-visitor-keys: "npm:^3.0.0" espree: "npm:^9.0.0" + globby: "npm:^11.1.0" + is-glob: "npm:^4.0.3" semver: "npm:^7.3.8" - checksum: 10c0/b38e203f034023dc3016f5feafedad2b1ee80530d0c3226c23b69c16a134b00956d61973e927bb209caa4efb1d10f995cf6af5bf6be831c1eeffd103b74c4b5e + checksum: 10c0/a1d863f8033b906a9d894230120e644e21e5c9ff1f247f29c006b77e570bf8e282a4fffd4c5c8e6dade8284f71b429e762264b654a96a8b1f433ac48663a0947 languageName: node linkType: hard @@ -1276,29 +1230,6 @@ __metadata: languageName: node linkType: hard -"asynciterator.prototype@npm:^1.0.0": - version: 1.0.0 - resolution: "asynciterator.prototype@npm:1.0.0" - dependencies: - has-symbols: "npm:^1.0.3" - checksum: 10c0/fb76850e57d931ff59fd16b6cddb79b0d34fe45f400b2c3480d38892e72cd089787401687dbdb7cdb14ece402c275d3e02a648760d1489cd493527129c4c6204 - languageName: node - linkType: hard - -"available-typed-arrays@npm:^1.0.5": - version: 1.0.5 - resolution: "available-typed-arrays@npm:1.0.5" - checksum: 10c0/c4df567ca72d2754a6cbad20088f5f98b1065b3360178169fa9b44ea101af62c0f423fc3854fa820fd6895b6b9171b8386e71558203103ff8fc2ad503fdcc660 - languageName: node - linkType: hard - -"available-typed-arrays@npm:^1.0.6": - version: 1.0.6 - resolution: "available-typed-arrays@npm:1.0.6" - checksum: 10c0/e427360e68ccb19fa0ea48421f393ef3f3d2c9c561f6a8a0704ff472d58024be3e4101f00565445ba453de723a76f4a650defbacaea663c3fb3be8b8f842e955 - languageName: node - linkType: hard - "available-typed-arrays@npm:^1.0.7": version: 1.0.7 resolution: "available-typed-arrays@npm:1.0.7" @@ -1462,28 +1393,7 @@ __metadata: languageName: node linkType: hard -"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2": - version: 1.0.2 - resolution: "call-bind@npm:1.0.2" - dependencies: - function-bind: "npm:^1.1.1" - get-intrinsic: "npm:^1.0.2" - checksum: 10c0/74ba3f31e715456e22e451d8d098779b861eba3c7cac0d9b510049aced70d75c231ba05071f97e1812c98e34e2bee734c0c6126653e0088c2d9819ca047f4073 - languageName: node - linkType: hard - -"call-bind@npm:^1.0.5": - version: 1.0.5 - resolution: "call-bind@npm:1.0.5" - dependencies: - function-bind: "npm:^1.1.2" - get-intrinsic: "npm:^1.2.1" - set-function-length: "npm:^1.1.1" - checksum: 10c0/a6172c168fd6dacf744fcde745099218056bd755c50415b592655dcd6562157ed29f130f56c3f6db2250f67e4bd62e5c218cdc56d7bfd76e0bda50770fce2d10 - languageName: node - linkType: hard - -"call-bind@npm:^1.0.6, call-bind@npm:^1.0.7": +"call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.6, call-bind@npm:^1.0.7": version: 1.0.7 resolution: "call-bind@npm:1.0.7" dependencies: @@ -1594,13 +1504,6 @@ __metadata: languageName: node linkType: hard -"ci-info@npm:^3.2.0": - version: 3.8.0 - resolution: "ci-info@npm:3.8.0" - checksum: 10c0/0d3052193b58356372b34ab40d2668c3e62f1006d5ca33726d1d3c423853b19a85508eadde7f5908496fb41448f465263bf61c1ee58b7832cb6a924537e3863a - languageName: node - linkType: hard - "ci-info@npm:^4.0.0": version: 4.0.0 resolution: "ci-info@npm:4.0.0" @@ -1828,18 +1731,7 @@ __metadata: languageName: node linkType: hard -"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.1": - version: 1.1.1 - resolution: "define-data-property@npm:1.1.1" - dependencies: - get-intrinsic: "npm:^1.2.1" - gopd: "npm:^1.0.1" - has-property-descriptors: "npm:^1.0.0" - checksum: 10c0/77ef6e0bceb515e05b5913ab635a84d537cee84f8a7c37c77fdcb31fc5b80f6dbe81b33375e4b67d96aa04e6a0d8d4ea099e431d83f089af8d93adfb584bcb94 - languageName: node - linkType: hard - -"define-data-property@npm:^1.1.4": +"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.4": version: 1.1.4 resolution: "define-data-property@npm:1.1.4" dependencies: @@ -1857,17 +1749,7 @@ __metadata: languageName: node linkType: hard -"define-properties@npm:^1.1.3, define-properties@npm:^1.1.4, define-properties@npm:^1.2.0": - version: 1.2.0 - resolution: "define-properties@npm:1.2.0" - dependencies: - has-property-descriptors: "npm:^1.0.0" - object-keys: "npm:^1.1.1" - checksum: 10c0/34b58cae4651936a3c8c720310ce393a3227f5123640ab5402e7d6e59bb44f8295b789cb5d74e7513682b2e60ff20586d6f52b726d964d617abffa3da76344e0 - languageName: node - linkType: hard - -"define-properties@npm:^1.2.1": +"define-properties@npm:^1.1.3, define-properties@npm:^1.2.0, define-properties@npm:^1.2.1": version: 1.2.1 resolution: "define-properties@npm:1.2.1" dependencies: @@ -1989,96 +1871,7 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.19.0, es-abstract@npm:^1.20.4": - version: 1.21.2 - resolution: "es-abstract@npm:1.21.2" - dependencies: - array-buffer-byte-length: "npm:^1.0.0" - available-typed-arrays: "npm:^1.0.5" - call-bind: "npm:^1.0.2" - es-set-tostringtag: "npm:^2.0.1" - es-to-primitive: "npm:^1.2.1" - function.prototype.name: "npm:^1.1.5" - get-intrinsic: "npm:^1.2.0" - get-symbol-description: "npm:^1.0.0" - globalthis: "npm:^1.0.3" - gopd: "npm:^1.0.1" - has: "npm:^1.0.3" - has-property-descriptors: "npm:^1.0.0" - has-proto: "npm:^1.0.1" - has-symbols: "npm:^1.0.3" - internal-slot: "npm:^1.0.5" - is-array-buffer: "npm:^3.0.2" - is-callable: "npm:^1.2.7" - is-negative-zero: "npm:^2.0.2" - is-regex: "npm:^1.1.4" - is-shared-array-buffer: "npm:^1.0.2" - is-string: "npm:^1.0.7" - is-typed-array: "npm:^1.1.10" - is-weakref: "npm:^1.0.2" - object-inspect: "npm:^1.12.3" - object-keys: "npm:^1.1.1" - object.assign: "npm:^4.1.4" - regexp.prototype.flags: "npm:^1.4.3" - safe-regex-test: "npm:^1.0.0" - string.prototype.trim: "npm:^1.2.7" - string.prototype.trimend: "npm:^1.0.6" - string.prototype.trimstart: "npm:^1.0.6" - typed-array-length: "npm:^1.0.4" - unbox-primitive: "npm:^1.0.2" - which-typed-array: "npm:^1.1.9" - checksum: 10c0/7dc2c882bafbb13609b9c35c29f0717ebf5a4dbde23a73803be821f349aa38d55f324318ccebb6da83c074260622f11d0a7f4cd1e0e19f52cc03b6b5386693fb - languageName: node - linkType: hard - -"es-abstract@npm:^1.22.1": - version: 1.22.3 - resolution: "es-abstract@npm:1.22.3" - dependencies: - array-buffer-byte-length: "npm:^1.0.0" - arraybuffer.prototype.slice: "npm:^1.0.2" - available-typed-arrays: "npm:^1.0.5" - call-bind: "npm:^1.0.5" - es-set-tostringtag: "npm:^2.0.1" - es-to-primitive: "npm:^1.2.1" - function.prototype.name: "npm:^1.1.6" - get-intrinsic: "npm:^1.2.2" - get-symbol-description: "npm:^1.0.0" - globalthis: "npm:^1.0.3" - gopd: "npm:^1.0.1" - has-property-descriptors: "npm:^1.0.0" - has-proto: "npm:^1.0.1" - has-symbols: "npm:^1.0.3" - hasown: "npm:^2.0.0" - internal-slot: "npm:^1.0.5" - is-array-buffer: "npm:^3.0.2" - is-callable: "npm:^1.2.7" - is-negative-zero: "npm:^2.0.2" - is-regex: "npm:^1.1.4" - is-shared-array-buffer: "npm:^1.0.2" - is-string: "npm:^1.0.7" - is-typed-array: "npm:^1.1.12" - is-weakref: "npm:^1.0.2" - object-inspect: "npm:^1.13.1" - object-keys: "npm:^1.1.1" - object.assign: "npm:^4.1.4" - regexp.prototype.flags: "npm:^1.5.1" - safe-array-concat: "npm:^1.0.1" - safe-regex-test: "npm:^1.0.0" - string.prototype.trim: "npm:^1.2.8" - string.prototype.trimend: "npm:^1.0.7" - string.prototype.trimstart: "npm:^1.0.7" - typed-array-buffer: "npm:^1.0.0" - typed-array-byte-length: "npm:^1.0.0" - typed-array-byte-offset: "npm:^1.0.0" - typed-array-length: "npm:^1.0.4" - unbox-primitive: "npm:^1.0.2" - which-typed-array: "npm:^1.1.13" - checksum: 10c0/da31ec43b1c8eb47ba8a17693cac143682a1078b6c3cd883ce0e2062f135f532e93d873694ef439670e1f6ca03195118f43567ba6f33fb0d6c7daae750090236 - languageName: node - linkType: hard - -"es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.2": +"es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.2": version: 1.23.2 resolution: "es-abstract@npm:1.23.2" dependencies: @@ -2148,29 +1941,7 @@ __metadata: languageName: node linkType: hard -"es-iterator-helpers@npm:^1.0.15": - version: 1.0.15 - resolution: "es-iterator-helpers@npm:1.0.15" - dependencies: - asynciterator.prototype: "npm:^1.0.0" - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.22.1" - es-set-tostringtag: "npm:^2.0.1" - function-bind: "npm:^1.1.1" - get-intrinsic: "npm:^1.2.1" - globalthis: "npm:^1.0.3" - has-property-descriptors: "npm:^1.0.0" - has-proto: "npm:^1.0.1" - has-symbols: "npm:^1.0.3" - internal-slot: "npm:^1.0.5" - iterator.prototype: "npm:^1.1.2" - safe-array-concat: "npm:^1.0.1" - checksum: 10c0/b4c83f94bfe624260d5238092de3173989f76f1416b1d02c388aea3b2024174e5f5f0e864057311ac99790b57e836ca3545b6e77256b26066dac944519f5e6d6 - languageName: node - linkType: hard - -"es-iterator-helpers@npm:^1.0.17": +"es-iterator-helpers@npm:^1.0.15, es-iterator-helpers@npm:^1.0.17": version: 1.0.18 resolution: "es-iterator-helpers@npm:1.0.18" dependencies: @@ -2201,17 +1972,6 @@ __metadata: languageName: node linkType: hard -"es-set-tostringtag@npm:^2.0.1": - version: 2.0.1 - resolution: "es-set-tostringtag@npm:2.0.1" - dependencies: - get-intrinsic: "npm:^1.1.3" - has: "npm:^1.0.3" - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/9af096365e3861bb29755cc5f76f15f66a7eab0e83befca396129090c1d9737e54090278b8e5357e97b5f0a5b0459fca07c40c6740884c2659cbf90ef8e508cc - languageName: node - linkType: hard - "es-set-tostringtag@npm:^2.0.3": version: 2.0.3 resolution: "es-set-tostringtag@npm:2.0.3" @@ -2223,16 +1983,7 @@ __metadata: languageName: node linkType: hard -"es-shim-unscopables@npm:^1.0.0": - version: 1.0.0 - resolution: "es-shim-unscopables@npm:1.0.0" - dependencies: - has: "npm:^1.0.3" - checksum: 10c0/d54a66239fbd19535b3e50333913260394f14d2d7adb136a95396a13ca584bab400cf9cb2ffd9232f3fe2f0362540bd3a708240c493e46e13fe0b90cfcfedc3d - languageName: node - linkType: hard - -"es-shim-unscopables@npm:^1.0.2": +"es-shim-unscopables@npm:^1.0.0, es-shim-unscopables@npm:^1.0.2": version: 1.0.2 resolution: "es-shim-unscopables@npm:1.0.2" dependencies: @@ -2304,14 +2055,14 @@ __metadata: "@rushstack/eslint-patch": "npm:^1.10.1" "@typescript-eslint/eslint-plugin": "npm:^7.5.0" "@typescript-eslint/parser": "npm:^7.5.0" - astro-eslint-parser: "npm:^0.16.3" - eslint: "npm:^8.57.0" + astro-eslint-parser: "npm:^0.17.0" + eslint: "npm:^9.0.0" eslint-config-prettier: "npm:^9.1.0" eslint-import-resolver-typescript: "npm:^3.6.1" eslint-mdx: "npm:^3.1.5" - eslint-plugin-astro: "npm:^0.33.1" + eslint-plugin-astro: "npm:^0.34.0" eslint-plugin-cypress: "npm:^2.15.1" - eslint-plugin-import: "npm:eslint-plugin-i@latest" + eslint-plugin-import: "npm:eslint-plugin-import-x@latest" eslint-plugin-jsdoc: "npm:^48.2.3" eslint-plugin-jsx-a11y: "npm:^6.8.0" eslint-plugin-mdx: "npm:^3.1.5" @@ -2328,9 +2079,6 @@ __metadata: eslint-plugin-unicorn: "npm:^52.0.0" eslint-plugin-vue: "npm:^9.24.0" globals: "npm:^15.0.0" - husky: "npm:^9.0.11" - is-ci: "npm:^3.0.1" - pinst: "npm:^3.0.0" prettier: "npm:^3.2.5" typescript: "npm:^5.4.4" typescript-eslint: "npm:^7.5.0" @@ -2363,14 +2111,14 @@ __metadata: languageName: node linkType: hard -"eslint-import-resolver-node@npm:^0.3.7": - version: 0.3.7 - resolution: "eslint-import-resolver-node@npm:0.3.7" +"eslint-import-resolver-node@npm:^0.3.9": + version: 0.3.9 + resolution: "eslint-import-resolver-node@npm:0.3.9" dependencies: debug: "npm:^3.2.7" - is-core-module: "npm:^2.11.0" - resolve: "npm:^1.22.1" - checksum: 10c0/39c562b59ec8dfd6b85ffa52273dbf0edb661b616463e2c453c60b2398b0a76f268f15f949a1648046c9c996d29599b57f6266df4b5d3562bff1088ded3672d5 + is-core-module: "npm:^2.13.0" + resolve: "npm:^1.22.4" + checksum: 10c0/0ea8a24a72328a51fd95aa8f660dcca74c1429806737cf10261ab90cfcaaf62fd1eff664b76a44270868e0a932711a81b250053942595bcd00a93b1c1575dd61 languageName: node linkType: hard @@ -2416,7 +2164,7 @@ __metadata: languageName: node linkType: hard -"eslint-module-utils@npm:^2.7.4, eslint-module-utils@npm:^2.8.0": +"eslint-module-utils@npm:^2.7.4": version: 2.8.0 resolution: "eslint-module-utils@npm:2.8.0" dependencies: @@ -2428,21 +2176,21 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-astro@npm:^0.33.1": - version: 0.33.1 - resolution: "eslint-plugin-astro@npm:0.33.1" +"eslint-plugin-astro@npm:^0.34.0": + version: 0.34.0 + resolution: "eslint-plugin-astro@npm:0.34.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" "@jridgewell/sourcemap-codec": "npm:^1.4.14" "@typescript-eslint/types": "npm:^5.25.0" - astro-eslint-parser: "npm:^0.16.3" + astro-eslint-parser: "npm:^0.17.0" eslint-compat-utils: "npm:^0.5.0" globals: "npm:^13.0.0" postcss: "npm:^8.4.14" postcss-selector-parser: "npm:^6.0.10" peerDependencies: eslint: ">=7.0.0" - checksum: 10c0/59ea96e75c05723b84249ebc6ca053b1fd6c6bd6bd1c2f32546b52a890ff1cb0715f38eb2c6b157c27b82cf9b1313dc7331341cc14f2e159a8cb8c3b018e23ad + checksum: 10c0/537f3accae6c3af642b84d42c6304c28eab8ed5768de318f8d4d52186b2eec37869425023d804947a93530d510c32f29d37b20d39d783b79c168d1b3112c8994 languageName: node linkType: hard @@ -2470,22 +2218,21 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-import@npm:eslint-plugin-i@latest": - version: 2.28.0-2 - resolution: "eslint-plugin-i@npm:2.28.0-2" +"eslint-plugin-import@npm:eslint-plugin-import-x@latest": + version: 0.5.0 + resolution: "eslint-plugin-import-x@npm:0.5.0" dependencies: - debug: "npm:^3.2.7" - doctrine: "npm:^2.1.0" - eslint-import-resolver-node: "npm:^0.3.7" - eslint-module-utils: "npm:^2.8.0" - get-tsconfig: "npm:^4.6.2" + "@typescript-eslint/utils": "npm:^7.4.0" + debug: "npm:^4.3.4" + doctrine: "npm:^3.0.0" + eslint-import-resolver-node: "npm:^0.3.9" + get-tsconfig: "npm:^4.7.3" is-glob: "npm:^4.0.3" - minimatch: "npm:^3.1.2" - resolve: "npm:^1.22.3" - semver: "npm:^7.5.3" + minimatch: "npm:^9.0.3" + semver: "npm:^7.6.0" peerDependencies: - eslint: ^7.2.0 || ^8 - checksum: 10c0/5a9b8d747875896188c1db9555705051175f86322dc34b8f0a8aea7637490cbfc35e17327250f5f8f5ff6f668c0309dff529dd187d6a732872cc96f941aec873 + eslint: ^8.56.0 || ^9.0.0-0 + checksum: 10c0/4e52f0d5ba2e0579ec9a65bb71a4b78e1a57ec9c0b67169485c70cbdfe725fb738a2cd316551c570d89946b90f25d193aabc43b35e0d6fda38e7623e8b0d38e7 languageName: node linkType: hard @@ -2774,81 +2521,60 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^7.2.2": - version: 7.2.2 - resolution: "eslint-scope@npm:7.2.2" - dependencies: - esrecurse: "npm:^4.3.0" - estraverse: "npm:^5.2.0" - checksum: 10c0/613c267aea34b5a6d6c00514e8545ef1f1433108097e857225fed40d397dd6b1809dffd11c2fde23b37ca53d7bf935fe04d2a18e6fc932b31837b6ad67e1c116 - languageName: node - linkType: hard - -"eslint-scope@npm:^8.0.0": - version: 8.0.0 - resolution: "eslint-scope@npm:8.0.0" +"eslint-scope@npm:^8.0.0, eslint-scope@npm:^8.0.1": + version: 8.0.1 + resolution: "eslint-scope@npm:8.0.1" dependencies: esrecurse: "npm:^4.3.0" estraverse: "npm:^5.2.0" - checksum: 10c0/ba1091ee64dece6fdad3c7c0d25c52c58bec197083379a128627ca5ba2bf70e416948405cb5cbcf64655988103f460cfeb2dc4eeb582170f5e5cb20992a14e19 - languageName: node - linkType: hard - -"eslint-visitor-keys@npm:^3.0.0, eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.0": - version: 3.4.0 - resolution: "eslint-visitor-keys@npm:3.4.0" - checksum: 10c0/8b8cc611219b8864952a7485540482763e33289d734161bd6fe00cb6c1fc98af6bd8fe5c1d02d6d2b2657ff5cc52d30828fd52606ed50924412953a3e7d95cb7 + checksum: 10c0/0ec40ab284e58ac7ef064ecd23c127e03d339fa57173c96852336c73afc70ce5631da21dc1c772415a37a421291845538dd69db83c68d611044c0fde1d1fa269 languageName: node linkType: hard -"eslint-visitor-keys@npm:^3.4.1": +"eslint-visitor-keys@npm:^3.0.0, eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1": version: 3.4.1 resolution: "eslint-visitor-keys@npm:3.4.1" checksum: 10c0/b4ebd35aed5426cd81b1fb92487825f1acf47a31e91d76597a3ee0664d69627140c4dafaf9b319cfeb1f48c1113a393e21a734c669e6565a72e6fcc311bd9911 languageName: node linkType: hard -"eslint-visitor-keys@npm:^3.4.3": - version: 3.4.3 - resolution: "eslint-visitor-keys@npm:3.4.3" - checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 +"eslint-visitor-keys@npm:^4.0.0": + version: 4.0.0 + resolution: "eslint-visitor-keys@npm:4.0.0" + checksum: 10c0/76619f42cf162705a1515a6868e6fc7567e185c7063a05621a8ac4c3b850d022661262c21d9f1fc1d144ecf0d5d64d70a3f43c15c3fc969a61ace0fb25698cf5 languageName: node linkType: hard -"eslint@npm:^8.57.0": - version: 8.57.0 - resolution: "eslint@npm:8.57.0" +"eslint@npm:^9.0.0": + version: 9.0.0 + resolution: "eslint@npm:9.0.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" "@eslint-community/regexpp": "npm:^4.6.1" - "@eslint/eslintrc": "npm:^2.1.4" - "@eslint/js": "npm:8.57.0" - "@humanwhocodes/config-array": "npm:^0.11.14" + "@eslint/eslintrc": "npm:^3.0.2" + "@eslint/js": "npm:9.0.0" + "@humanwhocodes/config-array": "npm:^0.12.3" "@humanwhocodes/module-importer": "npm:^1.0.1" "@nodelib/fs.walk": "npm:^1.2.8" - "@ungap/structured-clone": "npm:^1.2.0" ajv: "npm:^6.12.4" chalk: "npm:^4.0.0" cross-spawn: "npm:^7.0.2" debug: "npm:^4.3.2" - doctrine: "npm:^3.0.0" escape-string-regexp: "npm:^4.0.0" - eslint-scope: "npm:^7.2.2" - eslint-visitor-keys: "npm:^3.4.3" - espree: "npm:^9.6.1" + eslint-scope: "npm:^8.0.1" + eslint-visitor-keys: "npm:^4.0.0" + espree: "npm:^10.0.1" esquery: "npm:^1.4.2" esutils: "npm:^2.0.2" fast-deep-equal: "npm:^3.1.3" - file-entry-cache: "npm:^6.0.1" + file-entry-cache: "npm:^8.0.0" find-up: "npm:^5.0.0" glob-parent: "npm:^6.0.2" - globals: "npm:^13.19.0" graphemer: "npm:^1.4.0" ignore: "npm:^5.2.0" imurmurhash: "npm:^0.1.4" is-glob: "npm:^4.0.0" is-path-inside: "npm:^3.0.3" - js-yaml: "npm:^4.1.0" json-stable-stringify-without-jsonify: "npm:^1.0.1" levn: "npm:^0.4.1" lodash.merge: "npm:^4.6.2" @@ -2859,22 +2585,22 @@ __metadata: text-table: "npm:^0.2.0" bin: eslint: bin/eslint.js - checksum: 10c0/00bb96fd2471039a312435a6776fe1fd557c056755eaa2b96093ef3a8508c92c8775d5f754768be6b1dddd09fdd3379ddb231eeb9b6c579ee17ea7d68000a529 + checksum: 10c0/ab23e45cfef5ec174fc165edc03e0d6655fd7e50fd18068e6d966e9640f0d0a9048244e1297569ba4fd1ccddcfc0b00fb0c9723caa4209e0b2b23139ae688368 languageName: node linkType: hard -"espree@npm:^9.0.0, espree@npm:^9.3.1": - version: 9.5.1 - resolution: "espree@npm:9.5.1" +"espree@npm:^10.0.1": + version: 10.0.1 + resolution: "espree@npm:10.0.1" dependencies: - acorn: "npm:^8.8.0" + acorn: "npm:^8.11.3" acorn-jsx: "npm:^5.3.2" - eslint-visitor-keys: "npm:^3.4.0" - checksum: 10c0/a67a1551895aa25c59c182a58e45d31a34cbeffb4a3731812db0a859fa0373cd9921af22a8aae15f42c3bf22c75a1dbd2304cdeb6530a5e7f672af87a9f9ef5f + eslint-visitor-keys: "npm:^4.0.0" + checksum: 10c0/7c0f84afa0f9db7bb899619e6364ed832ef13fe8943691757ddde9a1805ae68b826ed66803323015f707a629a5507d0d290edda2276c25131fe0ad883b8b5636 languageName: node linkType: hard -"espree@npm:^9.6.0, espree@npm:^9.6.1": +"espree@npm:^9.0.0, espree@npm:^9.3.1, espree@npm:^9.6.0, espree@npm:^9.6.1": version: 9.6.1 resolution: "espree@npm:9.6.1" dependencies: @@ -2989,20 +2715,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.9": - version: 3.2.12 - resolution: "fast-glob@npm:3.2.12" - dependencies: - "@nodelib/fs.stat": "npm:^2.0.2" - "@nodelib/fs.walk": "npm:^1.2.3" - glob-parent: "npm:^5.1.2" - merge2: "npm:^1.3.0" - micromatch: "npm:^4.0.4" - checksum: 10c0/08604fb8ef6442ce74068bef3c3104382bb1f5ab28cf75e4ee904662778b60ad620e1405e692b7edea598ef445f5d387827a965ba034e1892bf54b1dfde97f26 - languageName: node - linkType: hard - -"fast-glob@npm:^3.3.1": +"fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.1": version: 3.3.1 resolution: "fast-glob@npm:3.3.1" dependencies: @@ -3038,12 +2751,12 @@ __metadata: languageName: node linkType: hard -"file-entry-cache@npm:^6.0.1": - version: 6.0.1 - resolution: "file-entry-cache@npm:6.0.1" +"file-entry-cache@npm:^8.0.0": + version: 8.0.0 + resolution: "file-entry-cache@npm:8.0.0" dependencies: - flat-cache: "npm:^3.0.4" - checksum: 10c0/58473e8a82794d01b38e5e435f6feaf648e3f36fdb3a56e98f417f4efae71ad1c0d4ebd8a9a7c50c3ad085820a93fc7494ad721e0e4ebc1da3573f4e1c3c7cdd + flat-cache: "npm:^4.0.0" + checksum: 10c0/9e2b5938b1cd9b6d7e3612bdc533afd4ac17b2fc646569e9a8abbf2eb48e5eb8e316bc38815a3ef6a1b456f4107f0d0f055a614ca613e75db6bf9ff4d72c1638 languageName: node linkType: hard @@ -3076,14 +2789,13 @@ __metadata: languageName: node linkType: hard -"flat-cache@npm:^3.0.4": - version: 3.2.0 - resolution: "flat-cache@npm:3.2.0" +"flat-cache@npm:^4.0.0": + version: 4.0.1 + resolution: "flat-cache@npm:4.0.1" dependencies: flatted: "npm:^3.2.9" - keyv: "npm:^4.5.3" - rimraf: "npm:^3.0.2" - checksum: 10c0/b76f611bd5f5d68f7ae632e3ae503e678d205cf97a17c6ab5b12f6ca61188b5f1f7464503efae6dc18683ed8f0b41460beb48ac4b9ac63fe6201296a91ba2f75 + keyv: "npm:^4.5.4" + checksum: 10c0/2c59d93e9faa2523e4fda6b4ada749bed432cfa28c8e251f33b25795e426a1c6dbada777afb1f74fcfff33934fdbdea921ee738fcc33e71adc9d6eca984a1cfc languageName: node linkType: hard @@ -3120,33 +2832,14 @@ __metadata: languageName: node linkType: hard -"function-bind@npm:^1.1.1": - version: 1.1.1 - resolution: "function-bind@npm:1.1.1" - checksum: 10c0/60b74b2407e1942e1ed7f8c284f8ef714d0689dcfce5319985a5b7da3fc727f40b4a59ec72dc55aa83365ad7b8fa4fac3a30d93c850a2b452f29ae03dbc10a1e - languageName: node - linkType: hard - -"function-bind@npm:^1.1.2": +"function-bind@npm:^1.1.1, function-bind@npm:^1.1.2": version: 1.1.2 resolution: "function-bind@npm:1.1.2" checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 languageName: node linkType: hard -"function.prototype.name@npm:^1.1.5": - version: 1.1.5 - resolution: "function.prototype.name@npm:1.1.5" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.1.3" - es-abstract: "npm:^1.19.0" - functions-have-names: "npm:^1.2.2" - checksum: 10c0/b75fb8c5261f03a54f7cb53a8c99e0c40297efc3cf750c51d3a2e56f6741701c14eda51986d30c24063136a4c32d1643df9d1dd2f2a14b64fa011edd3e7117ae - languageName: node - linkType: hard - -"function.prototype.name@npm:^1.1.6": +"function.prototype.name@npm:^1.1.5, function.prototype.name@npm:^1.1.6": version: 1.1.6 resolution: "function.prototype.name@npm:1.1.6" dependencies: @@ -3158,7 +2851,7 @@ __metadata: languageName: node linkType: hard -"functions-have-names@npm:^1.2.2, functions-have-names@npm:^1.2.3": +"functions-have-names@npm:^1.2.3": version: 1.2.3 resolution: "functions-have-names@npm:1.2.3" checksum: 10c0/33e77fd29bddc2d9bb78ab3eb854c165909201f88c75faa8272e35899e2d35a8a642a15e7420ef945e1f64a9670d6aa3ec744106b2aa42be68ca5114025954ca @@ -3172,42 +2865,7 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.0": - version: 1.2.0 - resolution: "get-intrinsic@npm:1.2.0" - dependencies: - function-bind: "npm:^1.1.1" - has: "npm:^1.0.3" - has-symbols: "npm:^1.0.3" - checksum: 10c0/7c564f6b1061e6ca9eb1abab424a2cf80b93e75dcde65229d504e4055aa0ea54f88330e9b75d10e41c72bca881a947e84193b3549a4692d836f304239a178d63 - languageName: node - linkType: hard - -"get-intrinsic@npm:^1.2.1": - version: 1.2.1 - resolution: "get-intrinsic@npm:1.2.1" - dependencies: - function-bind: "npm:^1.1.1" - has: "npm:^1.0.3" - has-proto: "npm:^1.0.1" - has-symbols: "npm:^1.0.3" - checksum: 10c0/49eab47f9de8f1a4f9b458b8b74ee5199fb2614414a91973eb175e07db56b52b6df49b255cc7ff704cb0786490fb93bfe8f2ad138b590a8de09b47116a366bc9 - languageName: node - linkType: hard - -"get-intrinsic@npm:^1.2.2": - version: 1.2.2 - resolution: "get-intrinsic@npm:1.2.2" - dependencies: - function-bind: "npm:^1.1.2" - has-proto: "npm:^1.0.1" - has-symbols: "npm:^1.0.3" - hasown: "npm:^2.0.0" - checksum: 10c0/4e7fb8adc6172bae7c4fe579569b4d5238b3667c07931cd46b4eee74bbe6ff6b91329bec311a638d8e60f5b51f44fe5445693c6be89ae88d4b5c49f7ff12db0b - languageName: node - linkType: hard - -"get-intrinsic@npm:^1.2.3, get-intrinsic@npm:^1.2.4": +"get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.3, get-intrinsic@npm:^1.2.4": version: 1.2.4 resolution: "get-intrinsic@npm:1.2.4" dependencies: @@ -3227,16 +2885,6 @@ __metadata: languageName: node linkType: hard -"get-symbol-description@npm:^1.0.0": - version: 1.0.0 - resolution: "get-symbol-description@npm:1.0.0" - dependencies: - call-bind: "npm:^1.0.2" - get-intrinsic: "npm:^1.1.1" - checksum: 10c0/23bc3b44c221cdf7669a88230c62f4b9e30393b61eb21ba4400cb3e346801bd8f95fe4330ee78dbae37aecd874646d53e3e76a17a654d0c84c77f6690526d6bb - languageName: node - linkType: hard - "get-symbol-description@npm:^1.0.2": version: 1.0.2 resolution: "get-symbol-description@npm:1.0.2" @@ -3248,28 +2896,12 @@ __metadata: languageName: node linkType: hard -"get-tsconfig@npm:^4.5.0": - version: 4.5.0 - resolution: "get-tsconfig@npm:4.5.0" - checksum: 10c0/0ff157b0f6cd9f92e4112b24522aa74c23b3207cb8ae7f491c2cac99fd65b811e955f61aace805121478b23619da2dbfc4cac3135f584e80038be86d16c5121a - languageName: node - linkType: hard - -"get-tsconfig@npm:^4.6.2": - version: 4.7.0 - resolution: "get-tsconfig@npm:4.7.0" +"get-tsconfig@npm:^4.5.0, get-tsconfig@npm:^4.7.0, get-tsconfig@npm:^4.7.3": + version: 4.7.3 + resolution: "get-tsconfig@npm:4.7.3" dependencies: resolve-pkg-maps: "npm:^1.0.0" - checksum: 10c0/5844d18a705535808cf535010d9443b47b462c6e91ed00d94500602f220ecb8e518325d5b1f9e0c515c67025819c3df193194144a456e1d8f1cd70b5d48b52aa - languageName: node - linkType: hard - -"get-tsconfig@npm:^4.7.0": - version: 4.7.2 - resolution: "get-tsconfig@npm:4.7.2" - dependencies: - resolve-pkg-maps: "npm:^1.0.0" - checksum: 10c0/169b2beababfbb16e8a0ae813ee59d3e14d4960231c816615161ab5be68ec07a394dce59695742ac84295e2efab8d9e89bcf3abaf5e253dfbec3496e01bb9a65 + checksum: 10c0/b15ca9d5d0887ebfccadc9fe88b6ff3827a5691ec90e7608a5e9c74bef959c14aba62f6bb88ac7f50322395731789a2cf654244f00e10f4f76349911b6846d6f languageName: node linkType: hard @@ -3291,7 +2923,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:10.3.10, glob@npm:^10.0.0": +"glob@npm:10.3.10, glob@npm:^10.0.0, glob@npm:^10.2.2": version: 10.3.10 resolution: "glob@npm:10.3.10" dependencies: @@ -3306,22 +2938,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^10.2.2": - version: 10.2.2 - resolution: "glob@npm:10.2.2" - dependencies: - foreground-child: "npm:^3.1.0" - jackspeak: "npm:^2.0.3" - minimatch: "npm:^9.0.0" - minipass: "npm:^5.0.0" - path-scurry: "npm:^1.7.0" - bin: - glob: dist/cjs/src/bin.js - checksum: 10c0/24238fc36ea34f4874e858eeda7d94ae2de6dbdd40d8a75dc707dc20853357394a12e9340b3e46f9e50231bf904b15e5dec15d2de63631bb1d2e8d4920c04996 - languageName: node - linkType: hard - -"glob@npm:^7.1.3, glob@npm:~7.2.0": +"glob@npm:~7.2.0": version: 7.2.3 resolution: "glob@npm:7.2.3" dependencies: @@ -3342,7 +2959,7 @@ __metadata: languageName: node linkType: hard -"globals@npm:^13.0.0, globals@npm:^13.24.0": +"globals@npm:^13.0.0, globals@npm:^13.19.0, globals@npm:^13.20.0, globals@npm:^13.24.0": version: 13.24.0 resolution: "globals@npm:13.24.0" dependencies: @@ -3351,21 +2968,10 @@ __metadata: languageName: node linkType: hard -"globals@npm:^13.19.0": - version: 13.20.0 - resolution: "globals@npm:13.20.0" - dependencies: - type-fest: "npm:^0.20.2" - checksum: 10c0/9a028f136f1e7a3574689f430f7d57faa0d699c4c7e92ade00b02882a892be31c314d50dff07b48e607283013117bb8a997406d03a1f7ab4a33a005eb16efd6c - languageName: node - linkType: hard - -"globals@npm:^13.20.0": - version: 13.21.0 - resolution: "globals@npm:13.21.0" - dependencies: - type-fest: "npm:^0.20.2" - checksum: 10c0/90573e825401adbe0ef25db1b52e8f74afe4a1087049edd972f1ace77b391753fc3fe51eba9b6962c62e2282645f0a27ce20251662cdc247631c4861f32d56eb +"globals@npm:^14.0.0": + version: 14.0.0 + resolution: "globals@npm:14.0.0" + checksum: 10c0/b96ff42620c9231ad468d4c58ff42afee7777ee1c963013ff8aabe095a451d0ceeb8dcd8ef4cbd64d2538cef45f787a78ba3a9574f4a634438963e334471302d languageName: node linkType: hard @@ -3443,25 +3049,7 @@ __metadata: languageName: node linkType: hard -"has-property-descriptors@npm:^1.0.0": - version: 1.0.0 - resolution: "has-property-descriptors@npm:1.0.0" - dependencies: - get-intrinsic: "npm:^1.1.1" - checksum: 10c0/d4ca882b6960d6257bd28baa3ddfa21f068d260411004a093b30ca357c740e11e985771c85216a6d1eef4161e862657f48c4758ec8ab515223b3895200ad164b - languageName: node - linkType: hard - -"has-property-descriptors@npm:^1.0.1": - version: 1.0.1 - resolution: "has-property-descriptors@npm:1.0.1" - dependencies: - get-intrinsic: "npm:^1.2.2" - checksum: 10c0/d62ba94b40150b00d621bc64a6aedb5bf0ee495308b4b7ed6bac856043db3cdfb1db553ae81cec91c9d2bd82057ff0e94145e7fa25d5aa5985ed32e0921927f6 - languageName: node - linkType: hard - -"has-property-descriptors@npm:^1.0.2": +"has-property-descriptors@npm:^1.0.0, has-property-descriptors@npm:^1.0.2": version: 1.0.2 resolution: "has-property-descriptors@npm:1.0.2" dependencies: @@ -3470,14 +3058,7 @@ __metadata: languageName: node linkType: hard -"has-proto@npm:^1.0.1": - version: 1.0.1 - resolution: "has-proto@npm:1.0.1" - checksum: 10c0/c8a8fe411f810b23a564bd5546a8f3f0fff6f1b692740eb7a2fdc9df716ef870040806891e2f23ff4653f1083e3895bf12088703dd1a0eac3d9202d3a4768cd0 - languageName: node - linkType: hard - -"has-proto@npm:^1.0.3": +"has-proto@npm:^1.0.1, has-proto@npm:^1.0.3": version: 1.0.3 resolution: "has-proto@npm:1.0.3" checksum: 10c0/35a6989f81e9f8022c2f4027f8b48a552de714938765d019dbea6bb547bd49ce5010a3c7c32ec6ddac6e48fc546166a3583b128f5a7add8b058a6d8b4afec205 @@ -3491,16 +3072,7 @@ __metadata: languageName: node linkType: hard -"has-tostringtag@npm:^1.0.0": - version: 1.0.0 - resolution: "has-tostringtag@npm:1.0.0" - dependencies: - has-symbols: "npm:^1.0.2" - checksum: 10c0/1cdba76b7d13f65198a92b8ca1560ba40edfa09e85d182bf436d928f3588a9ebd260451d569f0ed1b849c4bf54f49c862aa0d0a77f9552b1855bb6deb526c011 - languageName: node - linkType: hard - -"has-tostringtag@npm:^1.0.1, has-tostringtag@npm:^1.0.2": +"has-tostringtag@npm:^1.0.0, has-tostringtag@npm:^1.0.2": version: 1.0.2 resolution: "has-tostringtag@npm:1.0.2" dependencies: @@ -3518,16 +3090,7 @@ __metadata: languageName: node linkType: hard -"hasown@npm:^2.0.0": - version: 2.0.0 - resolution: "hasown@npm:2.0.0" - dependencies: - function-bind: "npm:^1.1.2" - checksum: 10c0/5d415b114f410661208c95e7ab4879f1cc2765b8daceff4dc8718317d1cb7b9ffa7c5d1eafd9a4389c9aab7445d6ea88e05f3096cb1e529618b55304956b87fc - languageName: node - linkType: hard - -"hasown@npm:^2.0.1, hasown@npm:^2.0.2": +"hasown@npm:^2.0.0, hasown@npm:^2.0.1, hasown@npm:^2.0.2": version: 2.0.2 resolution: "hasown@npm:2.0.2" dependencies: @@ -3557,15 +3120,6 @@ __metadata: languageName: node linkType: hard -"husky@npm:^9.0.11": - version: 9.0.11 - resolution: "husky@npm:9.0.11" - bin: - husky: bin.mjs - checksum: 10c0/2c787dcf74a837fc9a4fea7da907509d4bd9a289f4ea10ecc9d86279e4d4542b0f5f6443a619bccae19e265f2677172cc2b86aae5c932a35a330cc227d914605 - languageName: node - linkType: hard - "ignore@npm:^5.0.0, ignore@npm:^5.2.0, ignore@npm:^5.2.4": version: 5.2.4 resolution: "ignore@npm:5.2.4" @@ -3628,17 +3182,6 @@ __metadata: languageName: node linkType: hard -"internal-slot@npm:^1.0.5": - version: 1.0.5 - resolution: "internal-slot@npm:1.0.5" - dependencies: - get-intrinsic: "npm:^1.2.0" - has: "npm:^1.0.3" - side-channel: "npm:^1.0.4" - checksum: 10c0/66d8a66b4b5310c042e8ad00ce895dc55cb25165a3a7da0d7862ca18d69d3b1ba86511b4bf3baf4273d744d3f6e9154574af45189ef11135a444945309e39e4a - languageName: node - linkType: hard - "internal-slot@npm:^1.0.7": version: 1.0.7 resolution: "internal-slot@npm:1.0.7" @@ -3678,20 +3221,9 @@ __metadata: version: 2.0.1 resolution: "is-alphanumerical@npm:2.0.1" dependencies: - is-alphabetical: "npm:^2.0.0" - is-decimal: "npm:^2.0.0" - checksum: 10c0/4b35c42b18e40d41378293f82a3ecd9de77049b476f748db5697c297f686e1e05b072a6aaae2d16f54d2a57f85b00cbbe755c75f6d583d1c77d6657bd0feb5a2 - languageName: node - linkType: hard - -"is-array-buffer@npm:^3.0.1, is-array-buffer@npm:^3.0.2": - version: 3.0.2 - resolution: "is-array-buffer@npm:3.0.2" - dependencies: - call-bind: "npm:^1.0.2" - get-intrinsic: "npm:^1.2.0" - is-typed-array: "npm:^1.1.10" - checksum: 10c0/40ed13a5f5746ac3ae2f2e463687d9b5a3f5fd0086f970fb4898f0253c2a5ec2e3caea2d664dd8f54761b1c1948609702416921a22faebe160c7640a9217c80e + is-alphabetical: "npm:^2.0.0" + is-decimal: "npm:^2.0.0" + checksum: 10c0/4b35c42b18e40d41378293f82a3ecd9de77049b476f748db5697c297f686e1e05b072a6aaae2d16f54d2a57f85b00cbbe755c75f6d583d1c77d6657bd0feb5a2 languageName: node linkType: hard @@ -3756,27 +3288,7 @@ __metadata: languageName: node linkType: hard -"is-ci@npm:^3.0.1": - version: 3.0.1 - resolution: "is-ci@npm:3.0.1" - dependencies: - ci-info: "npm:^3.2.0" - bin: - is-ci: bin.js - checksum: 10c0/0e81caa62f4520d4088a5bef6d6337d773828a88610346c4b1119fb50c842587ed8bef1e5d9a656835a599e7209405b5761ddf2339668f2d0f4e889a92fe6051 - languageName: node - linkType: hard - -"is-core-module@npm:^2.1.0, is-core-module@npm:^2.11.0, is-core-module@npm:^2.12.0": - version: 2.12.0 - resolution: "is-core-module@npm:2.12.0" - dependencies: - has: "npm:^1.0.3" - checksum: 10c0/21f78f05de2f261339c10da0a68a25f7671a1864bc4e19fbfb7aeb9486a8ced98f5192f3226af8f696c6c1b545029307df850e384799a574953d6676ae20fefc - languageName: node - linkType: hard - -"is-core-module@npm:^2.12.1, is-core-module@npm:^2.13.0": +"is-core-module@npm:^2.1.0, is-core-module@npm:^2.11.0, is-core-module@npm:^2.12.1, is-core-module@npm:^2.13.0": version: 2.13.0 resolution: "is-core-module@npm:2.13.0" dependencies: @@ -3915,13 +3427,6 @@ __metadata: languageName: node linkType: hard -"is-negative-zero@npm:^2.0.2": - version: 2.0.2 - resolution: "is-negative-zero@npm:2.0.2" - checksum: 10c0/eda024c158f70f2017f3415e471b818d314da5ef5be68f801b16314d4a4b6304a74cbed778acf9e2f955bb9c1c5f2935c1be0c7c99e1ad12286f45366217b6a3 - languageName: node - linkType: hard - "is-negative-zero@npm:^2.0.3": version: 2.0.3 resolution: "is-negative-zero@npm:2.0.3" @@ -3976,16 +3481,7 @@ __metadata: languageName: node linkType: hard -"is-shared-array-buffer@npm:^1.0.2": - version: 1.0.2 - resolution: "is-shared-array-buffer@npm:1.0.2" - dependencies: - call-bind: "npm:^1.0.2" - checksum: 10c0/cfeee6f171f1b13e6cbc6f3b6cc44e192b93df39f3fcb31aa66ffb1d2df3b91e05664311659f9701baba62f5e98c83b0673c628e7adc30f55071c4874fcdccec - languageName: node - linkType: hard - -"is-shared-array-buffer@npm:^1.0.3": +"is-shared-array-buffer@npm:^1.0.2, is-shared-array-buffer@npm:^1.0.3": version: 1.0.3 resolution: "is-shared-array-buffer@npm:1.0.3" dependencies: @@ -4026,20 +3522,7 @@ __metadata: languageName: node linkType: hard -"is-typed-array@npm:^1.1.10, is-typed-array@npm:^1.1.9": - version: 1.1.10 - resolution: "is-typed-array@npm:1.1.10" - dependencies: - available-typed-arrays: "npm:^1.0.5" - call-bind: "npm:^1.0.2" - for-each: "npm:^0.3.3" - gopd: "npm:^1.0.1" - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/b71268a2e5f493f2b95af4cbfe7a65254a822f07d57f20c18f084347cd45f11810915fe37d7a6831fe4b81def24621a042fd1169ec558c50f830b591bc8c1f66 - languageName: node - linkType: hard - -"is-typed-array@npm:^1.1.12, is-typed-array@npm:^1.1.13": +"is-typed-array@npm:^1.1.13": version: 1.1.13 resolution: "is-typed-array@npm:1.1.13" dependencies: @@ -4110,19 +3593,6 @@ __metadata: languageName: node linkType: hard -"jackspeak@npm:^2.0.3": - version: 2.2.0 - resolution: "jackspeak@npm:2.2.0" - dependencies: - "@isaacs/cliui": "npm:^8.0.2" - "@pkgjs/parseargs": "npm:^0.11.0" - dependenciesMeta: - "@pkgjs/parseargs": - optional: true - checksum: 10c0/c044d6b6fb98009c8507d0323cf900899fb6c55c34082be6d06b2df54cd48d12f300dc4adb88103c2f59965f652399bf3f10e0631d1cb8a70f6aef11f0e467f6 - languageName: node - linkType: hard - "jackspeak@npm:^2.3.5": version: 2.3.6 resolution: "jackspeak@npm:2.3.6" @@ -4237,17 +3707,7 @@ __metadata: languageName: node linkType: hard -"jsx-ast-utils@npm:^2.4.1 || ^3.0.0": - version: 3.3.3 - resolution: "jsx-ast-utils@npm:3.3.3" - dependencies: - array-includes: "npm:^3.1.5" - object.assign: "npm:^4.1.3" - checksum: 10c0/fb69ce100931e50d42c8f72a01495b7d090064824ce481cf7746449609c148a29aae6984624cf9066ac14bdf7978f8774461e120d5b50fa90b3bfe0a0e21ff77 - languageName: node - linkType: hard - -"jsx-ast-utils@npm:^3.3.5": +"jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.3.5": version: 3.3.5 resolution: "jsx-ast-utils@npm:3.3.5" dependencies: @@ -4259,7 +3719,7 @@ __metadata: languageName: node linkType: hard -"keyv@npm:^4.5.3": +"keyv@npm:^4.5.4": version: 4.5.4 resolution: "keyv@npm:4.5.4" dependencies: @@ -4391,13 +3851,6 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^9.0.0": - version: 9.1.1 - resolution: "lru-cache@npm:9.1.1" - checksum: 10c0/a70630bccc94e6d6bf5523de8103302407a3b0090f4e245d126569ba96f85b4fa10ad537fb5d9435c58ba3762c0880361f8f5a92d7c9d10b59c8fcc8a0c615e5 - languageName: node - linkType: hard - "lru-cache@npm:^9.1.1 || ^10.0.0": version: 10.2.0 resolution: "lru-cache@npm:10.2.0" @@ -4941,7 +4394,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:9.0.3, minimatch@npm:^9.0.1": +"minimatch@npm:9.0.3": version: 9.0.3 resolution: "minimatch@npm:9.0.3" dependencies: @@ -4959,19 +4412,12 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.0": - version: 9.0.0 - resolution: "minimatch@npm:9.0.0" +"minimatch@npm:^9.0.0, minimatch@npm:^9.0.1, minimatch@npm:^9.0.3": + version: 9.0.4 + resolution: "minimatch@npm:9.0.4" dependencies: brace-expansion: "npm:^2.0.1" - checksum: 10c0/d966656c280a994f89c3711e8cdac0c78d8703d028a26722d0229e3e92bf515a065165caa64cbccdd7ca89bb0338a3094920f8d42d36295c4d55922e19ae366e - languageName: node - linkType: hard - -"minipass@npm:^5.0.0": - version: 5.0.0 - resolution: "minipass@npm:5.0.0" - checksum: 10c0/a91d8043f691796a8ac88df039da19933ef0f633e3d7f0d35dcd5373af49131cf2399bfc355f41515dc495e3990369c3858cd319e5c2722b4753c90bf3152462 + checksum: 10c0/2c16f21f50e64922864e560ff97c587d15fd491f65d92a677a344e970fe62aafdbeafe648965fa96d33c061b4d0eabfe0213466203dd793367e7f28658cf6414 languageName: node linkType: hard @@ -5097,13 +4543,6 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.12.3, object-inspect@npm:^1.9.0": - version: 1.12.3 - resolution: "object-inspect@npm:1.12.3" - checksum: 10c0/752bb5f4dc595e214157ea8f442adb77bdb850ace762b078d151d8b6486331ab12364997a89ee6509be1023b15adf2b3774437a7105f8a5043dfda11ed622411 - languageName: node - linkType: hard - "object-inspect@npm:^1.13.1": version: 1.13.1 resolution: "object-inspect@npm:1.13.1" @@ -5118,19 +4557,7 @@ __metadata: languageName: node linkType: hard -"object.assign@npm:^4.1.3, object.assign@npm:^4.1.4": - version: 4.1.4 - resolution: "object.assign@npm:4.1.4" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.1.4" - has-symbols: "npm:^1.0.3" - object-keys: "npm:^1.1.1" - checksum: 10c0/2f286118c023e557757620e647b02e7c88d3d417e0c568fca0820de8ec9cca68928304854d5b03e99763eddad6e78a6716e2930f7e6372e4b9b843f3fd3056f3 - languageName: node - linkType: hard - -"object.assign@npm:^4.1.5": +"object.assign@npm:^4.1.4, object.assign@npm:^4.1.5": version: 4.1.5 resolution: "object.assign@npm:4.1.5" dependencies: @@ -5175,18 +4602,7 @@ __metadata: languageName: node linkType: hard -"object.values@npm:^1.1.6": - version: 1.1.6 - resolution: "object.values@npm:1.1.6" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.1.4" - es-abstract: "npm:^1.20.4" - checksum: 10c0/3381204390f10c9f653a4875a50d221c67b5c16cb80a6ac06c706fc82a7cad8400857d4c7a0731193b0abb56b84fe803eabcf7addcf32de76397bbf207e68c66 - languageName: node - linkType: hard - -"object.values@npm:^1.1.7": +"object.values@npm:^1.1.6, object.values@npm:^1.1.7": version: 1.2.0 resolution: "object.values@npm:1.2.0" dependencies: @@ -5402,16 +4818,6 @@ __metadata: languageName: node linkType: hard -"path-scurry@npm:^1.7.0": - version: 1.7.0 - resolution: "path-scurry@npm:1.7.0" - dependencies: - lru-cache: "npm:^9.0.0" - minipass: "npm:^5.0.0" - checksum: 10c0/a8d1fd105b5b1bb0b86c73e3e1433d8227b8075c4868453529611ed8b0ba768d1195c54690c1de125277c4e8f09c7459b0e98f99fbd357c9b34dd566cbe6b55b - languageName: node - linkType: hard - "path-type@npm:^4.0.0": version: 4.0.0 resolution: "path-type@npm:4.0.0" @@ -5433,15 +4839,6 @@ __metadata: languageName: node linkType: hard -"pinst@npm:^3.0.0": - version: 3.0.0 - resolution: "pinst@npm:3.0.0" - bin: - pinst: bin.js - checksum: 10c0/abb1ed62ea2acb2207a7a860715bdb26ecbde74ede8fad5f6200194f3e22db25e2b7a49af05e5cc7fc05384709c651e0000323f0077d7239060c4b68c8acd428 - languageName: node - linkType: hard - "pluralize@npm:^8.0.0": version: 8.0.0 resolution: "pluralize@npm:8.0.0" @@ -5456,17 +4853,7 @@ __metadata: languageName: node linkType: hard -"postcss-selector-parser@npm:^6.0.10": - version: 6.0.12 - resolution: "postcss-selector-parser@npm:6.0.12" - dependencies: - cssesc: "npm:^3.0.0" - util-deprecate: "npm:^1.0.2" - checksum: 10c0/48d4ed587cd26ff8646a71dd5e5b102755b9565381bdcee58c400b1f1df5e18aff923eb1c0442661aa914ff6c8e20e116413da51bea6af36afb069daae737294 - languageName: node - linkType: hard - -"postcss-selector-parser@npm:^6.0.15": +"postcss-selector-parser@npm:^6.0.10, postcss-selector-parser@npm:^6.0.15": version: 6.0.16 resolution: "postcss-selector-parser@npm:6.0.16" dependencies: @@ -5626,28 +5013,6 @@ __metadata: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.4.3": - version: 1.5.0 - resolution: "regexp.prototype.flags@npm:1.5.0" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - functions-have-names: "npm:^1.2.3" - checksum: 10c0/312b7966c5cd2e6837da4073e0e6450191e3c6e8f07276cbed35e170ea5606f91487b435eb3290593f8aed39b1191c44f5340e6e5392650feaf2b34a98378464 - languageName: node - linkType: hard - -"regexp.prototype.flags@npm:^1.5.1": - version: 1.5.1 - resolution: "regexp.prototype.flags@npm:1.5.1" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - set-function-name: "npm:^2.0.0" - checksum: 10c0/1de7d214c0a726c7c874a7023e47b0e27b9f7fdb64175bfe1861189de1704aaeca05c3d26c35aa375432289b99946f3cf86651a92a8f7601b90d8c226a23bcd8 - languageName: node - linkType: hard - "regexp.prototype.flags@npm:^1.5.2": version: 1.5.2 resolution: "regexp.prototype.flags@npm:1.5.2" @@ -5732,29 +5097,16 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.10.0, resolve@npm:^1.22.1": - version: 1.22.3 - resolution: "resolve@npm:1.22.3" - dependencies: - is-core-module: "npm:^2.12.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10c0/5ebd90dc08467e7d9af8f89a67f127c90d77e58d3bfc65da5221699cc15679c5bae5e410e6795ee4b9f717cd711c495a52a3b650ce6720b0626de46e5074e796 - languageName: node - linkType: hard - -"resolve@npm:^1.22.2, resolve@npm:^1.22.3": - version: 1.22.4 - resolution: "resolve@npm:1.22.4" +"resolve@npm:^1.10.0, resolve@npm:^1.22.2, resolve@npm:^1.22.4": + version: 1.22.8 + resolution: "resolve@npm:1.22.8" dependencies: is-core-module: "npm:^2.13.0" path-parse: "npm:^1.0.7" supports-preserve-symlinks-flag: "npm:^1.0.0" bin: resolve: bin/resolve - checksum: 10c0/b1adb7885a05e31fc2be19e85e338b8d48d9e442b568d91e9c925990ed1c3bff66683ccea03b9e9893b857ec25dee0f7951a0d0630be49e4e1f5c1150ddc35dc + checksum: 10c0/07e179f4375e1fd072cfb72ad66d78547f86e6196c4014b31cb0b8bb1db5f7ca871f922d08da0fbc05b94e9fd42206f819648fa3b5b873ebbc8e1dc68fec433a languageName: node linkType: hard @@ -5781,29 +5133,16 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin": - version: 1.22.3 - resolution: "resolve@patch:resolve@npm%3A1.22.3#optional!builtin::version=1.22.3&hash=c3c19d" - dependencies: - is-core-module: "npm:^2.12.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10c0/6267bdbbbb1da23975463e979dadf5135fcc40c4b9281c5af4581afa848ced98090ab4e2dbc9085e58f8ea48c0eb7c4fe94b1e8f55ebdd17a725d86982eb5288 - languageName: node - linkType: hard - -"resolve@patch:resolve@npm%3A^1.22.2#optional!builtin, resolve@patch:resolve@npm%3A^1.22.3#optional!builtin": - version: 1.22.4 - resolution: "resolve@patch:resolve@npm%3A1.22.4#optional!builtin::version=1.22.4&hash=c3c19d" +"resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.2#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin": + version: 1.22.8 + resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" dependencies: is-core-module: "npm:^2.13.0" path-parse: "npm:^1.0.7" supports-preserve-symlinks-flag: "npm:^1.0.0" bin: resolve: bin/resolve - checksum: 10c0/60ca179599acf8b1bb17b850280a7081781b457d235d48197dc893b82d75741f191c5fe2d93e5729292234d0b0d88e9add273df4b9e04755eeed4fd7d23f1c79 + checksum: 10c0/0446f024439cd2e50c6c8fa8ba77eaa8370b4180f401a96abf3d1ebc770ac51c1955e12764cde449fde3fff480a61f84388e3505ecdbab778f4bef5f8212c729 languageName: node linkType: hard @@ -5837,17 +5176,6 @@ __metadata: languageName: node linkType: hard -"rimraf@npm:^3.0.2": - version: 3.0.2 - resolution: "rimraf@npm:3.0.2" - dependencies: - glob: "npm:^7.1.3" - bin: - rimraf: bin.js - checksum: 10c0/9cb7757acb489bd83757ba1a274ab545eafd75598a9d817e0c3f8b164238dd90eba50d6b848bd4dcc5f3040912e882dc7ba71653e35af660d77b25c381d402e8 - languageName: node - linkType: hard - "run-applescript@npm:^5.0.0": version: 5.0.0 resolution: "run-applescript@npm:5.0.0" @@ -5892,18 +5220,6 @@ __metadata: languageName: node linkType: hard -"safe-array-concat@npm:^1.0.1": - version: 1.1.0 - resolution: "safe-array-concat@npm:1.1.0" - dependencies: - call-bind: "npm:^1.0.5" - get-intrinsic: "npm:^1.2.2" - has-symbols: "npm:^1.0.3" - isarray: "npm:^2.0.5" - checksum: 10c0/833d3d950fc7507a60075f9bfaf41ec6dac7c50c7a9d62b1e6b071ecc162185881f92e594ff95c1a18301c881352dd6fd236d56999d5819559db7b92da9c28af - languageName: node - linkType: hard - "safe-array-concat@npm:^1.1.2": version: 1.1.2 resolution: "safe-array-concat@npm:1.1.2" @@ -5923,17 +5239,6 @@ __metadata: languageName: node linkType: hard -"safe-regex-test@npm:^1.0.0": - version: 1.0.0 - resolution: "safe-regex-test@npm:1.0.0" - dependencies: - call-bind: "npm:^1.0.2" - get-intrinsic: "npm:^1.1.3" - is-regex: "npm:^1.1.4" - checksum: 10c0/14a81a7e683f97b2d6e9c8be61fddcf8ed7a02f4e64a825515f96bb1738eb007145359313741d2704d28b55b703a0f6300c749dde7c1dbc13952a2b85048ede2 - languageName: node - linkType: hard - "safe-regex-test@npm:^1.0.3": version: 1.0.3 resolution: "safe-regex-test@npm:1.0.3" @@ -5963,29 +5268,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.0.0, semver@npm:^7.3.5, semver@npm:^7.3.6, semver@npm:^7.3.7, semver@npm:^7.3.8": - version: 7.5.0 - resolution: "semver@npm:7.5.0" - dependencies: - lru-cache: "npm:^6.0.0" - bin: - semver: bin/semver.js - checksum: 10c0/203a556d7189c277b9774a325fd2695187b2822069094e0dbfcc56dfd10a1fd646a94e73812f249802a661f6437b2370ccb8ee330e7b9888b38e53c5a8216222 - languageName: node - linkType: hard - -"semver@npm:^7.5.3, semver@npm:^7.5.4": - version: 7.5.4 - resolution: "semver@npm:7.5.4" - dependencies: - lru-cache: "npm:^6.0.0" - bin: - semver: bin/semver.js - checksum: 10c0/5160b06975a38b11c1ab55950cb5b8a23db78df88275d3d8a42ccf1f29e55112ac995b3a26a522c36e3b5f76b0445f1eef70d696b8c7862a2b4303d7b0e7609e - languageName: node - linkType: hard - -"semver@npm:^7.6.0": +"semver@npm:^7.0.0, semver@npm:^7.3.5, semver@npm:^7.3.6, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0": version: 7.6.0 resolution: "semver@npm:7.6.0" dependencies: @@ -5996,19 +5279,6 @@ __metadata: languageName: node linkType: hard -"set-function-length@npm:^1.1.1": - version: 1.2.0 - resolution: "set-function-length@npm:1.2.0" - dependencies: - define-data-property: "npm:^1.1.1" - function-bind: "npm:^1.1.2" - get-intrinsic: "npm:^1.2.2" - gopd: "npm:^1.0.1" - has-property-descriptors: "npm:^1.0.1" - checksum: 10c0/b4fdf68bbfa9944284a9469c04e0d9cdb7924942fab75cd11fb61e8a7518f0d40bbbbc1b46871f648a93b97d170d8047fe3492cdadff066a8a8ae4ce68d0564a - languageName: node - linkType: hard - "set-function-length@npm:^1.2.1": version: 1.2.2 resolution: "set-function-length@npm:1.2.2" @@ -6023,18 +5293,7 @@ __metadata: languageName: node linkType: hard -"set-function-name@npm:^2.0.0, set-function-name@npm:^2.0.1": - version: 2.0.1 - resolution: "set-function-name@npm:2.0.1" - dependencies: - define-data-property: "npm:^1.0.1" - functions-have-names: "npm:^1.2.3" - has-property-descriptors: "npm:^1.0.0" - checksum: 10c0/6be7d3e15be47f4db8a5a563a35c60b5e7c4af91cc900e8972ffad33d3aaa227900faa55f60121cdb04b85866a734bb7fe4cd91f654c632861cc86121a48312a - languageName: node - linkType: hard - -"set-function-name@npm:^2.0.2": +"set-function-name@npm:^2.0.1, set-function-name@npm:^2.0.2": version: 2.0.2 resolution: "set-function-name@npm:2.0.2" dependencies: @@ -6062,18 +5321,7 @@ __metadata: languageName: node linkType: hard -"side-channel@npm:^1.0.4": - version: 1.0.4 - resolution: "side-channel@npm:1.0.4" - dependencies: - call-bind: "npm:^1.0.0" - get-intrinsic: "npm:^1.0.2" - object-inspect: "npm:^1.9.0" - checksum: 10c0/054a5d23ee35054b2c4609b9fd2a0587760737782b5d765a9c7852264710cc39c6dcb56a9bbd6c12cd84071648aea3edb2359d2f6e560677eedadce511ac1da5 - languageName: node - linkType: hard - -"side-channel@npm:^1.0.6": +"side-channel@npm:^1.0.4, side-channel@npm:^1.0.6": version: 1.0.6 resolution: "side-channel@npm:1.0.6" dependencies: @@ -6217,28 +5465,6 @@ __metadata: languageName: node linkType: hard -"string.prototype.trim@npm:^1.2.7": - version: 1.2.7 - resolution: "string.prototype.trim@npm:1.2.7" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.1.4" - es-abstract: "npm:^1.20.4" - checksum: 10c0/31698f6d718794e422db6fcfa6685dcd9243097273b3b2a8b7948b5d45a183cd336378893ff0d4a7b2531b604c32bb5c45193dd6da3d2f5504df5cd222372c09 - languageName: node - linkType: hard - -"string.prototype.trim@npm:^1.2.8": - version: 1.2.8 - resolution: "string.prototype.trim@npm:1.2.8" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - checksum: 10c0/4f76c583908bcde9a71208ddff38f67f24c9ec8093631601666a0df8b52fad44dad2368c78895ce83eb2ae8e7068294cc96a02fc971ab234e4d5c9bb61ea4e34 - languageName: node - linkType: hard - "string.prototype.trim@npm:^1.2.9": version: 1.2.9 resolution: "string.prototype.trim@npm:1.2.9" @@ -6251,28 +5477,6 @@ __metadata: languageName: node linkType: hard -"string.prototype.trimend@npm:^1.0.6": - version: 1.0.6 - resolution: "string.prototype.trimend@npm:1.0.6" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.1.4" - es-abstract: "npm:^1.20.4" - checksum: 10c0/51b663e3195a74b58620a250b3fc4efb58951000f6e7d572a9f671c038f2f37f24a2b8c6994500a882aeab2f1c383fac1e8c023c01eb0c8b4e52d2f13b6c4513 - languageName: node - linkType: hard - -"string.prototype.trimend@npm:^1.0.7": - version: 1.0.7 - resolution: "string.prototype.trimend@npm:1.0.7" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - checksum: 10c0/53c24911c7c4d8d65f5ef5322de23a3d5b6b4db73273e05871d5ab4571ae5638f38f7f19d71d09116578fb060e5a145cc6a208af2d248c8baf7a34f44d32ce57 - languageName: node - linkType: hard - "string.prototype.trimend@npm:^1.0.8": version: 1.0.8 resolution: "string.prototype.trimend@npm:1.0.8" @@ -6284,17 +5488,6 @@ __metadata: languageName: node linkType: hard -"string.prototype.trimstart@npm:^1.0.6": - version: 1.0.6 - resolution: "string.prototype.trimstart@npm:1.0.6" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.1.4" - es-abstract: "npm:^1.20.4" - checksum: 10c0/13b9970d4e234002dfc8069c655c1fe19e83e10ced208b54858c41bb0f7544e581ac0ce746e92b279563664ad63910039f7253f36942113fec413b2b4e7c1fcd - languageName: node - linkType: hard - "string.prototype.trimstart@npm:^1.0.7": version: 1.0.7 resolution: "string.prototype.trimstart@npm:1.0.7" @@ -6485,14 +5678,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.0, tslib@npm:^2.5.0": - version: 2.5.0 - resolution: "tslib@npm:2.5.0" - checksum: 10c0/e32fc99cc730dd514e53c44e668d76016e738f0bcc726aad5dbd2d335cf19b87a95a9b1e4f0a9993e370f1d702b5e471cdd4acabcac428a3099d496b9af2021e - languageName: node - linkType: hard - -"tslib@npm:^2.6.2": +"tslib@npm:^2.0.0, tslib@npm:^2.5.0, tslib@npm:^2.6.2": version: 2.6.2 resolution: "tslib@npm:2.6.2" checksum: 10c0/e03a8a4271152c8b26604ed45535954c0a45296e32445b4b87f8a5abdb2421f40b59b4ca437c4346af0f28179780d604094eb64546bee2019d903d01c6c19bdb @@ -6563,17 +5749,6 @@ __metadata: languageName: node linkType: hard -"typed-array-buffer@npm:^1.0.0": - version: 1.0.0 - resolution: "typed-array-buffer@npm:1.0.0" - dependencies: - call-bind: "npm:^1.0.2" - get-intrinsic: "npm:^1.2.1" - is-typed-array: "npm:^1.1.10" - checksum: 10c0/ebad66cdf00c96b1395dffc7873169cf09801fca5954507a484f41f253feb1388d815db297b0b3bb8ce7421eac6f7ff45e2ec68450a3d68408aa4ae02fcf3a6c - languageName: node - linkType: hard - "typed-array-buffer@npm:^1.0.2": version: 1.0.2 resolution: "typed-array-buffer@npm:1.0.2" @@ -6585,18 +5760,6 @@ __metadata: languageName: node linkType: hard -"typed-array-byte-length@npm:^1.0.0": - version: 1.0.0 - resolution: "typed-array-byte-length@npm:1.0.0" - dependencies: - call-bind: "npm:^1.0.2" - for-each: "npm:^0.3.3" - has-proto: "npm:^1.0.1" - is-typed-array: "npm:^1.1.10" - checksum: 10c0/6696435d53ce0e704ff6760c57ccc35138aec5f87859e03eb2a3246336d546feae367952dbc918116f3f0dffbe669734e3cbd8960283c2fa79aac925db50d888 - languageName: node - linkType: hard - "typed-array-byte-length@npm:^1.0.1": version: 1.0.1 resolution: "typed-array-byte-length@npm:1.0.1" @@ -6610,19 +5773,6 @@ __metadata: languageName: node linkType: hard -"typed-array-byte-offset@npm:^1.0.0": - version: 1.0.0 - resolution: "typed-array-byte-offset@npm:1.0.0" - dependencies: - available-typed-arrays: "npm:^1.0.5" - call-bind: "npm:^1.0.2" - for-each: "npm:^0.3.3" - has-proto: "npm:^1.0.1" - is-typed-array: "npm:^1.1.10" - checksum: 10c0/4036ce007ae9752931bed3dd61e0d6de2a3e5f6a5a85a05f3adb35388d2c0728f9b1a1e638d75579f168e49c289bfb5417f00e96d4ab081f38b647fc854ff7a5 - languageName: node - linkType: hard - "typed-array-byte-offset@npm:^1.0.2": version: 1.0.2 resolution: "typed-array-byte-offset@npm:1.0.2" @@ -6637,17 +5787,6 @@ __metadata: languageName: node linkType: hard -"typed-array-length@npm:^1.0.4": - version: 1.0.4 - resolution: "typed-array-length@npm:1.0.4" - dependencies: - call-bind: "npm:^1.0.2" - for-each: "npm:^0.3.3" - is-typed-array: "npm:^1.1.9" - checksum: 10c0/c5163c0103d07fefc8a2ad0fc151f9ca9a1f6422098c00f695d55f9896e4d63614cd62cf8d8a031c6cee5f418e8980a533796597174da4edff075b3d275a7e23 - languageName: node - linkType: hard - "typed-array-length@npm:^1.0.5": version: 1.0.6 resolution: "typed-array-length@npm:1.0.6" @@ -7031,20 +6170,7 @@ __metadata: languageName: node linkType: hard -"which-typed-array@npm:^1.1.13, which-typed-array@npm:^1.1.14": - version: 1.1.14 - resolution: "which-typed-array@npm:1.1.14" - dependencies: - available-typed-arrays: "npm:^1.0.6" - call-bind: "npm:^1.0.5" - for-each: "npm:^0.3.3" - gopd: "npm:^1.0.1" - has-tostringtag: "npm:^1.0.1" - checksum: 10c0/0960f1e77807058819451b98c51d4cd72031593e8de990b24bd3fc22e176f5eee22921d68d852297c786aec117689f0423ed20aa4fde7ce2704d680677891f56 - languageName: node - linkType: hard - -"which-typed-array@npm:^1.1.15": +"which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.15, which-typed-array@npm:^1.1.9": version: 1.1.15 resolution: "which-typed-array@npm:1.1.15" dependencies: @@ -7057,20 +6183,6 @@ __metadata: languageName: node linkType: hard -"which-typed-array@npm:^1.1.9": - version: 1.1.9 - resolution: "which-typed-array@npm:1.1.9" - dependencies: - available-typed-arrays: "npm:^1.0.5" - call-bind: "npm:^1.0.2" - for-each: "npm:^0.3.3" - gopd: "npm:^1.0.1" - has-tostringtag: "npm:^1.0.0" - is-typed-array: "npm:^1.1.10" - checksum: 10c0/7edb12cfd04bfe2e2d3ec3e6046417c59e6a8c72209e4fe41fe1a1a40a3b196626c2ca63dac2a0fa2491d5c37c065dfabd2fcf7c0c15f1d19f5640fef88f6368 - languageName: node - linkType: hard - "which@npm:^2.0.1": version: 2.0.2 resolution: "which@npm:2.0.2" From 602040312d76cee3e05972f1adb94b911a671578 Mon Sep 17 00:00:00 2001 From: Jeroen Claassens Date: Sun, 7 Apr 2024 18:12:33 +0200 Subject: [PATCH 02/21] refactor: write code in TS and compile with tsup --- README.md | 114 +-- eslint.config.mjs | 27 +- package.json | 136 ++- scripts/fix-tsup-type-files.ts | 13 + src/{angular.js => angular.ts} | 24 +- src/astro.js | 31 - src/astro.ts | 36 + src/{browser.js => browser.ts} | 10 +- src/{common.js => common.ts} | 37 +- src/{cypress.js => cypress.ts} | 11 +- src/{edge.js => edge.ts} | 9 +- src/{jsx-a11y.js => jsx-a11y.ts} | 13 +- src/{jsx.js => jsx.ts} | 15 +- src/mdx.js | 40 - src/mdx.ts | 45 + src/module.js | 10 - src/module.ts | 13 + src/{next.js => next.ts} | 13 +- src/no-deprecated.js | 10 - src/no-deprecated.ts | 13 + src/{node.js => node.ts} | 17 +- src/prettier.js | 16 - src/prettier.ts | 19 + src/{react.js => react.ts} | 23 +- src/rxjs-angular.js | 15 - src/rxjs-angular.ts | 20 + src/{rxjs.js => rxjs.ts} | 13 +- src/svelte-typescript.js | 15 - src/svelte-typescript.ts | 18 + src/svelte.js | 21 - src/svelte.ts | 28 + src/{typescript.js => typescript.ts} | 95 +- src/vue-typescript.js | 10 - src/vue-typescript.ts | 13 + src/{vue.js => vue.ts} | 20 +- tsconfig.json | 50 + tsup.config.ts | 28 + yarn.lock | 1304 +++++++++++++++++++++++++- 38 files changed, 1917 insertions(+), 428 deletions(-) create mode 100644 scripts/fix-tsup-type-files.ts rename src/{angular.js => angular.ts} (78%) delete mode 100644 src/astro.js create mode 100644 src/astro.ts rename src/{browser.js => browser.ts} (60%) rename src/{common.js => common.ts} (94%) rename src/{cypress.js => cypress.ts} (56%) rename src/{edge.js => edge.ts} (69%) rename src/{jsx-a11y.js => jsx-a11y.ts} (87%) rename src/{jsx.js => jsx.ts} (86%) delete mode 100644 src/mdx.js create mode 100644 src/mdx.ts delete mode 100644 src/module.js create mode 100644 src/module.ts rename src/{next.js => next.ts} (72%) delete mode 100644 src/no-deprecated.js create mode 100644 src/no-deprecated.ts rename src/{node.js => node.ts} (87%) delete mode 100644 src/prettier.js create mode 100644 src/prettier.ts rename src/{react.js => react.ts} (79%) delete mode 100644 src/rxjs-angular.js create mode 100644 src/rxjs-angular.ts rename src/{rxjs.js => rxjs.ts} (79%) delete mode 100644 src/svelte-typescript.js create mode 100644 src/svelte-typescript.ts delete mode 100644 src/svelte.js create mode 100644 src/svelte.ts rename src/{typescript.js => typescript.ts} (82%) delete mode 100644 src/vue-typescript.js create mode 100644 src/vue-typescript.ts rename src/{vue.js => vue.ts} (93%) create mode 100644 tsconfig.json create mode 100644 tsup.config.ts diff --git a/README.md b/README.md index 7da41d7..82c2cf1 100644 --- a/README.md +++ b/README.md @@ -49,13 +49,13 @@ This package includes the following configurations: It is important to note that this package only exports [ESLint Flat Config][]! This means that you _have_ to use `eslint.config.js`, `eslint.config.mjs`, or `eslint.config.cjs` to use this package. See the ESLint documentation on flat config for more information. ```js -module.exports = [ +export default [ { ignore: ["**/dist/*"], }, - ...require("eslint-config-neon/common"), - ...require("eslint-config-neon/typescript"), - ...require("eslint-config-neon/prettier"), + ...(await import("eslint-config-neon/common")), + ...(await import("eslint-config-neon/typescript")), + ...(await import("eslint-config-neon/prettier")), { languageOptions: { project: "./tsconfig.json", @@ -69,14 +69,14 @@ module.exports = [
```js -module.exports = [ +export default [ { ignore: ["**/dist/*"], }, - ...require("eslint-config-neon/common"), - ...require("eslint-config-neon/typescript"), - ...require("eslint-config-neon/node"), - ...require("eslint-config-neon/prettier"), + ...(await import("eslint-config-neon/common")), + ...(await import("eslint-config-neon/typescript")), + ...(await import("eslint-config-neon/node")), + ...(await import("eslint-config-neon/prettier")), { languageOptions: { project: "./tsconfig.json", @@ -95,17 +95,17 @@ module.exports = [ React: ```js -module.exports = [ +export default [ { ignore: ["**/dist/*"], }, - ...require("eslint-config-neon/common"), - ...require("eslint-config-neon/browser"), - ...require("eslint-config-neon/typescript"), - ...require("eslint-config-neon/node"), - ...require("eslint-config-neon/react"), - ...require("eslint-config-neon/edge"), - ...require("eslint-config-neon/prettier"), + ...(await import("eslint-config-neon/common")), + ...(await import("eslint-config-neon/browser")), + ...(await import("eslint-config-neon/typescript")), + ...(await import("eslint-config-neon/node")), + ...(await import("eslint-config-neon/react")), + ...(await import("eslint-config-neon/edge")), + ...(await import("eslint-config-neon/prettier")), { settings: { react: { @@ -128,18 +128,18 @@ module.exports = [ Next: ```js -module.exports = [ +export default [ { ignore: ["**/dist/*"], }, - ...require("eslint-config-neon/common"), - ...require("eslint-config-neon/browser"), - ...require("eslint-config-neon/node"), - ...require("eslint-config-neon/typescript"), - ...require("eslint-config-neon/react"), - ...require("eslint-config-neon/next"), - ...require("eslint-config-neon/edge"), - ...require("eslint-config-neon/prettier"), + ...(await import("eslint-config-neon/common")), + ...(await import("eslint-config-neon/browser")), + ...(await import("eslint-config-neon/node")), + ...(await import("eslint-config-neon/typescript")), + ...(await import("eslint-config-neon/react")), + ...(await import("eslint-config-neon/next")), + ...(await import("eslint-config-neon/edge")), + ...(await import("eslint-config-neon/prettier")), { settings: { react: { @@ -168,17 +168,17 @@ module.exports = [
```js -module.exports = [ +export default [ { ignore: ["**/dist/*"], }, - ...require("eslint-config-neon/common"), - ...require("eslint-config-neon/browser"), - ...require("eslint-config-neon/node"), - ...require("eslint-config-neon/typescript"), - ...require("eslint-config-neon/react"), - ...require("eslint-config-neon/astro"), - ...require("eslint-config-neon/prettier"), + ...(await import("eslint-config-neon/common")), + ...(await import("eslint-config-neon/browser")), + ...(await import("eslint-config-neon/node")), + ...(await import("eslint-config-neon/typescript")), + ...(await import("eslint-config-neon/react")), + ...(await import("eslint-config-neon/astro")), + ...(await import("eslint-config-neon/prettier")), { settings: { react: { @@ -206,17 +206,17 @@ module.exports = [
```js -module.exports = [ +export default [ { ignore: ["**/dist/*"], }, - ...require("eslint-config-neon/common"), - ...require("eslint-config-neon/browser"), - ...require("eslint-config-neon/node"), - ...require("eslint-config-neon/typescript"), - ...require("eslint-config-neon/vue"), - ...require("eslint-config-neon/vue-typescript"), - ...require("eslint-config-neon/prettier"), + ...(await import("eslint-config-neon/common")), + ...(await import("eslint-config-neon/browser")), + ...(await import("eslint-config-neon/node")), + ...(await import("eslint-config-neon/typescript")), + ...(await import("eslint-config-neon/vue")), + ...(await import("eslint-config-neon/vue-typescript")), + ...(await import("eslint-config-neon/prettier")), { languageOptions: { parserOptions: { @@ -235,24 +235,24 @@ module.exports = [
```js -module.exports = [ +export default [ { ignore: ["**/dist/*"], }, { files: ["*.ts"], - ...require("eslint-config-neon/common"), - ...require("eslint-config-neon/browser"), - ...require("eslint-config-neon/node"), - ...require("eslint-config-neon/typescript"), - ...require("eslint-config-neon/angular"), - ...require("eslint-config-neon/rxjs"), - ...require("eslint-config-neon/rxjs-angular"), - ...require("eslint-config-neon/prettier"), + ...(await import("eslint-config-neon/common")), + ...(await import("eslint-config-neon/browser")), + ...(await import("eslint-config-neon/node")), + ...(await import("eslint-config-neon/typescript")), + ...(await import("eslint-config-neon/angular")), + ...(await import("eslint-config-neon/rxjs")), + ...(await import("eslint-config-neon/rxjs-angular")), + ...(await import("eslint-config-neon/prettier")), }, { files: ["*.html"], - ...require("eslint-config-neon/angular"), + ...(await import("eslint-config-neon/angular")), }, { languageOptions: { @@ -272,11 +272,11 @@ module.exports = [ Prettier and neon are already compatible. Just add it as the last config in your `extends` configuration, e.g. ```js -module.exports = [ - ...require("eslint-config-neon/common"), - ...require("eslint-config-neon/node"), - ...require("eslint-config-neon/typescript"), - ...require("eslint-config-neon/prettier"), +export default [ + ...(await import("eslint-config-neon/common")), + ...(await import("eslint-config-neon/node")), + ...(await import("eslint-config-neon/typescript")), + ...(await import("eslint-config-neon/prettier")), ]; ``` diff --git a/eslint.config.mjs b/eslint.config.mjs index 9ab6586..a2f398e 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -1,8 +1,25 @@ // @ts-check -import tseslint from "typescript-eslint"; -import common from "./src/common.js"; -import node from "./src/node.js"; -import prettier from "./src/prettier.js"; +import common from "./dist/esm/common.mjs"; +import node from "./dist/esm/node.mjs"; +import prettier from "./dist/esm/prettier.mjs"; +import typescript from "./dist/esm/typescript.mjs"; -export default tseslint.config(...common, ...node, ...prettier); +/** + * @type {import('@typescript-eslint/utils').TSESLint.FlatConfig.ConfigArray} + */ +const config = [ + ...common, + ...node, + ...typescript, + { + languageOptions: { + parserOptions: { + project: "./tsconfig.json", + }, + }, + }, + ...prettier, +]; + +export default config; diff --git a/package.json b/package.json index 31fb2ab..dec9b4c 100644 --- a/package.json +++ b/package.json @@ -3,132 +3,160 @@ "version": "0.1.62", "description": "The ultimate ESLint shareable config", "scripts": { - "lint": "prettier --check . && eslint src", - "format": "prettier --write . && eslint src --fix", + "build": "tsup && yarn fix-mts-types", + "fix-mts-types": "tsx scripts/fix-tsup-type-files.ts", + "lint": "yarn build && prettier --check . && eslint src", + "format": "yarn build && prettier --write . && eslint src --fix", "fmt": "yarn format", + "prepack": "yarn build", "update": "yarn upgrade-interactive" }, - "type": "commonjs", - "main": "src/common.js", + "type": "module", + "main": "dist/cjs/common.cjs", + "module": "dist/esm/common.mjs", + "types": "dist/cjs/common.d.ts", "exports": { ".": { - "require": { - "default": "./src/common.js" + "import": { + "types": "./dist/esm/common.d.mts", + "default": "./dist/esm/common.mjs" } }, "./angular": { - "require": { - "default": "./src/angular.js" + "import": { + "types": "./dist/esm/angular.d.mts", + "default": "./dist/esm/angular.mjs" } }, "./astro": { - "require": { - "default": "./src/astro.js" + "import": { + "types": "./dist/esm/astro.d.mts", + "default": "./dist/esm/astro.mjs" } }, "./browser": { - "require": { - "default": "./src/browser.js" + "import": { + "types": "./dist/esm/browser.d.mts", + "default": "./dist/esm/browser.mjs" } }, "./common": { - "require": { - "default": "./src/common.js" + "import": { + "types": "./dist/esm/common.d.mts", + "default": "./dist/esm/common.mjs" } }, "./cypress": { - "require": { - "default": "./src/cypress.js" + "import": { + "types": "./dist/esm/cypress.d.mts", + "default": "./dist/esm/cypress.mjs" } }, "./edge": { - "require": { - "default": "./src/edge.js" + "import": { + "types": "./dist/esm/edge.d.mts", + "default": "./dist/esm/edge.mjs" } }, "./jsx-a11y": { - "require": { - "default": "./src/jsx-a11y.js" + "import": { + "types": "./dist/esm/jsx-a11y.d.mts", + "default": "./dist/esm/jsx-a11y.mjs" } }, "./jsx": { - "require": { - "default": "./src/jsx.js" + "import": { + "types": "./dist/esm/jsx.d.mts", + "default": "./dist/esm/jsx.mjs" } }, "./mdx": { - "require": { - "default": "./src/mdx.js" + "import": { + "types": "./dist/esm/mdx.d.mts", + "default": "./dist/esm/mdx.mjs" } }, "./module": { - "require": { - "default": "./src/module.js" + "import": { + "types": "./dist/esm/module.d.mts", + "default": "./dist/esm/module.mjs" } }, "./next": { - "require": { - "default": "./src/next.js" + "import": { + "types": "./dist/esm/next.d.mts", + "default": "./dist/esm/next.mjs" } }, "./no-deprecated": { - "require": { - "default": "./src/no-deprecated.js" + "import": { + "types": "./dist/esm/no-deprecated.d.mts", + "default": "./dist/esm/no-deprecated.mjs" } }, "./node": { - "require": { - "default": "./src/node.js" + "import": { + "types": "./dist/esm/node.d.mts", + "default": "./dist/esm/node.mjs" } }, "./prettier": { - "require": { - "default": "./src/prettier.js" + "import": { + "types": "./dist/esm/prettier.d.mts", + "default": "./dist/esm/prettier.mjs" } }, "./react": { - "require": { - "default": "./src/react.js" + "import": { + "types": "./dist/esm/react.d.mts", + "default": "./dist/esm/react.mjs" } }, "./rxjs-angular": { - "require": { - "default": "./src/rxjs-angular.js" + "import": { + "types": "./dist/esm/rxjs-angular.d.mts", + "default": "./dist/esm/rxjs-angular.mjs" } }, "./rxjs": { - "require": { - "default": "./src/rxjs.js" + "import": { + "types": "./dist/esm/rxjs.d.mts", + "default": "./dist/esm/rxjs.mjs" } }, "./svelte-typescript": { - "require": { - "default": "./src/svelte-typescript.js" + "import": { + "types": "./dist/esm/svelte-typescript.d.mts", + "default": "./dist/esm/svelte-typescript.mjs" } }, "./svelte": { - "require": { - "default": "./src/svelte.js" + "import": { + "types": "./dist/esm/svelte.d.mts", + "default": "./dist/esm/svelte.mjs" } }, "./typescript": { - "require": { - "default": "./src/typescript.js" + "import": { + "types": "./dist/esm/typescript.d.mts", + "default": "./dist/esm/typescript.mjs" } }, "./vue-typescript": { - "require": { - "default": "./src/vue-typescript.js" + "import": { + "types": "./dist/esm/vue-typescript.d.mts", + "default": "./dist/esm/vue-typescript.mjs" } }, "./vue": { - "require": { - "default": "./src/vue.js" + "import": { + "types": "./dist/esm/vue.d.mts", + "default": "./dist/esm/vue.mjs" } } }, "files": [ - "src/" + "dist/" ], "keywords": [ "eslint", @@ -153,7 +181,6 @@ "@angular-eslint/eslint-plugin-template": "^17.3.0", "@angular-eslint/template-parser": "^17.3.0", "@next/eslint-plugin-next": "^14.1.4", - "@rushstack/eslint-patch": "^1.10.1", "@typescript-eslint/eslint-plugin": "^7.5.0", "@typescript-eslint/parser": "^7.5.0", "astro-eslint-parser": "^0.17.0", @@ -183,8 +210,13 @@ "vue-eslint-parser": "^9.4.2" }, "devDependencies": { + "@sapphire/node-utilities": "^1.0.2", + "@types/eslint": "^8.56.7", + "@types/eslint-scope": "^3.7.7", "eslint": "^9.0.0", "prettier": "^3.2.5", + "tsup": "^8.0.2", + "tsx": "^4.7.2", "typescript": "^5.4.4" }, "engines": { diff --git a/scripts/fix-tsup-type-files.ts b/scripts/fix-tsup-type-files.ts new file mode 100644 index 0000000..c1e25a5 --- /dev/null +++ b/scripts/fix-tsup-type-files.ts @@ -0,0 +1,13 @@ +import { findFilesRecursivelyStringEndsWith } from "@sapphire/node-utilities"; +import { rename } from "node:fs/promises"; +import { join } from "node:path"; + +const inputPath = "dist/esm/"; + +const fullInputPathUrl = join(process.cwd(), inputPath); + +for await (const file of findFilesRecursivelyStringEndsWith(fullInputPathUrl, ".d.ts")) { + await rename(file, file.replace(/\.d\.ts$/, ".d.mts")); +} + +console.log(`✅ Renamed .d.ts files in ${fullInputPathUrl} to .d.mts`); diff --git a/src/angular.js b/src/angular.ts similarity index 78% rename from src/angular.js rename to src/angular.ts index 3e624a9..162e470 100644 --- a/src/angular.js +++ b/src/angular.ts @@ -1,4 +1,11 @@ -const rules = { +// @ts-expect-error angular-eslint is not typed +import angularEslintPlugin from "@angular-eslint/eslint-plugin"; +// @ts-expect-error angular-eslint is not typed +import angularEslintTemplatePlugin from "@angular-eslint/eslint-plugin-template"; +import angularParser from "@angular-eslint/template-parser"; +import type { TSESLint } from "@typescript-eslint/utils"; + +const rules: TSESLint.FlatConfig.Rules = { "@angular-eslint/component-class-suffix": 2, "@angular-eslint/contextual-decorator": 2, "@angular-eslint/contextual-lifecycle": 2, @@ -30,7 +37,7 @@ const rules = { "import/extensions": 0, }; -const templateRules = { +const templateRules: TSESLint.FlatConfig.Rules = { "@angular-eslint/template/accessibility-alt-text": 2, "@angular-eslint/template/accessibility-elements-content": 2, "@angular-eslint/template/accessibility-label-has-associated-control": 1, @@ -54,23 +61,24 @@ const templateRules = { "@angular-eslint/template/use-track-by-function": 2, }; -/** @type {import('eslint').Linter.FlatConfig[]} */ -module.exports = [ +const config: TSESLint.FlatConfig.ConfigArray = [ { plugins: { - "@angular-eslint": require("@angular-eslint/eslint-plugin"), - "@angular-eslint/template": require("@angular-eslint/eslint-plugin-template"), + "@angular-eslint": angularEslintPlugin, + "@angular-eslint/template": angularEslintTemplatePlugin, }, processor: "@angular-eslint/template/extract-inline-html", rules, }, { languageOptions: { - parser: require("@angular-eslint/template-parser"), + parser: angularParser, }, plugins: { - "@angular-eslint/template": require("@angular-eslint/eslint-plugin-template"), + "@angular-eslint/template": angularEslintTemplatePlugin, }, rules: templateRules, }, ]; + +export default config; diff --git a/src/astro.js b/src/astro.js deleted file mode 100644 index d504acc..0000000 --- a/src/astro.js +++ /dev/null @@ -1,31 +0,0 @@ -const astroPlugin = require("eslint-plugin-astro"); - -const astroRules = { - "react/jsx-key": 0, - "react/no-unknown-property": 0, - "react/self-closing-comp": 0, -}; - -/** @type {import('eslint').Linter.FlatConfig[]} */ -module.exports = [ - { - languageOptions: { - globals: astroPlugin.environments.astro.globals, - parserOptions: { - extraFileExtensions: [".astro"], - }, - }, - }, - { - languageOptions: { - parser: require("astro-eslint-parser"), - }, - plugins: { - astro: astroPlugin, - }, - rules: astroRules, - }, - { - files: ["**/*.astro/*.js", "*.astro/*.js"], - }, -]; diff --git a/src/astro.ts b/src/astro.ts new file mode 100644 index 0000000..d65fef0 --- /dev/null +++ b/src/astro.ts @@ -0,0 +1,36 @@ +import type { TSESLint } from "@typescript-eslint/utils"; +import astroParser from "astro-eslint-parser"; +import astroPlugin from "eslint-plugin-astro"; + +const astroRules: TSESLint.FlatConfig.Rules = { + "react/jsx-key": 0, + "react/no-unknown-property": 0, + "react/self-closing-comp": 0, +}; + +const config: TSESLint.FlatConfig.ConfigArray = [ + { + languageOptions: { + globals: astroPlugin.environments.astro.globals, + parserOptions: { + extraFileExtensions: [".astro"], + }, + }, + }, + { + languageOptions: { + parser: astroParser, + }, + plugins: { + // @ts-expect-error eslint-plugin-astro needs to be updated to v9 + // TODO [V9 UPDATE] + astro: astroPlugin, + }, + rules: astroRules, + }, + { + files: ["**/*.astro/*.js", "*.astro/*.js"], + }, +]; + +export default config; diff --git a/src/browser.js b/src/browser.ts similarity index 60% rename from src/browser.js rename to src/browser.ts index ab1faf9..92bc19b 100644 --- a/src/browser.js +++ b/src/browser.ts @@ -1,6 +1,7 @@ -const globals = require("globals"); +import type { TSESLint } from "@typescript-eslint/utils"; +import globals from "globals"; -const rules = { +const rules: TSESLint.FlatConfig.Rules = { "unicorn/prefer-dom-node-append": 2, "unicorn/prefer-dom-node-dataset": 2, "unicorn/prefer-dom-node-remove": 2, @@ -9,8 +10,7 @@ const rules = { "unicorn/prefer-modern-dom-apis": 2, }; -/** @type {import('eslint').Linter.FlatConfig[]} */ -module.exports = [ +const config: TSESLint.FlatConfig.ConfigArray = [ { languageOptions: { globals: globals.browser, @@ -18,3 +18,5 @@ module.exports = [ rules, }, ]; + +export default config; diff --git a/src/common.js b/src/common.ts similarity index 94% rename from src/common.js rename to src/common.ts index e873711..27de747 100644 --- a/src/common.js +++ b/src/common.ts @@ -1,8 +1,12 @@ -try { - require("@rushstack/eslint-patch/modern-module-resolution"); -} catch {} +import type { TSESLint } from "@typescript-eslint/utils"; +import eslintPluginImport from "eslint-plugin-import"; +import eslintPluginJsdoc from "eslint-plugin-jsdoc"; +// @ts-expect-error eslint-plugin-unicorn is not typed +import eslintPluginUnicorn from "eslint-plugin-unicorn"; +// TODO [V9 UPDATE] +// import eslintPluginPromise from "eslint-plugin-promise"; -const rules = { +const rules: TSESLint.FlatConfig.Rules = { "accessor-pairs": 0, "array-bracket-newline": [2, { multiline: true }], "array-bracket-spacing": [2, "never"], @@ -484,10 +488,10 @@ const rules = { "prefer-rest-params": 2, "prefer-spread": 2, "prefer-template": 0, - "promise/param-names": 2, - "promise/prefer-await-to-callbacks": 1, - "promise/prefer-await-to-then": 2, - "promise/valid-params": 2, + // "promise/param-names": 2, + // "promise/prefer-await-to-callbacks": 1, + // "promise/prefer-await-to-then": 2, + // "promise/valid-params": 2, "quote-props": [ 2, "as-needed", @@ -696,7 +700,7 @@ const rules = { yoda: [2, "never"], }; -const settings = { +const settings: TSESLint.FlatConfig.Settings = { "import/extensions": [".js"], "import/resolver": { node: { @@ -705,8 +709,7 @@ const settings = { }, }; -/** @type {import('eslint').Linter.FlatConfig[]} */ -module.exports = [ +const config: TSESLint.FlatConfig.ConfigArray = [ { linterOptions: { reportUnusedDisableDirectives: true, @@ -723,12 +726,16 @@ module.exports = [ }, }, plugins: { - import: require("eslint-plugin-import"), - jsdoc: require("eslint-plugin-jsdoc"), - unicorn: require("eslint-plugin-unicorn"), - promise: require("eslint-plugin-promise"), + import: eslintPluginImport, + // @ts-expect-error eslint-plugin-jsdoc needs to be updated to v9 + jsdoc: eslintPluginJsdoc, + unicorn: eslintPluginUnicorn, + // TODO [V9 UPDATE] + // promise: eslintPluginPromise, }, rules, settings, }, ]; + +export default config; diff --git a/src/cypress.js b/src/cypress.ts similarity index 56% rename from src/cypress.js rename to src/cypress.ts index bc00616..dec5c74 100644 --- a/src/cypress.js +++ b/src/cypress.ts @@ -1,6 +1,8 @@ -const cypress = require("eslint-plugin-cypress"); +import type { TSESLint } from "@typescript-eslint/utils"; +// @ts-expect-error eslint-plugin-cypress is not typed +import cypress from "eslint-plugin-cypress"; -const rules = { +const rules: TSESLint.FlatConfig.Rules = { "cypress/assertion-before-screenshot": 2, "cypress/no-assigning-return-values": 2, "cypress/no-async-tests": 2, @@ -10,8 +12,7 @@ const rules = { "import/unambiguous": 0, }; -/** @type {import('eslint').Linter.FlatConfig[]} */ -module.exports = [ +const config: TSESLint.FlatConfig.ConfigArray = [ { languageOptions: { globals: cypress.environments.globals.globals, @@ -22,3 +23,5 @@ module.exports = [ rules, }, ]; + +export default config; diff --git a/src/edge.js b/src/edge.ts similarity index 69% rename from src/edge.js rename to src/edge.ts index d1f408a..6787b33 100644 --- a/src/edge.js +++ b/src/edge.ts @@ -1,4 +1,6 @@ -const rules = { +import type { TSESLint } from "@typescript-eslint/utils"; + +const rules: TSESLint.FlatConfig.Rules = { "import/extensions": 0, "no-restricted-globals": 0, "n/prefer-global/buffer": [2, "always"], @@ -10,9 +12,10 @@ const rules = { "n/prefer-global/url-search-params": [2, "always"], }; -/** @type {import('eslint').Linter.FlatConfig[]} */ -module.exports = [ +const config: TSESLint.FlatConfig.ConfigArray = [ { rules, }, ]; + +export default config; diff --git a/src/jsx-a11y.js b/src/jsx-a11y.ts similarity index 87% rename from src/jsx-a11y.js rename to src/jsx-a11y.ts index a0be228..8459a6a 100644 --- a/src/jsx-a11y.js +++ b/src/jsx-a11y.ts @@ -1,4 +1,8 @@ -const rules = { +import type { TSESLint } from "@typescript-eslint/utils"; +// @ts-expect-error eslint-plugin-jsx-a11y is not typed +import eslintPluginJsxA11y from "eslint-plugin-jsx-a11y"; + +const rules: TSESLint.FlatConfig.Rules = { "jsx-a11y/alt-text": 2, "jsx-a11y/anchor-has-content": 2, "jsx-a11y/anchor-is-valid": 2, @@ -78,12 +82,13 @@ const rules = { "jsx-a11y/tabindex-no-positive": 2, }; -/** @type {import('eslint').Linter.FlatConfig[]} */ -module.exports = [ +const config: TSESLint.FlatConfig.ConfigArray = [ { plugins: { - "jsx-a11y": require("eslint-plugin-jsx-a11y"), + "jsx-a11y": eslintPluginJsxA11y, }, rules, }, ]; + +export default config; diff --git a/src/jsx.js b/src/jsx.ts similarity index 86% rename from src/jsx.js rename to src/jsx.ts index 01432d4..3d184fa 100644 --- a/src/jsx.js +++ b/src/jsx.ts @@ -1,4 +1,8 @@ -const rules = { +import type { TSESLint } from "@typescript-eslint/utils"; +// @ts-expect-error eslint-plugin-react is not typed +import eslintPluginReact from "eslint-plugin-react"; + +const rules: TSESLint.FlatConfig.Rules = { "react/jsx-boolean-value": [2, "never"], "react/jsx-child-element-spacing": 0, "react/jsx-closing-bracket-location": [2, "line-aligned"], @@ -98,7 +102,7 @@ const rules = { "react/jsx-wrap-multilines": 0, }; -const settings = { +const settings: TSESLint.FlatConfig.Settings = { "import/extensions": [".js", ".jsx"], "import/resolver": { node: { @@ -107,8 +111,7 @@ const settings = { }, }; -/** @type {import('eslint').Linter.FlatConfig[]} */ -module.exports = [ +const config: TSESLint.FlatConfig.ConfigArray = [ { languageOptions: { parserOptions: { @@ -118,9 +121,11 @@ module.exports = [ }, }, plugins: { - react: require("eslint-plugin-react"), + react: eslintPluginReact, }, rules, settings, }, ]; + +export default config; diff --git a/src/mdx.js b/src/mdx.js deleted file mode 100644 index bf8d33f..0000000 --- a/src/mdx.js +++ /dev/null @@ -1,40 +0,0 @@ -const mdxPlugin = require("eslint-plugin-mdx"); - -const plugins = { - mdx: mdxPlugin, -}; - -const rules = { - "mdx/remark": 2, -}; - -const settings = { - "mdx/code-blocks": true, -}; - -/** @type {import('eslint').Linter.FlatConfig[]} */ -module.exports = [ - { - languageOptions: { - parser: require("eslint-mdx"), - parserOptions: { - extensions: [".mdx", ".md"], - }, - }, - processor: "mdx/remark", - plugins, - rules, - settings, - }, - { - languageOptions: { - parserOptions: { - ...mdxPlugin.configs["code-blocks"].parserOptions, - }, - }, - plugins, - rules: { - ...mdxPlugin.configs["code-blocks"].rules, - }, - }, -]; diff --git a/src/mdx.ts b/src/mdx.ts new file mode 100644 index 0000000..3f376b8 --- /dev/null +++ b/src/mdx.ts @@ -0,0 +1,45 @@ +import type { TSESLint } from "@typescript-eslint/utils"; +import mdxParser from "eslint-mdx"; +import mdxPlugin from "eslint-plugin-mdx"; + +const plugins: TSESLint.FlatConfig.Plugins = { + // @ts-expect-error eslint-plugin-mdx needs to be updated to v9 + // TODO [V9 UPDATE] + mdx: mdxPlugin, +}; + +const rules: TSESLint.FlatConfig.Rules = { + "mdx/remark": 2, +}; + +const settings: TSESLint.FlatConfig.Settings = { + "mdx/code-blocks": true, +}; + +const config: TSESLint.FlatConfig.ConfigArray = [ + { + languageOptions: { + parser: mdxParser, + parserOptions: { + extensions: [".mdx", ".md"], + }, + }, + processor: "mdx/remark", + plugins, + rules, + settings, + }, + { + languageOptions: { + parserOptions: { + ...mdxPlugin.configs["code-blocks"].parserOptions, + }, + }, + plugins, + rules: { + ...mdxPlugin.configs["code-blocks"].rules, + }, + }, +]; + +export default config; diff --git a/src/module.js b/src/module.js deleted file mode 100644 index 5cd99ac..0000000 --- a/src/module.js +++ /dev/null @@ -1,10 +0,0 @@ -const rules = { - "unicorn/prefer-module": 2, -}; - -/** @type {import('eslint').Linter.FlatConfig[]} */ -module.exports = [ - { - rules, - }, -]; diff --git a/src/module.ts b/src/module.ts new file mode 100644 index 0000000..d634c26 --- /dev/null +++ b/src/module.ts @@ -0,0 +1,13 @@ +import type { TSESLint } from "@typescript-eslint/utils"; + +const rules: TSESLint.FlatConfig.Rules = { + "unicorn/prefer-module": 2, +}; + +const config: TSESLint.FlatConfig.ConfigArray = [ + { + rules, + }, +]; + +export default config; diff --git a/src/next.js b/src/next.ts similarity index 72% rename from src/next.js rename to src/next.ts index 13bd426..5bd67d0 100644 --- a/src/next.js +++ b/src/next.ts @@ -1,4 +1,8 @@ -const rules = { +// @ts-expect-error eslint-plugin-next is not typed +import eslintPluginNext from "@next/eslint-plugin-next"; +import type { TSESLint } from "@typescript-eslint/utils"; + +const rules: TSESLint.FlatConfig.Rules = { "@next/next/google-font-display": 1, "@next/next/google-font-preconnect": 1, "@next/next/inline-script-id": 2, @@ -21,12 +25,13 @@ const rules = { "import/extensions": 0, }; -/** @type {import('eslint').Linter.FlatConfig[]} */ -module.exports = [ +const config: TSESLint.FlatConfig.ConfigArray = [ { plugins: { - "@next/next": require("@next/eslint-plugin-next"), + "@next/next": eslintPluginNext, }, rules, }, ]; + +export default config; diff --git a/src/no-deprecated.js b/src/no-deprecated.js deleted file mode 100644 index 6c3d760..0000000 --- a/src/no-deprecated.js +++ /dev/null @@ -1,10 +0,0 @@ -const rules = { - "import/no-deprecated": 1, -}; - -/** @type {import('eslint').Linter.FlatConfig[]} */ -module.exports = [ - { - rules, - }, -]; diff --git a/src/no-deprecated.ts b/src/no-deprecated.ts new file mode 100644 index 0000000..f83c92d --- /dev/null +++ b/src/no-deprecated.ts @@ -0,0 +1,13 @@ +import type { TSESLint } from "@typescript-eslint/utils"; + +const rules: TSESLint.FlatConfig.Rules = { + "import/no-deprecated": 1, +}; + +const config: TSESLint.FlatConfig.ConfigArray = [ + { + rules, + }, +]; + +export default config; diff --git a/src/node.js b/src/node.ts similarity index 87% rename from src/node.js rename to src/node.ts index 523a11a..28f7dfc 100644 --- a/src/node.js +++ b/src/node.ts @@ -1,8 +1,9 @@ -// eslint-disable-next-line id-length -const n = require("eslint-plugin-n"); -const globals = require("globals"); +import type { TSESLint } from "@typescript-eslint/utils"; +// @ts-expect-error eslint-plugin-n is not typed +import n from "eslint-plugin-n"; // eslint-disable-line id-length +import globals from "globals"; -const rules = { +const rules: TSESLint.FlatConfig.Rules = { "no-restricted-globals": [ "error", { @@ -92,8 +93,7 @@ const rules = { "unicorn/require-post-message-target-origin": 0, }; -/** @type {import('eslint').Linter.FlatConfig[]} */ -module.exports = [ +const config: TSESLint.FlatConfig.ConfigArray = [ { languageOptions: { globals: { @@ -107,9 +107,10 @@ module.exports = [ }, }, plugins: { - // eslint-disable-next-line id-length - n, + n, // eslint-disable-line id-length }, rules, }, ]; + +export default config; diff --git a/src/prettier.js b/src/prettier.js deleted file mode 100644 index b84adfc..0000000 --- a/src/prettier.js +++ /dev/null @@ -1,16 +0,0 @@ -const prettier = require("eslint-config-prettier"); - -const rules = { - ...prettier.rules, - - "arrow-body-style": 0, - "line-comment-position": 0, - "no-inline-comments": 0, -}; - -/** @type {import('eslint').Linter.FlatConfig[]} */ -module.exports = [ - { - rules, - }, -]; diff --git a/src/prettier.ts b/src/prettier.ts new file mode 100644 index 0000000..eca1c81 --- /dev/null +++ b/src/prettier.ts @@ -0,0 +1,19 @@ +import type { TSESLint } from "@typescript-eslint/utils"; +// @ts-expect-error eslint-config-prettier is not typed +import prettier from "eslint-config-prettier"; + +const rules: TSESLint.FlatConfig.Rules = { + ...prettier.rules, + + "arrow-body-style": 0, + "line-comment-position": 0, + "no-inline-comments": 0, +}; + +const config: TSESLint.FlatConfig.ConfigArray = [ + { + rules, + }, +]; + +export default config; diff --git a/src/react.js b/src/react.ts similarity index 79% rename from src/react.js rename to src/react.ts index 524975d..24fae0e 100644 --- a/src/react.js +++ b/src/react.ts @@ -1,8 +1,11 @@ -const jsx = require("./jsx.js"); - -const rules = { - ...jsx.rules, +import type { TSESLint } from "@typescript-eslint/utils"; +// @ts-expect-error eslint-plugin-react is not typed +import eslintPluginReact from "eslint-plugin-react"; +// @ts-expect-error eslint-plugin-react-hooks is not typed +import eslintPluginReactHooks from "eslint-plugin-react-hooks"; +import jsx from "./jsx.js"; +const rules: TSESLint.FlatConfig.Rules = { "react/boolean-prop-naming": 2, "react/button-has-type": 2, "react/default-props-match-prop-types": 2, @@ -73,20 +76,22 @@ const rules = { "react-hooks/rules-of-hooks": 2, }; -const settings = { +const settings: TSESLint.FlatConfig.Settings = { react: { version: "detect", }, }; -/** @type {import('eslint').Linter.FlatConfig[]} */ -module.exports = [ +const config: TSESLint.FlatConfig.ConfigArray = [ + ...jsx, { plugins: { - react: require("eslint-plugin-react"), - "react-hooks": require("eslint-plugin-react-hooks"), + react: eslintPluginReact, + "react-hooks": eslintPluginReactHooks, }, rules, settings, }, ]; + +export default config; diff --git a/src/rxjs-angular.js b/src/rxjs-angular.js deleted file mode 100644 index ef40f01..0000000 --- a/src/rxjs-angular.js +++ /dev/null @@ -1,15 +0,0 @@ -const rules = { - "rxjs-angular/prefer-async-pipe": 0, - "rxjs-angular/prefer-composition": 0, - "rxjs-angular/prefer-takeuntil": 0, -}; - -/** @type {import('eslint').Linter.FlatConfig[]} */ -module.exports = [ - { - plugins: { - "rxjs-angular": require("eslint-plugin-rxjs-angular"), - }, - rules, - }, -]; diff --git a/src/rxjs-angular.ts b/src/rxjs-angular.ts new file mode 100644 index 0000000..4c893b2 --- /dev/null +++ b/src/rxjs-angular.ts @@ -0,0 +1,20 @@ +import type { TSESLint } from "@typescript-eslint/utils"; +// @ts-expect-error eslint-plugin-rxjs-angular is not typed +import eslintPluginRxjsAngular from "eslint-plugin-rxjs-angular"; + +const rules: TSESLint.FlatConfig.Rules = { + "rxjs-angular/prefer-async-pipe": 0, + "rxjs-angular/prefer-composition": 0, + "rxjs-angular/prefer-takeuntil": 0, +}; + +const config: TSESLint.FlatConfig.ConfigArray = [ + { + plugins: { + "rxjs-angular": eslintPluginRxjsAngular, + }, + rules, + }, +]; + +export default config; diff --git a/src/rxjs.js b/src/rxjs.ts similarity index 79% rename from src/rxjs.js rename to src/rxjs.ts index 7146cad..9c08bf9 100644 --- a/src/rxjs.js +++ b/src/rxjs.ts @@ -1,4 +1,8 @@ -const rules = { +import type { TSESLint } from "@typescript-eslint/utils"; +// @ts-expect-error eslint-plugin-rxjs is not typed +import eslintPluginRxjs from "eslint-plugin-rxjs"; + +const rules: TSESLint.FlatConfig.Rules = { "rxjs/ban-observables": 0, "rxjs/ban-operators": 0, "rxjs/finnish": 2, @@ -40,12 +44,13 @@ const rules = { "rxjs/throw-error": 2, }; -/** @type {import('eslint').Linter.FlatConfig[]} */ -module.exports = [ +const config: TSESLint.FlatConfig.ConfigArray = [ { plugins: { - rxjs: require("eslint-plugin-rxjs"), + rxjs: eslintPluginRxjs, }, rules, }, ]; + +export default config; diff --git a/src/svelte-typescript.js b/src/svelte-typescript.js deleted file mode 100644 index ea2fe27..0000000 --- a/src/svelte-typescript.js +++ /dev/null @@ -1,15 +0,0 @@ -const settings = { - "svelte3/typescript": true, -}; - -/** @type {import('eslint').Linter.FlatConfig[]} */ -module.exports = [ - { - languageOptions: { - parserOptions: { - extraFileExtensions: [".svelte"], - }, - }, - settings, - }, -]; diff --git a/src/svelte-typescript.ts b/src/svelte-typescript.ts new file mode 100644 index 0000000..3429001 --- /dev/null +++ b/src/svelte-typescript.ts @@ -0,0 +1,18 @@ +import type { TSESLint } from "@typescript-eslint/utils"; + +const settings: TSESLint.FlatConfig.Settings = { + "svelte3/typescript": true, +}; + +const config: TSESLint.FlatConfig.ConfigArray = [ + { + languageOptions: { + parserOptions: { + extraFileExtensions: [".svelte"], + }, + }, + settings, + }, +]; + +export default config; diff --git a/src/svelte.js b/src/svelte.js deleted file mode 100644 index a615d73..0000000 --- a/src/svelte.js +++ /dev/null @@ -1,21 +0,0 @@ -const plugins = { svelte3: require("eslint-plugin-svelte3") }; - -const svelteRules = { - "import/first": 0, - "import/no-duplicates": 0, - "import/no-mutable-exports": 0, - "import/no-unresolved": 0, - "import/prefer-default-export": 0, -}; - -/** @type {import('eslint').Linter.FlatConfig[]} */ -module.exports = [ - { - plugins, - }, - { - plugins, - processor: "svelte3/svelte3", - rules: svelteRules, - }, -]; diff --git a/src/svelte.ts b/src/svelte.ts new file mode 100644 index 0000000..9bb7ffc --- /dev/null +++ b/src/svelte.ts @@ -0,0 +1,28 @@ +import type { TSESLint } from "@typescript-eslint/utils"; +// @ts-expect-error eslint-plugin-svelte3 is not typed +import eslintPluginSvelte3 from "eslint-plugin-svelte3"; + +const plugins: TSESLint.FlatConfig.Plugins = { + svelte3: eslintPluginSvelte3, +}; + +const svelteRules: TSESLint.FlatConfig.Rules = { + "import/first": 0, + "import/no-duplicates": 0, + "import/no-mutable-exports": 0, + "import/no-unresolved": 0, + "import/prefer-default-export": 0, +}; + +const config: TSESLint.FlatConfig.ConfigArray = [ + { + plugins, + }, + { + plugins, + processor: "svelte3/svelte3", + rules: svelteRules, + }, +]; + +export default config; diff --git a/src/typescript.js b/src/typescript.ts similarity index 82% rename from src/typescript.js rename to src/typescript.ts index 98f9535..7c74669 100644 --- a/src/typescript.js +++ b/src/typescript.ts @@ -1,4 +1,11 @@ -const rules = { +import type { TSESLint } from "@typescript-eslint/utils"; +// import eslintPluginSonarjs from "eslint-plugin-sonarjs"; +import eslintPluginTsdoc from "eslint-plugin-tsdoc"; +// @ts-expect-error eslint-plugin-typescript-sort-keys is not typed +import eslintPluginTypescriptSortKeys from "eslint-plugin-typescript-sort-keys"; +import tseslint from "typescript-eslint"; + +const rules: TSESLint.FlatConfig.Rules = { "@typescript-eslint/adjacent-overload-signatures": 2, "@typescript-eslint/array-type": [ 2, @@ -360,43 +367,43 @@ const rules = { "jsdoc/require-property-type": 0, "no-undef": 0, "n/global-require": 0, - "sonarjs/no-all-duplicated-branches": 2, - "sonarjs/no-element-overwrite": 2, - "sonarjs/no-empty-collection": 2, - "sonarjs/no-extra-arguments": 2, - "sonarjs/no-identical-conditions": 2, - "sonarjs/no-identical-expressions": 2, - "sonarjs/no-ignored-return": 2, - "sonarjs/no-one-iteration-loop": 2, - "sonarjs/no-use-of-empty-return-value": 2, - "sonarjs/non-existent-operator": 2, - "sonarjs/elseif-without-else": 0, - "sonarjs/max-switch-cases": 0, - "sonarjs/no-collapsible-if": 2, - "sonarjs/no-collection-size-mischeck": 2, - "sonarjs/no-duplicate-string": 0, - "sonarjs/no-duplicated-branches": 2, - "sonarjs/no-gratuitous-expressions": 2, - "sonarjs/no-identical-functions": 2, - "sonarjs/no-inverted-boolean-check": 2, - "sonarjs/no-nested-switch": 2, - "sonarjs/no-nested-template-literals": 0, - "sonarjs/no-redundant-boolean": 2, - "sonarjs/no-redundant-jump": 2, - "sonarjs/no-same-line-conditional": 2, - "sonarjs/no-small-switch": 0, - "sonarjs/no-unused-collection": 2, - "sonarjs/no-useless-catch": 0, - "sonarjs/prefer-immediate-return": 2, - "sonarjs/prefer-object-literal": 2, - "sonarjs/prefer-single-boolean-return": 2, - "sonarjs/prefer-while": 2, + // "sonarjs/no-all-duplicated-branches": 2, + // "sonarjs/no-element-overwrite": 2, + // "sonarjs/no-empty-collection": 2, + // "sonarjs/no-extra-arguments": 2, + // "sonarjs/no-identical-conditions": 2, + // "sonarjs/no-identical-expressions": 2, + // "sonarjs/no-ignored-return": 2, + // "sonarjs/no-one-iteration-loop": 2, + // "sonarjs/no-use-of-empty-return-value": 2, + // "sonarjs/non-existent-operator": 2, + // "sonarjs/elseif-without-else": 0, + // "sonarjs/max-switch-cases": 0, + // "sonarjs/no-collapsible-if": 2, + // "sonarjs/no-collection-size-mischeck": 2, + // "sonarjs/no-duplicate-string": 0, + // "sonarjs/no-duplicated-branches": 2, + // "sonarjs/no-gratuitous-expressions": 2, + // "sonarjs/no-identical-functions": 2, + // "sonarjs/no-inverted-boolean-check": 2, + // "sonarjs/no-nested-switch": 2, + // "sonarjs/no-nested-template-literals": 0, + // "sonarjs/no-redundant-boolean": 2, + // "sonarjs/no-redundant-jump": 2, + // "sonarjs/no-same-line-conditional": 2, + // "sonarjs/no-small-switch": 0, + // "sonarjs/no-unused-collection": 2, + // "sonarjs/no-useless-catch": 0, + // "sonarjs/prefer-immediate-return": 2, + // "sonarjs/prefer-object-literal": 2, + // "sonarjs/prefer-single-boolean-return": 2, + // "sonarjs/prefer-while": 2, "tsdoc/syntax": 1, "typescript-sort-keys/interface": 2, "typescript-sort-keys/string-enum": 2, }; -const settings = { +const settings: TSESLint.FlatConfig.Settings = { jsdoc: { mode: "typescript", }, @@ -416,19 +423,21 @@ const settings = { }, }; -/** @type {import('eslint').Linter.FlatConfig[]} */ -module.exports = [ +const config: TSESLint.FlatConfig.ConfigArray = tseslint.config( + // + ...tseslint.configs.recommended, { - languageOptions: { - parser: require("typescript-eslint").parser, - }, plugins: { - "@typescript-eslint": require("typescript-eslint").plugin, - sonarjs: require("eslint-plugin-sonarjs"), - tsdoc: require("eslint-plugin-tsdoc"), - "typescript-sort-keys": require("eslint-plugin-typescript-sort-keys"), + // TODO [V9 UPDATE] + // sonarjs: eslintPluginSonarjs, + // @ts-expect-error eslint-plugin-tsdoc needs to be updated to v9 + // TODO [V9 UPDATE] + tsdoc: eslintPluginTsdoc, + "typescript-sort-keys": eslintPluginTypescriptSortKeys, }, rules, settings, }, -]; +); + +export default config; diff --git a/src/vue-typescript.js b/src/vue-typescript.js deleted file mode 100644 index 6e084a2..0000000 --- a/src/vue-typescript.js +++ /dev/null @@ -1,10 +0,0 @@ -/** @type {import('eslint').Linter.FlatConfig[]} */ -module.exports = [ - { - languageOptions: { - parserOptions: { - extraFileExtensions: [".vue"], - }, - }, - }, -]; diff --git a/src/vue-typescript.ts b/src/vue-typescript.ts new file mode 100644 index 0000000..d93c1e9 --- /dev/null +++ b/src/vue-typescript.ts @@ -0,0 +1,13 @@ +import type { TSESLint } from "@typescript-eslint/utils"; + +const config: TSESLint.FlatConfig.ConfigArray = [ + { + languageOptions: { + parserOptions: { + extraFileExtensions: [".vue"], + }, + }, + }, +]; + +export default config; diff --git a/src/vue.js b/src/vue.ts similarity index 93% rename from src/vue.js rename to src/vue.ts index c2b11cb..eee0bfe 100644 --- a/src/vue.js +++ b/src/vue.ts @@ -1,4 +1,9 @@ -const rules = { +import type { TSESLint } from "@typescript-eslint/utils"; +// @ts-expect-error eslint-plugin-vue is not typed +import eslintPluginVue from "eslint-plugin-vue"; +import vueEslintParser from "vue-eslint-parser"; + +const rules: TSESLint.FlatConfig.Rules = { "vue/array-bracket-newline": [2, { multiline: true }], "vue/array-bracket-spacing": [2, "never"], "vue/arrow-spacing": [ @@ -296,18 +301,19 @@ const rules = { "vue/valid-v-text": 2, }; -const vueRules = { +const vueRules: TSESLint.FlatConfig.Rules = { indent: 0, }; -/** @type {import('eslint').Linter.FlatConfig[]} */ -module.exports = [ +const config: TSESLint.FlatConfig.ConfigArray = [ { languageOptions: { - parser: require("vue-eslint-parser"), + // @ts-expect-error vue-eslint-parser needs to be updated to v9 + // TODO [V9 UPDATE] + parser: vueEslintParser, }, plugins: { - vue: require("eslint-plugin-vue"), + vue: eslintPluginVue, }, rules, }, @@ -315,3 +321,5 @@ module.exports = [ rules: vueRules, }, ]; + +export default config; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..bdad853 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,50 @@ +{ + "include": ["src"], + "compilerOptions": { + // Type Checking + "allowUnreachableCode": false, + "allowUnusedLabels": false, + "exactOptionalPropertyTypes": true, + "noFallthroughCasesInSwitch": true, + "noImplicitOverride": true, + "noImplicitReturns": true, + "noPropertyAccessFromIndexSignature": false, + "noUncheckedIndexedAccess": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "strict": true, + + // Modules + "allowArbitraryExtensions": false, + "allowImportingTsExtensions": false, + "module": "ES2022", + "moduleResolution": "Bundler", + "resolveJsonModule": true, + "resolvePackageJsonExports": true, + "resolvePackageJsonImports": true, + + // Emit + "declaration": true, + "declarationMap": true, + "importHelpers": false, + "newLine": "lf", + "noEmitHelpers": false, + "outDir": "dist", + "removeComments": false, + "sourceMap": true, + + // Interop Constraints + "allowSyntheticDefaultImports": true, + "esModuleInterop": false, + "forceConsistentCasingInFileNames": true, + "isolatedModules": true, + + // Language and Environment + "experimentalDecorators": true, + "lib": ["ESNext", "esnext.disposable"], + "pretty": true, + "rootDir": "src", + "target": "ES2020", + "useDefineForClassFields": true + } +} diff --git a/tsup.config.ts b/tsup.config.ts new file mode 100644 index 0000000..e4e5447 --- /dev/null +++ b/tsup.config.ts @@ -0,0 +1,28 @@ +import { defineConfig, type Options } from "tsup"; + +const baseOptions: Options = { + clean: true, + dts: true, + entry: ["src/*.ts"], + minify: false, + skipNodeModulesBundle: true, + sourcemap: true, + target: "es2021", + tsconfig: "./tsconfig.json", + keepNames: true, + treeshake: true, +}; + +export default [ + defineConfig({ + ...baseOptions, + outDir: "dist/cjs", + format: "cjs", + }), + defineConfig({ + ...baseOptions, + outDir: "dist/esm", + format: "esm", + outExtension: () => ({ js: ".mjs" }), + }), +]; diff --git a/yarn.lock b/yarn.lock index ebf6b39..f007db7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -232,6 +232,167 @@ __metadata: languageName: node linkType: hard +"@esbuild/aix-ppc64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/aix-ppc64@npm:0.19.12" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/android-arm64@npm:0.19.12" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/android-arm@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/android-arm@npm:0.19.12" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/android-x64@npm:0.19.12" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/darwin-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/darwin-arm64@npm:0.19.12" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/darwin-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/darwin-x64@npm:0.19.12" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/freebsd-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/freebsd-arm64@npm:0.19.12" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/freebsd-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/freebsd-x64@npm:0.19.12" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/linux-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-arm64@npm:0.19.12" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/linux-arm@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-arm@npm:0.19.12" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@esbuild/linux-ia32@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-ia32@npm:0.19.12" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/linux-loong64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-loong64@npm:0.19.12" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@esbuild/linux-mips64el@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-mips64el@npm:0.19.12" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@esbuild/linux-ppc64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-ppc64@npm:0.19.12" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/linux-riscv64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-riscv64@npm:0.19.12" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@esbuild/linux-s390x@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-s390x@npm:0.19.12" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@esbuild/linux-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-x64@npm:0.19.12" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/netbsd-x64@npm:0.19.12" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/openbsd-x64@npm:0.19.12" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/sunos-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/sunos-x64@npm:0.19.12" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/win32-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/win32-arm64@npm:0.19.12" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/win32-ia32@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/win32-ia32@npm:0.19.12" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/win32-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/win32-x64@npm:0.19.12" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@eslint-community/eslint-utils@npm:^4.1.2, @eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": version: 4.4.0 resolution: "@eslint-community/eslint-utils@npm:4.4.0" @@ -434,6 +595,19 @@ __metadata: languageName: node linkType: hard +"@npmcli/agent@npm:^2.0.0": + version: 2.2.2 + resolution: "@npmcli/agent@npm:2.2.2" + dependencies: + agent-base: "npm:^7.1.0" + http-proxy-agent: "npm:^7.0.0" + https-proxy-agent: "npm:^7.0.1" + lru-cache: "npm:^10.0.1" + socks-proxy-agent: "npm:^8.0.3" + checksum: 10c0/325e0db7b287d4154ecd164c0815c08007abfb07653cc57bceded17bb7fd240998a3cbdbe87d700e30bef494885eccc725ab73b668020811d56623d145b524ae + languageName: node + linkType: hard + "@npmcli/config@npm:^8.0.0": version: 8.1.0 resolution: "@npmcli/config@npm:8.1.0" @@ -450,6 +624,15 @@ __metadata: languageName: node linkType: hard +"@npmcli/fs@npm:^3.1.0": + version: 3.1.0 + resolution: "@npmcli/fs@npm:3.1.0" + dependencies: + semver: "npm:^7.3.5" + checksum: 10c0/162b4a0b8705cd6f5c2470b851d1dc6cd228c86d2170e1769d738c1fbb69a87160901411c3c035331e9e99db72f1f1099a8b734bf1637cc32b9a5be1660e4e1e + languageName: node + linkType: hard + "@npmcli/map-workspaces@npm:^3.0.2": version: 3.0.4 resolution: "@npmcli/map-workspaces@npm:3.0.4" @@ -497,10 +680,115 @@ __metadata: languageName: node linkType: hard -"@rushstack/eslint-patch@npm:^1.10.1": - version: 1.10.1 - resolution: "@rushstack/eslint-patch@npm:1.10.1" - checksum: 10c0/db96bfdf83ededcd70de41876bfe7ecb2450b93e4c5e46bc0f2bc9dd0e0ea60e8bc5fc0d1d3b6addf902e640ea78855ed77b6c883d0d0d104269492141232995 +"@rollup/rollup-android-arm-eabi@npm:4.14.1": + version: 4.14.1 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.14.1" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@rollup/rollup-android-arm64@npm:4.14.1": + version: 4.14.1 + resolution: "@rollup/rollup-android-arm64@npm:4.14.1" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-arm64@npm:4.14.1": + version: 4.14.1 + resolution: "@rollup/rollup-darwin-arm64@npm:4.14.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-x64@npm:4.14.1": + version: 4.14.1 + resolution: "@rollup/rollup-darwin-x64@npm:4.14.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-gnueabihf@npm:4.14.1": + version: 4.14.1 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.14.1" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-gnu@npm:4.14.1": + version: 4.14.1 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.14.1" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-musl@npm:4.14.1": + version: 4.14.1 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.14.1" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-powerpc64le-gnu@npm:4.14.1": + version: 4.14.1 + resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.14.1" + conditions: os=linux & cpu=ppc64le & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-gnu@npm:4.14.1": + version: 4.14.1 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.14.1" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-s390x-gnu@npm:4.14.1": + version: 4.14.1 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.14.1" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-gnu@npm:4.14.1": + version: 4.14.1 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.14.1" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-musl@npm:4.14.1": + version: 4.14.1 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.14.1" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-win32-arm64-msvc@npm:4.14.1": + version: 4.14.1 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.14.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-ia32-msvc@npm:4.14.1": + version: 4.14.1 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.14.1" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-msvc@npm:4.14.1": + version: 4.14.1 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.14.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@sapphire/node-utilities@npm:^1.0.2": + version: 1.0.2 + resolution: "@sapphire/node-utilities@npm:1.0.2" + checksum: 10c0/65ec33badf849fb7d23ba6387567c5d2bea488463e5af0e46f9a348efb08346c5559d32a953f279cf4b1669994d774a25471398c26e415ec202e7da62c04c981 languageName: node linkType: hard @@ -531,6 +819,26 @@ __metadata: languageName: node linkType: hard +"@types/eslint-scope@npm:^3.7.7": + version: 3.7.7 + resolution: "@types/eslint-scope@npm:3.7.7" + dependencies: + "@types/eslint": "npm:*" + "@types/estree": "npm:*" + checksum: 10c0/a0ecbdf2f03912679440550817ff77ef39a30fa8bfdacaf6372b88b1f931828aec392f52283240f0d648cf3055c5ddc564544a626bcf245f3d09fcb099ebe3cc + languageName: node + linkType: hard + +"@types/eslint@npm:*, @types/eslint@npm:^8.56.7": + version: 8.56.7 + resolution: "@types/eslint@npm:8.56.7" + dependencies: + "@types/estree": "npm:*" + "@types/json-schema": "npm:*" + checksum: 10c0/159bb5ae2f78d905b9263240c75d07b60c26e1bcaecee8c775a7bb0cf7362f5dcdd286259ba6289ab62f989b87048090b2420619f7170a0abbd83cb68b5e0699 + languageName: node + linkType: hard + "@types/estree-jsx@npm:^1.0.0": version: 1.0.0 resolution: "@types/estree-jsx@npm:1.0.0" @@ -547,6 +855,13 @@ __metadata: languageName: node linkType: hard +"@types/estree@npm:1.0.5": + version: 1.0.5 + resolution: "@types/estree@npm:1.0.5" + checksum: 10c0/b3b0e334288ddb407c7b3357ca67dbee75ee22db242ca7c56fe27db4e1a31989cb8af48a84dd401deb787fe10cc6b2ab1ee82dc4783be87ededbe3d53c79c70d + languageName: node + linkType: hard + "@types/hast@npm:^3.0.0": version: 3.0.4 resolution: "@types/hast@npm:3.0.4" @@ -563,6 +878,13 @@ __metadata: languageName: node linkType: hard +"@types/json-schema@npm:*": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db + languageName: node + linkType: hard + "@types/json-schema@npm:^7.0.12, @types/json-schema@npm:^7.0.9": version: 7.0.12 resolution: "@types/json-schema@npm:7.0.12" @@ -1009,6 +1331,25 @@ __metadata: languageName: node linkType: hard +"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0, agent-base@npm:^7.1.1": + version: 7.1.1 + resolution: "agent-base@npm:7.1.1" + dependencies: + debug: "npm:^4.3.4" + checksum: 10c0/e59ce7bed9c63bf071a30cc471f2933862044c97fd9958967bfe22521d7a0f601ce4ed5a8c011799d0c726ca70312142ae193bbebb60f576b52be19d4a363b50 + languageName: node + linkType: hard + +"aggregate-error@npm:^3.0.0": + version: 3.1.0 + resolution: "aggregate-error@npm:3.1.0" + dependencies: + clean-stack: "npm:^2.0.0" + indent-string: "npm:^4.0.0" + checksum: 10c0/a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039 + languageName: node + linkType: hard + "ajv@npm:^6.12.4, ajv@npm:~6.12.6": version: 6.12.6 resolution: "ajv@npm:6.12.6" @@ -1060,6 +1401,23 @@ __metadata: languageName: node linkType: hard +"any-promise@npm:^1.0.0": + version: 1.3.0 + resolution: "any-promise@npm:1.3.0" + checksum: 10c0/60f0298ed34c74fef50daab88e8dab786036ed5a7fad02e012ab57e376e0a0b4b29e83b95ea9b5e7d89df762f5f25119b83e00706ecaccb22cfbacee98d74889 + languageName: node + linkType: hard + +"anymatch@npm:~3.1.2": + version: 3.1.3 + resolution: "anymatch@npm:3.1.3" + dependencies: + normalize-path: "npm:^3.0.0" + picomatch: "npm:^2.0.4" + checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac + languageName: node + linkType: hard + "are-docs-informative@npm:^0.0.2": version: 0.0.2 resolution: "are-docs-informative@npm:0.0.2" @@ -1296,6 +1654,13 @@ __metadata: languageName: node linkType: hard +"binary-extensions@npm:^2.0.0": + version: 2.3.0 + resolution: "binary-extensions@npm:2.3.0" + checksum: 10c0/75a59cafc10fb12a11d510e77110c6c7ae3f4ca22463d52487709ca7f18f69d886aa387557cc9864fbdb10153d0bdb4caacabf11541f55e89ed6e18d12ece2b5 + languageName: node + linkType: hard + "boolbase@npm:^1.0.0": version: 1.0.0 resolution: "boolbase@npm:1.0.0" @@ -1331,7 +1696,7 @@ __metadata: languageName: node linkType: hard -"braces@npm:^3.0.2": +"braces@npm:^3.0.2, braces@npm:~3.0.2": version: 3.0.2 resolution: "braces@npm:3.0.2" dependencies: @@ -1386,6 +1751,17 @@ __metadata: languageName: node linkType: hard +"bundle-require@npm:^4.0.0": + version: 4.0.2 + resolution: "bundle-require@npm:4.0.2" + dependencies: + load-tsconfig: "npm:^0.2.3" + peerDependencies: + esbuild: ">=0.17" + checksum: 10c0/984735cfcb1c61931e9325220ef8f9684c7d6905be1b45373a7ff42893910121c655f907cc96192a589da66d79a7d6fc8ddf11144628ee1593208a88bbd3929d + languageName: node + linkType: hard + "bytesish@npm:^0.4.1": version: 0.4.4 resolution: "bytesish@npm:0.4.4" @@ -1393,6 +1769,33 @@ __metadata: languageName: node linkType: hard +"cac@npm:^6.7.12": + version: 6.7.14 + resolution: "cac@npm:6.7.14" + checksum: 10c0/4ee06aaa7bab8981f0d54e5f5f9d4adcd64058e9697563ce336d8a3878ed018ee18ebe5359b2430eceae87e0758e62ea2019c3f52ae6e211b1bd2e133856cd10 + languageName: node + linkType: hard + +"cacache@npm:^18.0.0": + version: 18.0.2 + resolution: "cacache@npm:18.0.2" + dependencies: + "@npmcli/fs": "npm:^3.1.0" + fs-minipass: "npm:^3.0.0" + glob: "npm:^10.2.2" + lru-cache: "npm:^10.0.1" + minipass: "npm:^7.0.3" + minipass-collect: "npm:^2.0.1" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + p-map: "npm:^4.0.0" + ssri: "npm:^10.0.0" + tar: "npm:^6.1.11" + unique-filename: "npm:^3.0.0" + checksum: 10c0/7992665305cc251a984f4fdbab1449d50e88c635bc43bf2785530c61d239c61b349e5734461baa461caaee65f040ab14e2d58e694f479c0810cffd181ba5eabc + languageName: node + linkType: hard + "call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.6, call-bind@npm:^1.0.7": version: 1.0.7 resolution: "call-bind@npm:1.0.7" @@ -1504,6 +1907,32 @@ __metadata: languageName: node linkType: hard +"chokidar@npm:^3.5.1": + version: 3.6.0 + resolution: "chokidar@npm:3.6.0" + dependencies: + anymatch: "npm:~3.1.2" + braces: "npm:~3.0.2" + fsevents: "npm:~2.3.2" + glob-parent: "npm:~5.1.2" + is-binary-path: "npm:~2.1.0" + is-glob: "npm:~4.0.1" + normalize-path: "npm:~3.0.0" + readdirp: "npm:~3.6.0" + dependenciesMeta: + fsevents: + optional: true + checksum: 10c0/8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 + languageName: node + linkType: hard + +"chownr@npm:^2.0.0": + version: 2.0.0 + resolution: "chownr@npm:2.0.0" + checksum: 10c0/594754e1303672171cc04e50f6c398ae16128eb134a88f801bf5354fd96f205320f23536a045d9abd8b51024a149696e51231565891d4efdab8846021ecf88e6 + languageName: node + linkType: hard + "ci-info@npm:^4.0.0": version: 4.0.0 resolution: "ci-info@npm:4.0.0" @@ -1520,6 +1949,13 @@ __metadata: languageName: node linkType: hard +"clean-stack@npm:^2.0.0": + version: 2.2.0 + resolution: "clean-stack@npm:2.2.0" + checksum: 10c0/1f90262d5f6230a17e27d0c190b09d47ebe7efdd76a03b5a1127863f7b3c9aec4c3e6c8bb3a7bbf81d553d56a1fd35728f5a8ef4c63f867ac8d690109742a8c1 + languageName: node + linkType: hard + "cliui@npm:^8.0.1": version: 8.0.1 resolution: "cliui@npm:8.0.1" @@ -1563,6 +1999,13 @@ __metadata: languageName: node linkType: hard +"commander@npm:^4.0.0": + version: 4.1.1 + resolution: "commander@npm:4.1.1" + checksum: 10c0/84a76c08fe6cc08c9c93f62ac573d2907d8e79138999312c92d4155bc2325d487d64d13f669b2000c9f8caf70493c1be2dac74fec3c51d5a04f8bc3ae1830bab + languageName: node + linkType: hard + "comment-parser@npm:1.4.1": version: 1.4.1 resolution: "comment-parser@npm:1.4.1" @@ -1665,16 +2108,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:^3.2.7": - version: 3.2.7 - resolution: "debug@npm:3.2.7" - dependencies: - ms: "npm:^2.1.1" - checksum: 10c0/37d96ae42cbc71c14844d2ae3ba55adf462ec89fd3a999459dec3833944cd999af6007ff29c780f1c61153bcaaf2c842d1e4ce1ec621e4fc4923244942e4a02a - languageName: node - linkType: hard - -"debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4": +"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4": version: 4.3.4 resolution: "debug@npm:4.3.4" dependencies: @@ -1686,6 +2120,15 @@ __metadata: languageName: node linkType: hard +"debug@npm:^3.2.7": + version: 3.2.7 + resolution: "debug@npm:3.2.7" + dependencies: + ms: "npm:^2.1.1" + checksum: 10c0/37d96ae42cbc71c14844d2ae3ba55adf462ec89fd3a999459dec3833944cd999af6007ff29c780f1c61153bcaaf2c842d1e4ce1ec621e4fc4923244942e4a02a + languageName: node + linkType: hard + "decamelize@npm:^5.0.0": version: 5.0.1 resolution: "decamelize@npm:5.0.1" @@ -1845,6 +2288,15 @@ __metadata: languageName: node linkType: hard +"encoding@npm:^0.1.13": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" + dependencies: + iconv-lite: "npm:^0.6.2" + checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 + languageName: node + linkType: hard + "enhanced-resolve@npm:^5.12.0": version: 5.13.0 resolution: "enhanced-resolve@npm:5.13.0" @@ -1862,6 +2314,20 @@ __metadata: languageName: node linkType: hard +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 + languageName: node + linkType: hard + +"err-code@npm:^2.0.2": + version: 2.0.3 + resolution: "err-code@npm:2.0.3" + checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 + languageName: node + linkType: hard + "error-ex@npm:^1.3.1, error-ex@npm:^1.3.2": version: 1.3.2 resolution: "error-ex@npm:1.3.2" @@ -2003,6 +2469,86 @@ __metadata: languageName: node linkType: hard +"esbuild@npm:^0.19.2, esbuild@npm:~0.19.10": + version: 0.19.12 + resolution: "esbuild@npm:0.19.12" + dependencies: + "@esbuild/aix-ppc64": "npm:0.19.12" + "@esbuild/android-arm": "npm:0.19.12" + "@esbuild/android-arm64": "npm:0.19.12" + "@esbuild/android-x64": "npm:0.19.12" + "@esbuild/darwin-arm64": "npm:0.19.12" + "@esbuild/darwin-x64": "npm:0.19.12" + "@esbuild/freebsd-arm64": "npm:0.19.12" + "@esbuild/freebsd-x64": "npm:0.19.12" + "@esbuild/linux-arm": "npm:0.19.12" + "@esbuild/linux-arm64": "npm:0.19.12" + "@esbuild/linux-ia32": "npm:0.19.12" + "@esbuild/linux-loong64": "npm:0.19.12" + "@esbuild/linux-mips64el": "npm:0.19.12" + "@esbuild/linux-ppc64": "npm:0.19.12" + "@esbuild/linux-riscv64": "npm:0.19.12" + "@esbuild/linux-s390x": "npm:0.19.12" + "@esbuild/linux-x64": "npm:0.19.12" + "@esbuild/netbsd-x64": "npm:0.19.12" + "@esbuild/openbsd-x64": "npm:0.19.12" + "@esbuild/sunos-x64": "npm:0.19.12" + "@esbuild/win32-arm64": "npm:0.19.12" + "@esbuild/win32-ia32": "npm:0.19.12" + "@esbuild/win32-x64": "npm:0.19.12" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 10c0/0f2d21ffe24ebead64843f87c3aebe2e703a5ed9feb086a0728b24907fac2eb9923e4a79857d3df9059c915739bd7a870dd667972eae325c67f478b592b8582d + languageName: node + linkType: hard + "escalade@npm:^3.1.1": version: 3.1.1 resolution: "escalade@npm:3.1.1" @@ -2052,7 +2598,9 @@ __metadata: "@angular-eslint/eslint-plugin-template": "npm:^17.3.0" "@angular-eslint/template-parser": "npm:^17.3.0" "@next/eslint-plugin-next": "npm:^14.1.4" - "@rushstack/eslint-patch": "npm:^1.10.1" + "@sapphire/node-utilities": "npm:^1.0.2" + "@types/eslint": "npm:^8.56.7" + "@types/eslint-scope": "npm:^3.7.7" "@typescript-eslint/eslint-plugin": "npm:^7.5.0" "@typescript-eslint/parser": "npm:^7.5.0" astro-eslint-parser: "npm:^0.17.0" @@ -2080,6 +2628,8 @@ __metadata: eslint-plugin-vue: "npm:^9.24.0" globals: "npm:^15.0.0" prettier: "npm:^3.2.5" + tsup: "npm:^8.0.2" + tsx: "npm:^4.7.2" typescript: "npm:^5.4.4" typescript-eslint: "npm:^7.5.0" vue-eslint-parser: "npm:^9.4.2" @@ -2701,6 +3251,13 @@ __metadata: languageName: node linkType: hard +"exponential-backoff@npm:^3.1.1": + version: 3.1.1 + resolution: "exponential-backoff@npm:3.1.1" + checksum: 10c0/160456d2d647e6019640bd07111634d8c353038d9fa40176afb7cd49b0548bdae83b56d05e907c2cce2300b81cae35d800ef92fefb9d0208e190fa3b7d6bb579 + languageName: node + linkType: hard + "extend@npm:^3.0.0": version: 3.0.2 resolution: "extend@npm:3.0.2" @@ -2825,6 +3382,24 @@ __metadata: languageName: node linkType: hard +"fs-minipass@npm:^2.0.0": + version: 2.1.0 + resolution: "fs-minipass@npm:2.1.0" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/703d16522b8282d7299337539c3ed6edddd1afe82435e4f5b76e34a79cd74e488a8a0e26a636afc2440e1a23b03878e2122e3a2cfe375a5cf63c37d92b86a004 + languageName: node + linkType: hard + +"fs-minipass@npm:^3.0.0": + version: 3.0.3 + resolution: "fs-minipass@npm:3.0.3" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 + languageName: node + linkType: hard + "fs.realpath@npm:^1.0.0": version: 1.0.0 resolution: "fs.realpath@npm:1.0.0" @@ -2832,6 +3407,25 @@ __metadata: languageName: node linkType: hard +"fsevents@npm:~2.3.2, fsevents@npm:~2.3.3": + version: 2.3.3 + resolution: "fsevents@npm:2.3.3" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.3#optional!builtin": + version: 2.3.3 + resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" + dependencies: + node-gyp: "npm:latest" + conditions: os=darwin + languageName: node + linkType: hard + "function-bind@npm:^1.1.1, function-bind@npm:^1.1.2": version: 1.1.2 resolution: "function-bind@npm:1.1.2" @@ -2896,7 +3490,7 @@ __metadata: languageName: node linkType: hard -"get-tsconfig@npm:^4.5.0, get-tsconfig@npm:^4.7.0, get-tsconfig@npm:^4.7.3": +"get-tsconfig@npm:^4.5.0, get-tsconfig@npm:^4.7.0, get-tsconfig@npm:^4.7.2, get-tsconfig@npm:^4.7.3": version: 4.7.3 resolution: "get-tsconfig@npm:4.7.3" dependencies: @@ -2905,7 +3499,7 @@ __metadata: languageName: node linkType: hard -"glob-parent@npm:^5.1.2": +"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": version: 5.1.2 resolution: "glob-parent@npm:5.1.2" dependencies: @@ -2938,6 +3532,21 @@ __metadata: languageName: node linkType: hard +"glob@npm:^10.3.10": + version: 10.3.12 + resolution: "glob@npm:10.3.12" + dependencies: + foreground-child: "npm:^3.1.0" + jackspeak: "npm:^2.3.6" + minimatch: "npm:^9.0.1" + minipass: "npm:^7.0.4" + path-scurry: "npm:^1.10.2" + bin: + glob: dist/esm/bin.mjs + checksum: 10c0/f60cefdc1cf3f958b2bb5823e1b233727f04916d489dc4641d76914f016e6704421e06a83cbb68b0cb1cb9382298b7a88075b844ad2127fc9727ea22b18b0711 + languageName: node + linkType: hard + "glob@npm:~7.2.0": version: 7.2.3 resolution: "glob@npm:7.2.3" @@ -2991,7 +3600,7 @@ __metadata: languageName: node linkType: hard -"globby@npm:^11.1.0": +"globby@npm:^11.0.3, globby@npm:^11.1.0": version: 11.1.0 resolution: "globby@npm:11.1.0" dependencies: @@ -3014,7 +3623,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.2.4": +"graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 @@ -3106,6 +3715,33 @@ __metadata: languageName: node linkType: hard +"http-cache-semantics@npm:^4.1.1": + version: 4.1.1 + resolution: "http-cache-semantics@npm:4.1.1" + checksum: 10c0/ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc + languageName: node + linkType: hard + +"http-proxy-agent@npm:^7.0.0": + version: 7.0.2 + resolution: "http-proxy-agent@npm:7.0.2" + dependencies: + agent-base: "npm:^7.1.0" + debug: "npm:^4.3.4" + checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921 + languageName: node + linkType: hard + +"https-proxy-agent@npm:^7.0.1": + version: 7.0.4 + resolution: "https-proxy-agent@npm:7.0.4" + dependencies: + agent-base: "npm:^7.0.2" + debug: "npm:4" + checksum: 10c0/bc4f7c38da32a5fc622450b6cb49a24ff596f9bd48dcedb52d2da3fa1c1a80e100fb506bd59b326c012f21c863c69b275c23de1a01d0b84db396822fdf25e52b + languageName: node + linkType: hard + "human-signals@npm:^2.1.0": version: 2.1.0 resolution: "human-signals@npm:2.1.0" @@ -3120,6 +3756,15 @@ __metadata: languageName: node linkType: hard +"iconv-lite@npm:^0.6.2": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3.0.0" + checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 + languageName: node + linkType: hard + "ignore@npm:^5.0.0, ignore@npm:^5.2.0, ignore@npm:^5.2.4": version: 5.2.4 resolution: "ignore@npm:5.2.4" @@ -3193,6 +3838,16 @@ __metadata: languageName: node linkType: hard +"ip-address@npm:^9.0.5": + version: 9.0.5 + resolution: "ip-address@npm:9.0.5" + dependencies: + jsbn: "npm:1.1.0" + sprintf-js: "npm:^1.1.3" + checksum: 10c0/331cd07fafcb3b24100613e4b53e1a2b4feab11e671e655d46dc09ee233da5011284d09ca40c4ecbdfe1d0004f462958675c224a804259f2f78d2465a87824bc + languageName: node + linkType: hard + "is-alphabetical@npm:^1.0.0": version: 1.0.4 resolution: "is-alphabetical@npm:1.0.4" @@ -3262,6 +3917,15 @@ __metadata: languageName: node linkType: hard +"is-binary-path@npm:~2.1.0": + version: 2.1.0 + resolution: "is-binary-path@npm:2.1.0" + dependencies: + binary-extensions: "npm:^2.0.0" + checksum: 10c0/a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 + languageName: node + linkType: hard + "is-boolean-object@npm:^1.1.0": version: 1.1.2 resolution: "is-boolean-object@npm:1.1.2" @@ -3386,7 +4050,7 @@ __metadata: languageName: node linkType: hard -"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3": +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": version: 4.0.3 resolution: "is-glob@npm:4.0.3" dependencies: @@ -3420,6 +4084,13 @@ __metadata: languageName: node linkType: hard +"is-lambda@npm:^1.0.1": + version: 1.0.1 + resolution: "is-lambda@npm:1.0.1" + checksum: 10c0/85fee098ae62ba6f1e24cf22678805473c7afd0fb3978a3aa260e354cb7bcb3a5806cf0a98403188465efedec41ab4348e8e4e79305d409601323855b3839d4d + languageName: node + linkType: hard + "is-map@npm:^2.0.1": version: 2.0.2 resolution: "is-map@npm:2.0.2" @@ -3580,6 +4251,13 @@ __metadata: languageName: node linkType: hard +"isexe@npm:^3.1.1": + version: 3.1.1 + resolution: "isexe@npm:3.1.1" + checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 + languageName: node + linkType: hard + "iterator.prototype@npm:^1.1.2": version: 1.1.2 resolution: "iterator.prototype@npm:1.1.2" @@ -3593,7 +4271,7 @@ __metadata: languageName: node linkType: hard -"jackspeak@npm:^2.3.5": +"jackspeak@npm:^2.3.5, jackspeak@npm:^2.3.6": version: 2.3.6 resolution: "jackspeak@npm:2.3.6" dependencies: @@ -3613,6 +4291,13 @@ __metadata: languageName: node linkType: hard +"joycon@npm:^3.0.1": + version: 3.1.1 + resolution: "joycon@npm:3.1.1" + checksum: 10c0/131fb1e98c9065d067fd49b6e685487ac4ad4d254191d7aa2c9e3b90f4e9ca70430c43cad001602bdbdabcf58717d3b5c5b7461c1bd8e39478c8de706b3fe6ae + languageName: node + linkType: hard + "js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" @@ -3631,6 +4316,13 @@ __metadata: languageName: node linkType: hard +"jsbn@npm:1.1.0": + version: 1.1.0 + resolution: "jsbn@npm:1.1.0" + checksum: 10c0/4f907fb78d7b712e11dea8c165fe0921f81a657d3443dde75359ed52eb2b5d33ce6773d97985a089f09a65edd80b11cb75c767b57ba47391fee4c969f7215c96 + languageName: node + linkType: hard + "jsdoc-type-pratt-parser@npm:~4.0.0": version: 4.0.0 resolution: "jsdoc-type-pratt-parser@npm:4.0.0" @@ -3768,6 +4460,13 @@ __metadata: languageName: node linkType: hard +"lilconfig@npm:^3.0.0": + version: 3.1.1 + resolution: "lilconfig@npm:3.1.1" + checksum: 10c0/311b559794546894e3fe176663427326026c1c644145be9e8041c58e268aa9328799b8dfe7e4dd8c6a4ae305feae95a1c9e007db3569f35b42b6e1bc8274754c + languageName: node + linkType: hard + "lines-and-columns@npm:^1.1.6": version: 1.2.4 resolution: "lines-and-columns@npm:1.2.4" @@ -3792,6 +4491,13 @@ __metadata: languageName: node linkType: hard +"load-tsconfig@npm:^0.2.3": + version: 0.2.5 + resolution: "load-tsconfig@npm:0.2.5" + checksum: 10c0/bf2823dd26389d3497b6567f07435c5a7a58d9df82e879b0b3892f87d8db26900f84c85bc329ef41c0540c0d6a448d1c23ddc64a80f3ff6838b940f3915a3fcb + languageName: node + linkType: hard + "locate-path@npm:^5.0.0": version: 5.0.0 resolution: "locate-path@npm:5.0.0" @@ -3817,6 +4523,13 @@ __metadata: languageName: node linkType: hard +"lodash.sortby@npm:^4.7.0": + version: 4.7.0 + resolution: "lodash.sortby@npm:4.7.0" + checksum: 10c0/fc48fb54ff7669f33bb32997cab9460757ee99fafaf72400b261c3e10fde21538e47d8cfcbe6a25a31bcb5b7b727c27d52626386fc2de24eb059a6d64a89cdf5 + languageName: node + linkType: hard + "lodash@npm:^4.17.21": version: 4.17.21 resolution: "lodash@npm:4.17.21" @@ -3842,6 +4555,13 @@ __metadata: languageName: node linkType: hard +"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0, lru-cache@npm:^9.1.1 || ^10.0.0": + version: 10.2.0 + resolution: "lru-cache@npm:10.2.0" + checksum: 10c0/c9847612aa2daaef102d30542a8d6d9b2c2bb36581c1bf0dc3ebf5e5f3352c772a749e604afae2e46873b930a9e9523743faac4e5b937c576ab29196774712ee + languageName: node + linkType: hard + "lru-cache@npm:^6.0.0": version: 6.0.0 resolution: "lru-cache@npm:6.0.0" @@ -3851,10 +4571,22 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^9.1.1 || ^10.0.0": - version: 10.2.0 - resolution: "lru-cache@npm:10.2.0" - checksum: 10c0/c9847612aa2daaef102d30542a8d6d9b2c2bb36581c1bf0dc3ebf5e5f3352c772a749e604afae2e46873b930a9e9523743faac4e5b937c576ab29196774712ee +"make-fetch-happen@npm:^13.0.0": + version: 13.0.0 + resolution: "make-fetch-happen@npm:13.0.0" + dependencies: + "@npmcli/agent": "npm:^2.0.0" + cacache: "npm:^18.0.0" + http-cache-semantics: "npm:^4.1.1" + is-lambda: "npm:^1.0.1" + minipass: "npm:^7.0.2" + minipass-fetch: "npm:^3.0.0" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + negotiator: "npm:^0.6.3" + promise-retry: "npm:^2.0.1" + ssri: "npm:^10.0.0" + checksum: 10c0/43b9f6dcbc6fe8b8604cb6396957c3698857a15ba4dbc38284f7f0e61f248300585ef1eb8cc62df54e9c724af977e45b5cdfd88320ef7f53e45070ed3488da55 languageName: node linkType: hard @@ -4421,13 +5153,99 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0": +"minipass-collect@npm:^2.0.1": + version: 2.0.1 + resolution: "minipass-collect@npm:2.0.1" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e + languageName: node + linkType: hard + +"minipass-fetch@npm:^3.0.0": + version: 3.0.4 + resolution: "minipass-fetch@npm:3.0.4" + dependencies: + encoding: "npm:^0.1.13" + minipass: "npm:^7.0.3" + minipass-sized: "npm:^1.0.3" + minizlib: "npm:^2.1.2" + dependenciesMeta: + encoding: + optional: true + checksum: 10c0/1b63c1f3313e88eeac4689f1b71c9f086598db9a189400e3ee960c32ed89e06737fa23976c9305c2d57464fb3fcdc12749d3378805c9d6176f5569b0d0ee8a75 + languageName: node + linkType: hard + +"minipass-flush@npm:^1.0.5": + version: 1.0.5 + resolution: "minipass-flush@npm:1.0.5" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd + languageName: node + linkType: hard + +"minipass-pipeline@npm:^1.2.4": + version: 1.2.4 + resolution: "minipass-pipeline@npm:1.2.4" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 + languageName: node + linkType: hard + +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb + languageName: node + linkType: hard + +"minipass@npm:^3.0.0": + version: 3.3.6 + resolution: "minipass@npm:3.3.6" + dependencies: + yallist: "npm:^4.0.0" + checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c + languageName: node + linkType: hard + +"minipass@npm:^5.0.0": + version: 5.0.0 + resolution: "minipass@npm:5.0.0" + checksum: 10c0/a91d8043f691796a8ac88df039da19933ef0f633e3d7f0d35dcd5373af49131cf2399bfc355f41515dc495e3990369c3858cd319e5c2722b4753c90bf3152462 + languageName: node + linkType: hard + +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4": version: 7.0.4 resolution: "minipass@npm:7.0.4" checksum: 10c0/6c7370a6dfd257bf18222da581ba89a5eaedca10e158781232a8b5542a90547540b4b9b7e7f490e4cda43acfbd12e086f0453728ecf8c19e0ef6921bc5958ac5 languageName: node linkType: hard +"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": + version: 2.1.2 + resolution: "minizlib@npm:2.1.2" + dependencies: + minipass: "npm:^3.0.0" + yallist: "npm:^4.0.0" + checksum: 10c0/64fae024e1a7d0346a1102bb670085b17b7f95bf6cfdf5b128772ec8faf9ea211464ea4add406a3a6384a7d87a0cd1a96263692134323477b4fb43659a6cab78 + languageName: node + linkType: hard + +"mkdirp@npm:^1.0.3": + version: 1.0.4 + resolution: "mkdirp@npm:1.0.4" + bin: + mkdirp: bin/cmd.js + checksum: 10c0/46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf + languageName: node + linkType: hard + "mri@npm:^1.1.0": version: 1.2.0 resolution: "mri@npm:1.2.0" @@ -4449,6 +5267,17 @@ __metadata: languageName: node linkType: hard +"mz@npm:^2.7.0": + version: 2.7.0 + resolution: "mz@npm:2.7.0" + dependencies: + any-promise: "npm:^1.0.0" + object-assign: "npm:^4.0.1" + thenify-all: "npm:^1.0.0" + checksum: 10c0/103114e93f87362f0b56ab5b2e7245051ad0276b646e3902c98397d18bb8f4a77f2ea4a2c9d3ad516034ea3a56553b60d3f5f78220001ca4c404bd711bd0af39 + languageName: node + linkType: hard + "nanoid@npm:^3.3.6": version: 3.3.6 resolution: "nanoid@npm:3.3.6" @@ -4472,6 +5301,33 @@ __metadata: languageName: node linkType: hard +"negotiator@npm:^0.6.3": + version: 0.6.3 + resolution: "negotiator@npm:0.6.3" + checksum: 10c0/3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 10.1.0 + resolution: "node-gyp@npm:10.1.0" + dependencies: + env-paths: "npm:^2.2.0" + exponential-backoff: "npm:^3.1.1" + glob: "npm:^10.3.10" + graceful-fs: "npm:^4.2.6" + make-fetch-happen: "npm:^13.0.0" + nopt: "npm:^7.0.0" + proc-log: "npm:^3.0.0" + semver: "npm:^7.3.5" + tar: "npm:^6.1.2" + which: "npm:^4.0.0" + bin: + node-gyp: bin/node-gyp.js + checksum: 10c0/9cc821111ca244a01fb7f054db7523ab0a0cd837f665267eb962eb87695d71fb1e681f9e21464cc2fd7c05530dc4c81b810bca1a88f7d7186909b74477491a3c + languageName: node + linkType: hard + "node-releases@npm:^2.0.14": version: 2.0.14 resolution: "node-releases@npm:2.0.14" @@ -4502,6 +5358,13 @@ __metadata: languageName: node linkType: hard +"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": + version: 3.0.0 + resolution: "normalize-path@npm:3.0.0" + checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 + languageName: node + linkType: hard + "npm-normalize-package-bin@npm:^3.0.0": version: 3.0.1 resolution: "npm-normalize-package-bin@npm:3.0.1" @@ -4536,7 +5399,7 @@ __metadata: languageName: node linkType: hard -"object-assign@npm:^4.1.1": +"object-assign@npm:^4.0.1, object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 @@ -4702,6 +5565,15 @@ __metadata: languageName: node linkType: hard +"p-map@npm:^4.0.0": + version: 4.0.0 + resolution: "p-map@npm:4.0.0" + dependencies: + aggregate-error: "npm:^3.0.0" + checksum: 10c0/592c05bd6262c466ce269ff172bb8de7c6975afca9b50c975135b974e9bdaafbfe80e61aaaf5be6d1200ba08b30ead04b88cfa7e25ff1e3b93ab28c9f62a2c75 + languageName: node + linkType: hard + "p-try@npm:^2.0.0": version: 2.2.0 resolution: "p-try@npm:2.2.0" @@ -4818,6 +5690,16 @@ __metadata: languageName: node linkType: hard +"path-scurry@npm:^1.10.2": + version: 1.10.2 + resolution: "path-scurry@npm:1.10.2" + dependencies: + lru-cache: "npm:^10.2.0" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + checksum: 10c0/d723777fbf9627f201e64656680f66ebd940957eebacf780e6cce1c2919c29c116678b2d7dbf8821b3a2caa758d125f4444005ccec886a25c8f324504e48e601 + languageName: node + linkType: hard + "path-type@npm:^4.0.0": version: 4.0.0 resolution: "path-type@npm:4.0.0" @@ -4832,13 +5714,20 @@ __metadata: languageName: node linkType: hard -"picomatch@npm:^2.3.1": +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.3.1": version: 2.3.1 resolution: "picomatch@npm:2.3.1" checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be languageName: node linkType: hard +"pirates@npm:^4.0.1": + version: 4.0.6 + resolution: "pirates@npm:4.0.6" + checksum: 10c0/00d5fa51f8dded94d7429700fb91a0c1ead00ae2c7fd27089f0c5b63e6eca36197fe46384631872690a66f390c5e27198e99006ab77ae472692ab9c2ca903f36 + languageName: node + linkType: hard + "pluralize@npm:^8.0.0": version: 8.0.0 resolution: "pluralize@npm:8.0.0" @@ -4853,6 +5742,24 @@ __metadata: languageName: node linkType: hard +"postcss-load-config@npm:^4.0.1": + version: 4.0.2 + resolution: "postcss-load-config@npm:4.0.2" + dependencies: + lilconfig: "npm:^3.0.0" + yaml: "npm:^2.3.4" + peerDependencies: + postcss: ">=8.0.9" + ts-node: ">=9.0.0" + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + checksum: 10c0/3d7939acb3570b0e4b4740e483d6e555a3e2de815219cb8a3c8fc03f575a6bde667443aa93369c0be390af845cb84471bf623e24af833260de3a105b78d42519 + languageName: node + linkType: hard + "postcss-selector-parser@npm:^6.0.10, postcss-selector-parser@npm:^6.0.15": version: 6.0.16 resolution: "postcss-selector-parser@npm:6.0.16" @@ -4897,6 +5804,16 @@ __metadata: languageName: node linkType: hard +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: "npm:^2.0.2" + retry: "npm:^0.12.0" + checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 + languageName: node + linkType: hard + "prompts@npm:~2.4.2": version: 2.4.2 resolution: "prompts@npm:2.4.2" @@ -4983,6 +5900,15 @@ __metadata: languageName: node linkType: hard +"readdirp@npm:~3.6.0": + version: 3.6.0 + resolution: "readdirp@npm:3.6.0" + dependencies: + picomatch: "npm:^2.2.1" + checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b + languageName: node + linkType: hard + "reflect.getprototypeof@npm:^1.0.4": version: 1.0.4 resolution: "reflect.getprototypeof@npm:1.0.4" @@ -5090,6 +6016,13 @@ __metadata: languageName: node linkType: hard +"resolve-from@npm:^5.0.0": + version: 5.0.0 + resolution: "resolve-from@npm:5.0.0" + checksum: 10c0/b21cb7f1fb746de8107b9febab60095187781137fd803e6a59a76d421444b1531b641bba5857f5dc011974d8a5c635d61cec49e6bd3b7fc20e01f0fafc4efbf2 + languageName: node + linkType: hard + "resolve-pkg-maps@npm:^1.0.0": version: 1.0.0 resolution: "resolve-pkg-maps@npm:1.0.0" @@ -5169,6 +6102,13 @@ __metadata: languageName: node linkType: hard +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe + languageName: node + linkType: hard + "reusify@npm:^1.0.4": version: 1.0.4 resolution: "reusify@npm:1.0.4" @@ -5176,6 +6116,66 @@ __metadata: languageName: node linkType: hard +"rollup@npm:^4.0.2": + version: 4.14.1 + resolution: "rollup@npm:4.14.1" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.14.1" + "@rollup/rollup-android-arm64": "npm:4.14.1" + "@rollup/rollup-darwin-arm64": "npm:4.14.1" + "@rollup/rollup-darwin-x64": "npm:4.14.1" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.14.1" + "@rollup/rollup-linux-arm64-gnu": "npm:4.14.1" + "@rollup/rollup-linux-arm64-musl": "npm:4.14.1" + "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.14.1" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.14.1" + "@rollup/rollup-linux-s390x-gnu": "npm:4.14.1" + "@rollup/rollup-linux-x64-gnu": "npm:4.14.1" + "@rollup/rollup-linux-x64-musl": "npm:4.14.1" + "@rollup/rollup-win32-arm64-msvc": "npm:4.14.1" + "@rollup/rollup-win32-ia32-msvc": "npm:4.14.1" + "@rollup/rollup-win32-x64-msvc": "npm:4.14.1" + "@types/estree": "npm:1.0.5" + fsevents: "npm:~2.3.2" + dependenciesMeta: + "@rollup/rollup-android-arm-eabi": + optional: true + "@rollup/rollup-android-arm64": + optional: true + "@rollup/rollup-darwin-arm64": + optional: true + "@rollup/rollup-darwin-x64": + optional: true + "@rollup/rollup-linux-arm-gnueabihf": + optional: true + "@rollup/rollup-linux-arm64-gnu": + optional: true + "@rollup/rollup-linux-arm64-musl": + optional: true + "@rollup/rollup-linux-powerpc64le-gnu": + optional: true + "@rollup/rollup-linux-riscv64-gnu": + optional: true + "@rollup/rollup-linux-s390x-gnu": + optional: true + "@rollup/rollup-linux-x64-gnu": + optional: true + "@rollup/rollup-linux-x64-musl": + optional: true + "@rollup/rollup-win32-arm64-msvc": + optional: true + "@rollup/rollup-win32-ia32-msvc": + optional: true + "@rollup/rollup-win32-x64-msvc": + optional: true + fsevents: + optional: true + bin: + rollup: dist/bin/rollup + checksum: 10c0/c9028c04537f7f16f9b5e4d75c84d2f0dc960d280fc4eca5960f0d67e786d993b8b707a63fc8b2e054b018fdb3a5a98d5eb7ed5674635c7612dd0b66696805fa + languageName: node + linkType: hard + "run-applescript@npm:^5.0.0": version: 5.0.0 resolution: "run-applescript@npm:5.0.0" @@ -5250,6 +6250,13 @@ __metadata: languageName: node linkType: hard +"safer-buffer@npm:>= 2.1.2 < 3.0.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 + languageName: node + linkType: hard + "semver@npm:2 || 3 || 4 || 5": version: 5.7.1 resolution: "semver@npm:5.7.1" @@ -5361,6 +6368,34 @@ __metadata: languageName: node linkType: hard +"smart-buffer@npm:^4.2.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^8.0.3": + version: 8.0.3 + resolution: "socks-proxy-agent@npm:8.0.3" + dependencies: + agent-base: "npm:^7.1.1" + debug: "npm:^4.3.4" + socks: "npm:^2.7.1" + checksum: 10c0/4950529affd8ccd6951575e21c1b7be8531b24d924aa4df3ee32df506af34b618c4e50d261f4cc603f1bfd8d426915b7d629966c8ce45b05fb5ad8c8b9a6459d + languageName: node + linkType: hard + +"socks@npm:^2.7.1": + version: 2.8.1 + resolution: "socks@npm:2.8.1" + dependencies: + ip-address: "npm:^9.0.5" + smart-buffer: "npm:^4.2.0" + checksum: 10c0/ac77b515c260473cc7c4452f09b20939e22510ce3ae48385c516d1d5784374d5cc75be3cb18ff66cc985a7f4f2ef8fef84e984c5ec70aad58355ed59241f40a8 + languageName: node + linkType: hard + "source-map-js@npm:^1.0.2": version: 1.0.2 resolution: "source-map-js@npm:1.0.2" @@ -5368,6 +6403,15 @@ __metadata: languageName: node linkType: hard +"source-map@npm:0.8.0-beta.0": + version: 0.8.0-beta.0 + resolution: "source-map@npm:0.8.0-beta.0" + dependencies: + whatwg-url: "npm:^7.0.0" + checksum: 10c0/fb4d9bde9a9fdb2c29b10e5eae6c71d10e09ef467e1afb75fdec2eb7e11fa5b343a2af553f74f18b695dbc0b81f9da2e9fa3d7a317d5985e9939499ec6087835 + languageName: node + linkType: hard + "spdx-correct@npm:^3.0.0": version: 3.2.0 resolution: "spdx-correct@npm:3.2.0" @@ -5412,6 +6456,22 @@ __metadata: languageName: node linkType: hard +"sprintf-js@npm:^1.1.3": + version: 1.1.3 + resolution: "sprintf-js@npm:1.1.3" + checksum: 10c0/09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec + languageName: node + linkType: hard + +"ssri@npm:^10.0.0": + version: 10.0.5 + resolution: "ssri@npm:10.0.5" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/b091f2ae92474183c7ac5ed3f9811457e1df23df7a7e70c9476eaa9a0c4a0c8fc190fb45acefbf023ca9ee864dd6754237a697dc52a0fb182afe65d8e77443d8 + languageName: node + linkType: hard + "string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" @@ -5566,6 +6626,24 @@ __metadata: languageName: node linkType: hard +"sucrase@npm:^3.20.3": + version: 3.35.0 + resolution: "sucrase@npm:3.35.0" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.2" + commander: "npm:^4.0.0" + glob: "npm:^10.3.10" + lines-and-columns: "npm:^1.1.6" + mz: "npm:^2.7.0" + pirates: "npm:^4.0.1" + ts-interface-checker: "npm:^0.1.9" + bin: + sucrase: bin/sucrase + sucrase-node: bin/sucrase-node + checksum: 10c0/ac85f3359d2c2ecbf5febca6a24ae9bf96c931f05fde533c22a94f59c6a74895e5d5f0e871878dfd59c2697a75ebb04e4b2224ef0bfc24ca1210735c2ec191ef + languageName: node + linkType: hard + "supports-color@npm:^5.3.0": version: 5.5.0 resolution: "supports-color@npm:5.5.0" @@ -5625,6 +6703,20 @@ __metadata: languageName: node linkType: hard +"tar@npm:^6.1.11, tar@npm:^6.1.2": + version: 6.2.1 + resolution: "tar@npm:6.2.1" + dependencies: + chownr: "npm:^2.0.0" + fs-minipass: "npm:^2.0.0" + minipass: "npm:^5.0.0" + minizlib: "npm:^2.1.1" + mkdirp: "npm:^1.0.3" + yallist: "npm:^4.0.0" + checksum: 10c0/a5eca3eb50bc11552d453488344e6507156b9193efd7635e98e867fab275d527af53d8866e2370cd09dfe74378a18111622ace35af6a608e5223a7d27fe99537 + languageName: node + linkType: hard + "text-table@npm:^0.2.0": version: 0.2.0 resolution: "text-table@npm:0.2.0" @@ -5632,6 +6724,24 @@ __metadata: languageName: node linkType: hard +"thenify-all@npm:^1.0.0": + version: 1.6.0 + resolution: "thenify-all@npm:1.6.0" + dependencies: + thenify: "npm:>= 3.1.0 < 4" + checksum: 10c0/9b896a22735e8122754fe70f1d65f7ee691c1d70b1f116fda04fea103d0f9b356e3676cb789506e3909ae0486a79a476e4914b0f92472c2e093d206aed4b7d6b + languageName: node + linkType: hard + +"thenify@npm:>= 3.1.0 < 4": + version: 3.3.1 + resolution: "thenify@npm:3.3.1" + dependencies: + any-promise: "npm:^1.0.0" + checksum: 10c0/f375aeb2b05c100a456a30bc3ed07ef03a39cbdefe02e0403fb714b8c7e57eeaad1a2f5c4ecfb9ce554ce3db9c2b024eba144843cd9e344566d9fcee73b04767 + languageName: node + linkType: hard + "titleize@npm:^3.0.0": version: 3.0.0 resolution: "titleize@npm:3.0.0" @@ -5655,6 +6765,24 @@ __metadata: languageName: node linkType: hard +"tr46@npm:^1.0.1": + version: 1.0.1 + resolution: "tr46@npm:1.0.1" + dependencies: + punycode: "npm:^2.1.0" + checksum: 10c0/41525c2ccce86e3ef30af6fa5e1464e6d8bb4286a58ea8db09228f598889581ef62347153f6636cd41553dc41685bdfad0a9d032ef58df9fbb0792b3447d0f04 + languageName: node + linkType: hard + +"tree-kill@npm:^1.2.2": + version: 1.2.2 + resolution: "tree-kill@npm:1.2.2" + bin: + tree-kill: cli.js + checksum: 10c0/7b1b7c7f17608a8f8d20a162e7957ac1ef6cd1636db1aba92f4e072dc31818c2ff0efac1e3d91064ede67ed5dc57c565420531a8134090a12ac10cf792ab14d2 + languageName: node + linkType: hard + "trough@npm:^2.0.0": version: 2.1.0 resolution: "trough@npm:2.1.0" @@ -5671,6 +6799,13 @@ __metadata: languageName: node linkType: hard +"ts-interface-checker@npm:^0.1.9": + version: 0.1.13 + resolution: "ts-interface-checker@npm:0.1.13" + checksum: 10c0/232509f1b84192d07b81d1e9b9677088e590ac1303436da1e92b296e9be8e31ea042e3e1fd3d29b1742ad2c959e95afe30f63117b8f1bc3a3850070a5142fea7 + languageName: node + linkType: hard + "tslib@npm:^1.8.1": version: 1.14.1 resolution: "tslib@npm:1.14.1" @@ -5685,6 +6820,45 @@ __metadata: languageName: node linkType: hard +"tsup@npm:^8.0.2": + version: 8.0.2 + resolution: "tsup@npm:8.0.2" + dependencies: + bundle-require: "npm:^4.0.0" + cac: "npm:^6.7.12" + chokidar: "npm:^3.5.1" + debug: "npm:^4.3.1" + esbuild: "npm:^0.19.2" + execa: "npm:^5.0.0" + globby: "npm:^11.0.3" + joycon: "npm:^3.0.1" + postcss-load-config: "npm:^4.0.1" + resolve-from: "npm:^5.0.0" + rollup: "npm:^4.0.2" + source-map: "npm:0.8.0-beta.0" + sucrase: "npm:^3.20.3" + tree-kill: "npm:^1.2.2" + peerDependencies: + "@microsoft/api-extractor": ^7.36.0 + "@swc/core": ^1 + postcss: ^8.4.12 + typescript: ">=4.5.0" + peerDependenciesMeta: + "@microsoft/api-extractor": + optional: true + "@swc/core": + optional: true + postcss: + optional: true + typescript: + optional: true + bin: + tsup: dist/cli-default.js + tsup-node: dist/cli-node.js + checksum: 10c0/de3e8b2d9a7a504afb9394f2409ef88fd21dd338a78ebb572dd5c1719d73db816baa7ae4b7867016f08ba6a67560daec13a85768efff1d70e380972e39e27ce6 + languageName: node + linkType: hard + "tsutils-etc@npm:^1.4.1": version: 1.4.2 resolution: "tsutils-etc@npm:1.4.2" @@ -5712,6 +6886,22 @@ __metadata: languageName: node linkType: hard +"tsx@npm:^4.7.2": + version: 4.7.2 + resolution: "tsx@npm:4.7.2" + dependencies: + esbuild: "npm:~0.19.10" + fsevents: "npm:~2.3.3" + get-tsconfig: "npm:^4.7.2" + dependenciesMeta: + fsevents: + optional: true + bin: + tsx: dist/cli.mjs + checksum: 10c0/0338598cc3b7b01a47939297797dfb77a1d675acb33bf71e816faf2b8cb76da3994d341d2920d105dbe98cd01a4babd80ca4b9a5a36120813dd79c4fc1c32df1 + languageName: node + linkType: hard + "type-check@npm:^0.4.0, type-check@npm:~0.4.0": version: 0.4.0 resolution: "type-check@npm:0.4.0" @@ -5907,6 +7097,24 @@ __metadata: languageName: node linkType: hard +"unique-filename@npm:^3.0.0": + version: 3.0.0 + resolution: "unique-filename@npm:3.0.0" + dependencies: + unique-slug: "npm:^4.0.0" + checksum: 10c0/6363e40b2fa758eb5ec5e21b3c7fb83e5da8dcfbd866cc0c199d5534c42f03b9ea9ab069769cc388e1d7ab93b4eeef28ef506ab5f18d910ef29617715101884f + languageName: node + linkType: hard + +"unique-slug@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-slug@npm:4.0.0" + dependencies: + imurmurhash: "npm:^0.1.4" + checksum: 10c0/cb811d9d54eb5821b81b18205750be84cb015c20a4a44280794e915f5a0a70223ce39066781a354e872df3572e8155c228f43ff0cce94c7cbf4da2cc7cbdd635 + languageName: node + linkType: hard + "unist-util-inspect@npm:^8.0.0": version: 8.0.0 resolution: "unist-util-inspect@npm:8.0.0" @@ -6125,6 +7333,24 @@ __metadata: languageName: node linkType: hard +"webidl-conversions@npm:^4.0.2": + version: 4.0.2 + resolution: "webidl-conversions@npm:4.0.2" + checksum: 10c0/def5c5ac3479286dffcb604547628b2e6b46c5c5b8a8cfaa8c71dc3bafc85859bde5fbe89467ff861f571ab38987cf6ab3d6e7c80b39b999e50e803c12f3164f + languageName: node + linkType: hard + +"whatwg-url@npm:^7.0.0": + version: 7.1.0 + resolution: "whatwg-url@npm:7.1.0" + dependencies: + lodash.sortby: "npm:^4.7.0" + tr46: "npm:^1.0.1" + webidl-conversions: "npm:^4.0.2" + checksum: 10c0/2785fe4647690e5a0225a79509ba5e21fdf4a71f9de3eabdba1192483fe006fc79961198e0b99f82751557309f17fc5a07d4d83c251aa5b2f85ba71e674cbee9 + languageName: node + linkType: hard + "which-boxed-primitive@npm:^1.0.2": version: 1.0.2 resolution: "which-boxed-primitive@npm:1.0.2" @@ -6194,6 +7420,17 @@ __metadata: languageName: node linkType: hard +"which@npm:^4.0.0": + version: 4.0.0 + resolution: "which@npm:4.0.0" + dependencies: + isexe: "npm:^3.1.1" + bin: + node-which: bin/which.js + checksum: 10c0/449fa5c44ed120ccecfe18c433296a4978a7583bf2391c50abce13f76878d2476defde04d0f79db8165bdf432853c1f8389d0485ca6e8ebce3bbcded513d5e6a + languageName: node + linkType: hard + "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": version: 7.0.0 resolution: "wrap-ansi@npm:7.0.0" @@ -6251,6 +7488,15 @@ __metadata: languageName: node linkType: hard +"yaml@npm:^2.3.4": + version: 2.4.1 + resolution: "yaml@npm:2.4.1" + bin: + yaml: bin.mjs + checksum: 10c0/816057dbaea16a7dfb0b868ace930f143dece96bbb4c4fbb6f38aa389166f897240d9fa535dbfd6b1b0d9442416f4abcc698e63f82394d0c67b329aa6c2be576 + languageName: node + linkType: hard + "yargs-parser@npm:^21.1.1": version: 21.1.1 resolution: "yargs-parser@npm:21.1.1" From 65669a8324f4b2283fd7845266f02a63fabbc176 Mon Sep 17 00:00:00 2001 From: Jeroen Claassens Date: Sun, 7 Apr 2024 18:23:39 +0200 Subject: [PATCH 03/21] fix: add an `index.ts` that re-exports other configs --- README.md | 153 +++++++++++++++++++++++++++------------------------ package.json | 4 +- src/index.ts | 22 ++++++++ 3 files changed, 106 insertions(+), 73 deletions(-) create mode 100644 src/index.ts diff --git a/README.md b/README.md index 82c2cf1..768787f 100644 --- a/README.md +++ b/README.md @@ -22,40 +22,42 @@ pnpm add eslint eslint-config-neon This package includes the following configurations: -- [`eslint-config-neon/common`](./src/common.js) – The neon code style guide. -- [`eslint-config-neon/angular`](./src/angular.js) – for usage with [Angular](https://angular.io/). -- [`eslint-config-neon/astro`](./src/astro.js) – for usage with [Astro](https://astro.build/). -- [`eslint-config-neon/browser`](./src/browser.js) – for usage with DOM and other browser APIs. -- [`eslint-config-neon/cypress`](./src/cypress.js) – for usage with [Cypress](https://cypress.io/). -- [`eslint-config-neon/edge`](./src/edge.js) – for usage with an edge runtime [Vercel](https://vercel.com/blog/introducing-the-edge-runtime), [Cloudflare Workers](https://workers.cloudflare.com/), or others. -- [`eslint-config-neon/jsx`](./src/jsx.js) – for usage with [JSX](https://reactjs.org/docs/introducing-jsx.html) (with or without [React](https://reactjs.org/)). -- [`eslint-config-neon/jsx-a11y`](./src/jsx-a11y.js) – for usage with [JSX](https://facebook.github.io/react/) (with or without [React](https://reactjs.org/)) and want to include [accessibility checks](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y). -- [`eslint-config-neon/module`](./src/module.js) – for usage with ESM modules. -- [`eslint-config-neon/next`](./src/next.js) – for usage with [Next.js](https://nextjs.org/). -- [`eslint-config-neon/no-deprecated`](./src/no-deprecated.js) - for reporting deprecated APIs (very slow on big repos, especially monorepos). -- [`eslint-config-neon/node`](./src/node.js) – for usage with Node.js. -- [`eslint-config-neon/prettier`](./src/prettier.js) – for usage with [Prettier](https://prettier.io/). -- [`eslint-config-neon/react`](./src/react.js) – for usage with [React](https://reactjs.org/). -- [`eslint-config-neon/rxjs`](./src/rxjs.js) – for usage with [RxJS](https://rxjs.dev/). -- [`eslint-config-neon/rxjs-angular`](./src/rxjs-angular.js) – for usage [RxJS](https://rxjs.dev/) and [Angular](https://angular.io/). -- [`eslint-config-neon/svelte`](./src/svelte.js) – for usage with [Svelte](https://svelte.dev/). -- [`eslint-config-neon/svelte-typescript`](./src/svelte-typescript.js) – for usage with [Svelte](https://svelte.dev/) and [TypeScript](http://typescriptlang.org/). -- [`eslint-config-neon/typescript`](./src/typescript.js) – for usage with [TypeScript](http://typescriptlang.org/). -- [`eslint-config-neon/vue`](./src/vue.js) – for usage with [Vue](https://vuejs.org/). -- [`eslint-config-neon/vue-typescript`](./src/vue-typescript.js) – for usage with [Vue](https://vuejs.org/) and [TypeScript](http://typescriptlang.org/). +- [`eslint-config-neon/common`](./src/common.ts) – The neon code style guide. +- [`eslint-config-neon/angular`](./src/angular.ts) – for usage with [Angular](https://angular.io/). +- [`eslint-config-neon/astro`](./src/astro.ts) – for usage with [Astro](https://astro.build/). +- [`eslint-config-neon/browser`](./src/browser.ts) – for usage with DOM and other browser APIs. +- [`eslint-config-neon/cypress`](./src/cypress.ts) – for usage with [Cypress](https://cypress.io/). +- [`eslint-config-neon/edge`](./src/edge.ts) – for usage with an edge runtime [Vercel](https://vercel.com/blog/introducing-the-edge-runtime), [Cloudflare Workers](https://workers.cloudflare.com/), or others. +- [`eslint-config-neon/jsx`](./src/jsx.ts) – for usage with [JSX](https://reactjs.org/docs/introducing-jsx.html) (with or without [React](https://reactjs.org/)). +- [`eslint-config-neon/jsx-a11y`](./src/jsx-a11y.ts) – for usage with [JSX](https://facebook.github.io/react/) (with or without [React](https://reactjs.org/)) and want to include [accessibility checks](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y). +- [`eslint-config-neon/module`](./src/module.ts) – for usage with ESM modules. +- [`eslint-config-neon/next`](./src/next.ts) – for usage with [Next.js](https://nextjs.org/). +- [`eslint-config-neon/no-deprecated`](./src/no-deprecated.ts) - for reporting deprecated APIs (very slow on big repos, especially monorepos). +- [`eslint-config-neon/node`](./src/node.ts) – for usage with Node.js. +- [`eslint-config-neon/prettier`](./src/prettier.ts) – for usage with [Prettier](https://prettier.io/). +- [`eslint-config-neon/react`](./src/react.ts) – for usage with [React](https://reactjs.org/). +- [`eslint-config-neon/rxjs`](./src/rxjs.ts) – for usage with [RxJS](https://rxjs.dev/). +- [`eslint-config-neon/rxjs-angular`](./src/rxjs-angular.ts) – for usage [RxJS](https://rxjs.dev/) and [Angular](https://angular.io/). +- [`eslint-config-neon/svelte`](./src/svelte.ts) – for usage with [Svelte](https://svelte.dev/). +- [`eslint-config-neon/svelte-typescript`](./src/svelte-typescript.ts) – for usage with [Svelte](https://svelte.dev/) and [TypeScript](http://typescriptlang.org/). +- [`eslint-config-neon/typescript`](./src/typescript.ts) – for usage with [TypeScript](http://typescriptlang.org/). +- [`eslint-config-neon/vue`](./src/vue.ts) – for usage with [Vue](https://vuejs.org/). +- [`eslint-config-neon/vue-typescript`](./src/vue-typescript.ts) – for usage with [Vue](https://vuejs.org/) and [TypeScript](http://typescriptlang.org/). ### Configuration It is important to note that this package only exports [ESLint Flat Config][]! This means that you _have_ to use `eslint.config.js`, `eslint.config.mjs`, or `eslint.config.cjs` to use this package. See the ESLint documentation on flat config for more information. ```js +import { common, typescript, prettier } from "eslint-config-neon"; + export default [ { ignore: ["**/dist/*"], }, - ...(await import("eslint-config-neon/common")), - ...(await import("eslint-config-neon/typescript")), - ...(await import("eslint-config-neon/prettier")), + ...common, + ...typescript, + ...prettier, { languageOptions: { project: "./tsconfig.json", @@ -69,14 +71,16 @@ export default [
```js +import { common, node, typescript, prettier } from "eslint-config-neon"; + export default [ { ignore: ["**/dist/*"], }, - ...(await import("eslint-config-neon/common")), - ...(await import("eslint-config-neon/typescript")), - ...(await import("eslint-config-neon/node")), - ...(await import("eslint-config-neon/prettier")), + ...common, + ...typescript, + ...node, + ...prettier, { languageOptions: { project: "./tsconfig.json", @@ -95,17 +99,19 @@ export default [ React: ```js +import { common, browser, node, typescript, react, edge, prettier } from "eslint-config-neon"; + export default [ { ignore: ["**/dist/*"], }, - ...(await import("eslint-config-neon/common")), - ...(await import("eslint-config-neon/browser")), - ...(await import("eslint-config-neon/typescript")), - ...(await import("eslint-config-neon/node")), - ...(await import("eslint-config-neon/react")), - ...(await import("eslint-config-neon/edge")), - ...(await import("eslint-config-neon/prettier")), + ...common, + ...browser, + ...node, + ...typescript, + ...react, + ...edge, + ...prettier, { settings: { react: { @@ -128,18 +134,20 @@ export default [ Next: ```js +import { common, browser, node, typescript, react, next, edge, prettier } from "eslint-config-neon"; + export default [ { ignore: ["**/dist/*"], }, - ...(await import("eslint-config-neon/common")), - ...(await import("eslint-config-neon/browser")), - ...(await import("eslint-config-neon/node")), - ...(await import("eslint-config-neon/typescript")), - ...(await import("eslint-config-neon/react")), - ...(await import("eslint-config-neon/next")), - ...(await import("eslint-config-neon/edge")), - ...(await import("eslint-config-neon/prettier")), + ...common, + ...browser, + ...node, + ...typescript, + ...react, + ...next, + ...edge, + ...prettier, { settings: { react: { @@ -168,17 +176,19 @@ export default [
```js +import { common, browser, node, typescript, react, astro, prettier } from "eslint-config-neon"; + export default [ { ignore: ["**/dist/*"], }, - ...(await import("eslint-config-neon/common")), - ...(await import("eslint-config-neon/browser")), - ...(await import("eslint-config-neon/node")), - ...(await import("eslint-config-neon/typescript")), - ...(await import("eslint-config-neon/react")), - ...(await import("eslint-config-neon/astro")), - ...(await import("eslint-config-neon/prettier")), + ...common, + ...browser, + ...node, + ...typescript, + ...react, + ...astro, + ...prettier, { settings: { react: { @@ -206,17 +216,19 @@ export default [
```js +import { common, browser, node, typescript, vue, vuetypescript, prettier } from "eslint-config-neon"; + export default [ { ignore: ["**/dist/*"], }, - ...(await import("eslint-config-neon/common")), - ...(await import("eslint-config-neon/browser")), - ...(await import("eslint-config-neon/node")), - ...(await import("eslint-config-neon/typescript")), - ...(await import("eslint-config-neon/vue")), - ...(await import("eslint-config-neon/vue-typescript")), - ...(await import("eslint-config-neon/prettier")), + ...common, + ...browser, + ...node, + ...typescript, + ...vue, + ...vuetypescript, + ...prettier, { languageOptions: { parserOptions: { @@ -235,20 +247,22 @@ export default [
```js +import { common, browser, node, typescript, angular, rxjs, rxjsangular, prettier } from "eslint-config-neon"; + export default [ { ignore: ["**/dist/*"], }, { files: ["*.ts"], - ...(await import("eslint-config-neon/common")), - ...(await import("eslint-config-neon/browser")), - ...(await import("eslint-config-neon/node")), - ...(await import("eslint-config-neon/typescript")), - ...(await import("eslint-config-neon/angular")), - ...(await import("eslint-config-neon/rxjs")), - ...(await import("eslint-config-neon/rxjs-angular")), - ...(await import("eslint-config-neon/prettier")), + ...common, + ...browser, + ...node, + ...typescript, + ...angular, + ...rxjs, + ...rxjsangular, + ...prettier, }, { files: ["*.html"], @@ -272,12 +286,9 @@ export default [ Prettier and neon are already compatible. Just add it as the last config in your `extends` configuration, e.g. ```js -export default [ - ...(await import("eslint-config-neon/common")), - ...(await import("eslint-config-neon/node")), - ...(await import("eslint-config-neon/typescript")), - ...(await import("eslint-config-neon/prettier")), -]; +import { prettier } from "eslint-config-neon"; + +export default [...prettier]; ``` This configuration disables all neon rules that conflict with Prettier. diff --git a/package.json b/package.json index dec9b4c..e84e9d4 100644 --- a/package.json +++ b/package.json @@ -18,8 +18,8 @@ "exports": { ".": { "import": { - "types": "./dist/esm/common.d.mts", - "default": "./dist/esm/common.mjs" + "types": "./dist/esm/index.d.mts", + "default": "./dist/esm/index.mjs" } }, "./angular": { diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 0000000..aa69763 --- /dev/null +++ b/src/index.ts @@ -0,0 +1,22 @@ +export { default as angular } from "./angular.js"; +export { default as astro } from "./astro.js"; +export { default as browser } from "./browser.js"; +export { default as common } from "./common.js"; +export { default as cypress } from "./cypress.js"; +export { default as edge } from "./edge.js"; +export { default as jsxa11y } from "./jsx-a11y.js"; +export { default as jsx } from "./jsx.js"; +export { default as mdx } from "./mdx.js"; +export { default as module } from "./module.js"; +export { default as next } from "./next.js"; +export { default as no } from "./no-deprecated.js"; +export { default as node } from "./node.js"; +export { default as prettier } from "./prettier.js"; +export { default as react } from "./react.js"; +export { default as rxjsangular } from "./rxjs-angular.js"; +export { default as rxjs } from "./rxjs.js"; +export { default as sveltetypescript } from "./svelte-typescript.js"; +export { default as svelte } from "./svelte.js"; +export { default as typescript } from "./typescript.js"; +export { default as vuetypescript } from "./vue-typescript.js"; +export { default as vue } from "./vue.js"; From 0e41c5e2dbb391859cd22353c23a99be8c6a135b Mon Sep 17 00:00:00 2001 From: Jeroen Claassens Date: Sun, 7 Apr 2024 18:25:28 +0200 Subject: [PATCH 04/21] docs: update README --- README.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 768787f..75209cc 100644 --- a/README.md +++ b/README.md @@ -44,10 +44,24 @@ This package includes the following configurations: - [`eslint-config-neon/vue`](./src/vue.ts) – for usage with [Vue](https://vuejs.org/). - [`eslint-config-neon/vue-typescript`](./src/vue-typescript.ts) – for usage with [Vue](https://vuejs.org/) and [TypeScript](http://typescriptlang.org/). -### Configuration +### Notes It is important to note that this package only exports [ESLint Flat Config][]! This means that you _have_ to use `eslint.config.js`, `eslint.config.mjs`, or `eslint.config.cjs` to use this package. See the ESLint documentation on flat config for more information. +Instead of importing from `eslint-config-neon`, you can also import each individual config from subpaths, e.g. + +```ts +import common from "eslint-config-neon/common"; +``` + +instead of + +```ts +import { common } from "eslint-config-neon"; +``` + +### Configuration + ```js import { common, typescript, prettier } from "eslint-config-neon"; From 861d61418a70467b28755aee5d2c2458766ccb6c Mon Sep 17 00:00:00 2001 From: Jeroen Claassens Date: Sun, 7 Apr 2024 18:28:23 +0200 Subject: [PATCH 05/21] fix: add the missing require export mapping --- package.json | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) diff --git a/package.json b/package.json index e84e9d4..8b1738f 100644 --- a/package.json +++ b/package.json @@ -20,138 +20,230 @@ "import": { "types": "./dist/esm/index.d.mts", "default": "./dist/esm/index.mjs" + }, + "require": { + "types": "./dist/cjs/index.d.cts", + "default": "./dist/cjs/index.cjs" } }, "./angular": { "import": { "types": "./dist/esm/angular.d.mts", "default": "./dist/esm/angular.mjs" + }, + "require": { + "types": "./dist/cjs/angular.d.cts", + "default": "./dist/cjs/angular.cjs" } }, "./astro": { "import": { "types": "./dist/esm/astro.d.mts", "default": "./dist/esm/astro.mjs" + }, + "require": { + "types": "./dist/cjs/astro.d.cts", + "default": "./dist/cjs/astro.cjs" } }, "./browser": { "import": { "types": "./dist/esm/browser.d.mts", "default": "./dist/esm/browser.mjs" + }, + "require": { + "types": "./dist/cjs/browser.d.cts", + "default": "./dist/cjs/browser.cjs" } }, "./common": { "import": { "types": "./dist/esm/common.d.mts", "default": "./dist/esm/common.mjs" + }, + "require": { + "types": "./dist/cjs/common.d.cts", + "default": "./dist/cjs/common.cjs" } }, "./cypress": { "import": { "types": "./dist/esm/cypress.d.mts", "default": "./dist/esm/cypress.mjs" + }, + "require": { + "types": "./dist/cjs/cypress.d.cts", + "default": "./dist/cjs/cypress.cjs" } }, "./edge": { "import": { "types": "./dist/esm/edge.d.mts", "default": "./dist/esm/edge.mjs" + }, + "require": { + "types": "./dist/cjs/edge.d.cts", + "default": "./dist/cjs/edge.cjs" } }, "./jsx-a11y": { "import": { "types": "./dist/esm/jsx-a11y.d.mts", "default": "./dist/esm/jsx-a11y.mjs" + }, + "require": { + "types": "./dist/cjs/jsx-a11y.d.cts", + "default": "./dist/cjs/jsx-a11y.cjs" } }, "./jsx": { "import": { "types": "./dist/esm/jsx.d.mts", "default": "./dist/esm/jsx.mjs" + }, + "require": { + "types": "./dist/cjs/jsx.d.cts", + "default": "./dist/cjs/jsx.cjs" } }, "./mdx": { "import": { "types": "./dist/esm/mdx.d.mts", "default": "./dist/esm/mdx.mjs" + }, + "require": { + "types": "./dist/cjs/mdx.d.cts", + "default": "./dist/cjs/mdx.cjs" } }, "./module": { "import": { "types": "./dist/esm/module.d.mts", "default": "./dist/esm/module.mjs" + }, + "require": { + "types": "./dist/cjs/module.d.cts", + "default": "./dist/cjs/module.cjs" } }, "./next": { "import": { "types": "./dist/esm/next.d.mts", "default": "./dist/esm/next.mjs" + }, + "require": { + "types": "./dist/cjs/next.d.cts", + "default": "./dist/cjs/next.cjs" } }, "./no-deprecated": { "import": { "types": "./dist/esm/no-deprecated.d.mts", "default": "./dist/esm/no-deprecated.mjs" + }, + "require": { + "types": "./dist/cjs/no-deprecated.d.cts", + "default": "./dist/cjs/no-deprecated.cjs" } }, "./node": { "import": { "types": "./dist/esm/node.d.mts", "default": "./dist/esm/node.mjs" + }, + "require": { + "types": "./dist/cjs/node.d.cts", + "default": "./dist/cjs/node.cjs" } }, "./prettier": { "import": { "types": "./dist/esm/prettier.d.mts", "default": "./dist/esm/prettier.mjs" + }, + "require": { + "types": "./dist/cjs/prettier.d.cts", + "default": "./dist/cjs/prettier.cjs" } }, "./react": { "import": { "types": "./dist/esm/react.d.mts", "default": "./dist/esm/react.mjs" + }, + "require": { + "types": "./dist/cjs/react.d.cts", + "default": "./dist/cjs/react.cjs" } }, "./rxjs-angular": { "import": { "types": "./dist/esm/rxjs-angular.d.mts", "default": "./dist/esm/rxjs-angular.mjs" + }, + "require": { + "types": "./dist/cjs/rxjs-angular.d.cts", + "default": "./dist/cjs/rxjs-angular.cjs" } }, "./rxjs": { "import": { "types": "./dist/esm/rxjs.d.mts", "default": "./dist/esm/rxjs.mjs" + }, + "require": { + "types": "./dist/cjs/rxjs.d.cts", + "default": "./dist/cjs/rxjs.cjs" } }, "./svelte-typescript": { "import": { "types": "./dist/esm/svelte-typescript.d.mts", "default": "./dist/esm/svelte-typescript.mjs" + }, + "require": { + "types": "./dist/cjs/svelte-typescript.d.cts", + "default": "./dist/cjs/svelte-typescript.cjs" } }, "./svelte": { "import": { "types": "./dist/esm/svelte.d.mts", "default": "./dist/esm/svelte.mjs" + }, + "require": { + "types": "./dist/cjs/svelte.d.cts", + "default": "./dist/cjs/svelte.cjs" } }, "./typescript": { "import": { "types": "./dist/esm/typescript.d.mts", "default": "./dist/esm/typescript.mjs" + }, + "require": { + "types": "./dist/cjs/typescript.d.cts", + "default": "./dist/cjs/typescript.cjs" } }, "./vue-typescript": { "import": { "types": "./dist/esm/vue-typescript.d.mts", "default": "./dist/esm/vue-typescript.mjs" + }, + "require": { + "types": "./dist/cjs/vue-typescript.d.cts", + "default": "./dist/cjs/vue-typescript.cjs" } }, "./vue": { "import": { "types": "./dist/esm/vue.d.mts", "default": "./dist/esm/vue.mjs" + }, + "require": { + "types": "./dist/cjs/vue.d.cts", + "default": "./dist/cjs/vue.cjs" } } }, From 730a6d97a73bacfb5f677ef78ee27e82d5976f37 Mon Sep 17 00:00:00 2001 From: Jeroen Claassens Date: Sun, 7 Apr 2024 18:29:18 +0200 Subject: [PATCH 06/21] chore: cleanup dev deps --- package.json | 2 -- yarn.lock | 29 ----------------------------- 2 files changed, 31 deletions(-) diff --git a/package.json b/package.json index 8b1738f..58d4048 100644 --- a/package.json +++ b/package.json @@ -303,8 +303,6 @@ }, "devDependencies": { "@sapphire/node-utilities": "^1.0.2", - "@types/eslint": "^8.56.7", - "@types/eslint-scope": "^3.7.7", "eslint": "^9.0.0", "prettier": "^3.2.5", "tsup": "^8.0.2", diff --git a/yarn.lock b/yarn.lock index f007db7..20b0b8c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -819,26 +819,6 @@ __metadata: languageName: node linkType: hard -"@types/eslint-scope@npm:^3.7.7": - version: 3.7.7 - resolution: "@types/eslint-scope@npm:3.7.7" - dependencies: - "@types/eslint": "npm:*" - "@types/estree": "npm:*" - checksum: 10c0/a0ecbdf2f03912679440550817ff77ef39a30fa8bfdacaf6372b88b1f931828aec392f52283240f0d648cf3055c5ddc564544a626bcf245f3d09fcb099ebe3cc - languageName: node - linkType: hard - -"@types/eslint@npm:*, @types/eslint@npm:^8.56.7": - version: 8.56.7 - resolution: "@types/eslint@npm:8.56.7" - dependencies: - "@types/estree": "npm:*" - "@types/json-schema": "npm:*" - checksum: 10c0/159bb5ae2f78d905b9263240c75d07b60c26e1bcaecee8c775a7bb0cf7362f5dcdd286259ba6289ab62f989b87048090b2420619f7170a0abbd83cb68b5e0699 - languageName: node - linkType: hard - "@types/estree-jsx@npm:^1.0.0": version: 1.0.0 resolution: "@types/estree-jsx@npm:1.0.0" @@ -878,13 +858,6 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:*": - version: 7.0.15 - resolution: "@types/json-schema@npm:7.0.15" - checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db - languageName: node - linkType: hard - "@types/json-schema@npm:^7.0.12, @types/json-schema@npm:^7.0.9": version: 7.0.12 resolution: "@types/json-schema@npm:7.0.12" @@ -2599,8 +2572,6 @@ __metadata: "@angular-eslint/template-parser": "npm:^17.3.0" "@next/eslint-plugin-next": "npm:^14.1.4" "@sapphire/node-utilities": "npm:^1.0.2" - "@types/eslint": "npm:^8.56.7" - "@types/eslint-scope": "npm:^3.7.7" "@typescript-eslint/eslint-plugin": "npm:^7.5.0" "@typescript-eslint/parser": "npm:^7.5.0" astro-eslint-parser: "npm:^0.17.0" From 58f1ac640976c7affe703f535ce307f9bcd09391 Mon Sep 17 00:00:00 2001 From: Jeroen Claassens Date: Sun, 7 Apr 2024 18:31:44 +0200 Subject: [PATCH 07/21] ci: add continuous integration workflow --- .github/workflows/continuous-integration.yml | 25 ++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 .github/workflows/continuous-integration.yml diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml new file mode 100644 index 0000000..5ce780c --- /dev/null +++ b/.github/workflows/continuous-integration.yml @@ -0,0 +1,25 @@ +name: Continuous Integration +on: + pull_request: + push: + branches: + - main +jobs: + build-and-lint: + name: Build & Lint + runs-on: ubuntu-latest + if: github.repository_owner == 'icrawl' + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Use Node.js v20 + uses: actions/setup-node@v4 + with: + node-version: 20 + + - name: Install Dependencies + run: yarn --immutable + + - name: Build & Lint + run: yarn lint From 97dbb9e33c094a91e26e843b31a1602dd626c6bc Mon Sep 17 00:00:00 2001 From: Jeroen Claassens Date: Thu, 6 Jun 2024 21:52:59 +0200 Subject: [PATCH 08/21] feat: update all configs to v9, with compat where needed --- package.json | 58 +- src/angular.ts | 2 - src/astro.ts | 2 - src/common.ts | 97 ++- src/cypress.ts | 3 +- src/jsx-a11y.ts | 3 +- src/jsx.ts | 3 +- src/mdx.ts | 2 - src/next.ts | 3 +- src/node.ts | 1 - src/react.ts | 5 +- src/rxjs-angular.ts | 3 +- src/rxjs.ts | 3 +- src/svelte.ts | 3 +- src/typescript.ts | 10 +- src/vue.ts | 5 +- yarn.lock | 1714 ++++++++++++++++++++++++------------------- 17 files changed, 1056 insertions(+), 861 deletions(-) diff --git a/package.json b/package.json index 58d4048..6299588 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,8 @@ "version": "0.1.62", "description": "The ultimate ESLint shareable config", "scripts": { - "build": "tsup && yarn fix-mts-types", + "gen-index": "tsx scripts/gen-index.ts", + "build": "yarn gen-index && tsup && yarn fix-mts-types", "fix-mts-types": "tsx scripts/fix-tsup-type-files.ts", "lint": "yarn build && prettier --check . && eslint src", "format": "yarn build && prettier --write . && eslint src --fix", @@ -269,45 +270,46 @@ "author": "iCrawl ", "license": "Apache-2.0", "dependencies": { - "@angular-eslint/eslint-plugin": "^17.3.0", - "@angular-eslint/eslint-plugin-template": "^17.3.0", - "@angular-eslint/template-parser": "^17.3.0", - "@next/eslint-plugin-next": "^14.1.4", - "@typescript-eslint/eslint-plugin": "^7.5.0", - "@typescript-eslint/parser": "^7.5.0", - "astro-eslint-parser": "^0.17.0", + "@angular-eslint/eslint-plugin": "^18.0.1", + "@angular-eslint/eslint-plugin-template": "^18.0.1", + "@angular-eslint/template-parser": "^18.0.1", + "@eslint/compat": "^1.0.3", + "@next/eslint-plugin-next": "^14.2.3", + "@typescript-eslint/eslint-plugin": "^7.12.0", + "@typescript-eslint/parser": "^7.12.0", + "astro-eslint-parser": "^1.0.2", "eslint-config-prettier": "^9.1.0", "eslint-import-resolver-typescript": "^3.6.1", "eslint-mdx": "^3.1.5", - "eslint-plugin-astro": "^0.34.0", - "eslint-plugin-cypress": "^2.15.1", - "eslint-plugin-import": "npm:eslint-plugin-import-x@latest", - "eslint-plugin-jsdoc": "^48.2.3", + "eslint-plugin-astro": "^1.2.0", + "eslint-plugin-cypress": "^3.3.0", + "eslint-plugin-import-x": "^0.5.1", + "eslint-plugin-jsdoc": "^48.2.8", "eslint-plugin-jsx-a11y": "^6.8.0", "eslint-plugin-mdx": "^3.1.5", - "eslint-plugin-n": "^16.6.2", - "eslint-plugin-promise": "^6.1.1", - "eslint-plugin-react": "^7.34.1", - "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-n": "^17.8.1", + "eslint-plugin-promise": "^6.2.0", + "eslint-plugin-react": "^7.34.2", + "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-rxjs": "^5.0.3", "eslint-plugin-rxjs-angular": "^2.0.1", - "eslint-plugin-sonarjs": "^0.25.1", + "eslint-plugin-sonarjs": "^1.0.3", "eslint-plugin-svelte3": "^4.0.0", - "eslint-plugin-tsdoc": "^0.2.17", + "eslint-plugin-tsdoc": "^0.3.0", "eslint-plugin-typescript-sort-keys": "^3.2.0", - "eslint-plugin-unicorn": "^52.0.0", - "eslint-plugin-vue": "^9.24.0", - "globals": "^15.0.0", - "typescript-eslint": "^7.5.0", - "vue-eslint-parser": "^9.4.2" + "eslint-plugin-unicorn": "^53.0.0", + "eslint-plugin-vue": "^9.26.0", + "globals": "^15.4.0", + "typescript-eslint": "^7.12.0", + "vue-eslint-parser": "^9.4.3" }, "devDependencies": { "@sapphire/node-utilities": "^1.0.2", - "eslint": "^9.0.0", - "prettier": "^3.2.5", - "tsup": "^8.0.2", - "tsx": "^4.7.2", - "typescript": "^5.4.4" + "eslint": "^9.4.0", + "prettier": "^3.3.1", + "tsup": "^8.1.0", + "tsx": "^4.12.0", + "typescript": "^5.4.5" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" diff --git a/src/angular.ts b/src/angular.ts index 162e470..39ce226 100644 --- a/src/angular.ts +++ b/src/angular.ts @@ -1,6 +1,4 @@ -// @ts-expect-error angular-eslint is not typed import angularEslintPlugin from "@angular-eslint/eslint-plugin"; -// @ts-expect-error angular-eslint is not typed import angularEslintTemplatePlugin from "@angular-eslint/eslint-plugin-template"; import angularParser from "@angular-eslint/template-parser"; import type { TSESLint } from "@typescript-eslint/utils"; diff --git a/src/astro.ts b/src/astro.ts index d65fef0..bd9e7c1 100644 --- a/src/astro.ts +++ b/src/astro.ts @@ -22,8 +22,6 @@ const config: TSESLint.FlatConfig.ConfigArray = [ parser: astroParser, }, plugins: { - // @ts-expect-error eslint-plugin-astro needs to be updated to v9 - // TODO [V9 UPDATE] astro: astroPlugin, }, rules: astroRules, diff --git a/src/common.ts b/src/common.ts index 27de747..de5ebbf 100644 --- a/src/common.ts +++ b/src/common.ts @@ -1,10 +1,11 @@ +import { fixupPluginRules } from "@eslint/compat"; import type { TSESLint } from "@typescript-eslint/utils"; -import eslintPluginImport from "eslint-plugin-import"; +import eslintPluginImport from "eslint-plugin-import-x"; import eslintPluginJsdoc from "eslint-plugin-jsdoc"; // @ts-expect-error eslint-plugin-unicorn is not typed import eslintPluginUnicorn from "eslint-plugin-unicorn"; -// TODO [V9 UPDATE] -// import eslintPluginPromise from "eslint-plugin-promise"; +// @ts-expect-error eslint-plugin-unicorn is not typed +import eslintPluginPromise from "eslint-plugin-promise"; const rules: TSESLint.FlatConfig.Rules = { "accessor-pairs": 0, @@ -97,27 +98,27 @@ const rules: TSESLint.FlatConfig.Rules = { ], "id-match": 0, "implicit-arrow-linebreak": [2, "beside"], - "import/default": 0, - "import/dynamic-import-chunkname": 0, - "import/export": 0, - "import/exports-last": 0, - "import/extensions": 0, - "import/first": 2, - "import/group-exports": 0, - "import/max-dependencies": 0, - "import/named": 0, - "import/namespace": 0, - "import/newline-after-import": 2, - "import/no-absolute-path": 2, - "import/no-amd": 2, - "import/no-anonymous-default-export": 0, - "import/no-commonjs": 0, - "import/no-cycle": 0, - "import/no-default-export": 0, - "import/no-deprecated": 0, - "import/no-duplicates": 2, - "import/no-dynamic-require": 2, - "import/no-extraneous-dependencies": [ + "import-x/default": 0, + "import-x/dynamic-import-chunkname": 0, + "import-x/export": 0, + "import-x/exports-last": 0, + "import-x/extensions": 0, + "import-x/first": 2, + "import-x/group-exports": 0, + "import-x/max-dependencies": 0, + "import-x/named": 0, + "import-x/namespace": 0, + "import-x/newline-after-import": 2, + "import-x/no-absolute-path": 2, + "import-x/no-amd": 2, + "import-x/no-anonymous-default-export": 0, + "import-x/no-commonjs": 0, + "import-x/no-cycle": 0, + "import-x/no-default-export": 0, + "import-x/no-deprecated": 0, + "import-x/no-duplicates": 2, + "import-x/no-dynamic-require": 2, + "import-x/no-extraneous-dependencies": [ 2, { devDependencies: true, @@ -125,25 +126,25 @@ const rules: TSESLint.FlatConfig.Rules = { peerDependencies: true, }, ], - "import/no-import-module-exports": 0, - "import/no-internal-modules": 0, - "import/no-mutable-exports": 2, - "import/no-named-as-default": 0, - "import/no-named-as-default-member": 0, - "import/no-named-default": 0, - "import/no-named-export": 0, - "import/no-namespace": 0, - "import/no-nodejs-modules": 0, - "import/no-relative-packages": 0, - "import/no-relative-parent-imports": 0, - "import/no-restricted-paths": 0, - "import/no-self-import": 2, - "import/no-unassigned-import": 0, - "import/no-unresolved": 0, - "import/no-unused-modules": 0, - "import/no-useless-path-segments": 2, - "import/no-webpack-loader-syntax": 2, - "import/order": [ + "import-x/no-import-module-exports": 0, + "import-x/no-internal-modules": 0, + "import-x/no-mutable-exports": 2, + "import-x/no-named-as-default": 0, + "import-x/no-named-as-default-member": 0, + "import-x/no-named-default": 0, + "import-x/no-named-export": 0, + "import-x/no-namespace": 0, + "import-x/no-nodejs-modules": 0, + "import-x/no-relative-packages": 0, + "import-x/no-relative-parent-imports": 0, + "import-x/no-restricted-paths": 0, + "import-x/no-self-import": 2, + "import-x/no-unassigned-import": 0, + "import-x/no-unresolved": 0, + "import-x/no-unused-modules": 0, + "import-x/no-useless-path-segments": 2, + "import-x/no-webpack-loader-syntax": 2, + "import-x/order": [ 2, { alphabetize: { @@ -154,8 +155,8 @@ const rules: TSESLint.FlatConfig.Rules = { "newlines-between": "never", }, ], - "import/prefer-default-export": 0, - "import/unambiguous": 0, + "import-x/prefer-default-export": 0, + "import-x/unambiguous": 0, indent: [2, "tab"], "init-declarations": 0, "jsdoc/check-access": 2, @@ -727,11 +728,9 @@ const config: TSESLint.FlatConfig.ConfigArray = [ }, plugins: { import: eslintPluginImport, - // @ts-expect-error eslint-plugin-jsdoc needs to be updated to v9 jsdoc: eslintPluginJsdoc, - unicorn: eslintPluginUnicorn, - // TODO [V9 UPDATE] - // promise: eslintPluginPromise, + unicorn: fixupPluginRules(eslintPluginUnicorn), + promise: fixupPluginRules(eslintPluginPromise), }, rules, settings, diff --git a/src/cypress.ts b/src/cypress.ts index dec5c74..8349027 100644 --- a/src/cypress.ts +++ b/src/cypress.ts @@ -1,4 +1,5 @@ import type { TSESLint } from "@typescript-eslint/utils"; +import { fixupPluginRules } from "@eslint/compat"; // @ts-expect-error eslint-plugin-cypress is not typed import cypress from "eslint-plugin-cypress"; @@ -18,7 +19,7 @@ const config: TSESLint.FlatConfig.ConfigArray = [ globals: cypress.environments.globals.globals, }, plugins: { - cypress, + cypress: fixupPluginRules(cypress), }, rules, }, diff --git a/src/jsx-a11y.ts b/src/jsx-a11y.ts index 8459a6a..b0d38cd 100644 --- a/src/jsx-a11y.ts +++ b/src/jsx-a11y.ts @@ -1,4 +1,5 @@ import type { TSESLint } from "@typescript-eslint/utils"; +import { fixupPluginRules } from "@eslint/compat"; // @ts-expect-error eslint-plugin-jsx-a11y is not typed import eslintPluginJsxA11y from "eslint-plugin-jsx-a11y"; @@ -85,7 +86,7 @@ const rules: TSESLint.FlatConfig.Rules = { const config: TSESLint.FlatConfig.ConfigArray = [ { plugins: { - "jsx-a11y": eslintPluginJsxA11y, + "jsx-a11y": fixupPluginRules(eslintPluginJsxA11y), }, rules, }, diff --git a/src/jsx.ts b/src/jsx.ts index 3d184fa..4a5737d 100644 --- a/src/jsx.ts +++ b/src/jsx.ts @@ -1,4 +1,5 @@ import type { TSESLint } from "@typescript-eslint/utils"; +import { fixupPluginRules } from "@eslint/compat"; // @ts-expect-error eslint-plugin-react is not typed import eslintPluginReact from "eslint-plugin-react"; @@ -121,7 +122,7 @@ const config: TSESLint.FlatConfig.ConfigArray = [ }, }, plugins: { - react: eslintPluginReact, + react: fixupPluginRules(eslintPluginReact), }, rules, settings, diff --git a/src/mdx.ts b/src/mdx.ts index 3f376b8..411f10c 100644 --- a/src/mdx.ts +++ b/src/mdx.ts @@ -3,8 +3,6 @@ import mdxParser from "eslint-mdx"; import mdxPlugin from "eslint-plugin-mdx"; const plugins: TSESLint.FlatConfig.Plugins = { - // @ts-expect-error eslint-plugin-mdx needs to be updated to v9 - // TODO [V9 UPDATE] mdx: mdxPlugin, }; diff --git a/src/next.ts b/src/next.ts index 5bd67d0..d6efa40 100644 --- a/src/next.ts +++ b/src/next.ts @@ -1,3 +1,4 @@ +import { fixupPluginRules } from "@eslint/compat"; // @ts-expect-error eslint-plugin-next is not typed import eslintPluginNext from "@next/eslint-plugin-next"; import type { TSESLint } from "@typescript-eslint/utils"; @@ -28,7 +29,7 @@ const rules: TSESLint.FlatConfig.Rules = { const config: TSESLint.FlatConfig.ConfigArray = [ { plugins: { - "@next/next": eslintPluginNext, + "@next/next": fixupPluginRules(eslintPluginNext), }, rules, }, diff --git a/src/node.ts b/src/node.ts index 28f7dfc..641b2b1 100644 --- a/src/node.ts +++ b/src/node.ts @@ -1,5 +1,4 @@ import type { TSESLint } from "@typescript-eslint/utils"; -// @ts-expect-error eslint-plugin-n is not typed import n from "eslint-plugin-n"; // eslint-disable-line id-length import globals from "globals"; diff --git a/src/react.ts b/src/react.ts index 24fae0e..2d416d5 100644 --- a/src/react.ts +++ b/src/react.ts @@ -1,3 +1,4 @@ +import { fixupPluginRules } from "@eslint/compat"; import type { TSESLint } from "@typescript-eslint/utils"; // @ts-expect-error eslint-plugin-react is not typed import eslintPluginReact from "eslint-plugin-react"; @@ -86,8 +87,8 @@ const config: TSESLint.FlatConfig.ConfigArray = [ ...jsx, { plugins: { - react: eslintPluginReact, - "react-hooks": eslintPluginReactHooks, + react: fixupPluginRules(eslintPluginReact), + "react-hooks": fixupPluginRules(eslintPluginReactHooks), }, rules, settings, diff --git a/src/rxjs-angular.ts b/src/rxjs-angular.ts index 4c893b2..e2c81ee 100644 --- a/src/rxjs-angular.ts +++ b/src/rxjs-angular.ts @@ -1,3 +1,4 @@ +import { fixupPluginRules } from "@eslint/compat"; import type { TSESLint } from "@typescript-eslint/utils"; // @ts-expect-error eslint-plugin-rxjs-angular is not typed import eslintPluginRxjsAngular from "eslint-plugin-rxjs-angular"; @@ -11,7 +12,7 @@ const rules: TSESLint.FlatConfig.Rules = { const config: TSESLint.FlatConfig.ConfigArray = [ { plugins: { - "rxjs-angular": eslintPluginRxjsAngular, + "rxjs-angular": fixupPluginRules(eslintPluginRxjsAngular), }, rules, }, diff --git a/src/rxjs.ts b/src/rxjs.ts index 9c08bf9..8c53f56 100644 --- a/src/rxjs.ts +++ b/src/rxjs.ts @@ -1,3 +1,4 @@ +import { fixupPluginRules } from "@eslint/compat"; import type { TSESLint } from "@typescript-eslint/utils"; // @ts-expect-error eslint-plugin-rxjs is not typed import eslintPluginRxjs from "eslint-plugin-rxjs"; @@ -47,7 +48,7 @@ const rules: TSESLint.FlatConfig.Rules = { const config: TSESLint.FlatConfig.ConfigArray = [ { plugins: { - rxjs: eslintPluginRxjs, + rxjs: fixupPluginRules(eslintPluginRxjs), }, rules, }, diff --git a/src/svelte.ts b/src/svelte.ts index 9bb7ffc..888d0c6 100644 --- a/src/svelte.ts +++ b/src/svelte.ts @@ -1,9 +1,10 @@ +import { fixupPluginRules } from "@eslint/compat"; import type { TSESLint } from "@typescript-eslint/utils"; // @ts-expect-error eslint-plugin-svelte3 is not typed import eslintPluginSvelte3 from "eslint-plugin-svelte3"; const plugins: TSESLint.FlatConfig.Plugins = { - svelte3: eslintPluginSvelte3, + svelte3: fixupPluginRules(eslintPluginSvelte3), }; const svelteRules: TSESLint.FlatConfig.Rules = { diff --git a/src/typescript.ts b/src/typescript.ts index 7c74669..f991d56 100644 --- a/src/typescript.ts +++ b/src/typescript.ts @@ -1,5 +1,6 @@ +import { fixupPluginRules } from "@eslint/compat"; import type { TSESLint } from "@typescript-eslint/utils"; -// import eslintPluginSonarjs from "eslint-plugin-sonarjs"; +import eslintPluginSonarjs from "eslint-plugin-sonarjs"; import eslintPluginTsdoc from "eslint-plugin-tsdoc"; // @ts-expect-error eslint-plugin-typescript-sort-keys is not typed import eslintPluginTypescriptSortKeys from "eslint-plugin-typescript-sort-keys"; @@ -428,12 +429,9 @@ const config: TSESLint.FlatConfig.ConfigArray = tseslint.config( ...tseslint.configs.recommended, { plugins: { - // TODO [V9 UPDATE] - // sonarjs: eslintPluginSonarjs, - // @ts-expect-error eslint-plugin-tsdoc needs to be updated to v9 - // TODO [V9 UPDATE] + sonarjs: eslintPluginSonarjs, tsdoc: eslintPluginTsdoc, - "typescript-sort-keys": eslintPluginTypescriptSortKeys, + "typescript-sort-keys": fixupPluginRules(eslintPluginTypescriptSortKeys), }, rules, settings, diff --git a/src/vue.ts b/src/vue.ts index eee0bfe..6a64be6 100644 --- a/src/vue.ts +++ b/src/vue.ts @@ -1,3 +1,4 @@ +import { fixupPluginRules } from "@eslint/compat"; import type { TSESLint } from "@typescript-eslint/utils"; // @ts-expect-error eslint-plugin-vue is not typed import eslintPluginVue from "eslint-plugin-vue"; @@ -308,12 +309,10 @@ const vueRules: TSESLint.FlatConfig.Rules = { const config: TSESLint.FlatConfig.ConfigArray = [ { languageOptions: { - // @ts-expect-error vue-eslint-parser needs to be updated to v9 - // TODO [V9 UPDATE] parser: vueEslintParser, }, plugins: { - vue: eslintPluginVue, + vue: fixupPluginRules(eslintPluginVue), }, rules, }, diff --git a/yarn.lock b/yarn.lock index 20b0b8c..0fbbe73 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12,66 +12,66 @@ __metadata: languageName: node linkType: hard -"@angular-eslint/bundled-angular-compiler@npm:17.3.0": - version: 17.3.0 - resolution: "@angular-eslint/bundled-angular-compiler@npm:17.3.0" - checksum: 10c0/18a63bf01572f4f529a40fd5e6af04b471afd0948e0936a4055152df40b34b16efd7ff1164895a56c6a40da7a44e521f2af14240535a2b6dcee867c4e02bbe26 +"@angular-eslint/bundled-angular-compiler@npm:18.0.1": + version: 18.0.1 + resolution: "@angular-eslint/bundled-angular-compiler@npm:18.0.1" + checksum: 10c0/c4d265a565b052fe598b54fd30460f8f579dbd4e7b255e50a9b147af7258e4b2c2d7add41909b12c8e9b0f95e8eb70dd4e714284b99f5952d0e23a05b14e7bfe languageName: node linkType: hard -"@angular-eslint/eslint-plugin-template@npm:^17.3.0": - version: 17.3.0 - resolution: "@angular-eslint/eslint-plugin-template@npm:17.3.0" +"@angular-eslint/eslint-plugin-template@npm:^18.0.1": + version: 18.0.1 + resolution: "@angular-eslint/eslint-plugin-template@npm:18.0.1" dependencies: - "@angular-eslint/bundled-angular-compiler": "npm:17.3.0" - "@angular-eslint/utils": "npm:17.3.0" - "@typescript-eslint/type-utils": "npm:7.2.0" - "@typescript-eslint/utils": "npm:7.2.0" + "@angular-eslint/bundled-angular-compiler": "npm:18.0.1" + "@angular-eslint/utils": "npm:18.0.1" aria-query: "npm:5.3.0" axobject-query: "npm:4.0.0" peerDependencies: - eslint: ^7.20.0 || ^8.0.0 + "@typescript-eslint/utils": ^7.11.0 || ^8.0.0-alpha.20 + eslint: ^8.57.0 || ^9.0.0 typescript: "*" - checksum: 10c0/52f80cf25ac6f63409926b2d0d8b649c10a5d8ae9ced92ab40e009ba953a065f153296736cc6d0eecf19d4d806e50f8d06d25e76ee1d686249dc6732cac7e1fc + checksum: 10c0/a248336f5454703fa5ec6b22a401a538e1dc1d041f24ade148ae0017213c0756f0bb6ae2a02e60fdcecd36c9ac11d313a216667c7c24ada37cb177d4821a562f languageName: node linkType: hard -"@angular-eslint/eslint-plugin@npm:^17.3.0": - version: 17.3.0 - resolution: "@angular-eslint/eslint-plugin@npm:17.3.0" +"@angular-eslint/eslint-plugin@npm:^18.0.1": + version: 18.0.1 + resolution: "@angular-eslint/eslint-plugin@npm:18.0.1" dependencies: - "@angular-eslint/utils": "npm:17.3.0" - "@typescript-eslint/utils": "npm:7.2.0" + "@angular-eslint/bundled-angular-compiler": "npm:18.0.1" + "@angular-eslint/utils": "npm:18.0.1" peerDependencies: - eslint: ^7.20.0 || ^8.0.0 + "@typescript-eslint/utils": ^7.11.0 || ^8.0.0-alpha.20 + eslint: ^8.57.0 || ^9.0.0 typescript: "*" - checksum: 10c0/8e3f5c635e41bc37a28af6756daacd3d4c3ac916ea81a35f4dc099014d56ec1507cad9cad9967514db2fa1553030e02ac9c871dc7e2681d94d2b55fbc708dd0c + checksum: 10c0/244ad862e04606db5d76b8568696b398d647fa1a734e752786a1f65122a375aacec03efa49dfb4eb4d339f3ba8f046914777ddb3863a0e4a54dca0842806cf44 languageName: node linkType: hard -"@angular-eslint/template-parser@npm:^17.3.0": - version: 17.3.0 - resolution: "@angular-eslint/template-parser@npm:17.3.0" +"@angular-eslint/template-parser@npm:^18.0.1": + version: 18.0.1 + resolution: "@angular-eslint/template-parser@npm:18.0.1" dependencies: - "@angular-eslint/bundled-angular-compiler": "npm:17.3.0" + "@angular-eslint/bundled-angular-compiler": "npm:18.0.1" eslint-scope: "npm:^8.0.0" peerDependencies: - eslint: ^7.20.0 || ^8.0.0 + eslint: ^8.57.0 || ^9.0.0 typescript: "*" - checksum: 10c0/0b7ae434cbc4dbc52e2939639af5f0ef1669896f65a92acb79b56066dd091e7eaebcbc4414c0e3863778a54579633982d8427bdb80fda80848e8b12772c39f76 + checksum: 10c0/f3005a8acdd0fcb111af4a9ddd23342e1f3455cf34f827ec00baede23e51d301f3d7ea1d9f908536467db63b286c3ea8ec449a83fa1944b2d6a1f13d2f22cb5b languageName: node linkType: hard -"@angular-eslint/utils@npm:17.3.0": - version: 17.3.0 - resolution: "@angular-eslint/utils@npm:17.3.0" +"@angular-eslint/utils@npm:18.0.1": + version: 18.0.1 + resolution: "@angular-eslint/utils@npm:18.0.1" dependencies: - "@angular-eslint/bundled-angular-compiler": "npm:17.3.0" - "@typescript-eslint/utils": "npm:7.2.0" + "@angular-eslint/bundled-angular-compiler": "npm:18.0.1" peerDependencies: - eslint: ^7.20.0 || ^8.0.0 + "@typescript-eslint/utils": ^7.11.0 || ^8.0.0-alpha.20 + eslint: ^8.57.0 || ^9.0.0 typescript: "*" - checksum: 10c0/011fb597d663ef5db441ebf36ad997411710f74762fd6e7dec3dbe87cd2e6f6215695a7dfc0e7001476cba804623cc8fee1221100990e360cd9883556b41c8fd + checksum: 10c0/3b283b506a00bae0b62c487866108e6520a24ba13ad00795fa343557765204bd199cc417008cd1ba9825d820ec923ef83e4cbd3bd147f396d5ebaa34d7b505a5 languageName: node linkType: hard @@ -145,13 +145,20 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.18.6, @babel/helper-validator-identifier@npm:^7.19.1, @babel/helper-validator-identifier@npm:^7.22.20": +"@babel/helper-validator-identifier@npm:^7.18.6, @babel/helper-validator-identifier@npm:^7.19.1": version: 7.22.20 resolution: "@babel/helper-validator-identifier@npm:7.22.20" checksum: 10c0/dcad63db345fb110e032de46c3688384b0008a42a4845180ce7cd62b1a9c0507a1bed727c4d1060ed1a03ae57b4d918570259f81724aaac1a5b776056f37504e languageName: node linkType: hard +"@babel/helper-validator-identifier@npm:^7.24.5": + version: 7.24.7 + resolution: "@babel/helper-validator-identifier@npm:7.24.7" + checksum: 10c0/87ad608694c9477814093ed5b5c080c2e06d44cb1924ae8320474a74415241223cc2a725eea2640dd783ff1e3390e5f95eede978bc540e870053152e58f1d651 + languageName: node + linkType: hard + "@babel/highlight@npm:^7.18.6": version: 7.18.6 resolution: "@babel/highlight@npm:7.18.6" @@ -221,174 +228,338 @@ __metadata: languageName: node linkType: hard -"@es-joy/jsdoccomment@npm:~0.42.0": - version: 0.42.0 - resolution: "@es-joy/jsdoccomment@npm:0.42.0" +"@es-joy/jsdoccomment@npm:~0.43.1": + version: 0.43.1 + resolution: "@es-joy/jsdoccomment@npm:0.43.1" dependencies: + "@types/eslint": "npm:^8.56.5" + "@types/estree": "npm:^1.0.5" + "@typescript-eslint/types": "npm:^7.2.0" comment-parser: "npm:1.4.1" esquery: "npm:^1.5.0" jsdoc-type-pratt-parser: "npm:~4.0.0" - checksum: 10c0/a8122762d2df3c6501a9c459e2822315a23c0078c4aeb0b40fb3c84b99e21a78e85e67f962d6b5dde5eb751792a1c67c6a170b619573db7151098a19950abe35 + checksum: 10c0/2a4842b0e37eb937d55e3028ab2cd7ece7097e1f8c878bb9e28c3309371844688c2869d25bb949e2664c9ba63e388ea09b769c9f42f77515d328ec40e6fcfed1 languageName: node linkType: hard -"@esbuild/aix-ppc64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/aix-ppc64@npm:0.19.12" +"@esbuild/aix-ppc64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/aix-ppc64@npm:0.20.2" conditions: os=aix & cpu=ppc64 languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/android-arm64@npm:0.19.12" +"@esbuild/aix-ppc64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/aix-ppc64@npm:0.21.4" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/android-arm64@npm:0.20.2" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/android-arm64@npm:0.21.4" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@esbuild/android-arm@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/android-arm@npm:0.19.12" +"@esbuild/android-arm@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/android-arm@npm:0.20.2" conditions: os=android & cpu=arm languageName: node linkType: hard -"@esbuild/android-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/android-x64@npm:0.19.12" +"@esbuild/android-arm@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/android-arm@npm:0.21.4" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/android-x64@npm:0.20.2" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/android-x64@npm:0.21.4" conditions: os=android & cpu=x64 languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/darwin-arm64@npm:0.19.12" +"@esbuild/darwin-arm64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/darwin-arm64@npm:0.20.2" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/darwin-arm64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/darwin-arm64@npm:0.21.4" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/darwin-x64@npm:0.19.12" +"@esbuild/darwin-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/darwin-x64@npm:0.20.2" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/darwin-x64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/darwin-x64@npm:0.21.4" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/freebsd-arm64@npm:0.19.12" +"@esbuild/freebsd-arm64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/freebsd-arm64@npm:0.20.2" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/freebsd-arm64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/freebsd-arm64@npm:0.21.4" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/freebsd-x64@npm:0.19.12" +"@esbuild/freebsd-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/freebsd-x64@npm:0.20.2" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-arm64@npm:0.19.12" +"@esbuild/freebsd-x64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/freebsd-x64@npm:0.21.4" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/linux-arm64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-arm64@npm:0.20.2" conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"@esbuild/linux-arm@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-arm@npm:0.19.12" +"@esbuild/linux-arm64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/linux-arm64@npm:0.21.4" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/linux-arm@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-arm@npm:0.20.2" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-ia32@npm:0.19.12" +"@esbuild/linux-arm@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/linux-arm@npm:0.21.4" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@esbuild/linux-ia32@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-ia32@npm:0.20.2" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/linux-ia32@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/linux-ia32@npm:0.21.4" conditions: os=linux & cpu=ia32 languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-loong64@npm:0.19.12" +"@esbuild/linux-loong64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-loong64@npm:0.20.2" conditions: os=linux & cpu=loong64 languageName: node linkType: hard -"@esbuild/linux-mips64el@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-mips64el@npm:0.19.12" +"@esbuild/linux-loong64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/linux-loong64@npm:0.21.4" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@esbuild/linux-mips64el@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-mips64el@npm:0.20.2" conditions: os=linux & cpu=mips64el languageName: node linkType: hard -"@esbuild/linux-ppc64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-ppc64@npm:0.19.12" +"@esbuild/linux-mips64el@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/linux-mips64el@npm:0.21.4" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@esbuild/linux-ppc64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-ppc64@npm:0.20.2" conditions: os=linux & cpu=ppc64 languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-riscv64@npm:0.19.12" +"@esbuild/linux-ppc64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/linux-ppc64@npm:0.21.4" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/linux-riscv64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-riscv64@npm:0.20.2" conditions: os=linux & cpu=riscv64 languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-s390x@npm:0.19.12" +"@esbuild/linux-riscv64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/linux-riscv64@npm:0.21.4" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@esbuild/linux-s390x@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-s390x@npm:0.20.2" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@esbuild/linux-s390x@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/linux-s390x@npm:0.21.4" conditions: os=linux & cpu=s390x languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-x64@npm:0.19.12" +"@esbuild/linux-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-x64@npm:0.20.2" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/netbsd-x64@npm:0.19.12" +"@esbuild/linux-x64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/linux-x64@npm:0.21.4" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/netbsd-x64@npm:0.20.2" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/netbsd-x64@npm:0.21.4" conditions: os=netbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/openbsd-x64@npm:0.19.12" +"@esbuild/openbsd-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/openbsd-x64@npm:0.20.2" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-x64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/openbsd-x64@npm:0.21.4" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/sunos-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/sunos-x64@npm:0.19.12" +"@esbuild/sunos-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/sunos-x64@npm:0.20.2" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/sunos-x64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/sunos-x64@npm:0.21.4" conditions: os=sunos & cpu=x64 languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/win32-arm64@npm:0.19.12" +"@esbuild/win32-arm64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/win32-arm64@npm:0.20.2" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/win32-ia32@npm:0.19.12" +"@esbuild/win32-arm64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/win32-arm64@npm:0.21.4" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/win32-ia32@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/win32-ia32@npm:0.20.2" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@esbuild/win32-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/win32-x64@npm:0.19.12" +"@esbuild/win32-ia32@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/win32-ia32@npm:0.21.4" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/win32-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/win32-x64@npm:0.20.2" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/win32-x64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/win32-x64@npm:0.21.4" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -404,33 +575,58 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.5.1, @eslint-community/regexpp@npm:^4.6.0, @eslint-community/regexpp@npm:^4.6.1": +"@eslint-community/regexpp@npm:^4.10.0": + version: 4.10.1 + resolution: "@eslint-community/regexpp@npm:4.10.1" + checksum: 10c0/f59376025d0c91dd9fdf18d33941df499292a3ecba3e9889c360f3f6590197d30755604588786cdca0f9030be315a26b206014af4b65c0ff85b4ec49043de780 + languageName: node + linkType: hard + +"@eslint-community/regexpp@npm:^4.6.0, @eslint-community/regexpp@npm:^4.6.1": version: 4.7.0 resolution: "@eslint-community/regexpp@npm:4.7.0" checksum: 10c0/f175140dfdb4f8f84fbba26a7a73ea850e005a754a654be7698c735968edeeb6d9f25881b6ef2dcebf94473d41b4b874c7d918b68ec1f43d82f5f85e986c69ff languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.1.4": - version: 2.1.4 - resolution: "@eslint/eslintrc@npm:2.1.4" +"@eslint/compat@npm:^1.0.3": + version: 1.0.3 + resolution: "@eslint/compat@npm:1.0.3" + checksum: 10c0/7d8392949c07e518dc487fb745379b08fbc22680039d52f1f370472154fb3e98197e21c4b692479b965739d7ec0c84523b376b43e03360ffbfde65b628788acf + languageName: node + linkType: hard + +"@eslint/config-array@npm:^0.15.1": + version: 0.15.1 + resolution: "@eslint/config-array@npm:0.15.1" + dependencies: + "@eslint/object-schema": "npm:^2.1.3" + debug: "npm:^4.3.1" + minimatch: "npm:^3.0.5" + checksum: 10c0/60947a188157f2f811cc2aedf3c2494fa10932178838f6a7c7e9a8bb106ab51b4b4e571f49ae63cdd3884002b78631e4395be25d4ae52470360fc7fb463303d2 + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^3.0.2": + version: 3.0.2 + resolution: "@eslint/eslintrc@npm:3.0.2" dependencies: ajv: "npm:^6.12.4" debug: "npm:^4.3.2" - espree: "npm:^9.6.0" - globals: "npm:^13.19.0" + espree: "npm:^10.0.1" + globals: "npm:^14.0.0" ignore: "npm:^5.2.0" import-fresh: "npm:^3.2.1" js-yaml: "npm:^4.1.0" minimatch: "npm:^3.1.2" strip-json-comments: "npm:^3.1.1" - checksum: 10c0/32f67052b81768ae876c84569ffd562491ec5a5091b0c1e1ca1e0f3c24fb42f804952fdd0a137873bc64303ba368a71ba079a6f691cee25beee9722d94cc8573 + checksum: 10c0/d8c92f06bdf8e2be9fcc0eeac4a9351745174adfcc72571ef3d179101cb55e19f15f6385c2a4f4945a3ba9245802d3371208e2e1e4f00f6bcf6b8711656af85a languageName: node linkType: hard -"@eslint/eslintrc@npm:^3.0.2": - version: 3.0.2 - resolution: "@eslint/eslintrc@npm:3.0.2" +"@eslint/eslintrc@npm:^3.1.0": + version: 3.1.0 + resolution: "@eslint/eslintrc@npm:3.1.0" dependencies: ajv: "npm:^6.12.4" debug: "npm:^4.3.2" @@ -441,25 +637,21 @@ __metadata: js-yaml: "npm:^4.1.0" minimatch: "npm:^3.1.2" strip-json-comments: "npm:^3.1.1" - checksum: 10c0/d8c92f06bdf8e2be9fcc0eeac4a9351745174adfcc72571ef3d179101cb55e19f15f6385c2a4f4945a3ba9245802d3371208e2e1e4f00f6bcf6b8711656af85a + checksum: 10c0/5b7332ed781edcfc98caa8dedbbb843abfb9bda2e86538529c843473f580e40c69eb894410eddc6702f487e9ee8f8cfa8df83213d43a8fdb549f23ce06699167 languageName: node linkType: hard -"@eslint/js@npm:9.0.0": - version: 9.0.0 - resolution: "@eslint/js@npm:9.0.0" - checksum: 10c0/ec3242a60a2525d2785d96d1e95b8060235f47f3b953aa81626968591ef8c1eb4f7f8b3647db2c97fdfa524eace949a5695be50521f64b8dcc4ed3b493ee409e +"@eslint/js@npm:9.4.0": + version: 9.4.0 + resolution: "@eslint/js@npm:9.4.0" + checksum: 10c0/7ffc508d3e9cd496cab7f08c5ba8f97851c8adaea3ebff8804b1c3b4662aa7aac7e9c3b597f7e47fdc29319a107bcf892865070a6b113c2e4d19f8fa1f99f569 languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.12.3": - version: 0.12.3 - resolution: "@humanwhocodes/config-array@npm:0.12.3" - dependencies: - "@humanwhocodes/object-schema": "npm:^2.0.3" - debug: "npm:^4.3.1" - minimatch: "npm:^3.0.5" - checksum: 10c0/7a97f1414c63f353557ff8ad2987774cbcd3ed87525909cc845b629518dd74dc92cacf8ac8dc4161549a87441f8c64802ac530ce879ddcbf2551a53ba73d03d1 +"@eslint/object-schema@npm:^2.1.3": + version: 2.1.3 + resolution: "@eslint/object-schema@npm:2.1.3" + checksum: 10c0/ee892d0112ee7ec86312dfb1fa718da76b2d446e3495b9ec1f3ef31382a335d31420b76f3def175b96f7c3517c88fc860fec049d62a81d444237a23881559403 languageName: node linkType: hard @@ -470,10 +662,10 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^2.0.3": - version: 2.0.3 - resolution: "@humanwhocodes/object-schema@npm:2.0.3" - checksum: 10c0/80520eabbfc2d32fe195a93557cef50dfe8c8905de447f022675aaf66abc33ae54098f5ea78548d925aa671cd4ab7c7daa5ad704fe42358c9b5e7db60f80696c +"@humanwhocodes/retry@npm:^0.3.0": + version: 0.3.0 + resolution: "@humanwhocodes/retry@npm:0.3.0" + checksum: 10c0/7111ec4e098b1a428459b4e3be5a5d2a13b02905f805a2468f4fa628d072f0de2da26a27d04f65ea2846f73ba51f4204661709f05bfccff645e3cedef8781bb6 languageName: node linkType: hard @@ -540,31 +732,31 @@ __metadata: languageName: node linkType: hard -"@microsoft/tsdoc-config@npm:0.16.2": - version: 0.16.2 - resolution: "@microsoft/tsdoc-config@npm:0.16.2" +"@microsoft/tsdoc-config@npm:0.17.0": + version: 0.17.0 + resolution: "@microsoft/tsdoc-config@npm:0.17.0" dependencies: - "@microsoft/tsdoc": "npm:0.14.2" - ajv: "npm:~6.12.6" + "@microsoft/tsdoc": "npm:0.15.0" + ajv: "npm:~8.12.0" jju: "npm:~1.4.0" - resolve: "npm:~1.19.0" - checksum: 10c0/9e8c176b68f01c8bb38e6365d5b543e471bba59fced6070d9bd35b32461fbd650c2e1a6f686e8dca0cf22bc5e7d796e4213e66bce4426c8cb9864c1f6ca6836c + resolve: "npm:~1.22.2" + checksum: 10c0/9aa51b5b0fa93ad5c6a40ed1acf1f25c625b616efe29f2e5fa22ee9bddea12a4a39c833726e11ab592f20cfc9b8c3865978864dd02711d457fa971df3c091847 languageName: node linkType: hard -"@microsoft/tsdoc@npm:0.14.2": - version: 0.14.2 - resolution: "@microsoft/tsdoc@npm:0.14.2" - checksum: 10c0/c018857ad439144559ce34a397a29ace7cf5b24b999b8e3c1b88d878338088b3a453eaac4435beaf2c7eae13c4c0aac81e42f96f0f1d48e8d4eeb438eb3bb82f +"@microsoft/tsdoc@npm:0.15.0": + version: 0.15.0 + resolution: "@microsoft/tsdoc@npm:0.15.0" + checksum: 10c0/6beaf6e01ff54daeba69862cb3d27e03bbabfe299d23d0fade885f5b29bf98af01cecc746d23875fe60ba89514e3b630b71140b1b18d37301096f7a1e35451aa languageName: node linkType: hard -"@next/eslint-plugin-next@npm:^14.1.4": - version: 14.1.4 - resolution: "@next/eslint-plugin-next@npm:14.1.4" +"@next/eslint-plugin-next@npm:^14.2.3": + version: 14.2.3 + resolution: "@next/eslint-plugin-next@npm:14.2.3" dependencies: glob: "npm:10.3.10" - checksum: 10c0/fb49237153bf528ef3939e1ceae0f658e44abcf0ca155d8042c7961f523e4d9aeba3de18532b633734f3b5524b644e9c3c5187089e0d400896c1c35812bbbdd3 + checksum: 10c0/de9af2c7465cce4eb4cb50654aa2548d4d2af788c8992d02e2b863b1bf4f99e3b6604d1f0775f8e50aca6a53cf30d51f4ac56810d1625d401548267ca5f1d883 languageName: node linkType: hard @@ -666,20 +858,6 @@ __metadata: languageName: node linkType: hard -"@pkgr/utils@npm:^2.3.1": - version: 2.4.0 - resolution: "@pkgr/utils@npm:2.4.0" - dependencies: - cross-spawn: "npm:^7.0.3" - fast-glob: "npm:^3.2.12" - is-glob: "npm:^4.0.3" - open: "npm:^9.1.0" - picocolors: "npm:^1.0.0" - tslib: "npm:^2.5.0" - checksum: 10c0/f191e150c43f86741003da6c6faf25a66bfcb8021a148b44ee366ea5d690cb25a6267b97707c7a7170d2532874c378c89b5f97159e3eefbb1b86f70bf15e6915 - languageName: node - linkType: hard - "@rollup/rollup-android-arm-eabi@npm:4.14.1": version: 4.14.1 resolution: "@rollup/rollup-android-arm-eabi@npm:4.14.1" @@ -819,6 +997,16 @@ __metadata: languageName: node linkType: hard +"@types/eslint@npm:^8.56.5": + version: 8.56.10 + resolution: "@types/eslint@npm:8.56.10" + dependencies: + "@types/estree": "npm:*" + "@types/json-schema": "npm:*" + checksum: 10c0/674349d6c342c3864d70f4d5a9965f96fb253801532752c8c500ad6a1c2e8b219e01ccff5dc8791dcb58b5483012c495708bb9f3ff929f5c9322b3da126c15d3 + languageName: node + linkType: hard + "@types/estree-jsx@npm:^1.0.0": version: 1.0.0 resolution: "@types/estree-jsx@npm:1.0.0" @@ -835,7 +1023,7 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:1.0.5": +"@types/estree@npm:1.0.5, @types/estree@npm:^1.0.5": version: 1.0.5 resolution: "@types/estree@npm:1.0.5" checksum: 10c0/b3b0e334288ddb407c7b3357ca67dbee75ee22db242ca7c56fe27db4e1a31989cb8af48a84dd401deb787fe10cc6b2ab1ee82dc4783be87ededbe3d53c79c70d @@ -858,6 +1046,13 @@ __metadata: languageName: node linkType: hard +"@types/json-schema@npm:*": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db + languageName: node + linkType: hard + "@types/json-schema@npm:^7.0.12, @types/json-schema@npm:^7.0.9": version: 7.0.12 resolution: "@types/json-schema@npm:7.0.12" @@ -950,28 +1145,26 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:7.5.0, @typescript-eslint/eslint-plugin@npm:^7.5.0": - version: 7.5.0 - resolution: "@typescript-eslint/eslint-plugin@npm:7.5.0" +"@typescript-eslint/eslint-plugin@npm:7.12.0, @typescript-eslint/eslint-plugin@npm:^7.12.0": + version: 7.12.0 + resolution: "@typescript-eslint/eslint-plugin@npm:7.12.0" dependencies: - "@eslint-community/regexpp": "npm:^4.5.1" - "@typescript-eslint/scope-manager": "npm:7.5.0" - "@typescript-eslint/type-utils": "npm:7.5.0" - "@typescript-eslint/utils": "npm:7.5.0" - "@typescript-eslint/visitor-keys": "npm:7.5.0" - debug: "npm:^4.3.4" + "@eslint-community/regexpp": "npm:^4.10.0" + "@typescript-eslint/scope-manager": "npm:7.12.0" + "@typescript-eslint/type-utils": "npm:7.12.0" + "@typescript-eslint/utils": "npm:7.12.0" + "@typescript-eslint/visitor-keys": "npm:7.12.0" graphemer: "npm:^1.4.0" - ignore: "npm:^5.2.4" + ignore: "npm:^5.3.1" natural-compare: "npm:^1.4.0" - semver: "npm:^7.5.4" - ts-api-utils: "npm:^1.0.1" + ts-api-utils: "npm:^1.3.0" peerDependencies: "@typescript-eslint/parser": ^7.0.0 eslint: ^8.56.0 peerDependenciesMeta: typescript: optional: true - checksum: 10c0/932a7b5a09c0138ef5a0bf00f8e6039fa209d4047092ffc187de048543c21f7ce24dc14f25f4c87b6f3bbb62335fc952e259e271fde88baf793217bde6460cfa + checksum: 10c0/abf899e07144e8edd8ae010d25e4679e2acded407a10efc6aaa7ee325af8daf0dd149946ad58e46982e29e0a23f56b1e0dd461ef09aab09b0d94fc24ffc827c2 languageName: node linkType: hard @@ -986,21 +1179,21 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/parser@npm:7.5.0, @typescript-eslint/parser@npm:^7.5.0": - version: 7.5.0 - resolution: "@typescript-eslint/parser@npm:7.5.0" +"@typescript-eslint/parser@npm:7.12.0, @typescript-eslint/parser@npm:^7.12.0": + version: 7.12.0 + resolution: "@typescript-eslint/parser@npm:7.12.0" dependencies: - "@typescript-eslint/scope-manager": "npm:7.5.0" - "@typescript-eslint/types": "npm:7.5.0" - "@typescript-eslint/typescript-estree": "npm:7.5.0" - "@typescript-eslint/visitor-keys": "npm:7.5.0" + "@typescript-eslint/scope-manager": "npm:7.12.0" + "@typescript-eslint/types": "npm:7.12.0" + "@typescript-eslint/typescript-estree": "npm:7.12.0" + "@typescript-eslint/visitor-keys": "npm:7.12.0" debug: "npm:^4.3.4" peerDependencies: eslint: ^8.56.0 peerDependenciesMeta: typescript: optional: true - checksum: 10c0/65521202ff024e79594272fbb7e4731ecf9d2fdd2f58fc81450bfd2bca94ce9c17b0eadd7338c01701f5cf16d38b6c025ed3fc322380b1e4b5424b7484098cda + checksum: 10c0/223c32a6ba6cee770ee39108fb0a6d132283673d44c751bec85d8792df3382ddb839617787d183dc8fd7686d8a2018bf1ec0f3d63b7010c4370913f249c80fbc languageName: node linkType: hard @@ -1014,13 +1207,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:7.2.0": - version: 7.2.0 - resolution: "@typescript-eslint/scope-manager@npm:7.2.0" +"@typescript-eslint/scope-manager@npm:7.12.0, @typescript-eslint/scope-manager@npm:^7.0.0": + version: 7.12.0 + resolution: "@typescript-eslint/scope-manager@npm:7.12.0" dependencies: - "@typescript-eslint/types": "npm:7.2.0" - "@typescript-eslint/visitor-keys": "npm:7.2.0" - checksum: 10c0/4d088c127e6ba1a7de8567f70684779083be24b48746c3b4a86a0ec7062bca58693ee08482349ad6572a17ada8aa6f26b74d1c7139c8fcf7101fa09a572e0ea6 + "@typescript-eslint/types": "npm:7.12.0" + "@typescript-eslint/visitor-keys": "npm:7.12.0" + checksum: 10c0/7af53cd9045cc70459e4f451377affc0ef03e67bd743480ab2cbfebe1b7d8269fc639406966930c5abb26f1b633623c98442c2b60f6257e0ce1555439343d5e9 languageName: node linkType: hard @@ -1034,47 +1227,20 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:^5.0.0": - version: 5.62.0 - resolution: "@typescript-eslint/scope-manager@npm:5.62.0" - dependencies: - "@typescript-eslint/types": "npm:5.62.0" - "@typescript-eslint/visitor-keys": "npm:5.62.0" - checksum: 10c0/861253235576c1c5c1772d23cdce1418c2da2618a479a7de4f6114a12a7ca853011a1e530525d0931c355a8fd237b9cd828fac560f85f9623e24054fd024726f - languageName: node - linkType: hard - -"@typescript-eslint/type-utils@npm:7.2.0": - version: 7.2.0 - resolution: "@typescript-eslint/type-utils@npm:7.2.0" - dependencies: - "@typescript-eslint/typescript-estree": "npm:7.2.0" - "@typescript-eslint/utils": "npm:7.2.0" - debug: "npm:^4.3.4" - ts-api-utils: "npm:^1.0.1" - peerDependencies: - eslint: ^8.56.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/069b65ef327e1bfa1e59009504c8307f88f3673ebcc23d17ad370452ece107013c9dc321876092673d2c02ddd35104f67231b31b0e4f7d5ca6fbf95b43f828b2 - languageName: node - linkType: hard - -"@typescript-eslint/type-utils@npm:7.5.0": - version: 7.5.0 - resolution: "@typescript-eslint/type-utils@npm:7.5.0" +"@typescript-eslint/type-utils@npm:7.12.0": + version: 7.12.0 + resolution: "@typescript-eslint/type-utils@npm:7.12.0" dependencies: - "@typescript-eslint/typescript-estree": "npm:7.5.0" - "@typescript-eslint/utils": "npm:7.5.0" + "@typescript-eslint/typescript-estree": "npm:7.12.0" + "@typescript-eslint/utils": "npm:7.12.0" debug: "npm:^4.3.4" - ts-api-utils: "npm:^1.0.1" + ts-api-utils: "npm:^1.3.0" peerDependencies: eslint: ^8.56.0 peerDependenciesMeta: typescript: optional: true - checksum: 10c0/12915d4d1872638f5281e222a0d191676c478f250699c84864862e95a59e708222acefbf7ffdafc0872a007261219a3a2b1e667ff45eeafea7c4bcc5b955262c + checksum: 10c0/41f4aa20d24724b461eb0cdac69d91ef60c2b628fb4a5739e4dbb8378aa4a7ff20c302f60e5d74ce75d5b99fcd3e3d71b9b3c96a1714aac47ce2ce5d6d611fcd languageName: node linkType: hard @@ -1085,17 +1251,10 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:5.62.0, @typescript-eslint/types@npm:^5.0.0, @typescript-eslint/types@npm:^5.25.0": - version: 5.62.0 - resolution: "@typescript-eslint/types@npm:5.62.0" - checksum: 10c0/7febd3a7f0701c0b927e094f02e82d8ee2cada2b186fcb938bc2b94ff6fbad88237afc304cbaf33e82797078bbbb1baf91475f6400912f8b64c89be79bfa4ddf - languageName: node - linkType: hard - -"@typescript-eslint/types@npm:7.2.0": - version: 7.2.0 - resolution: "@typescript-eslint/types@npm:7.2.0" - checksum: 10c0/135aae061720185855bea61ea6cfd33f4801d2de57f65e50079bbdb505100f844632aa4e4bdeec9e9e79d29aaddad949178d0e918e41867da6ab4b1390820e33 +"@typescript-eslint/types@npm:7.12.0, @typescript-eslint/types@npm:^7.0.0, @typescript-eslint/types@npm:^7.2.0, @typescript-eslint/types@npm:^7.7.1": + version: 7.12.0 + resolution: "@typescript-eslint/types@npm:7.12.0" + checksum: 10c0/76786d02a0838750d74ad6e49b026875c0753b81c5a46a56525a1e82d89c0939a13434b03494e3b31b7ffbba7824f426c5b502a12337806a1f6ca560b5dad46c languageName: node linkType: hard @@ -1124,22 +1283,22 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:7.2.0": - version: 7.2.0 - resolution: "@typescript-eslint/typescript-estree@npm:7.2.0" +"@typescript-eslint/typescript-estree@npm:7.12.0, @typescript-eslint/typescript-estree@npm:^7.0.0": + version: 7.12.0 + resolution: "@typescript-eslint/typescript-estree@npm:7.12.0" dependencies: - "@typescript-eslint/types": "npm:7.2.0" - "@typescript-eslint/visitor-keys": "npm:7.2.0" + "@typescript-eslint/types": "npm:7.12.0" + "@typescript-eslint/visitor-keys": "npm:7.12.0" debug: "npm:^4.3.4" globby: "npm:^11.1.0" is-glob: "npm:^4.0.3" - minimatch: "npm:9.0.3" - semver: "npm:^7.5.4" - ts-api-utils: "npm:^1.0.1" + minimatch: "npm:^9.0.4" + semver: "npm:^7.6.0" + ts-api-utils: "npm:^1.3.0" peerDependenciesMeta: typescript: optional: true - checksum: 10c0/2730bb17730e6f3ca4061f00688a70386a808f5d174fdeb757c3cfa92c455373f69080df33237c1a8970e818af0cea0ae5a083970ed8ba493f3b04458c6f9271 + checksum: 10c0/855be5ba6c3d7540319ad250555055a798deb04855f26abe719a3b8d555a3227d52e09453930bd829e260a72f65a985998b235514ce2872b31615015da3163c0 languageName: node linkType: hard @@ -1162,24 +1321,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:^5.0.0": - version: 5.62.0 - resolution: "@typescript-eslint/typescript-estree@npm:5.62.0" - dependencies: - "@typescript-eslint/types": "npm:5.62.0" - "@typescript-eslint/visitor-keys": "npm:5.62.0" - debug: "npm:^4.3.4" - globby: "npm:^11.1.0" - is-glob: "npm:^4.0.3" - semver: "npm:^7.3.7" - tsutils: "npm:^3.21.0" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/d7984a3e9d56897b2481940ec803cb8e7ead03df8d9cfd9797350be82ff765dfcf3cfec04e7355e1779e948da8f02bc5e11719d07a596eb1cb995c48a95e38cf - languageName: node - linkType: hard - "@typescript-eslint/utils@npm:5.59.2": version: 5.59.2 resolution: "@typescript-eslint/utils@npm:5.59.2" @@ -1198,24 +1339,21 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:7.2.0": - version: 7.2.0 - resolution: "@typescript-eslint/utils@npm:7.2.0" +"@typescript-eslint/utils@npm:7.12.0": + version: 7.12.0 + resolution: "@typescript-eslint/utils@npm:7.12.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" - "@types/json-schema": "npm:^7.0.12" - "@types/semver": "npm:^7.5.0" - "@typescript-eslint/scope-manager": "npm:7.2.0" - "@typescript-eslint/types": "npm:7.2.0" - "@typescript-eslint/typescript-estree": "npm:7.2.0" - semver: "npm:^7.5.4" + "@typescript-eslint/scope-manager": "npm:7.12.0" + "@typescript-eslint/types": "npm:7.12.0" + "@typescript-eslint/typescript-estree": "npm:7.12.0" peerDependencies: eslint: ^8.56.0 - checksum: 10c0/37944e1a4038820da82b51ac4756e09cff31851d9d957d3fd67a3b6fd2cf6c0e87767161eaeb8b6e63de418e513bb2570a6ee3fa986ba77f6d451d66a538f753 + checksum: 10c0/04241c0313f2d061bc81ec2d5d589c9a723f8c1493e5b83d98f804ff9dac23c5e7157d9bb57bee8b458f40824f56ea65a02ebd344926a37cb58bf151cb4d3bf2 languageName: node linkType: hard -"@typescript-eslint/utils@npm:7.5.0, @typescript-eslint/utils@npm:^7.4.0": +"@typescript-eslint/utils@npm:^7.4.0": version: 7.5.0 resolution: "@typescript-eslint/utils@npm:7.5.0" dependencies: @@ -1242,23 +1380,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/visitor-keys@npm:5.62.0" +"@typescript-eslint/visitor-keys@npm:7.12.0": + version: 7.12.0 + resolution: "@typescript-eslint/visitor-keys@npm:7.12.0" dependencies: - "@typescript-eslint/types": "npm:5.62.0" - eslint-visitor-keys: "npm:^3.3.0" - checksum: 10c0/7c3b8e4148e9b94d9b7162a596a1260d7a3efc4e65199693b8025c71c4652b8042501c0bc9f57654c1e2943c26da98c0f77884a746c6ae81389fcb0b513d995d - languageName: node - linkType: hard - -"@typescript-eslint/visitor-keys@npm:7.2.0": - version: 7.2.0 - resolution: "@typescript-eslint/visitor-keys@npm:7.2.0" - dependencies: - "@typescript-eslint/types": "npm:7.2.0" - eslint-visitor-keys: "npm:^3.4.1" - checksum: 10c0/2d7467495b2b76f3edb1b3047e97076c2242e7eca6d50bbbdd88219f9ff754dbcb9334a0568fe0ceb4c562823980938bd278aa2ba53da6343e7d99a167924f24 + "@typescript-eslint/types": "npm:7.12.0" + eslint-visitor-keys: "npm:^3.4.3" + checksum: 10c0/f3aa6704961e65fa8d66fcde57cd28e382412bb8bec2e99312bf8cda38772ae9a74d6d95b9765f76a249bc9ab65624db34b8c00078ebad129b2e1b624e935d90 languageName: node linkType: hard @@ -1323,7 +1451,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^6.12.4, ajv@npm:~6.12.6": +"ajv@npm:^6.12.4": version: 6.12.6 resolution: "ajv@npm:6.12.6" dependencies: @@ -1335,6 +1463,18 @@ __metadata: languageName: node linkType: hard +"ajv@npm:~8.12.0": + version: 8.12.0 + resolution: "ajv@npm:8.12.0" + dependencies: + fast-deep-equal: "npm:^3.1.1" + json-schema-traverse: "npm:^1.0.0" + require-from-string: "npm:^2.0.2" + uri-js: "npm:^4.2.2" + checksum: 10c0/ac4f72adf727ee425e049bc9d8b31d4a57e1c90da8d28bcd23d60781b12fcd6fc3d68db5df16994c57b78b94eed7988f5a6b482fd376dc5b084125e20a0a622e + languageName: node + linkType: hard + "ansi-regex@npm:^5.0.1": version: 5.0.1 resolution: "ansi-regex@npm:5.0.1" @@ -1437,6 +1577,20 @@ __metadata: languageName: node linkType: hard +"array-includes@npm:^3.1.8": + version: 3.1.8 + resolution: "array-includes@npm:3.1.8" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.2" + es-object-atoms: "npm:^1.0.0" + get-intrinsic: "npm:^1.2.4" + is-string: "npm:^1.0.7" + checksum: 10c0/5b1004d203e85873b96ddc493f090c9672fd6c80d7a60b798da8a14bff8a670ff95db5aafc9abc14a211943f05220dacf8ea17638ae0af1a6a47b8c0b48ce370 + languageName: node + linkType: hard + "array-union@npm:^2.1.0": version: 2.1.0 resolution: "array-union@npm:2.1.0" @@ -1444,7 +1598,7 @@ __metadata: languageName: node linkType: hard -"array.prototype.findlast@npm:^1.2.4": +"array.prototype.findlast@npm:^1.2.5": version: 1.2.5 resolution: "array.prototype.findlast@npm:1.2.5" dependencies: @@ -1530,34 +1684,35 @@ __metadata: languageName: node linkType: hard -"astro-eslint-parser@npm:^0.17.0": - version: 0.17.0 - resolution: "astro-eslint-parser@npm:0.17.0" +"astro-eslint-parser@npm:^1.0.2": + version: 1.0.2 + resolution: "astro-eslint-parser@npm:1.0.2" dependencies: "@astrojs/compiler": "npm:^2.0.0" - "@typescript-eslint/scope-manager": "npm:^5.0.0" - "@typescript-eslint/types": "npm:^5.0.0" - "@typescript-eslint/typescript-estree": "npm:^5.0.0" - astrojs-compiler-sync: "npm:^0.3.0" + "@typescript-eslint/scope-manager": "npm:^7.0.0" + "@typescript-eslint/types": "npm:^7.0.0" + "@typescript-eslint/typescript-estree": "npm:^7.0.0" + astrojs-compiler-sync: "npm:^1.0.0" debug: "npm:^4.3.4" entities: "npm:^4.5.0" - eslint-visitor-keys: "npm:^3.0.0" - espree: "npm:^9.0.0" + eslint-scope: "npm:^8.0.1" + eslint-visitor-keys: "npm:^4.0.0" + espree: "npm:^10.0.0" globby: "npm:^11.1.0" is-glob: "npm:^4.0.3" semver: "npm:^7.3.8" - checksum: 10c0/a1d863f8033b906a9d894230120e644e21e5c9ff1f247f29c006b77e570bf8e282a4fffd4c5c8e6dade8284f71b429e762264b654a96a8b1f433ac48663a0947 + checksum: 10c0/0e7565d74e8cd662e4afe89db54d386428fba112ffdce13e9e375c7a8074e70c086b6cc47f050a9791a282a3aa37aa6a40eea5c92d8f5b5ace44ed81ac6b0bd6 languageName: node linkType: hard -"astrojs-compiler-sync@npm:^0.3.0": - version: 0.3.2 - resolution: "astrojs-compiler-sync@npm:0.3.2" +"astrojs-compiler-sync@npm:^1.0.0": + version: 1.0.0 + resolution: "astrojs-compiler-sync@npm:1.0.0" dependencies: - synckit: "npm:^0.8.0" + synckit: "npm:^0.9.0" peerDependencies: "@astrojs/compiler": ">=0.27.0" - checksum: 10c0/593928e22a3f4e44273df2c4f4e5cc1d13051c832393e807b8f8d43a50848b0096baaf34783f10abcf70aae7c1d9cb9e856203c3fef01c7a37a32ec681617fff + checksum: 10c0/b467ec344ccdfa1569137546c4cbac016518cb469d18b9c6354448f0cd057c872a5b06dd256a2dd67acdc9aa8441e9809e69c06cc3024a7f6fdf93e818ce9562 languageName: node linkType: hard @@ -1620,13 +1775,6 @@ __metadata: languageName: node linkType: hard -"big-integer@npm:^1.6.44": - version: 1.6.51 - resolution: "big-integer@npm:1.6.51" - checksum: 10c0/c8139662d57f8833a44802f4b65be911679c569535ea73c5cfd3c1c8994eaead1b84b6f63e1db63833e4d4cacb6b6a9e5522178113dfdc8e4c81ed8436f1e8cc - languageName: node - linkType: hard - "binary-extensions@npm:^2.0.0": version: 2.3.0 resolution: "binary-extensions@npm:2.3.0" @@ -1641,15 +1789,6 @@ __metadata: languageName: node linkType: hard -"bplist-parser@npm:^0.2.0": - version: 0.2.0 - resolution: "bplist-parser@npm:0.2.0" - dependencies: - big-integer: "npm:^1.6.44" - checksum: 10c0/ce79c69e0f6efe506281e7c84e3712f7d12978991675b6e3a58a295b16f13ca81aa9b845c335614a545e0af728c8311b6aa3142af76ba1cb616af9bbac5c4a9f - languageName: node - linkType: hard - "brace-expansion@npm:^1.1.7": version: 1.1.11 resolution: "brace-expansion@npm:1.1.11" @@ -1678,17 +1817,17 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.22.2": - version: 4.22.3 - resolution: "browserslist@npm:4.22.3" +"browserslist@npm:^4.23.0": + version: 4.23.0 + resolution: "browserslist@npm:4.23.0" dependencies: - caniuse-lite: "npm:^1.0.30001580" - electron-to-chromium: "npm:^1.4.648" + caniuse-lite: "npm:^1.0.30001587" + electron-to-chromium: "npm:^1.4.668" node-releases: "npm:^2.0.14" update-browserslist-db: "npm:^1.0.13" bin: browserslist: cli.js - checksum: 10c0/5a1f673ce0d6e61a68369835a6b66e199669bde02c3bed5ec51e77598d8daafd91719dba55b15af2021b9ad0bbaa94951fd702eb71087449eb28be8002815ece + checksum: 10c0/8e9cc154529062128d02a7af4d8adeead83ca1df8cd9ee65a88e2161039f3d68a4d40fea7353cab6bae4c16182dec2fdd9a1cf7dc2a2935498cee1af0e998943 languageName: node linkType: hard @@ -1706,24 +1845,6 @@ __metadata: languageName: node linkType: hard -"builtins@npm:^5.0.1": - version: 5.0.1 - resolution: "builtins@npm:5.0.1" - dependencies: - semver: "npm:^7.0.0" - checksum: 10c0/9390a51a9abbc0233dac79c66715f927508b9d0c62cb7a42448fe8c52def60c707e6e9eb2cc4c9b7aba11601899935bca4e4064ae5e19c04c7e1bb9309e69134 - languageName: node - linkType: hard - -"bundle-name@npm:^3.0.0": - version: 3.0.0 - resolution: "bundle-name@npm:3.0.0" - dependencies: - run-applescript: "npm:^5.0.0" - checksum: 10c0/57bc7f8b025d83961b04db2f1eff6a87f2363c2891f3542a4b82471ff8ebb5d484af48e9784fcdb28ef1d48bb01f03d891966dc3ef58758e46ea32d750ce40f8 - languageName: node - linkType: hard - "bundle-require@npm:^4.0.0": version: 4.0.2 resolution: "bundle-require@npm:4.0.2" @@ -1789,10 +1910,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001580": - version: 1.0.30001583 - resolution: "caniuse-lite@npm:1.0.30001583" - checksum: 10c0/9ce61437e7a0c8e69bdb3480962dca7d7a9e9fa8d7c56ae411454d8b101d7c83d71f6c7fa74450c131f6c14e35e347042b3e1787b15edbfaba0e05fd75ab2625 +"caniuse-lite@npm:^1.0.30001587": + version: 1.0.30001629 + resolution: "caniuse-lite@npm:1.0.30001629" + checksum: 10c0/e95136a423c0c5e7f9d026ef3f9be8d06cadc4c83ad65eedfaeaba6b5eb814489ea186e90bae1085f3be7348577e25f8fe436b384c2f983324ad8dea4a7dfe1d languageName: node linkType: hard @@ -2012,12 +2133,12 @@ __metadata: languageName: node linkType: hard -"core-js-compat@npm:^3.34.0": - version: 3.35.1 - resolution: "core-js-compat@npm:3.35.1" +"core-js-compat@npm:^3.37.0": + version: 3.37.1 + resolution: "core-js-compat@npm:3.37.1" dependencies: - browserslist: "npm:^4.22.2" - checksum: 10c0/c3b872e1f9703aa9554cce816207d85730da4703f1776c540b4da11bbbef6d9a1e6041625b5c1f58d2ada3d05f4a2b92897b7de5315c5ecd5d33d50dec86cca7 + browserslist: "npm:^4.23.0" + checksum: 10c0/4e2da9c900f2951a57947af7aeef4d16f2c75d7f7e966c0d0b62953f65225003ade5e84d3ae98847f65b24c109c606821d9dc925db8ca418fb761e7c81963c2a languageName: node linkType: hard @@ -2125,28 +2246,6 @@ __metadata: languageName: node linkType: hard -"default-browser-id@npm:^3.0.0": - version: 3.0.0 - resolution: "default-browser-id@npm:3.0.0" - dependencies: - bplist-parser: "npm:^0.2.0" - untildify: "npm:^4.0.0" - checksum: 10c0/8db3ab882eb3e1e8b59d84c8641320e6c66d8eeb17eb4bb848b7dd549b1e6fd313988e4a13542e95fbaeff03f6e9dedc5ad191ad4df7996187753eb0d45c00b7 - languageName: node - linkType: hard - -"default-browser@npm:^4.0.0": - version: 4.0.0 - resolution: "default-browser@npm:4.0.0" - dependencies: - bundle-name: "npm:^3.0.0" - default-browser-id: "npm:^3.0.0" - execa: "npm:^7.1.1" - titleize: "npm:^3.0.0" - checksum: 10c0/7c8848badc139ecf9d878e562bc4e7ab4301e51ba120b24d8dcb14739c30152115cc612065ac3ab73c02aace4afa29db5a044257b2f0cf234f16e3a58f6c925e - languageName: node - linkType: hard - "define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.4": version: 1.1.4 resolution: "define-data-property@npm:1.1.4" @@ -2158,13 +2257,6 @@ __metadata: languageName: node linkType: hard -"define-lazy-prop@npm:^3.0.0": - version: 3.0.0 - resolution: "define-lazy-prop@npm:3.0.0" - checksum: 10c0/5ab0b2bf3fa58b3a443140bbd4cd3db1f91b985cc8a246d330b9ac3fc0b6a325a6d82bddc0b055123d745b3f9931afeea74a5ec545439a1630b9c8512b0eeb49 - languageName: node - linkType: hard - "define-properties@npm:^1.1.3, define-properties@npm:^1.2.0, define-properties@npm:^1.2.1": version: 1.2.1 resolution: "define-properties@npm:1.2.1" @@ -2233,10 +2325,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.4.648": - version: 1.4.656 - resolution: "electron-to-chromium@npm:1.4.656" - checksum: 10c0/3b4eafac9ef11bbc33632d4d2c038eab921e5b3e85526a118b9a6bc06d3c93d7ad1b4e8cefdf12a4f96166ccc99df3ae1075911070be7c9d4fb82f29995ecb44 +"electron-to-chromium@npm:^1.4.668": + version: 1.4.792 + resolution: "electron-to-chromium@npm:1.4.792" + checksum: 10c0/ade79be9394a193030bf9df5119e7255df5a12680f41e5cde55dae072a11b1f86a7a2b449a893c68f2e69f0dbcd95a19f1b3c22f6f6c5f052828aac7591a288f languageName: node linkType: hard @@ -2280,6 +2372,16 @@ __metadata: languageName: node linkType: hard +"enhanced-resolve@npm:^5.17.0": + version: 5.17.0 + resolution: "enhanced-resolve@npm:5.17.0" + dependencies: + graceful-fs: "npm:^4.2.4" + tapable: "npm:^2.2.0" + checksum: 10c0/90065e58e4fd08e77ba47f827eaa17d60c335e01e4859f6e644bb3b8d0e32b203d33894aee92adfa5121fa262f912b48bdf0d0475e98b4a0a1132eea1169ad37 + languageName: node + linkType: hard + "entities@npm:^4.5.0": version: 4.5.0 resolution: "entities@npm:4.5.0" @@ -2364,6 +2466,60 @@ __metadata: languageName: node linkType: hard +"es-abstract@npm:^1.23.3": + version: 1.23.3 + resolution: "es-abstract@npm:1.23.3" + dependencies: + array-buffer-byte-length: "npm:^1.0.1" + arraybuffer.prototype.slice: "npm:^1.0.3" + available-typed-arrays: "npm:^1.0.7" + call-bind: "npm:^1.0.7" + data-view-buffer: "npm:^1.0.1" + data-view-byte-length: "npm:^1.0.1" + data-view-byte-offset: "npm:^1.0.0" + es-define-property: "npm:^1.0.0" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.0.0" + es-set-tostringtag: "npm:^2.0.3" + es-to-primitive: "npm:^1.2.1" + function.prototype.name: "npm:^1.1.6" + get-intrinsic: "npm:^1.2.4" + get-symbol-description: "npm:^1.0.2" + globalthis: "npm:^1.0.3" + gopd: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.2" + has-proto: "npm:^1.0.3" + has-symbols: "npm:^1.0.3" + hasown: "npm:^2.0.2" + internal-slot: "npm:^1.0.7" + is-array-buffer: "npm:^3.0.4" + is-callable: "npm:^1.2.7" + is-data-view: "npm:^1.0.1" + is-negative-zero: "npm:^2.0.3" + is-regex: "npm:^1.1.4" + is-shared-array-buffer: "npm:^1.0.3" + is-string: "npm:^1.0.7" + is-typed-array: "npm:^1.1.13" + is-weakref: "npm:^1.0.2" + object-inspect: "npm:^1.13.1" + object-keys: "npm:^1.1.1" + object.assign: "npm:^4.1.5" + regexp.prototype.flags: "npm:^1.5.2" + safe-array-concat: "npm:^1.1.2" + safe-regex-test: "npm:^1.0.3" + string.prototype.trim: "npm:^1.2.9" + string.prototype.trimend: "npm:^1.0.8" + string.prototype.trimstart: "npm:^1.0.8" + typed-array-buffer: "npm:^1.0.2" + typed-array-byte-length: "npm:^1.0.1" + typed-array-byte-offset: "npm:^1.0.2" + typed-array-length: "npm:^1.0.6" + unbox-primitive: "npm:^1.0.2" + which-typed-array: "npm:^1.1.15" + checksum: 10c0/d27e9afafb225c6924bee9971a7f25f20c314f2d6cb93a63cada4ac11dcf42040896a6c22e5fb8f2a10767055ed4ddf400be3b1eb12297d281726de470b75666 + languageName: node + linkType: hard + "es-define-property@npm:^1.0.0": version: 1.0.0 resolution: "es-define-property@npm:1.0.0" @@ -2380,13 +2536,35 @@ __metadata: languageName: node linkType: hard -"es-iterator-helpers@npm:^1.0.15, es-iterator-helpers@npm:^1.0.17": - version: 1.0.18 - resolution: "es-iterator-helpers@npm:1.0.18" +"es-iterator-helpers@npm:^1.0.15": + version: 1.0.18 + resolution: "es-iterator-helpers@npm:1.0.18" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.0" + es-errors: "npm:^1.3.0" + es-set-tostringtag: "npm:^2.0.3" + function-bind: "npm:^1.1.2" + get-intrinsic: "npm:^1.2.4" + globalthis: "npm:^1.0.3" + has-property-descriptors: "npm:^1.0.2" + has-proto: "npm:^1.0.3" + has-symbols: "npm:^1.0.3" + internal-slot: "npm:^1.0.7" + iterator.prototype: "npm:^1.1.2" + safe-array-concat: "npm:^1.1.2" + checksum: 10c0/93be402e01fa3d8bf62fcadd2fb3055126ffcfe8846911b10b85918ef46775252696c84e6191ec8125bedb61e92242ad1a54a86118436ba19814720cb9ff4aed + languageName: node + linkType: hard + +"es-iterator-helpers@npm:^1.0.19": + version: 1.0.19 + resolution: "es-iterator-helpers@npm:1.0.19" dependencies: call-bind: "npm:^1.0.7" define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.0" + es-abstract: "npm:^1.23.3" es-errors: "npm:^1.3.0" es-set-tostringtag: "npm:^2.0.3" function-bind: "npm:^1.1.2" @@ -2398,7 +2576,7 @@ __metadata: internal-slot: "npm:^1.0.7" iterator.prototype: "npm:^1.1.2" safe-array-concat: "npm:^1.1.2" - checksum: 10c0/93be402e01fa3d8bf62fcadd2fb3055126ffcfe8846911b10b85918ef46775252696c84e6191ec8125bedb61e92242ad1a54a86118436ba19814720cb9ff4aed + checksum: 10c0/ae8f0241e383b3d197383b9842c48def7fce0255fb6ed049311b686ce295595d9e389b466f6a1b7d4e7bb92d82f5e716d6fae55e20c1040249bf976743b038c5 languageName: node linkType: hard @@ -2442,33 +2620,113 @@ __metadata: languageName: node linkType: hard -"esbuild@npm:^0.19.2, esbuild@npm:~0.19.10": - version: 0.19.12 - resolution: "esbuild@npm:0.19.12" - dependencies: - "@esbuild/aix-ppc64": "npm:0.19.12" - "@esbuild/android-arm": "npm:0.19.12" - "@esbuild/android-arm64": "npm:0.19.12" - "@esbuild/android-x64": "npm:0.19.12" - "@esbuild/darwin-arm64": "npm:0.19.12" - "@esbuild/darwin-x64": "npm:0.19.12" - "@esbuild/freebsd-arm64": "npm:0.19.12" - "@esbuild/freebsd-x64": "npm:0.19.12" - "@esbuild/linux-arm": "npm:0.19.12" - "@esbuild/linux-arm64": "npm:0.19.12" - "@esbuild/linux-ia32": "npm:0.19.12" - "@esbuild/linux-loong64": "npm:0.19.12" - "@esbuild/linux-mips64el": "npm:0.19.12" - "@esbuild/linux-ppc64": "npm:0.19.12" - "@esbuild/linux-riscv64": "npm:0.19.12" - "@esbuild/linux-s390x": "npm:0.19.12" - "@esbuild/linux-x64": "npm:0.19.12" - "@esbuild/netbsd-x64": "npm:0.19.12" - "@esbuild/openbsd-x64": "npm:0.19.12" - "@esbuild/sunos-x64": "npm:0.19.12" - "@esbuild/win32-arm64": "npm:0.19.12" - "@esbuild/win32-ia32": "npm:0.19.12" - "@esbuild/win32-x64": "npm:0.19.12" +"esbuild@npm:^0.21.4": + version: 0.21.4 + resolution: "esbuild@npm:0.21.4" + dependencies: + "@esbuild/aix-ppc64": "npm:0.21.4" + "@esbuild/android-arm": "npm:0.21.4" + "@esbuild/android-arm64": "npm:0.21.4" + "@esbuild/android-x64": "npm:0.21.4" + "@esbuild/darwin-arm64": "npm:0.21.4" + "@esbuild/darwin-x64": "npm:0.21.4" + "@esbuild/freebsd-arm64": "npm:0.21.4" + "@esbuild/freebsd-x64": "npm:0.21.4" + "@esbuild/linux-arm": "npm:0.21.4" + "@esbuild/linux-arm64": "npm:0.21.4" + "@esbuild/linux-ia32": "npm:0.21.4" + "@esbuild/linux-loong64": "npm:0.21.4" + "@esbuild/linux-mips64el": "npm:0.21.4" + "@esbuild/linux-ppc64": "npm:0.21.4" + "@esbuild/linux-riscv64": "npm:0.21.4" + "@esbuild/linux-s390x": "npm:0.21.4" + "@esbuild/linux-x64": "npm:0.21.4" + "@esbuild/netbsd-x64": "npm:0.21.4" + "@esbuild/openbsd-x64": "npm:0.21.4" + "@esbuild/sunos-x64": "npm:0.21.4" + "@esbuild/win32-arm64": "npm:0.21.4" + "@esbuild/win32-ia32": "npm:0.21.4" + "@esbuild/win32-x64": "npm:0.21.4" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 10c0/83276c7b82bc3415199da91a84a01cf287d4912f2c02fead9c0542d6bda463d6d152cb7fb86f680dae72dc701c864a8963069ddb9e2b344948595cc87f81c4f1 + languageName: node + linkType: hard + +"esbuild@npm:~0.20.2": + version: 0.20.2 + resolution: "esbuild@npm:0.20.2" + dependencies: + "@esbuild/aix-ppc64": "npm:0.20.2" + "@esbuild/android-arm": "npm:0.20.2" + "@esbuild/android-arm64": "npm:0.20.2" + "@esbuild/android-x64": "npm:0.20.2" + "@esbuild/darwin-arm64": "npm:0.20.2" + "@esbuild/darwin-x64": "npm:0.20.2" + "@esbuild/freebsd-arm64": "npm:0.20.2" + "@esbuild/freebsd-x64": "npm:0.20.2" + "@esbuild/linux-arm": "npm:0.20.2" + "@esbuild/linux-arm64": "npm:0.20.2" + "@esbuild/linux-ia32": "npm:0.20.2" + "@esbuild/linux-loong64": "npm:0.20.2" + "@esbuild/linux-mips64el": "npm:0.20.2" + "@esbuild/linux-ppc64": "npm:0.20.2" + "@esbuild/linux-riscv64": "npm:0.20.2" + "@esbuild/linux-s390x": "npm:0.20.2" + "@esbuild/linux-x64": "npm:0.20.2" + "@esbuild/netbsd-x64": "npm:0.20.2" + "@esbuild/openbsd-x64": "npm:0.20.2" + "@esbuild/sunos-x64": "npm:0.20.2" + "@esbuild/win32-arm64": "npm:0.20.2" + "@esbuild/win32-ia32": "npm:0.20.2" + "@esbuild/win32-x64": "npm:0.20.2" dependenciesMeta: "@esbuild/aix-ppc64": optional: true @@ -2518,7 +2776,7 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: 10c0/0f2d21ffe24ebead64843f87c3aebe2e703a5ed9feb086a0728b24907fac2eb9923e4a79857d3df9059c915739bd7a870dd667972eae325c67f478b592b8582d + checksum: 10c0/66398f9fb2c65e456a3e649747b39af8a001e47963b25e86d9c09d2a48d61aa641b27da0ce5cad63df95ad246105e1d83e7fee0e1e22a0663def73b1c5101112 languageName: node linkType: hard @@ -2567,43 +2825,44 @@ __metadata: version: 0.0.0-use.local resolution: "eslint-config-neon@workspace:." dependencies: - "@angular-eslint/eslint-plugin": "npm:^17.3.0" - "@angular-eslint/eslint-plugin-template": "npm:^17.3.0" - "@angular-eslint/template-parser": "npm:^17.3.0" - "@next/eslint-plugin-next": "npm:^14.1.4" + "@angular-eslint/eslint-plugin": "npm:^18.0.1" + "@angular-eslint/eslint-plugin-template": "npm:^18.0.1" + "@angular-eslint/template-parser": "npm:^18.0.1" + "@eslint/compat": "npm:^1.0.3" + "@next/eslint-plugin-next": "npm:^14.2.3" "@sapphire/node-utilities": "npm:^1.0.2" - "@typescript-eslint/eslint-plugin": "npm:^7.5.0" - "@typescript-eslint/parser": "npm:^7.5.0" - astro-eslint-parser: "npm:^0.17.0" - eslint: "npm:^9.0.0" + "@typescript-eslint/eslint-plugin": "npm:^7.12.0" + "@typescript-eslint/parser": "npm:^7.12.0" + astro-eslint-parser: "npm:^1.0.2" + eslint: "npm:^9.4.0" eslint-config-prettier: "npm:^9.1.0" eslint-import-resolver-typescript: "npm:^3.6.1" eslint-mdx: "npm:^3.1.5" - eslint-plugin-astro: "npm:^0.34.0" - eslint-plugin-cypress: "npm:^2.15.1" - eslint-plugin-import: "npm:eslint-plugin-import-x@latest" - eslint-plugin-jsdoc: "npm:^48.2.3" + eslint-plugin-astro: "npm:^1.2.0" + eslint-plugin-cypress: "npm:^3.3.0" + eslint-plugin-import-x: "npm:^0.5.1" + eslint-plugin-jsdoc: "npm:^48.2.8" eslint-plugin-jsx-a11y: "npm:^6.8.0" eslint-plugin-mdx: "npm:^3.1.5" - eslint-plugin-n: "npm:^16.6.2" - eslint-plugin-promise: "npm:^6.1.1" - eslint-plugin-react: "npm:^7.34.1" - eslint-plugin-react-hooks: "npm:^4.6.0" + eslint-plugin-n: "npm:^17.8.1" + eslint-plugin-promise: "npm:^6.2.0" + eslint-plugin-react: "npm:^7.34.2" + eslint-plugin-react-hooks: "npm:^4.6.2" eslint-plugin-rxjs: "npm:^5.0.3" eslint-plugin-rxjs-angular: "npm:^2.0.1" - eslint-plugin-sonarjs: "npm:^0.25.1" + eslint-plugin-sonarjs: "npm:^1.0.3" eslint-plugin-svelte3: "npm:^4.0.0" - eslint-plugin-tsdoc: "npm:^0.2.17" + eslint-plugin-tsdoc: "npm:^0.3.0" eslint-plugin-typescript-sort-keys: "npm:^3.2.0" - eslint-plugin-unicorn: "npm:^52.0.0" - eslint-plugin-vue: "npm:^9.24.0" - globals: "npm:^15.0.0" - prettier: "npm:^3.2.5" - tsup: "npm:^8.0.2" - tsx: "npm:^4.7.2" - typescript: "npm:^5.4.4" - typescript-eslint: "npm:^7.5.0" - vue-eslint-parser: "npm:^9.4.2" + eslint-plugin-unicorn: "npm:^53.0.0" + eslint-plugin-vue: "npm:^9.26.0" + globals: "npm:^15.4.0" + prettier: "npm:^3.3.1" + tsup: "npm:^8.1.0" + tsx: "npm:^4.12.0" + typescript: "npm:^5.4.5" + typescript-eslint: "npm:^7.12.0" + vue-eslint-parser: "npm:^9.4.3" languageName: unknown linkType: soft @@ -2697,32 +2956,32 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-astro@npm:^0.34.0": - version: 0.34.0 - resolution: "eslint-plugin-astro@npm:0.34.0" +"eslint-plugin-astro@npm:^1.2.0": + version: 1.2.0 + resolution: "eslint-plugin-astro@npm:1.2.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" "@jridgewell/sourcemap-codec": "npm:^1.4.14" - "@typescript-eslint/types": "npm:^5.25.0" - astro-eslint-parser: "npm:^0.17.0" + "@typescript-eslint/types": "npm:^7.7.1" + astro-eslint-parser: "npm:^1.0.2" eslint-compat-utils: "npm:^0.5.0" - globals: "npm:^13.0.0" + globals: "npm:^15.0.0" postcss: "npm:^8.4.14" postcss-selector-parser: "npm:^6.0.10" peerDependencies: - eslint: ">=7.0.0" - checksum: 10c0/537f3accae6c3af642b84d42c6304c28eab8ed5768de318f8d4d52186b2eec37869425023d804947a93530d510c32f29d37b20d39d783b79c168d1b3112c8994 + eslint: ">=8.57.0" + checksum: 10c0/9c8e702e383e7492021a0e3745ac7206f901c3fcd949a0473bb1b8c3f27dce0289ed75f3c2391ea09d313ed7bc580d96755556f77dab12dbbd6f4a528a4692b4 languageName: node linkType: hard -"eslint-plugin-cypress@npm:^2.15.1": - version: 2.15.1 - resolution: "eslint-plugin-cypress@npm:2.15.1" +"eslint-plugin-cypress@npm:^3.3.0": + version: 3.3.0 + resolution: "eslint-plugin-cypress@npm:3.3.0" dependencies: globals: "npm:^13.20.0" peerDependencies: - eslint: ">= 3.2.1" - checksum: 10c0/f404adf415ef6b986d3480397a26eb73976a9156bbf786f2d22b8df28bbf0e50d4b3c699caefd230f0de9d6e8850596ab1bcc471b173aede05373d2a5ae3c624 + eslint: ">=7" + checksum: 10c0/d149f853c7a57527b204475159c447da2c21aaca44cf602fea9ced45a1cc795d469bff8db14cc9502744ea9b3dbba7363e6ea8391140c7f7f324e2bac7a7031d languageName: node linkType: hard @@ -2739,9 +2998,9 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-import@npm:eslint-plugin-import-x@latest": - version: 0.5.0 - resolution: "eslint-plugin-import-x@npm:0.5.0" +"eslint-plugin-import-x@npm:^0.5.1": + version: 0.5.1 + resolution: "eslint-plugin-import-x@npm:0.5.1" dependencies: "@typescript-eslint/utils": "npm:^7.4.0" debug: "npm:^4.3.4" @@ -2751,28 +3010,28 @@ __metadata: is-glob: "npm:^4.0.3" minimatch: "npm:^9.0.3" semver: "npm:^7.6.0" + tslib: "npm:^2.6.2" peerDependencies: eslint: ^8.56.0 || ^9.0.0-0 - checksum: 10c0/4e52f0d5ba2e0579ec9a65bb71a4b78e1a57ec9c0b67169485c70cbdfe725fb738a2cd316551c570d89946b90f25d193aabc43b35e0d6fda38e7623e8b0d38e7 + checksum: 10c0/3e605970550afd6c8372da774de1ed5a86164d0d69190c532ef9caed4e882d4519f589683130122ba2d353fba15e96e3b49391f893139147c5d48a432eaa9945 languageName: node linkType: hard -"eslint-plugin-jsdoc@npm:^48.2.3": - version: 48.2.3 - resolution: "eslint-plugin-jsdoc@npm:48.2.3" +"eslint-plugin-jsdoc@npm:^48.2.8": + version: 48.2.8 + resolution: "eslint-plugin-jsdoc@npm:48.2.8" dependencies: - "@es-joy/jsdoccomment": "npm:~0.42.0" + "@es-joy/jsdoccomment": "npm:~0.43.1" are-docs-informative: "npm:^0.0.2" comment-parser: "npm:1.4.1" debug: "npm:^4.3.4" escape-string-regexp: "npm:^4.0.0" esquery: "npm:^1.5.0" - is-builtin-module: "npm:^3.2.1" - semver: "npm:^7.6.0" + semver: "npm:^7.6.2" spdx-expression-parse: "npm:^4.0.0" peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 - checksum: 10c0/e755923d96118890c6fd28b1c2298e1fe67ccbce08060ffc091b29ced59d0058ad8820323c56eef6f85c2954c783fc4076e78c0e5bc64838ae099b4e62ea702e + checksum: 10c0/bf9d060aee4ba28148aff104dcc7d0fc7002a8e4f9dafb27d9ac5f928868687606219c2bfcc5216aa37003cf0353ae8e8ac4fd47dd28a22da22fd1967117e56a languageName: node linkType: hard @@ -2831,70 +3090,67 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-n@npm:^16.6.2": - version: 16.6.2 - resolution: "eslint-plugin-n@npm:16.6.2" +"eslint-plugin-n@npm:^17.8.1": + version: 17.8.1 + resolution: "eslint-plugin-n@npm:17.8.1" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" - builtins: "npm:^5.0.1" + enhanced-resolve: "npm:^5.17.0" eslint-plugin-es-x: "npm:^7.5.0" get-tsconfig: "npm:^4.7.0" - globals: "npm:^13.24.0" + globals: "npm:^15.0.0" ignore: "npm:^5.2.4" - is-builtin-module: "npm:^3.2.1" - is-core-module: "npm:^2.12.1" - minimatch: "npm:^3.1.2" - resolve: "npm:^1.22.2" + minimatch: "npm:^9.0.0" semver: "npm:^7.5.3" peerDependencies: - eslint: ">=7.0.0" - checksum: 10c0/6008493754b51c6b9ce18c17e7c3d455b69444d2c454dd399a5c2f1b833bb5a649992052f141a5dd695d22e3946a518063b2dd01e872c67dc0294eb143b80633 + eslint: ">=8.23.0" + checksum: 10c0/e4e6992d066fa6e21d1a8ea4392d7362c95383a59c16f63d62076ae7c6d5ff085a2ece5e6fb353f4667158a0336c00fdf707b9be38f8cbaa6f5685da39e68b8f languageName: node linkType: hard -"eslint-plugin-promise@npm:^6.1.1": - version: 6.1.1 - resolution: "eslint-plugin-promise@npm:6.1.1" +"eslint-plugin-promise@npm:^6.2.0": + version: 6.2.0 + resolution: "eslint-plugin-promise@npm:6.2.0" peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - checksum: 10c0/ec705741c110cd1cb4d702776e1c7f7fe60b671b71f706c88054ab443cf2767aae5a663928fb426373ba1095eaeda312a740a4f880546631f0e0727f298b3393 + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + checksum: 10c0/5f42ee774023c089453ecb792076c64c6d0739ea6e9d6cdc9d6a63da5ba928c776e349d01cc110548f2c67045ec55343136aa7eb8b486e4ab145ac016c06a492 languageName: node linkType: hard -"eslint-plugin-react-hooks@npm:^4.6.0": - version: 4.6.0 - resolution: "eslint-plugin-react-hooks@npm:4.6.0" +"eslint-plugin-react-hooks@npm:^4.6.2": + version: 4.6.2 + resolution: "eslint-plugin-react-hooks@npm:4.6.2" peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - checksum: 10c0/58c7e10ea5792c33346fcf5cb4024e14837035ce412ff99c2dcb7c4f903dc9b17939078f80bfef826301ce326582c396c00e8e0ac9d10ac2cde2b42d33763c65 + checksum: 10c0/4844e58c929bc05157fb70ba1e462e34f1f4abcbc8dd5bbe5b04513d33e2699effb8bca668297976ceea8e7ebee4e8fc29b9af9d131bcef52886feaa2308b2cc languageName: node linkType: hard -"eslint-plugin-react@npm:^7.34.1": - version: 7.34.1 - resolution: "eslint-plugin-react@npm:7.34.1" +"eslint-plugin-react@npm:^7.34.2": + version: 7.34.2 + resolution: "eslint-plugin-react@npm:7.34.2" dependencies: - array-includes: "npm:^3.1.7" - array.prototype.findlast: "npm:^1.2.4" + array-includes: "npm:^3.1.8" + array.prototype.findlast: "npm:^1.2.5" array.prototype.flatmap: "npm:^1.3.2" array.prototype.toreversed: "npm:^1.1.2" array.prototype.tosorted: "npm:^1.1.3" doctrine: "npm:^2.1.0" - es-iterator-helpers: "npm:^1.0.17" + es-iterator-helpers: "npm:^1.0.19" estraverse: "npm:^5.3.0" jsx-ast-utils: "npm:^2.4.1 || ^3.0.0" minimatch: "npm:^3.1.2" - object.entries: "npm:^1.1.7" - object.fromentries: "npm:^2.0.7" - object.hasown: "npm:^1.1.3" - object.values: "npm:^1.1.7" + object.entries: "npm:^1.1.8" + object.fromentries: "npm:^2.0.8" + object.hasown: "npm:^1.1.4" + object.values: "npm:^1.2.0" prop-types: "npm:^15.8.1" resolve: "npm:^2.0.0-next.5" semver: "npm:^6.3.1" - string.prototype.matchall: "npm:^4.0.10" + string.prototype.matchall: "npm:^4.0.11" peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - checksum: 10c0/7c61b1314d37a4ac2f2474f9571f801f1a1a5d81dcd4abbb5d07145406518722fb792367267757ee116bde254be9753242d6b93c9619110398b3fe1746e4848c + checksum: 10c0/37dc04424da8626f20a071466e7238d53ed111c53e5e5398d813ac2cf76a2078f00d91f7833fe5b2f0fc98f2688a75b36e78e9ada9f1068705d23c7031094316 languageName: node linkType: hard @@ -2934,12 +3190,12 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-sonarjs@npm:^0.25.1": - version: 0.25.1 - resolution: "eslint-plugin-sonarjs@npm:0.25.1" +"eslint-plugin-sonarjs@npm:^1.0.3": + version: 1.0.3 + resolution: "eslint-plugin-sonarjs@npm:1.0.3" peerDependencies: - eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 10c0/41bb79da06a0a8d33936a1a2d0b8d46f5e63b86652f9310a7740cc6586bd1e3f8ef8b4fd0175af4c431e69fff31ea57661ba657e3bf31d9f9462a15b23537c11 + eslint: ^8.0.0 || ^9.0.0 + checksum: 10c0/3dab56e543a8f01d4f04908ad218462a43b296a827cc1cc3814ed9b0458e69f10a3e0c0124c62135d5f75e8e268ca78b88f335d4e55e31d60e6d7921ed234d5f languageName: node linkType: hard @@ -2953,13 +3209,13 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-tsdoc@npm:^0.2.17": - version: 0.2.17 - resolution: "eslint-plugin-tsdoc@npm:0.2.17" +"eslint-plugin-tsdoc@npm:^0.3.0": + version: 0.3.0 + resolution: "eslint-plugin-tsdoc@npm:0.3.0" dependencies: - "@microsoft/tsdoc": "npm:0.14.2" - "@microsoft/tsdoc-config": "npm:0.16.2" - checksum: 10c0/26cad40b22f3dc0adfb06b1ea12f7d3c9cb257ac8bb56ad6a023e3b3bdfc6144d95a8b01323563e75283cca90baaf4d68816f5cea6994c6cd660a642e820847a + "@microsoft/tsdoc": "npm:0.15.0" + "@microsoft/tsdoc-config": "npm:0.17.0" + checksum: 10c0/2ee35c661ad9cd3032ec40a4f7b02c04dddd3ecc40afcd8ea509b744c8bedafb408b0a0466e6f28ef771645fa55bf4600a4ad534723f36fc149ef92dc1f6719e languageName: node linkType: hard @@ -2978,16 +3234,16 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-unicorn@npm:^52.0.0": - version: 52.0.0 - resolution: "eslint-plugin-unicorn@npm:52.0.0" +"eslint-plugin-unicorn@npm:^53.0.0": + version: 53.0.0 + resolution: "eslint-plugin-unicorn@npm:53.0.0" dependencies: - "@babel/helper-validator-identifier": "npm:^7.22.20" + "@babel/helper-validator-identifier": "npm:^7.24.5" "@eslint-community/eslint-utils": "npm:^4.4.0" - "@eslint/eslintrc": "npm:^2.1.4" + "@eslint/eslintrc": "npm:^3.0.2" ci-info: "npm:^4.0.0" clean-regexp: "npm:^1.0.0" - core-js-compat: "npm:^3.34.0" + core-js-compat: "npm:^3.37.0" esquery: "npm:^1.5.0" indent-string: "npm:^4.0.0" is-builtin-module: "npm:^3.2.1" @@ -2996,17 +3252,17 @@ __metadata: read-pkg-up: "npm:^7.0.1" regexp-tree: "npm:^0.1.27" regjsparser: "npm:^0.10.0" - semver: "npm:^7.5.4" + semver: "npm:^7.6.1" strip-indent: "npm:^3.0.0" peerDependencies: eslint: ">=8.56.0" - checksum: 10c0/c68055ccbbdd4af50fd902f4fd88737f4047cbb727c8135efc578f747007a6c30a65c30af460b667f86e7a8f68d5a8ca031631018a4bdc719bb85114c77d319e + checksum: 10c0/da48048c21a68dd5410ed1f8abb1a80a7dabb5cf751e690dae435cb5359b3150f92682722bdb2e07258689ad1fdceaa9bd2dd08f211aaeb7ed19c62b98a32db5 languageName: node linkType: hard -"eslint-plugin-vue@npm:^9.24.0": - version: 9.24.0 - resolution: "eslint-plugin-vue@npm:9.24.0" +"eslint-plugin-vue@npm:^9.26.0": + version: 9.26.0 + resolution: "eslint-plugin-vue@npm:9.26.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" globals: "npm:^13.24.0" @@ -3017,8 +3273,8 @@ __metadata: vue-eslint-parser: "npm:^9.4.2" xml-name-validator: "npm:^4.0.0" peerDependencies: - eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 - checksum: 10c0/4b8a5ec008bd35fe26953c9a916fc285375cdc5fa3025f0c427a16c1032bf38b21c8dfed2d616fa7242efc84bbc133d4872f3fbe5ab0f25e9529370179746f7c + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + checksum: 10c0/5236762e9ff0bb4f6ce0f59b7923d0ed46bed7b42141d0a4aa93b4f382f5a5e5c8d940dff2ff1ee30f5d3a16523481580239ec0b8800f5370a5aead2cc577386 languageName: node linkType: hard @@ -3052,13 +3308,20 @@ __metadata: languageName: node linkType: hard -"eslint-visitor-keys@npm:^3.0.0, eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1": +"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1": version: 3.4.1 resolution: "eslint-visitor-keys@npm:3.4.1" checksum: 10c0/b4ebd35aed5426cd81b1fb92487825f1acf47a31e91d76597a3ee0664d69627140c4dafaf9b319cfeb1f48c1113a393e21a734c669e6565a72e6fcc311bd9911 languageName: node linkType: hard +"eslint-visitor-keys@npm:^3.4.3": + version: 3.4.3 + resolution: "eslint-visitor-keys@npm:3.4.3" + checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 + languageName: node + linkType: hard + "eslint-visitor-keys@npm:^4.0.0": version: 4.0.0 resolution: "eslint-visitor-keys@npm:4.0.0" @@ -3066,16 +3329,17 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^9.0.0": - version: 9.0.0 - resolution: "eslint@npm:9.0.0" +"eslint@npm:^9.4.0": + version: 9.4.0 + resolution: "eslint@npm:9.4.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" "@eslint-community/regexpp": "npm:^4.6.1" - "@eslint/eslintrc": "npm:^3.0.2" - "@eslint/js": "npm:9.0.0" - "@humanwhocodes/config-array": "npm:^0.12.3" + "@eslint/config-array": "npm:^0.15.1" + "@eslint/eslintrc": "npm:^3.1.0" + "@eslint/js": "npm:9.4.0" "@humanwhocodes/module-importer": "npm:^1.0.1" + "@humanwhocodes/retry": "npm:^0.3.0" "@nodelib/fs.walk": "npm:^1.2.8" ajv: "npm:^6.12.4" chalk: "npm:^4.0.0" @@ -3091,7 +3355,6 @@ __metadata: file-entry-cache: "npm:^8.0.0" find-up: "npm:^5.0.0" glob-parent: "npm:^6.0.2" - graphemer: "npm:^1.4.0" ignore: "npm:^5.2.0" imurmurhash: "npm:^0.1.4" is-glob: "npm:^4.0.0" @@ -3106,11 +3369,11 @@ __metadata: text-table: "npm:^0.2.0" bin: eslint: bin/eslint.js - checksum: 10c0/ab23e45cfef5ec174fc165edc03e0d6655fd7e50fd18068e6d966e9640f0d0a9048244e1297569ba4fd1ccddcfc0b00fb0c9723caa4209e0b2b23139ae688368 + checksum: 10c0/826c901812536451e1bdb151359098db3a01ee9ff41775d5e97553626d07f7319cb2a0fd54176ef8e2e057105874077426b5d408ee6e8cff06bb814651f4c004 languageName: node linkType: hard -"espree@npm:^10.0.1": +"espree@npm:^10.0.0, espree@npm:^10.0.1": version: 10.0.1 resolution: "espree@npm:10.0.1" dependencies: @@ -3121,7 +3384,7 @@ __metadata: languageName: node linkType: hard -"espree@npm:^9.0.0, espree@npm:^9.3.1, espree@npm:^9.6.0, espree@npm:^9.6.1": +"espree@npm:^9.3.1, espree@npm:^9.6.1": version: 9.6.1 resolution: "espree@npm:9.6.1" dependencies: @@ -3205,23 +3468,6 @@ __metadata: languageName: node linkType: hard -"execa@npm:^7.1.1": - version: 7.1.1 - resolution: "execa@npm:7.1.1" - dependencies: - cross-spawn: "npm:^7.0.3" - get-stream: "npm:^6.0.1" - human-signals: "npm:^4.3.0" - is-stream: "npm:^3.0.0" - merge-stream: "npm:^2.0.0" - npm-run-path: "npm:^5.1.0" - onetime: "npm:^6.0.0" - signal-exit: "npm:^3.0.7" - strip-final-newline: "npm:^3.0.0" - checksum: 10c0/0da5ee1c895b62142bc3d1567d1974711c28c2cfa6bae96e1923379bd597e476d762a13f282f92815d8ebfa33407949634fa32a0d6db8334a20e625fe11d4351 - languageName: node - linkType: hard - "exponential-backoff@npm:^3.1.1": version: 3.1.1 resolution: "exponential-backoff@npm:3.1.1" @@ -3243,7 +3489,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.1": +"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.1": version: 3.3.1 resolution: "fast-glob@npm:3.3.1" dependencies: @@ -3443,7 +3689,7 @@ __metadata: languageName: node linkType: hard -"get-stream@npm:^6.0.0, get-stream@npm:^6.0.1": +"get-stream@npm:^6.0.0": version: 6.0.1 resolution: "get-stream@npm:6.0.1" checksum: 10c0/49825d57d3fd6964228e6200a58169464b8e8970489b3acdc24906c782fb7f01f9f56f8e6653c4a50713771d6658f7cfe051e5eb8c12e334138c9c918b296341 @@ -3461,7 +3707,7 @@ __metadata: languageName: node linkType: hard -"get-tsconfig@npm:^4.5.0, get-tsconfig@npm:^4.7.0, get-tsconfig@npm:^4.7.2, get-tsconfig@npm:^4.7.3": +"get-tsconfig@npm:^4.5.0, get-tsconfig@npm:^4.7.0, get-tsconfig@npm:^4.7.3": version: 4.7.3 resolution: "get-tsconfig@npm:4.7.3" dependencies: @@ -3470,6 +3716,15 @@ __metadata: languageName: node linkType: hard +"get-tsconfig@npm:^4.7.5": + version: 4.7.5 + resolution: "get-tsconfig@npm:4.7.5" + dependencies: + resolve-pkg-maps: "npm:^1.0.0" + checksum: 10c0/a917dff2ba9ee187c41945736bf9bbab65de31ce5bc1effd76267be483a7340915cff232199406379f26517d2d0a4edcdbcda8cca599c2480a0f2cf1e1de3efa + languageName: node + linkType: hard + "glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": version: 5.1.2 resolution: "glob-parent@npm:5.1.2" @@ -3539,7 +3794,7 @@ __metadata: languageName: node linkType: hard -"globals@npm:^13.0.0, globals@npm:^13.19.0, globals@npm:^13.20.0, globals@npm:^13.24.0": +"globals@npm:^13.20.0, globals@npm:^13.24.0": version: 13.24.0 resolution: "globals@npm:13.24.0" dependencies: @@ -3562,6 +3817,13 @@ __metadata: languageName: node linkType: hard +"globals@npm:^15.4.0": + version: 15.4.0 + resolution: "globals@npm:15.4.0" + checksum: 10c0/19041b8fd49deb154e1cb706c82756ab7184c8ae3495aab183efcad9edd1b6320cc54af1a9110d8699245bef124834b004a8156ca988ba7814c25ec71a43f6a4 + languageName: node + linkType: hard + "globalthis@npm:^1.0.3": version: 1.0.3 resolution: "globalthis@npm:1.0.3" @@ -3720,13 +3982,6 @@ __metadata: languageName: node linkType: hard -"human-signals@npm:^4.3.0": - version: 4.3.1 - resolution: "human-signals@npm:4.3.1" - checksum: 10c0/40498b33fe139f5cc4ef5d2f95eb1803d6318ac1b1c63eaf14eeed5484d26332c828de4a5a05676b6c83d7b9e57727c59addb4b1dea19cb8d71e83689e5b336c - languageName: node - linkType: hard - "iconv-lite@npm:^0.6.2": version: 0.6.3 resolution: "iconv-lite@npm:0.6.3" @@ -3743,6 +3998,13 @@ __metadata: languageName: node linkType: hard +"ignore@npm:^5.3.1": + version: 5.3.1 + resolution: "ignore@npm:5.3.1" + checksum: 10c0/703f7f45ffb2a27fb2c5a8db0c32e7dee66b33a225d28e8db4e1be6474795f606686a6e3bcc50e1aa12f2042db4c9d4a7d60af3250511de74620fbed052ea4cd + languageName: node + linkType: hard + "import-fresh@npm:^3.2.1": version: 3.3.0 resolution: "import-fresh@npm:3.3.0" @@ -3923,7 +4185,7 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.1.0, is-core-module@npm:^2.11.0, is-core-module@npm:^2.12.1, is-core-module@npm:^2.13.0": +"is-core-module@npm:^2.11.0, is-core-module@npm:^2.13.0": version: 2.13.0 resolution: "is-core-module@npm:2.13.0" dependencies: @@ -3964,24 +4226,6 @@ __metadata: languageName: node linkType: hard -"is-docker@npm:^2.0.0": - version: 2.2.1 - resolution: "is-docker@npm:2.2.1" - bin: - is-docker: cli.js - checksum: 10c0/e828365958d155f90c409cdbe958f64051d99e8aedc2c8c4cd7c89dcf35329daed42f7b99346f7828df013e27deb8f721cf9408ba878c76eb9e8290235fbcdcc - languageName: node - linkType: hard - -"is-docker@npm:^3.0.0": - version: 3.0.0 - resolution: "is-docker@npm:3.0.0" - bin: - is-docker: cli.js - checksum: 10c0/d2c4f8e6d3e34df75a5defd44991b6068afad4835bb783b902fa12d13ebdb8f41b2a199dcb0b5ed2cb78bfee9e4c0bbdb69c2d9646f4106464674d3e697a5856 - languageName: node - linkType: hard - "is-empty@npm:^1.0.0": version: 1.2.0 resolution: "is-empty@npm:1.2.0" @@ -4044,17 +4288,6 @@ __metadata: languageName: node linkType: hard -"is-inside-container@npm:^1.0.0": - version: 1.0.0 - resolution: "is-inside-container@npm:1.0.0" - dependencies: - is-docker: "npm:^3.0.0" - bin: - is-inside-container: cli.js - checksum: 10c0/a8efb0e84f6197e6ff5c64c52890fa9acb49b7b74fed4da7c95383965da6f0fa592b4dbd5e38a79f87fc108196937acdbcd758fcefc9b140e479b39ce1fcd1cd - languageName: node - linkType: hard - "is-lambda@npm:^1.0.1": version: 1.0.1 resolution: "is-lambda@npm:1.0.1" @@ -4139,13 +4372,6 @@ __metadata: languageName: node linkType: hard -"is-stream@npm:^3.0.0": - version: 3.0.0 - resolution: "is-stream@npm:3.0.0" - checksum: 10c0/eb2f7127af02ee9aa2a0237b730e47ac2de0d4e76a4a905a50a11557f2339df5765eaea4ceb8029f1efa978586abe776908720bfcb1900c20c6ec5145f6f29d8 - languageName: node - linkType: hard - "is-string@npm:^1.0.5, is-string@npm:^1.0.7": version: 1.0.7 resolution: "is-string@npm:1.0.7" @@ -4199,15 +4425,6 @@ __metadata: languageName: node linkType: hard -"is-wsl@npm:^2.2.0": - version: 2.2.0 - resolution: "is-wsl@npm:2.2.0" - dependencies: - is-docker: "npm:^2.0.0" - checksum: 10c0/a6fa2d370d21be487c0165c7a440d567274fbba1a817f2f0bfa41cc5e3af25041d84267baa22df66696956038a43973e72fca117918c91431920bdef490fa25e - languageName: node - linkType: hard - "isarray@npm:^2.0.5": version: 2.0.5 resolution: "isarray@npm:2.0.5" @@ -4356,6 +4573,13 @@ __metadata: languageName: node linkType: hard +"json-schema-traverse@npm:^1.0.0": + version: 1.0.0 + resolution: "json-schema-traverse@npm:1.0.0" + checksum: 10c0/71e30015d7f3d6dc1c316d6298047c8ef98a06d31ad064919976583eb61e1018a60a0067338f0f79cabc00d84af3fcc489bd48ce8a46ea165d9541ba17fb30c6 + languageName: node + linkType: hard + "json-schema@npm:^0.4.0": version: 0.4.0 resolution: "json-schema@npm:0.4.0" @@ -5083,13 +5307,6 @@ __metadata: languageName: node linkType: hard -"mimic-fn@npm:^4.0.0": - version: 4.0.0 - resolution: "mimic-fn@npm:4.0.0" - checksum: 10c0/de9cc32be9996fd941e512248338e43407f63f6d497abe8441fa33447d922e927de54d4cc3c1a3c6d652857acd770389d5a3823f311a744132760ce2be15ccbf - languageName: node - linkType: hard - "min-indent@npm:^1.0.0": version: 1.0.1 resolution: "min-indent@npm:1.0.1" @@ -5115,7 +5332,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.0, minimatch@npm:^9.0.1, minimatch@npm:^9.0.3": +"minimatch@npm:^9.0.0, minimatch@npm:^9.0.1, minimatch@npm:^9.0.3, minimatch@npm:^9.0.4": version: 9.0.4 resolution: "minimatch@npm:9.0.4" dependencies: @@ -5352,15 +5569,6 @@ __metadata: languageName: node linkType: hard -"npm-run-path@npm:^5.1.0": - version: 5.1.0 - resolution: "npm-run-path@npm:5.1.0" - dependencies: - path-key: "npm:^4.0.0" - checksum: 10c0/ff6d77514489f47fa1c3b1311d09cd4b6d09a874cc1866260f9dea12cbaabda0436ed7f8c2ee44d147bf99a3af29307c6f63b0f83d242b0b6b0ab25dff2629e3 - languageName: node - linkType: hard - "nth-check@npm:^2.1.1": version: 2.1.1 resolution: "nth-check@npm:2.1.1" @@ -5414,6 +5622,17 @@ __metadata: languageName: node linkType: hard +"object.entries@npm:^1.1.8": + version: 1.1.8 + resolution: "object.entries@npm:1.1.8" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/db9ea979d2956a3bc26c262da4a4d212d36f374652cc4c13efdd069c1a519c16571c137e2893d1c46e1cb0e15c88fd6419eaf410c945f329f09835487d7e65d3 + languageName: node + linkType: hard + "object.fromentries@npm:^2.0.7": version: 2.0.7 resolution: "object.fromentries@npm:2.0.7" @@ -5425,7 +5644,19 @@ __metadata: languageName: node linkType: hard -"object.hasown@npm:^1.1.3": +"object.fromentries@npm:^2.0.8": + version: 2.0.8 + resolution: "object.fromentries@npm:2.0.8" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.2" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/cd4327e6c3369cfa805deb4cbbe919bfb7d3aeebf0bcaba291bb568ea7169f8f8cdbcabe2f00b40db0c20cd20f08e11b5f3a5a36fb7dd3fe04850c50db3bf83b + languageName: node + linkType: hard + +"object.hasown@npm:^1.1.4": version: 1.1.4 resolution: "object.hasown@npm:1.1.4" dependencies: @@ -5436,7 +5667,7 @@ __metadata: languageName: node linkType: hard -"object.values@npm:^1.1.6, object.values@npm:^1.1.7": +"object.values@npm:^1.1.6, object.values@npm:^1.2.0": version: 1.2.0 resolution: "object.values@npm:1.2.0" dependencies: @@ -5465,27 +5696,6 @@ __metadata: languageName: node linkType: hard -"onetime@npm:^6.0.0": - version: 6.0.0 - resolution: "onetime@npm:6.0.0" - dependencies: - mimic-fn: "npm:^4.0.0" - checksum: 10c0/4eef7c6abfef697dd4479345a4100c382d73c149d2d56170a54a07418c50816937ad09500e1ed1e79d235989d073a9bade8557122aee24f0576ecde0f392bb6c - languageName: node - linkType: hard - -"open@npm:^9.1.0": - version: 9.1.0 - resolution: "open@npm:9.1.0" - dependencies: - default-browser: "npm:^4.0.0" - define-lazy-prop: "npm:^3.0.0" - is-inside-container: "npm:^1.0.0" - is-wsl: "npm:^2.2.0" - checksum: 10c0/8073ec0dd8994a7a7d9bac208bd17d093993a65ce10f2eb9b62b6d3a91c9366ae903938a237c275493c130171d339f6dcbdd2a2de7e32953452c0867b97825af - languageName: node - linkType: hard - "optionator@npm:^0.9.3": version: 0.9.3 resolution: "optionator@npm:0.9.3" @@ -5637,14 +5847,7 @@ __metadata: languageName: node linkType: hard -"path-key@npm:^4.0.0": - version: 4.0.0 - resolution: "path-key@npm:4.0.0" - checksum: 10c0/794efeef32863a65ac312f3c0b0a99f921f3e827ff63afa5cb09a377e202c262b671f7b3832a4e64731003fa94af0263713962d317b9887bd1e0c48a342efba3 - languageName: node - linkType: hard - -"path-parse@npm:^1.0.6, path-parse@npm:^1.0.7": +"path-parse@npm:^1.0.7": version: 1.0.7 resolution: "path-parse@npm:1.0.7" checksum: 10c0/11ce261f9d294cc7a58d6a574b7f1b935842355ec66fba3c3fd79e0f036462eaf07d0aa95bb74ff432f9afef97ce1926c720988c6a7451d8a584930ae7de86e1 @@ -5759,12 +5962,12 @@ __metadata: languageName: node linkType: hard -"prettier@npm:^3.2.5": - version: 3.2.5 - resolution: "prettier@npm:3.2.5" +"prettier@npm:^3.3.1": + version: 3.3.1 + resolution: "prettier@npm:3.3.1" bin: prettier: bin/prettier.cjs - checksum: 10c0/ea327f37a7d46f2324a34ad35292af2ad4c4c3c3355da07313339d7e554320f66f65f91e856add8530157a733c6c4a897dc41b577056be5c24c40f739f5ee8c6 + checksum: 10c0/c25a709c9f0be670dc6bcb190b622347e1dbeb6c3e7df8b0711724cb64d8647c60b839937a4df4df18e9cfb556c2b08ca9d24d9645eb5488a7fc032a2c4d5cb3 languageName: node linkType: hard @@ -5973,6 +6176,13 @@ __metadata: languageName: node linkType: hard +"require-from-string@npm:^2.0.2": + version: 2.0.2 + resolution: "require-from-string@npm:2.0.2" + checksum: 10c0/aaa267e0c5b022fc5fd4eef49d8285086b15f2a1c54b28240fdf03599cbd9c26049fee3eab894f2e1f6ca65e513b030a7c264201e3f005601e80c49fb2937ce2 + languageName: node + linkType: hard + "requireindex@npm:~1.2.0": version: 1.2.0 resolution: "requireindex@npm:1.2.0" @@ -6001,7 +6211,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.10.0, resolve@npm:^1.22.2, resolve@npm:^1.22.4": +"resolve@npm:^1.10.0, resolve@npm:^1.22.4, resolve@npm:~1.22.2": version: 1.22.8 resolution: "resolve@npm:1.22.8" dependencies: @@ -6027,17 +6237,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:~1.19.0": - version: 1.19.0 - resolution: "resolve@npm:1.19.0" - dependencies: - is-core-module: "npm:^2.1.0" - path-parse: "npm:^1.0.6" - checksum: 10c0/1c8afdfb88c9adab0a19b6f16756d47f5917f64047bf5a38c17aa543aae5ccca2a0631671b19ce8460a7a3e65ead98ee70e046d3056ec173d3377a27487848a8 - languageName: node - linkType: hard - -"resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.2#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin": +"resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin, resolve@patch:resolve@npm%3A~1.22.2#optional!builtin": version: 1.22.8 resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" dependencies: @@ -6063,16 +6263,6 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A~1.19.0#optional!builtin": - version: 1.19.0 - resolution: "resolve@patch:resolve@npm%3A1.19.0#optional!builtin::version=1.19.0&hash=c3c19d" - dependencies: - is-core-module: "npm:^2.1.0" - path-parse: "npm:^1.0.6" - checksum: 10c0/254980f60dd9fdb28b34a511e70df6e3027d9627efce86a40757eea9b87252d172829c84517554560c4541ebfe207868270c19a0f086997b41209367aa8ef74f - languageName: node - linkType: hard - "retry@npm:^0.12.0": version: 0.12.0 resolution: "retry@npm:0.12.0" @@ -6147,15 +6337,6 @@ __metadata: languageName: node linkType: hard -"run-applescript@npm:^5.0.0": - version: 5.0.0 - resolution: "run-applescript@npm:5.0.0" - dependencies: - execa: "npm:^5.0.0" - checksum: 10c0/f9977db5770929f3f0db434b8e6aa266498c70dec913c84320c0a06add510cf44e3a048c44da088abee312006f9cbf572fd065cdc8f15d7682afda8755f4114c - languageName: node - linkType: hard - "run-parallel@npm:^1.1.9": version: 1.2.0 resolution: "run-parallel@npm:1.2.0" @@ -6246,7 +6427,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.0.0, semver@npm:^7.3.5, semver@npm:^7.3.6, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0": +"semver@npm:^7.3.5, semver@npm:^7.3.6, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0": version: 7.6.0 resolution: "semver@npm:7.6.0" dependencies: @@ -6257,6 +6438,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.6.1, semver@npm:^7.6.2": + version: 7.6.2 + resolution: "semver@npm:7.6.2" + bin: + semver: bin/semver.js + checksum: 10c0/97d3441e97ace8be4b1976433d1c32658f6afaff09f143e52c593bae7eef33de19e3e369c88bd985ce1042c6f441c80c6803078d1de2a9988080b66684cbb30c + languageName: node + linkType: hard + "set-function-length@npm:^1.2.1": version: 1.2.2 resolution: "set-function-length@npm:1.2.2" @@ -6311,7 +6501,7 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": +"signal-exit@npm:^3.0.3": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 @@ -6476,7 +6666,7 @@ __metadata: languageName: node linkType: hard -"string.prototype.matchall@npm:^4.0.10": +"string.prototype.matchall@npm:^4.0.11": version: 4.0.11 resolution: "string.prototype.matchall@npm:4.0.11" dependencies: @@ -6530,6 +6720,17 @@ __metadata: languageName: node linkType: hard +"string.prototype.trimstart@npm:^1.0.8": + version: 1.0.8 + resolution: "string.prototype.trimstart@npm:1.0.8" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/d53af1899959e53c83b64a5fd120be93e067da740e7e75acb433849aa640782fb6c7d4cd5b84c954c84413745a3764df135a8afeb22908b86a835290788d8366 + languageName: node + linkType: hard + "string_decoder@npm:^1.1.1": version: 1.3.0 resolution: "string_decoder@npm:1.3.0" @@ -6574,13 +6775,6 @@ __metadata: languageName: node linkType: hard -"strip-final-newline@npm:^3.0.0": - version: 3.0.0 - resolution: "strip-final-newline@npm:3.0.0" - checksum: 10c0/a771a17901427bac6293fd416db7577e2bc1c34a19d38351e9d5478c3c415f523f391003b42ed475f27e33a78233035df183525395f731d3bfb8cdcbd4da08ce - languageName: node - linkType: hard - "strip-indent@npm:^3.0.0": version: 3.0.0 resolution: "strip-indent@npm:3.0.0" @@ -6647,16 +6841,6 @@ __metadata: languageName: node linkType: hard -"synckit@npm:^0.8.0": - version: 0.8.5 - resolution: "synckit@npm:0.8.5" - dependencies: - "@pkgr/utils": "npm:^2.3.1" - tslib: "npm:^2.5.0" - checksum: 10c0/9827f828cabc404b3a147c38f824c8d5b846eb6f65189d965aa0b71ea8ecda5048f8f50b4bdfd8813148844175233cff56c6bc8d87a7118cf10707df870519f4 - languageName: node - linkType: hard - "synckit@npm:^0.9.0": version: 0.9.0 resolution: "synckit@npm:0.9.0" @@ -6713,13 +6897,6 @@ __metadata: languageName: node linkType: hard -"titleize@npm:^3.0.0": - version: 3.0.0 - resolution: "titleize@npm:3.0.0" - checksum: 10c0/5ae6084ba299b5782f95e3fe85ea9f0fa4d74b8ae722b6b3208157e975589fbb27733aeba4e5080fa9314a856044ef52caa61b87caea4b1baade951a55c06336 - languageName: node - linkType: hard - "to-fast-properties@npm:^2.0.0": version: 2.0.0 resolution: "to-fast-properties@npm:2.0.0" @@ -6770,6 +6947,15 @@ __metadata: languageName: node linkType: hard +"ts-api-utils@npm:^1.3.0": + version: 1.3.0 + resolution: "ts-api-utils@npm:1.3.0" + peerDependencies: + typescript: ">=4.2.0" + checksum: 10c0/f54a0ba9ed56ce66baea90a3fa087a484002e807f28a8ccb2d070c75e76bde64bd0f6dce98b3802834156306050871b67eec325cb4e918015a360a3f0868c77c + languageName: node + linkType: hard + "ts-interface-checker@npm:^0.1.9": version: 0.1.13 resolution: "ts-interface-checker@npm:0.1.13" @@ -6784,22 +6970,22 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.0, tslib@npm:^2.5.0, tslib@npm:^2.6.2": +"tslib@npm:^2.0.0, tslib@npm:^2.6.2": version: 2.6.2 resolution: "tslib@npm:2.6.2" checksum: 10c0/e03a8a4271152c8b26604ed45535954c0a45296e32445b4b87f8a5abdb2421f40b59b4ca437c4346af0f28179780d604094eb64546bee2019d903d01c6c19bdb languageName: node linkType: hard -"tsup@npm:^8.0.2": - version: 8.0.2 - resolution: "tsup@npm:8.0.2" +"tsup@npm:^8.1.0": + version: 8.1.0 + resolution: "tsup@npm:8.1.0" dependencies: bundle-require: "npm:^4.0.0" cac: "npm:^6.7.12" chokidar: "npm:^3.5.1" debug: "npm:^4.3.1" - esbuild: "npm:^0.19.2" + esbuild: "npm:^0.21.4" execa: "npm:^5.0.0" globby: "npm:^11.0.3" joycon: "npm:^3.0.1" @@ -6826,7 +7012,7 @@ __metadata: bin: tsup: dist/cli-default.js tsup-node: dist/cli-node.js - checksum: 10c0/de3e8b2d9a7a504afb9394f2409ef88fd21dd338a78ebb572dd5c1719d73db816baa7ae4b7867016f08ba6a67560daec13a85768efff1d70e380972e39e27ce6 + checksum: 10c0/93f36680f56cb5e3645fa298e49c0736d1596de4b77d21bda304491e4f157d2ce5cf7195b30e76f2cf9de7e5709f66a251ec92c75268e6dcd9e1d523e4d3004a languageName: node linkType: hard @@ -6857,19 +7043,19 @@ __metadata: languageName: node linkType: hard -"tsx@npm:^4.7.2": - version: 4.7.2 - resolution: "tsx@npm:4.7.2" +"tsx@npm:^4.12.0": + version: 4.12.0 + resolution: "tsx@npm:4.12.0" dependencies: - esbuild: "npm:~0.19.10" + esbuild: "npm:~0.20.2" fsevents: "npm:~2.3.3" - get-tsconfig: "npm:^4.7.2" + get-tsconfig: "npm:^4.7.5" dependenciesMeta: fsevents: optional: true bin: tsx: dist/cli.mjs - checksum: 10c0/0338598cc3b7b01a47939297797dfb77a1d675acb33bf71e816faf2b8cb76da3994d341d2920d105dbe98cd01a4babd80ca4b9a5a36120813dd79c4fc1c32df1 + checksum: 10c0/3ffe41869512685041ee4fffad63ebbabcac9f76b2349c7ca354cf27284c696e45beb7e8a2f39eb44e01e13d54ea97b37e5882e1aa3ddf67aff96a9ffc58a1c0 languageName: node linkType: hard @@ -6948,7 +7134,7 @@ __metadata: languageName: node linkType: hard -"typed-array-length@npm:^1.0.5": +"typed-array-length@npm:^1.0.5, typed-array-length@npm:^1.0.6": version: 1.0.6 resolution: "typed-array-length@npm:1.0.6" dependencies: @@ -6969,39 +7155,39 @@ __metadata: languageName: node linkType: hard -"typescript-eslint@npm:^7.5.0": - version: 7.5.0 - resolution: "typescript-eslint@npm:7.5.0" +"typescript-eslint@npm:^7.12.0": + version: 7.12.0 + resolution: "typescript-eslint@npm:7.12.0" dependencies: - "@typescript-eslint/eslint-plugin": "npm:7.5.0" - "@typescript-eslint/parser": "npm:7.5.0" - "@typescript-eslint/utils": "npm:7.5.0" + "@typescript-eslint/eslint-plugin": "npm:7.12.0" + "@typescript-eslint/parser": "npm:7.12.0" + "@typescript-eslint/utils": "npm:7.12.0" peerDependencies: eslint: ^8.56.0 peerDependenciesMeta: typescript: optional: true - checksum: 10c0/5b40508de65bf8398e006dd7e0cd83962720ffad6b4854a7fa5e5be00d67fd4a0e2fc37592c54e29847d8b4d38cf9aecb8a25dc8b7f3203eca232fe5dfe962df + checksum: 10c0/4533dc8f277b431ff6911789581d4f2dada7c3f6382a95b5b727d3fbfc1f316fc28153c46375d2c0d72d628b1fd48762e7b66efb51d49a2614913d42b74a8033 languageName: node linkType: hard -"typescript@npm:^5.4.4": - version: 5.4.4 - resolution: "typescript@npm:5.4.4" +"typescript@npm:^5.4.5": + version: 5.4.5 + resolution: "typescript@npm:5.4.5" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/4d8de0291204ed61ca97ad0cba2ce064e09c4988ca1c451c787e4653ba76296ba35177a52694e8a00cf4ef899d0ee83338663b926d8b7d55167ff0ba81549999 + checksum: 10c0/2954022ada340fd3d6a9e2b8e534f65d57c92d5f3989a263754a78aba549f7e6529acc1921913560a4b816c46dce7df4a4d29f9f11a3dc0d4213bb76d043251e languageName: node linkType: hard -"typescript@patch:typescript@npm%3A^5.4.4#optional!builtin": - version: 5.4.4 - resolution: "typescript@patch:typescript@npm%3A5.4.4#optional!builtin::version=5.4.4&hash=5adc0c" +"typescript@patch:typescript@npm%3A^5.4.5#optional!builtin": + version: 5.4.5 + resolution: "typescript@patch:typescript@npm%3A5.4.5#optional!builtin::version=5.4.5&hash=5adc0c" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/1fa41b9964a9ff0ed913b339c90b46031b2d2da3cb1a192af516610733f7f1d5f7f9754a8e22b9ac7076d3d8aedd2c4f84db3f113bad060eac3a95962443a1bf + checksum: 10c0/db2ad2a16ca829f50427eeb1da155e7a45e598eec7b086d8b4e8ba44e5a235f758e606d681c66992230d3fc3b8995865e5fd0b22a2c95486d0b3200f83072ec9 languageName: node linkType: hard @@ -7162,13 +7348,6 @@ __metadata: languageName: node linkType: hard -"untildify@npm:^4.0.0": - version: 4.0.0 - resolution: "untildify@npm:4.0.0" - checksum: 10c0/d758e624c707d49f76f7511d75d09a8eda7f2020d231ec52b67ff4896bcf7013be3f9522d8375f57e586e9a2e827f5641c7e06ee46ab9c435fc2b2b2e9de517a - languageName: node - linkType: hard - "update-browserslist-db@npm:^1.0.13": version: 1.0.13 resolution: "update-browserslist-db@npm:1.0.13" @@ -7297,6 +7476,23 @@ __metadata: languageName: node linkType: hard +"vue-eslint-parser@npm:^9.4.3": + version: 9.4.3 + resolution: "vue-eslint-parser@npm:9.4.3" + dependencies: + debug: "npm:^4.3.4" + eslint-scope: "npm:^7.1.1" + eslint-visitor-keys: "npm:^3.3.0" + espree: "npm:^9.3.1" + esquery: "npm:^1.4.0" + lodash: "npm:^4.17.21" + semver: "npm:^7.3.6" + peerDependencies: + eslint: ">=6.0.0" + checksum: 10c0/128be5988de025b5abd676a91c3e92af68288a5da1c20b2ff848fe90e040c04b2222a03b5d8048cf4a5e0b667a8addfb6f6e6565860d4afb5190c4cc42d05578 + languageName: node + linkType: hard + "walk-up-path@npm:^3.0.1": version: 3.0.1 resolution: "walk-up-path@npm:3.0.1" From 75485fec97438e30eedb6218fdc705fb09e9ec7f Mon Sep 17 00:00:00 2001 From: Jeroen Claassens Date: Thu, 6 Jun 2024 22:06:37 +0200 Subject: [PATCH 09/21] chore: cleanup code for fix-tsup-type-files --- scripts/fix-tsup-type-files.ts | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/scripts/fix-tsup-type-files.ts b/scripts/fix-tsup-type-files.ts index c1e25a5..ab1b5fd 100644 --- a/scripts/fix-tsup-type-files.ts +++ b/scripts/fix-tsup-type-files.ts @@ -1,13 +1,10 @@ import { findFilesRecursivelyStringEndsWith } from "@sapphire/node-utilities"; import { rename } from "node:fs/promises"; -import { join } from "node:path"; -const inputPath = "dist/esm/"; +const distUrl = new URL('../dist/esm/', import.meta.url); -const fullInputPathUrl = join(process.cwd(), inputPath); - -for await (const file of findFilesRecursivelyStringEndsWith(fullInputPathUrl, ".d.ts")) { +for await (const file of findFilesRecursivelyStringEndsWith(distUrl, ".d.ts")) { await rename(file, file.replace(/\.d\.ts$/, ".d.mts")); } -console.log(`✅ Renamed .d.ts files in ${fullInputPathUrl} to .d.mts`); +console.log(`✅ Renamed .d.ts files in ${distUrl} to .d.mts`); From cf04d49b61c7d6cb8a5b289dd672689c8f9a7a77 Mon Sep 17 00:00:00 2001 From: Jeroen Claassens Date: Thu, 6 Jun 2024 22:06:48 +0200 Subject: [PATCH 10/21] build: add script to generate src/index.ts --- .github/workflows/continuous-integration.yml | 29 +++++++++++++++++++- scripts/gen-index.ts | 28 +++++++++++++++++++ scripts/tsconfig.json | 7 +++++ 3 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 scripts/gen-index.ts create mode 100644 scripts/tsconfig.json diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index 5ce780c..5294738 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -1,6 +1,6 @@ name: Continuous Integration on: - pull_request: + pull_request: push: branches: - main @@ -23,3 +23,30 @@ jobs: - name: Build & Lint run: yarn lint + + validate-generated-index: + name: Validate Generated Index + runs-on: ubuntu-latest + if: github.repository_owner == 'icrawl' + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Use Node.js v20 + uses: actions/setup-node@v4 + with: + node-version: 20 + + - name: Install Dependencies + run: yarn --immutable + + - name: Generate new index + run: yarn gen-index + + - name: Error if index is different + run: | + git status + if ! git diff-index --quiet HEAD --; then + echo "::error file=src/index.ts::File did not match generated file after script. Please review and adjust accordingly." + exit 1; + fi diff --git a/scripts/gen-index.ts b/scripts/gen-index.ts new file mode 100644 index 0000000..419bdf5 --- /dev/null +++ b/scripts/gen-index.ts @@ -0,0 +1,28 @@ +import { findFilesRecursivelyStringEndsWith } from "@sapphire/node-utilities"; +import { writeFile } from "node:fs/promises"; +import { EOL } from "node:os"; +import { basename } from "node:path"; + +const srcURL = new URL("../src/", import.meta.url); + +const filesToExport: string[] = []; + +const exportAliases = new Map([["nodeprecated", "no"]]); + +for await (const file of findFilesRecursivelyStringEndsWith(srcURL, ".ts")) { + if (file.endsWith("index.ts")) { + continue; + } + + filesToExport.push(`./${basename(file).replace(/\.ts$/, ".js")}`); +} + +const toExports = filesToExport + .toSorted((fileOne, fileTwo) => basename(fileOne).localeCompare(basename(fileTwo))) + .map((fileToExport) => { + const generatedName = basename(fileToExport).replace(/\.js$/, "").replaceAll("-", ""); + return `export { default as ${exportAliases.get(generatedName) ?? generatedName} } from "${fileToExport}";`; + }) + .join("\n"); + +await writeFile(new URL("../src/index.ts", import.meta.url), toExports + EOL); diff --git a/scripts/tsconfig.json b/scripts/tsconfig.json new file mode 100644 index 0000000..2682a1d --- /dev/null +++ b/scripts/tsconfig.json @@ -0,0 +1,7 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "rootDir": "." + }, + "include": ["."] +} From 3a9a2d704cb533165e0e7006d39e4333b9f5c8db Mon Sep 17 00:00:00 2001 From: Jeroen Claassens Date: Thu, 6 Jun 2024 22:21:18 +0200 Subject: [PATCH 11/21] build: disable tsup bundling --- tsup.config.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tsup.config.ts b/tsup.config.ts index e4e5447..496e6ae 100644 --- a/tsup.config.ts +++ b/tsup.config.ts @@ -7,7 +7,8 @@ const baseOptions: Options = { minify: false, skipNodeModulesBundle: true, sourcemap: true, - target: "es2021", + bundle: false, + target: "es2022", tsconfig: "./tsconfig.json", keepNames: true, treeshake: true, From 93cd5804dfcff87b4255c5cb125905fe2155ebaa Mon Sep 17 00:00:00 2001 From: Jeroen Claassens Date: Thu, 6 Jun 2024 22:23:59 +0200 Subject: [PATCH 12/21] style: formatting --- scripts/fix-tsup-type-files.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/fix-tsup-type-files.ts b/scripts/fix-tsup-type-files.ts index ab1b5fd..22ecdc3 100644 --- a/scripts/fix-tsup-type-files.ts +++ b/scripts/fix-tsup-type-files.ts @@ -1,7 +1,7 @@ import { findFilesRecursivelyStringEndsWith } from "@sapphire/node-utilities"; import { rename } from "node:fs/promises"; -const distUrl = new URL('../dist/esm/', import.meta.url); +const distUrl = new URL("../dist/esm/", import.meta.url); for await (const file of findFilesRecursivelyStringEndsWith(distUrl, ".d.ts")) { await rename(file, file.replace(/\.d\.ts$/, ".d.mts")); From 28819d6f89c3840d30cf323f4626444a413dca8c Mon Sep 17 00:00:00 2001 From: Jeroen Claassens Date: Thu, 6 Jun 2024 22:27:46 +0200 Subject: [PATCH 13/21] fix: properly enable import-x and re-enable promise/ and sonarjs/ rules --- src/angular.ts | 2 +- src/common.ts | 18 ++++----- src/cypress.ts | 4 +- src/edge.ts | 2 +- src/jsx-a11y.ts | 2 +- src/jsx.ts | 6 +-- src/next.ts | 2 +- src/no-deprecated.ts | 2 +- src/node.ts | 2 +- src/svelte.ts | 10 ++--- src/typescript.ts | 94 +++++++++++++++++++++----------------------- 11 files changed, 70 insertions(+), 74 deletions(-) diff --git a/src/angular.ts b/src/angular.ts index 39ce226..7a34ef0 100644 --- a/src/angular.ts +++ b/src/angular.ts @@ -32,7 +32,7 @@ const rules: TSESLint.FlatConfig.Rules = { "@angular-eslint/use-injectable-provided-in": 2, "@angular-eslint/use-lifecycle-interface": 2, "@angular-eslint/use-pipe-transform-interface": 2, - "import/extensions": 0, + "import-x/extensions": 0, }; const templateRules: TSESLint.FlatConfig.Rules = { diff --git a/src/common.ts b/src/common.ts index de5ebbf..c57e53a 100644 --- a/src/common.ts +++ b/src/common.ts @@ -3,9 +3,9 @@ import type { TSESLint } from "@typescript-eslint/utils"; import eslintPluginImport from "eslint-plugin-import-x"; import eslintPluginJsdoc from "eslint-plugin-jsdoc"; // @ts-expect-error eslint-plugin-unicorn is not typed -import eslintPluginUnicorn from "eslint-plugin-unicorn"; -// @ts-expect-error eslint-plugin-unicorn is not typed import eslintPluginPromise from "eslint-plugin-promise"; +// @ts-expect-error eslint-plugin-unicorn is not typed +import eslintPluginUnicorn from "eslint-plugin-unicorn"; const rules: TSESLint.FlatConfig.Rules = { "accessor-pairs": 0, @@ -489,10 +489,10 @@ const rules: TSESLint.FlatConfig.Rules = { "prefer-rest-params": 2, "prefer-spread": 2, "prefer-template": 0, - // "promise/param-names": 2, - // "promise/prefer-await-to-callbacks": 1, - // "promise/prefer-await-to-then": 2, - // "promise/valid-params": 2, + "promise/param-names": 2, + "promise/prefer-await-to-callbacks": 1, + "promise/prefer-await-to-then": 2, + "promise/valid-params": 2, "quote-props": [ 2, "as-needed", @@ -702,8 +702,8 @@ const rules: TSESLint.FlatConfig.Rules = { }; const settings: TSESLint.FlatConfig.Settings = { - "import/extensions": [".js"], - "import/resolver": { + "import-x/extensions": [".js"], + "import-x/resolver": { node: { extensions: [".js"], }, @@ -727,7 +727,7 @@ const config: TSESLint.FlatConfig.ConfigArray = [ }, }, plugins: { - import: eslintPluginImport, + "import-x": eslintPluginImport, jsdoc: eslintPluginJsdoc, unicorn: fixupPluginRules(eslintPluginUnicorn), promise: fixupPluginRules(eslintPluginPromise), diff --git a/src/cypress.ts b/src/cypress.ts index 8349027..ad5145d 100644 --- a/src/cypress.ts +++ b/src/cypress.ts @@ -1,5 +1,5 @@ -import type { TSESLint } from "@typescript-eslint/utils"; import { fixupPluginRules } from "@eslint/compat"; +import type { TSESLint } from "@typescript-eslint/utils"; // @ts-expect-error eslint-plugin-cypress is not typed import cypress from "eslint-plugin-cypress"; @@ -10,7 +10,7 @@ const rules: TSESLint.FlatConfig.Rules = { "cypress/no-force": 2, "cypress/no-pause": 2, "cypress/no-unnecessary-waiting": 2, - "import/unambiguous": 0, + "import-x/unambiguous": 0, }; const config: TSESLint.FlatConfig.ConfigArray = [ diff --git a/src/edge.ts b/src/edge.ts index 6787b33..e617538 100644 --- a/src/edge.ts +++ b/src/edge.ts @@ -1,7 +1,7 @@ import type { TSESLint } from "@typescript-eslint/utils"; const rules: TSESLint.FlatConfig.Rules = { - "import/extensions": 0, + "import-x/extensions": 0, "no-restricted-globals": 0, "n/prefer-global/buffer": [2, "always"], "n/prefer-global/console": [2, "always"], diff --git a/src/jsx-a11y.ts b/src/jsx-a11y.ts index b0d38cd..3766c0d 100644 --- a/src/jsx-a11y.ts +++ b/src/jsx-a11y.ts @@ -1,5 +1,5 @@ -import type { TSESLint } from "@typescript-eslint/utils"; import { fixupPluginRules } from "@eslint/compat"; +import type { TSESLint } from "@typescript-eslint/utils"; // @ts-expect-error eslint-plugin-jsx-a11y is not typed import eslintPluginJsxA11y from "eslint-plugin-jsx-a11y"; diff --git a/src/jsx.ts b/src/jsx.ts index 4a5737d..4db724c 100644 --- a/src/jsx.ts +++ b/src/jsx.ts @@ -1,5 +1,5 @@ -import type { TSESLint } from "@typescript-eslint/utils"; import { fixupPluginRules } from "@eslint/compat"; +import type { TSESLint } from "@typescript-eslint/utils"; // @ts-expect-error eslint-plugin-react is not typed import eslintPluginReact from "eslint-plugin-react"; @@ -104,8 +104,8 @@ const rules: TSESLint.FlatConfig.Rules = { }; const settings: TSESLint.FlatConfig.Settings = { - "import/extensions": [".js", ".jsx"], - "import/resolver": { + "import-x/extensions": [".js", ".jsx"], + "import-x/resolver": { node: { extensions: [".js", ".jsx"], }, diff --git a/src/next.ts b/src/next.ts index d6efa40..8085190 100644 --- a/src/next.ts +++ b/src/next.ts @@ -23,7 +23,7 @@ const rules: TSESLint.FlatConfig.Rules = { "@next/next/no-title-in-document-head": 2, "@next/next/no-typos": 2, "@next/next/no-unwanted-polyfillio": 2, - "import/extensions": 0, + "import-x/extensions": 0, }; const config: TSESLint.FlatConfig.ConfigArray = [ diff --git a/src/no-deprecated.ts b/src/no-deprecated.ts index f83c92d..5f23294 100644 --- a/src/no-deprecated.ts +++ b/src/no-deprecated.ts @@ -1,7 +1,7 @@ import type { TSESLint } from "@typescript-eslint/utils"; const rules: TSESLint.FlatConfig.Rules = { - "import/no-deprecated": 1, + "import-x/no-deprecated": 1, }; const config: TSESLint.FlatConfig.ConfigArray = [ diff --git a/src/node.ts b/src/node.ts index 641b2b1..4335ab8 100644 --- a/src/node.ts +++ b/src/node.ts @@ -38,7 +38,7 @@ const rules: TSESLint.FlatConfig.Rules = { message: "Import clearImmediate from `node:timers` instead", }, ], - "import/no-unresolved": 0, + "import-x/no-unresolved": 0, "n/callback-return": 2, "n/exports-style": 0, "n/file-extension-in-import": 0, diff --git a/src/svelte.ts b/src/svelte.ts index 888d0c6..294b592 100644 --- a/src/svelte.ts +++ b/src/svelte.ts @@ -8,11 +8,11 @@ const plugins: TSESLint.FlatConfig.Plugins = { }; const svelteRules: TSESLint.FlatConfig.Rules = { - "import/first": 0, - "import/no-duplicates": 0, - "import/no-mutable-exports": 0, - "import/no-unresolved": 0, - "import/prefer-default-export": 0, + "import-x/first": 0, + "import-x/no-duplicates": 0, + "import-x/no-mutable-exports": 0, + "import-x/no-unresolved": 0, + "import-x/prefer-default-export": 0, }; const config: TSESLint.FlatConfig.ConfigArray = [ diff --git a/src/typescript.ts b/src/typescript.ts index f991d56..51c08dd 100644 --- a/src/typescript.ts +++ b/src/typescript.ts @@ -362,43 +362,43 @@ const rules: TSESLint.FlatConfig.Rules = { "consistent-return": 0, "default-case": 0, "default-case-last": 0, - "import/no-dynamic-require": 0, - "import/no-unresolved": 0, + "import-x/no-dynamic-require": 0, + "import-x/no-unresolved": 0, "jsdoc/check-tag-names": 0, "jsdoc/require-property-type": 0, "no-undef": 0, "n/global-require": 0, - // "sonarjs/no-all-duplicated-branches": 2, - // "sonarjs/no-element-overwrite": 2, - // "sonarjs/no-empty-collection": 2, - // "sonarjs/no-extra-arguments": 2, - // "sonarjs/no-identical-conditions": 2, - // "sonarjs/no-identical-expressions": 2, - // "sonarjs/no-ignored-return": 2, - // "sonarjs/no-one-iteration-loop": 2, - // "sonarjs/no-use-of-empty-return-value": 2, - // "sonarjs/non-existent-operator": 2, - // "sonarjs/elseif-without-else": 0, - // "sonarjs/max-switch-cases": 0, - // "sonarjs/no-collapsible-if": 2, - // "sonarjs/no-collection-size-mischeck": 2, - // "sonarjs/no-duplicate-string": 0, - // "sonarjs/no-duplicated-branches": 2, - // "sonarjs/no-gratuitous-expressions": 2, - // "sonarjs/no-identical-functions": 2, - // "sonarjs/no-inverted-boolean-check": 2, - // "sonarjs/no-nested-switch": 2, - // "sonarjs/no-nested-template-literals": 0, - // "sonarjs/no-redundant-boolean": 2, - // "sonarjs/no-redundant-jump": 2, - // "sonarjs/no-same-line-conditional": 2, - // "sonarjs/no-small-switch": 0, - // "sonarjs/no-unused-collection": 2, - // "sonarjs/no-useless-catch": 0, - // "sonarjs/prefer-immediate-return": 2, - // "sonarjs/prefer-object-literal": 2, - // "sonarjs/prefer-single-boolean-return": 2, - // "sonarjs/prefer-while": 2, + "sonarjs/no-all-duplicated-branches": 2, + "sonarjs/no-element-overwrite": 2, + "sonarjs/no-empty-collection": 2, + "sonarjs/no-extra-arguments": 2, + "sonarjs/no-identical-conditions": 2, + "sonarjs/no-identical-expressions": 2, + "sonarjs/no-ignored-return": 2, + "sonarjs/no-one-iteration-loop": 2, + "sonarjs/no-use-of-empty-return-value": 2, + "sonarjs/non-existent-operator": 2, + "sonarjs/elseif-without-else": 0, + "sonarjs/max-switch-cases": 0, + "sonarjs/no-collapsible-if": 2, + "sonarjs/no-collection-size-mischeck": 2, + "sonarjs/no-duplicate-string": 0, + "sonarjs/no-duplicated-branches": 2, + "sonarjs/no-gratuitous-expressions": 2, + "sonarjs/no-identical-functions": 2, + "sonarjs/no-inverted-boolean-check": 2, + "sonarjs/no-nested-switch": 2, + "sonarjs/no-nested-template-literals": 0, + "sonarjs/no-redundant-boolean": 2, + "sonarjs/no-redundant-jump": 2, + "sonarjs/no-same-line-conditional": 2, + "sonarjs/no-small-switch": 0, + "sonarjs/no-unused-collection": 2, + "sonarjs/no-useless-catch": 0, + "sonarjs/prefer-immediate-return": 2, + "sonarjs/prefer-object-literal": 2, + "sonarjs/prefer-single-boolean-return": 2, + "sonarjs/prefer-while": 2, "tsdoc/syntax": 1, "typescript-sort-keys/interface": 2, "typescript-sort-keys/string-enum": 2, @@ -408,12 +408,12 @@ const settings: TSESLint.FlatConfig.Settings = { jsdoc: { mode: "typescript", }, - "import/parsers": { + "import-x/parsers": { "@typescript-eslint/parser": [".ts", ".tsx", ".cts", ".mts"], }, - "import/external-module-folders": ["node_modules", "node_modules/@types"], - "import/extensions": [".ts", ".tsx", ".cts", ".mts", ".js", ".jsx"], - "import/resolver": { + "import-x/external-module-folders": ["node_modules", "node_modules/@types"], + "import-x/extensions": [".ts", ".tsx", ".cts", ".mts", ".js", ".jsx"], + "import-x/resolver": { typescript: { alwaysTryTypes: true, project: ["./tsconfig.json", "./tsconfig.eslint.json"], @@ -424,18 +424,14 @@ const settings: TSESLint.FlatConfig.Settings = { }, }; -const config: TSESLint.FlatConfig.ConfigArray = tseslint.config( - // - ...tseslint.configs.recommended, - { - plugins: { - sonarjs: eslintPluginSonarjs, - tsdoc: eslintPluginTsdoc, - "typescript-sort-keys": fixupPluginRules(eslintPluginTypescriptSortKeys), - }, - rules, - settings, +const config: TSESLint.FlatConfig.ConfigArray = tseslint.config(...tseslint.configs.recommended, { + plugins: { + sonarjs: eslintPluginSonarjs, + tsdoc: eslintPluginTsdoc, + "typescript-sort-keys": fixupPluginRules(eslintPluginTypescriptSortKeys), }, -); + rules, + settings, +}); export default config; From 823dd0091b75e39f2a7f00495a8a29ee3c6a6eda Mon Sep 17 00:00:00 2001 From: Jeroen Claassens Date: Thu, 6 Jun 2024 23:04:55 +0200 Subject: [PATCH 14/21] fix: add `esbuild-plugin-file-path-extensions` to ensure proper CJS and MJS extensions --- package.json | 1 + scripts/gen-index.ts | 4 ++-- src/index.ts | 44 ++++++++++++++++++++++---------------------- src/react.ts | 2 +- tsup.config.ts | 4 +++- yarn.lock | 8 ++++++++ 6 files changed, 37 insertions(+), 26 deletions(-) diff --git a/package.json b/package.json index 6299588..66c9223 100644 --- a/package.json +++ b/package.json @@ -305,6 +305,7 @@ }, "devDependencies": { "@sapphire/node-utilities": "^1.0.2", + "esbuild-plugin-file-path-extensions": "^2.1.1", "eslint": "^9.4.0", "prettier": "^3.3.1", "tsup": "^8.1.0", diff --git a/scripts/gen-index.ts b/scripts/gen-index.ts index 419bdf5..ee6246f 100644 --- a/scripts/gen-index.ts +++ b/scripts/gen-index.ts @@ -14,13 +14,13 @@ for await (const file of findFilesRecursivelyStringEndsWith(srcURL, ".ts")) { continue; } - filesToExport.push(`./${basename(file).replace(/\.ts$/, ".js")}`); + filesToExport.push(`./${basename(file).replace(/\.ts$/, "")}`); } const toExports = filesToExport .toSorted((fileOne, fileTwo) => basename(fileOne).localeCompare(basename(fileTwo))) .map((fileToExport) => { - const generatedName = basename(fileToExport).replace(/\.js$/, "").replaceAll("-", ""); + const generatedName = basename(fileToExport).replaceAll("-", ""); return `export { default as ${exportAliases.get(generatedName) ?? generatedName} } from "${fileToExport}";`; }) .join("\n"); diff --git a/src/index.ts b/src/index.ts index aa69763..fccd32e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,22 +1,22 @@ -export { default as angular } from "./angular.js"; -export { default as astro } from "./astro.js"; -export { default as browser } from "./browser.js"; -export { default as common } from "./common.js"; -export { default as cypress } from "./cypress.js"; -export { default as edge } from "./edge.js"; -export { default as jsxa11y } from "./jsx-a11y.js"; -export { default as jsx } from "./jsx.js"; -export { default as mdx } from "./mdx.js"; -export { default as module } from "./module.js"; -export { default as next } from "./next.js"; -export { default as no } from "./no-deprecated.js"; -export { default as node } from "./node.js"; -export { default as prettier } from "./prettier.js"; -export { default as react } from "./react.js"; -export { default as rxjsangular } from "./rxjs-angular.js"; -export { default as rxjs } from "./rxjs.js"; -export { default as sveltetypescript } from "./svelte-typescript.js"; -export { default as svelte } from "./svelte.js"; -export { default as typescript } from "./typescript.js"; -export { default as vuetypescript } from "./vue-typescript.js"; -export { default as vue } from "./vue.js"; +export { default as angular } from "./angular"; +export { default as astro } from "./astro"; +export { default as browser } from "./browser"; +export { default as common } from "./common"; +export { default as cypress } from "./cypress"; +export { default as edge } from "./edge"; +export { default as jsx } from "./jsx"; +export { default as jsxa11y } from "./jsx-a11y"; +export { default as mdx } from "./mdx"; +export { default as module } from "./module"; +export { default as next } from "./next"; +export { default as no } from "./no-deprecated"; +export { default as node } from "./node"; +export { default as prettier } from "./prettier"; +export { default as react } from "./react"; +export { default as rxjs } from "./rxjs"; +export { default as rxjsangular } from "./rxjs-angular"; +export { default as svelte } from "./svelte"; +export { default as sveltetypescript } from "./svelte-typescript"; +export { default as typescript } from "./typescript"; +export { default as vue } from "./vue"; +export { default as vuetypescript } from "./vue-typescript"; diff --git a/src/react.ts b/src/react.ts index 2d416d5..abf3fc1 100644 --- a/src/react.ts +++ b/src/react.ts @@ -4,7 +4,7 @@ import type { TSESLint } from "@typescript-eslint/utils"; import eslintPluginReact from "eslint-plugin-react"; // @ts-expect-error eslint-plugin-react-hooks is not typed import eslintPluginReactHooks from "eslint-plugin-react-hooks"; -import jsx from "./jsx.js"; +import jsx from "./jsx"; const rules: TSESLint.FlatConfig.Rules = { "react/boolean-prop-naming": 2, diff --git a/tsup.config.ts b/tsup.config.ts index 496e6ae..5661e52 100644 --- a/tsup.config.ts +++ b/tsup.config.ts @@ -1,3 +1,4 @@ +import { esbuildPluginFilePathExtensions } from "esbuild-plugin-file-path-extensions"; import { defineConfig, type Options } from "tsup"; const baseOptions: Options = { @@ -7,11 +8,12 @@ const baseOptions: Options = { minify: false, skipNodeModulesBundle: true, sourcemap: true, - bundle: false, + bundle: true, target: "es2022", tsconfig: "./tsconfig.json", keepNames: true, treeshake: true, + esbuildPlugins: [esbuildPluginFilePathExtensions()], }; export default [ diff --git a/yarn.lock b/yarn.lock index 0fbbe73..5d9cd9c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2620,6 +2620,13 @@ __metadata: languageName: node linkType: hard +"esbuild-plugin-file-path-extensions@npm:^2.1.1": + version: 2.1.1 + resolution: "esbuild-plugin-file-path-extensions@npm:2.1.1" + checksum: 10c0/9e04cc7b88401f0504b5e0194eea24129689b3cc7e7642c8529be396217abb655cc888cf86b9aea436f1e94336699282ab941683ca9ba2f5d3c97a1403b6f0cc + languageName: node + linkType: hard + "esbuild@npm:^0.21.4": version: 0.21.4 resolution: "esbuild@npm:0.21.4" @@ -2834,6 +2841,7 @@ __metadata: "@typescript-eslint/eslint-plugin": "npm:^7.12.0" "@typescript-eslint/parser": "npm:^7.12.0" astro-eslint-parser: "npm:^1.0.2" + esbuild-plugin-file-path-extensions: "npm:^2.1.1" eslint: "npm:^9.4.0" eslint-config-prettier: "npm:^9.1.0" eslint-import-resolver-typescript: "npm:^3.6.1" From 729f581762952da3793c4dce3749905f9e87b9c3 Mon Sep 17 00:00:00 2001 From: Jeroen Claassens Date: Fri, 7 Jun 2024 00:06:04 +0200 Subject: [PATCH 15/21] fix: fix deprecated angular rules --- src/angular.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/angular.ts b/src/angular.ts index 7a34ef0..d462025 100644 --- a/src/angular.ts +++ b/src/angular.ts @@ -36,11 +36,11 @@ const rules: TSESLint.FlatConfig.Rules = { }; const templateRules: TSESLint.FlatConfig.Rules = { - "@angular-eslint/template/accessibility-alt-text": 2, - "@angular-eslint/template/accessibility-elements-content": 2, - "@angular-eslint/template/accessibility-label-has-associated-control": 1, - "@angular-eslint/template/accessibility-table-scope": 2, - "@angular-eslint/template/accessibility-valid-aria": 2, + "@angular-eslint/template/alt-text": 2, + "@angular-eslint/template/elements-content": 2, + "@angular-eslint/template/label-has-associated-control": 1, + "@angular-eslint/template/table-scope": 2, + "@angular-eslint/template/valid-aria": 2, "@angular-eslint/template/banana-in-box": 2, "@angular-eslint/template/button-has-type": 2, "@angular-eslint/template/click-events-have-key-events": 2, From d2b45dc3debd29a0c442c4453977130dec6b9999 Mon Sep 17 00:00:00 2001 From: Jeroen Claassens Date: Fri, 7 Jun 2024 00:14:10 +0200 Subject: [PATCH 16/21] docs(readme): fixup angular usage --- README.md | 65 ++++++++++++++++++++++++++++++---------------------- package.json | 2 ++ yarn.lock | 18 +++++++++++++++ 3 files changed, 58 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index 75209cc..d01af5d 100644 --- a/README.md +++ b/README.md @@ -46,8 +46,12 @@ This package includes the following configurations: ### Notes +#### Flat Config only + It is important to note that this package only exports [ESLint Flat Config][]! This means that you _have_ to use `eslint.config.js`, `eslint.config.mjs`, or `eslint.config.cjs` to use this package. See the ESLint documentation on flat config for more information. +#### Importing Configs + Instead of importing from `eslint-config-neon`, you can also import each individual config from subpaths, e.g. ```ts @@ -60,6 +64,12 @@ instead of import { common } from "eslint-config-neon"; ``` +#### Merging Configs + +In the examples below you will often see `lodash.merge` being used. This is of vital importance as objects often have to be deeply merged when using ESLint Flat Config. If you don't merge the objects, you will overwrite the previous object with the new one, and your config will be invalid. + +This package ships ships a transient dependency to `lodash.merge` and `@types/lodash.merge` to make sure it is available in your project. + ### Configuration ```js @@ -261,35 +271,36 @@ export default [
```js -import { common, browser, node, typescript, angular, rxjs, rxjsangular, prettier } from "eslint-config-neon"; - -export default [ - { - ignore: ["**/dist/*"], - }, - { - files: ["*.ts"], - ...common, - ...browser, - ...node, - ...typescript, - ...angular, - ...rxjs, - ...rxjsangular, - ...prettier, - }, - { - files: ["*.html"], - ...(await import("eslint-config-neon/angular")), - }, - { - languageOptions: { - parserOptions: { - project: "./tsconfig.json", +import { angular, browser, common, node, prettier, rxjs, rxjsangular, typescript } from "eslint-config-neon"; +import merge from "lodash/merge.js"; + +/** + * @type {import('@typescript-eslint/utils').TSESLint.FlatConfig.ConfigArray} + */ +const config = [ + ...[...common, ...browser, ...node, ...typescript, ...angular, ...rxjs, ...rxjsangular, ...prettier].map((config) => + merge(config, { + files: ["src/**/*.ts"], + languageOptions: { + parserOptions: { + project: "tsconfig.json", + }, }, - }, - }, + }), + ), + ...angular.map((config) => + merge(config, { + files: ["src/**/*.html"], + languageOptions: { + parserOptions: { + project: "tsconfig.json", + }, + }, + }), + ), ]; + +export default config; ```
diff --git a/package.json b/package.json index 66c9223..52f4f56 100644 --- a/package.json +++ b/package.json @@ -275,6 +275,7 @@ "@angular-eslint/template-parser": "^18.0.1", "@eslint/compat": "^1.0.3", "@next/eslint-plugin-next": "^14.2.3", + "@types/lodash.merge": "^4.6.9", "@typescript-eslint/eslint-plugin": "^7.12.0", "@typescript-eslint/parser": "^7.12.0", "astro-eslint-parser": "^1.0.2", @@ -300,6 +301,7 @@ "eslint-plugin-unicorn": "^53.0.0", "eslint-plugin-vue": "^9.26.0", "globals": "^15.4.0", + "lodash.merge": "^4.6.2", "typescript-eslint": "^7.12.0", "vue-eslint-parser": "^9.4.3" }, diff --git a/yarn.lock b/yarn.lock index 5d9cd9c..478cd2f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1060,6 +1060,22 @@ __metadata: languageName: node linkType: hard +"@types/lodash.merge@npm:^4.6.9": + version: 4.6.9 + resolution: "@types/lodash.merge@npm:4.6.9" + dependencies: + "@types/lodash": "npm:*" + checksum: 10c0/2e2ccacdceb2e23343a514e8c24540fc4e1f1ffd616b645eb72ec685da9389d99a2544f04d61921e46a6768f8cc0fe5f58d4f7edaba9bc50552f0ca7df905e83 + languageName: node + linkType: hard + +"@types/lodash@npm:*": + version: 4.17.4 + resolution: "@types/lodash@npm:4.17.4" + checksum: 10c0/0124c64cb9fe7a0f78b6777955abd05ef0d97844d49118652eae45f8fa57bfb7f5a7a9bccc0b5a84c0a6dc09631042e4590cb665acb9d58dfd5e6543c75341ec + languageName: node + linkType: hard + "@types/mdast@npm:^3.0.0": version: 3.0.11 resolution: "@types/mdast@npm:3.0.11" @@ -2838,6 +2854,7 @@ __metadata: "@eslint/compat": "npm:^1.0.3" "@next/eslint-plugin-next": "npm:^14.2.3" "@sapphire/node-utilities": "npm:^1.0.2" + "@types/lodash.merge": "npm:^4.6.9" "@typescript-eslint/eslint-plugin": "npm:^7.12.0" "@typescript-eslint/parser": "npm:^7.12.0" astro-eslint-parser: "npm:^1.0.2" @@ -2865,6 +2882,7 @@ __metadata: eslint-plugin-unicorn: "npm:^53.0.0" eslint-plugin-vue: "npm:^9.26.0" globals: "npm:^15.4.0" + lodash.merge: "npm:^4.6.2" prettier: "npm:^3.3.1" tsup: "npm:^8.1.0" tsx: "npm:^4.12.0" From 51a02c513484b459b177547f30bca81b7be75393 Mon Sep 17 00:00:00 2001 From: Jeroen Claassens Date: Fri, 7 Jun 2024 00:16:09 +0200 Subject: [PATCH 17/21] docs(angular): use `lodash.merge` --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d01af5d..571390e 100644 --- a/README.md +++ b/README.md @@ -272,7 +272,7 @@ export default [ ```js import { angular, browser, common, node, prettier, rxjs, rxjsangular, typescript } from "eslint-config-neon"; -import merge from "lodash/merge.js"; +import merge from 'lodash.merge'; /** * @type {import('@typescript-eslint/utils').TSESLint.FlatConfig.ConfigArray} From e3a833cc7db385381c5fcc91845753eb64e44679 Mon Sep 17 00:00:00 2001 From: Jeroen Claassens Date: Tue, 2 Jul 2024 16:40:39 +0200 Subject: [PATCH 18/21] docs: formatting --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 571390e..e7390ce 100644 --- a/README.md +++ b/README.md @@ -272,7 +272,7 @@ export default [ ```js import { angular, browser, common, node, prettier, rxjs, rxjsangular, typescript } from "eslint-config-neon"; -import merge from 'lodash.merge'; +import merge from "lodash.merge"; /** * @type {import('@typescript-eslint/utils').TSESLint.FlatConfig.ConfigArray} From 1e9b36e17c8cb8777ecd67f4fc74c0495f6f7e01 Mon Sep 17 00:00:00 2001 From: Jeroen Claassens Date: Tue, 2 Jul 2024 17:28:05 +0200 Subject: [PATCH 19/21] feat: add react-refresh --- package.json | 1 + src/jsx.ts | 11 +++++-- src/react.ts | 11 ++++++- yarn.lock | 85 +++++++++++++++++++++++++++++++++++++++++++--------- 4 files changed, 91 insertions(+), 17 deletions(-) diff --git a/package.json b/package.json index 52f4f56..f31f539 100644 --- a/package.json +++ b/package.json @@ -292,6 +292,7 @@ "eslint-plugin-promise": "^6.2.0", "eslint-plugin-react": "^7.34.2", "eslint-plugin-react-hooks": "^4.6.2", + "eslint-plugin-react-refresh": "^0.4.7", "eslint-plugin-rxjs": "^5.0.3", "eslint-plugin-rxjs-angular": "^2.0.1", "eslint-plugin-sonarjs": "^1.0.3", diff --git a/src/jsx.ts b/src/jsx.ts index 4db724c..bf16c6c 100644 --- a/src/jsx.ts +++ b/src/jsx.ts @@ -1,9 +1,11 @@ -import { fixupPluginRules } from "@eslint/compat"; import type { TSESLint } from "@typescript-eslint/utils"; // @ts-expect-error eslint-plugin-react is not typed import eslintPluginReact from "eslint-plugin-react"; +// @ts-expect-error eslint-plugin-react-refresh is not typed +import eslintPluginReactRefresh from "eslint-plugin-react-refresh"; const rules: TSESLint.FlatConfig.Rules = { + // React "react/jsx-boolean-value": [2, "never"], "react/jsx-child-element-spacing": 0, "react/jsx-closing-bracket-location": [2, "line-aligned"], @@ -101,8 +103,12 @@ const rules: TSESLint.FlatConfig.Rules = { "react/jsx-uses-react": 2, "react/jsx-uses-vars": 2, "react/jsx-wrap-multilines": 0, + + // React Refresh + "react-refresh/only-export-components": 1, }; + const settings: TSESLint.FlatConfig.Settings = { "import-x/extensions": [".js", ".jsx"], "import-x/resolver": { @@ -122,7 +128,8 @@ const config: TSESLint.FlatConfig.ConfigArray = [ }, }, plugins: { - react: fixupPluginRules(eslintPluginReact), + "react-refresh": eslintPluginReactRefresh, + react: eslintPluginReact, }, rules, settings, diff --git a/src/react.ts b/src/react.ts index abf3fc1..363c1b3 100644 --- a/src/react.ts +++ b/src/react.ts @@ -4,9 +4,12 @@ import type { TSESLint } from "@typescript-eslint/utils"; import eslintPluginReact from "eslint-plugin-react"; // @ts-expect-error eslint-plugin-react-hooks is not typed import eslintPluginReactHooks from "eslint-plugin-react-hooks"; +// @ts-expect-error eslint-plugin-react-refresh is not typed +import reactRefresh from "eslint-plugin-react-refresh"; import jsx from "./jsx"; const rules: TSESLint.FlatConfig.Rules = { + // React "react/boolean-prop-naming": 2, "react/button-has-type": 2, "react/default-props-match-prop-types": 2, @@ -20,6 +23,7 @@ const rules: TSESLint.FlatConfig.Rules = { "react/function-component-definition": 0, "react/hook-use-state": 2, "react/iframe-missing-sandbox": 2, + "react/jsx-filename-extension": [1, { extensions: [".jsx", ".tsx"] }], "react/no-access-state-in-setstate": 2, "react/no-adjacent-inline-elements": 0, "react/no-array-index-key": 0, @@ -73,8 +77,12 @@ const rules: TSESLint.FlatConfig.Rules = { "react/style-prop-object": 2, "react/void-dom-elements-no-children": 2, + // React Hooks "react-hooks/exhaustive-deps": 2, "react-hooks/rules-of-hooks": 2, + + // React Refresh + "react-refresh/only-export-components": 1, }; const settings: TSESLint.FlatConfig.Settings = { @@ -87,7 +95,8 @@ const config: TSESLint.FlatConfig.ConfigArray = [ ...jsx, { plugins: { - react: fixupPluginRules(eslintPluginReact), + react: eslintPluginReact, + "react-refresh": reactRefresh, "react-hooks": fixupPluginRules(eslintPluginReactHooks), }, rules, diff --git a/yarn.lock b/yarn.lock index 478cd2f..ee3e8c2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1664,16 +1664,16 @@ __metadata: languageName: node linkType: hard -"array.prototype.tosorted@npm:^1.1.3": - version: 1.1.3 - resolution: "array.prototype.tosorted@npm:1.1.3" +"array.prototype.tosorted@npm:^1.1.4": + version: 1.1.4 + resolution: "array.prototype.tosorted@npm:1.1.4" dependencies: - call-bind: "npm:^1.0.5" + call-bind: "npm:^1.0.7" define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.22.3" - es-errors: "npm:^1.1.0" + es-abstract: "npm:^1.23.3" + es-errors: "npm:^1.3.0" es-shim-unscopables: "npm:^1.0.2" - checksum: 10c0/a27e1ca51168ecacf6042901f5ef021e43c8fa04b6c6b6f2a30bac3645cd2b519cecbe0bc45db1b85b843f64dc3207f0268f700b4b9fbdec076d12d432cf0865 + checksum: 10c0/eb3c4c4fc0381b0bf6dba2ea4d48d367c2827a0d4236a5718d97caaccc6b78f11f4cadf090736e86301d295a6aa4967ed45568f92ced51be8cbbacd9ca410943 languageName: node linkType: hard @@ -2428,7 +2428,7 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.2": +"es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0": version: 1.23.2 resolution: "es-abstract@npm:1.23.2" dependencies: @@ -2482,7 +2482,7 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.23.3": +"es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3": version: 1.23.3 resolution: "es-abstract@npm:1.23.3" dependencies: @@ -2545,7 +2545,7 @@ __metadata: languageName: node linkType: hard -"es-errors@npm:^1.1.0, es-errors@npm:^1.2.1, es-errors@npm:^1.3.0": +"es-errors@npm:^1.2.1, es-errors@npm:^1.3.0": version: 1.3.0 resolution: "es-errors@npm:1.3.0" checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 @@ -2870,9 +2870,11 @@ __metadata: eslint-plugin-jsx-a11y: "npm:^6.8.0" eslint-plugin-mdx: "npm:^3.1.5" eslint-plugin-n: "npm:^17.8.1" + eslint-plugin-prettier: "npm:^5.1.3" eslint-plugin-promise: "npm:^6.2.0" eslint-plugin-react: "npm:^7.34.2" eslint-plugin-react-hooks: "npm:^4.6.2" + eslint-plugin-react-refresh: "npm:^0.4.7" eslint-plugin-rxjs: "npm:^5.0.3" eslint-plugin-rxjs-angular: "npm:^2.0.1" eslint-plugin-sonarjs: "npm:^1.0.3" @@ -3134,6 +3136,26 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-prettier@npm:^5.1.3": + version: 5.1.3 + resolution: "eslint-plugin-prettier@npm:5.1.3" + dependencies: + prettier-linter-helpers: "npm:^1.0.0" + synckit: "npm:^0.8.6" + peerDependencies: + "@types/eslint": ">=8.0.0" + eslint: ">=8.0.0" + eslint-config-prettier: "*" + prettier: ">=3.0.0" + peerDependenciesMeta: + "@types/eslint": + optional: true + eslint-config-prettier: + optional: true + checksum: 10c0/f45d5fc1fcfec6b0cf038a7a65ddd10a25df4fe3f9e1f6b7f0d5100e66f046a26a2492e69ee765dddf461b93c114cf2e1eb18d4970aafa6f385448985c136e09 + languageName: node + linkType: hard + "eslint-plugin-promise@npm:^6.2.0": version: 6.2.0 resolution: "eslint-plugin-promise@npm:6.2.0" @@ -3152,15 +3174,24 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-react-refresh@npm:^0.4.7": + version: 0.4.7 + resolution: "eslint-plugin-react-refresh@npm:0.4.7" + peerDependencies: + eslint: ">=7" + checksum: 10c0/78600fe6b10905e7a068a377a381f315c962e3cb7c0575ffcb2136a1fe3dd6936bdfabb56c8f053a581b322a8fbffd7b7ec4b6fa7e227e5470f38fbe9bb170ee + languageName: node + linkType: hard + "eslint-plugin-react@npm:^7.34.2": - version: 7.34.2 - resolution: "eslint-plugin-react@npm:7.34.2" + version: 7.34.3 + resolution: "eslint-plugin-react@npm:7.34.3" dependencies: array-includes: "npm:^3.1.8" array.prototype.findlast: "npm:^1.2.5" array.prototype.flatmap: "npm:^1.3.2" array.prototype.toreversed: "npm:^1.1.2" - array.prototype.tosorted: "npm:^1.1.3" + array.prototype.tosorted: "npm:^1.1.4" doctrine: "npm:^2.1.0" es-iterator-helpers: "npm:^1.0.19" estraverse: "npm:^5.3.0" @@ -3176,7 +3207,7 @@ __metadata: string.prototype.matchall: "npm:^4.0.11" peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - checksum: 10c0/37dc04424da8626f20a071466e7238d53ed111c53e5e5398d813ac2cf76a2078f00d91f7833fe5b2f0fc98f2688a75b36e78e9ada9f1068705d23c7031094316 + checksum: 10c0/60717e32c9948e2b4ddc53dac7c4b62c68fc7129c3249079191c941c08ebe7d1f4793d65182922d19427c2a6634e05231a7b74ceee34169afdfd0e43d4a43d26 languageName: node linkType: hard @@ -3515,6 +3546,13 @@ __metadata: languageName: node linkType: hard +"fast-diff@npm:^1.1.2": + version: 1.3.0 + resolution: "fast-diff@npm:1.3.0" + checksum: 10c0/5c19af237edb5d5effda008c891a18a585f74bf12953be57923f17a3a4d0979565fc64dbc73b9e20926b9d895f5b690c618cbb969af0cf022e3222471220ad29 + languageName: node + linkType: hard + "fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.1": version: 3.3.1 resolution: "fast-glob@npm:3.3.1" @@ -5988,6 +6026,15 @@ __metadata: languageName: node linkType: hard +"prettier-linter-helpers@npm:^1.0.0": + version: 1.0.0 + resolution: "prettier-linter-helpers@npm:1.0.0" + dependencies: + fast-diff: "npm:^1.1.2" + checksum: 10c0/81e0027d731b7b3697ccd2129470ed9913ecb111e4ec175a12f0fcfab0096516373bf0af2fef132af50cafb0a905b74ff57996d615f59512bb9ac7378fcc64ab + languageName: node + linkType: hard + "prettier@npm:^3.3.1": version: 3.3.1 resolution: "prettier@npm:3.3.1" @@ -6867,6 +6914,16 @@ __metadata: languageName: node linkType: hard +"synckit@npm:^0.8.6": + version: 0.8.8 + resolution: "synckit@npm:0.8.8" + dependencies: + "@pkgr/core": "npm:^0.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/c3d3aa8e284f3f84f2f868b960c9f49239b364e35f6d20825a448449a3e9c8f49fe36cdd5196b30615682f007830d46f2ea354003954c7336723cb821e4b6519 + languageName: node + linkType: hard + "synckit@npm:^0.9.0": version: 0.9.0 resolution: "synckit@npm:0.9.0" From bf5babd79791b7aa1abf2b2705eb5cc9a5ddf8a5 Mon Sep 17 00:00:00 2001 From: Jeroen Claassens Date: Tue, 2 Jul 2024 17:28:18 +0200 Subject: [PATCH 20/21] fix: use eslint-plugin-prettier instead of eslint-config-prettier --- README.md | 109 +++++++++++++++++++++++++++++------------------- package.json | 1 + src/prettier.ts | 7 +--- 3 files changed, 70 insertions(+), 47 deletions(-) diff --git a/README.md b/README.md index e7390ce..eb1fe87 100644 --- a/README.md +++ b/README.md @@ -70,6 +70,32 @@ In the examples below you will often see `lodash.merge` being used. This is of v This package ships ships a transient dependency to `lodash.merge` and `@types/lodash.merge` to make sure it is available in your project. +#### Reducing downloaded bundle size + +Because this eslint config has a lot of transient dependencies to offer different eslint configs the bundle size of this package will be quite large. To alleviate this somewhat you can configure your package manager to skip the dependencies that you do not need through the `resolutions` (yarn) or `overrides` (npm / pnpm) fields. + +Following is an example of excluding `eslint-plugin-vue`, which you can safely do if you're not using `eslint-config-neon/vue` nor `eslint-config-neon/vue-typescript`. + +**Yarn** + +```json +{ + "resolutions": { + "eslint-plugin-vue": "npm:@favware/skip-dependency@latest" + } +} +``` + +**Pnpm** and **npm** + +```json +{ + "overrides": { + "eslint-plugin-vue": "npm:@favware/skip-dependency@latest" + } +} +``` + ### Configuration ```js @@ -95,22 +121,26 @@ export default [
```js -import { common, node, typescript, prettier } from "eslint-config-neon"; +import { common, prettier, typescript } from "eslint-config-neon"; +import merge from "lodash.merge"; -export default [ - { - ignore: ["**/dist/*"], - }, - ...common, - ...typescript, - ...node, - ...prettier, - { - languageOptions: { - project: "./tsconfig.json", - }, - }, +/** + * @type {import('@typescript-eslint/utils').TSESLint.FlatConfig.ConfigArray} + */ +const config = [ + ...[...common, ...typescript, ...prettier].map((config) => + merge(config, { + files: ["src/**/*.ts"], + languageOptions: { + parserOptions: { + project: "tsconfig.eslint.json", + }, + }, + }), + ), ]; + +export default config; ```
@@ -157,39 +187,34 @@ export default [ Next: +Note: For Vite this is the same setup, just exclude the next config. + ```js -import { common, browser, node, typescript, react, next, edge, prettier } from "eslint-config-neon"; +import { browser, common, edge, next, node, prettier, react, typescript } from "eslint-config-neon"; +import merge from "lodash.merge"; -export default [ - { - ignore: ["**/dist/*"], - }, - ...common, - ...browser, - ...node, - ...typescript, - ...react, - ...next, - ...edge, - ...prettier, - { - settings: { - react: { - version: "detect", +/** + * @type {import('@typescript-eslint/utils').TSESLint.FlatConfig.ConfigArray} + */ +const config = [ + ...[...common, ...browser, ...node, ...typescript, ...react, ...next, ...edge, ...prettier].map((config) => + merge(config, { + files: ["src/**/*.ts"], + settings: { + react: { + version: "detect", + }, }, - }, - languageOptions: { - project: "./tsconfig.json", - parserOptions: { - project: "./tsconfig.json", + languageOptions: { + parserOptions: { + project: "tsconfig.json", + }, }, - }, - rules: { - "react/react-in-jsx-scope": 0, - "react/jsx-filename-extension": [1, { extensions: [".tsx"] }], - }, - }, + }), + ), ]; + +export default config; ```
diff --git a/package.json b/package.json index f31f539..7eda70e 100644 --- a/package.json +++ b/package.json @@ -289,6 +289,7 @@ "eslint-plugin-jsx-a11y": "^6.8.0", "eslint-plugin-mdx": "^3.1.5", "eslint-plugin-n": "^17.8.1", + "eslint-plugin-prettier": "^5.1.3", "eslint-plugin-promise": "^6.2.0", "eslint-plugin-react": "^7.34.2", "eslint-plugin-react-hooks": "^4.6.2", diff --git a/src/prettier.ts b/src/prettier.ts index eca1c81..9717d89 100644 --- a/src/prettier.ts +++ b/src/prettier.ts @@ -1,11 +1,7 @@ import type { TSESLint } from "@typescript-eslint/utils"; -// @ts-expect-error eslint-config-prettier is not typed -import prettier from "eslint-config-prettier"; +import eslintPluginPrettierRecommended from "eslint-plugin-prettier/recommended"; const rules: TSESLint.FlatConfig.Rules = { - ...prettier.rules, - - "arrow-body-style": 0, "line-comment-position": 0, "no-inline-comments": 0, }; @@ -14,6 +10,7 @@ const config: TSESLint.FlatConfig.ConfigArray = [ { rules, }, + eslintPluginPrettierRecommended, ]; export default config; From 95d527a1fba8390f36001d9329d0552f5dab23ee Mon Sep 17 00:00:00 2001 From: Jeroen Claassens Date: Tue, 2 Jul 2024 17:29:42 +0200 Subject: [PATCH 21/21] fix: disable `unicorn/consistent-function-scoping` for jsx/react --- src/jsx.ts | 4 +++- src/react.ts | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/jsx.ts b/src/jsx.ts index bf16c6c..369da68 100644 --- a/src/jsx.ts +++ b/src/jsx.ts @@ -106,8 +106,10 @@ const rules: TSESLint.FlatConfig.Rules = { // React Refresh "react-refresh/only-export-components": 1, -}; + // Unicorn + "unicorn/consistent-function-scoping": 0, // We disable this because in React it's a common thing to have functions in functions +}; const settings: TSESLint.FlatConfig.Settings = { "import-x/extensions": [".js", ".jsx"], diff --git a/src/react.ts b/src/react.ts index 363c1b3..6211584 100644 --- a/src/react.ts +++ b/src/react.ts @@ -83,6 +83,9 @@ const rules: TSESLint.FlatConfig.Rules = { // React Refresh "react-refresh/only-export-components": 1, + + // Unicorn + 'unicorn/consistent-function-scoping': 0 // We disable this because in React it's a common thing to have functions in functions }; const settings: TSESLint.FlatConfig.Settings = {