From 890332f7e17b618113729251ee79376411cf094d Mon Sep 17 00:00:00 2001 From: Liam Rella Date: Mon, 9 Sep 2024 13:24:37 +0930 Subject: [PATCH 01/23] reset to version 1.0.0 --- package.json | 2 +- packages/cspell-config/package.json | 2 +- packages/eslint-config/package.json | 2 +- packages/mdat-config/package.json | 2 +- packages/prettier-config/package.json | 2 +- packages/remark-config/package.json | 2 +- packages/repo-config/package.json | 2 +- packages/shared-config/package.json | 2 +- packages/stylelint-config/package.json | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 0112691..3d18a21 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "root", - "version": "4.7.5", + "version": "1.0.0", "type": "module", "description": "A single dependency and single command to configure and run various code linters and tools.", "repository": { diff --git a/packages/cspell-config/package.json b/packages/cspell-config/package.json index e08100e..12a1cfa 100644 --- a/packages/cspell-config/package.json +++ b/packages/cspell-config/package.json @@ -1,6 +1,6 @@ { "name": "@kitschpatrol/cspell-config", - "version": "4.7.5", + "version": "1.0.0", "type": "module", "description": "CSpell configuration for @kitschpatrol/shared-config.", "repository": { diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index 5105edf..eda7877 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -1,6 +1,6 @@ { "name": "@kitschpatrol/eslint-config", - "version": "4.7.5", + "version": "1.0.0", "type": "module", "description": "ESLint configuration for @kitschpatrol/shared-config.", "repository": { diff --git a/packages/mdat-config/package.json b/packages/mdat-config/package.json index d51a7aa..1cfa1f3 100644 --- a/packages/mdat-config/package.json +++ b/packages/mdat-config/package.json @@ -1,6 +1,6 @@ { "name": "@kitschpatrol/mdat-config", - "version": "4.7.5", + "version": "1.0.0", "type": "module", "description": "MDAT configuration for @kitschpatrol/shared-config.", "repository": { diff --git a/packages/prettier-config/package.json b/packages/prettier-config/package.json index 455d76e..9d12070 100644 --- a/packages/prettier-config/package.json +++ b/packages/prettier-config/package.json @@ -1,6 +1,6 @@ { "name": "@kitschpatrol/prettier-config", - "version": "4.7.5", + "version": "1.0.0", "type": "module", "description": "Prettier configuration for @kitschpatrol/shared-config.", "repository": { diff --git a/packages/remark-config/package.json b/packages/remark-config/package.json index c456da5..a975527 100644 --- a/packages/remark-config/package.json +++ b/packages/remark-config/package.json @@ -1,6 +1,6 @@ { "name": "@kitschpatrol/remark-config", - "version": "4.7.5", + "version": "1.0.0", "type": "module", "description": "Markdown and MDX linting for @kitschpatrol/shared-config.", "repository": { diff --git a/packages/repo-config/package.json b/packages/repo-config/package.json index d648573..361687e 100644 --- a/packages/repo-config/package.json +++ b/packages/repo-config/package.json @@ -1,6 +1,6 @@ { "name": "@kitschpatrol/repo-config", - "version": "4.7.5", + "version": "1.0.0", "type": "module", "description": "Repository configuration and GitHub workflows for @kitschpatrol/shared-config.", "repository": { diff --git a/packages/shared-config/package.json b/packages/shared-config/package.json index 06a8be9..7bc5bc2 100644 --- a/packages/shared-config/package.json +++ b/packages/shared-config/package.json @@ -1,6 +1,6 @@ { "name": "@kitschpatrol/shared-config", - "version": "4.7.5", + "version": "1.0.0", "type": "module", "description": "A collection of shared configurations for various linters and formatting tools. All managed as a single dependency, and invoked via a single command.", "repository": { diff --git a/packages/stylelint-config/package.json b/packages/stylelint-config/package.json index 3d689f9..801cb58 100644 --- a/packages/stylelint-config/package.json +++ b/packages/stylelint-config/package.json @@ -1,6 +1,6 @@ { "name": "@kitschpatrol/stylelint-config", - "version": "4.7.5", + "version": "1.0.0", "type": "module", "description": "Stylelint configuration for @kitschpatrol/shared-config.", "repository": { From 28dca9e18af5fb17bfaf5acf86cf83fe2442720c Mon Sep 17 00:00:00 2001 From: Liam Rella Date: Mon, 9 Sep 2024 13:41:43 +0930 Subject: [PATCH 02/23] update namespaces --- .cspell.json | 2 +- .eslintignore | 4 +- .eslintrc.cjs | 2 +- .gitignore | 2 +- .mdatrc.ts | 2 +- .npmrc | 4 +- .prettierignore | 4 +- .prettierrc.js | 2 +- .remarkrc.js | 2 +- .stylelintrc.cjs | 2 +- package.json | 30 +++++++------- packages/cspell-config/init/.cspell.json | 2 +- packages/cspell-config/package.json | 16 ++++---- packages/cspell-config/readme.md | 20 +++++----- packages/eslint-config/init/.eslintignore | 4 +- packages/eslint-config/init/.eslintrc.cjs | 2 +- packages/eslint-config/package.json | 16 ++++---- packages/eslint-config/readme.md | 16 ++++---- packages/mdat-config/init/.mdatrc.ts | 2 +- packages/mdat-config/mdat.config.ts | 2 +- packages/mdat-config/package.json | 16 ++++---- packages/mdat-config/readme.md | 16 ++++---- packages/prettier-config/init/.prettierignore | 4 +- packages/prettier-config/init/.prettierrc.js | 2 +- packages/prettier-config/package.json | 16 ++++---- packages/prettier-config/readme.md | 16 ++++---- packages/remark-config/init/.remarkrc.js | 2 +- packages/remark-config/package.json | 16 ++++---- packages/remark-config/readme.md | 18 ++++----- packages/repo-config/init/.gitignore | 2 +- packages/repo-config/init/.npmrc | 4 +- packages/repo-config/package.json | 16 ++++---- packages/repo-config/readme.md | 18 ++++----- packages/shared-config/package.json | 28 ++++++------- packages/shared-config/readme.md | 38 +++++++++--------- .../stylelint-config/init/.stylelintrc.cjs | 2 +- packages/stylelint-config/package.json | 16 ++++---- packages/stylelint-config/readme.md | 16 ++++---- pnpm-lock.yaml | 30 +++++++------- readme.md | 39 +++++++++---------- 40 files changed, 225 insertions(+), 226 deletions(-) diff --git a/.cspell.json b/.cspell.json index b741efb..2b04861 100644 --- a/.cspell.json +++ b/.cspell.json @@ -1,4 +1,4 @@ { - "import": "@kitschpatrol/cspell-config", + "import": "@envsa/cspell-config", "ignorePaths": ["/packages/*/init/*.json", "/packages/*/bin"] } diff --git a/.eslintignore b/.eslintignore index a47d1cf..b138f9d 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,7 +1,7 @@ # ESLint Ignore # Does not inherit from .gitignore -# @kitschpatrol/repo-config boilerplate +# @envsa/repo-config boilerplate .astro/ .DS_Store .env @@ -18,7 +18,7 @@ dist/ node_modules/ vendor/ -# @kitschpatrol/eslint-config boilerplate +# @envsa/eslint-config boilerplate /patches/ # Customizations diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 7075f80..ef3437e 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -2,7 +2,7 @@ /* @type {import('eslint').Linter.Config} */ module.exports = { root: true, - extends: ['@kitschpatrol/eslint-config'], + extends: ['@envsa/eslint-config'], overrides: [ { files: ['src/**/*', 'scripts/**/*', 'packages/*/src/**/*', 'packages/*/scripts/**/*'], diff --git a/.gitignore b/.gitignore index d101422..b46b936 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ # Git Ignore # Also used by CSpell and Stylelint -# @kitschpatrol/repo-config boilerplate +# @envsa/repo-config boilerplate .astro/ .DS_Store .env diff --git a/.mdatrc.ts b/.mdatrc.ts index 5b627b7..9893a18 100644 --- a/.mdatrc.ts +++ b/.mdatrc.ts @@ -1,4 +1,4 @@ -import mdatConfig from '@kitschpatrol/mdat-config' +import mdatConfig from '@envsa/mdat-config' import { mergeConfigs } from 'mdat' export default mergeConfigs(mdatConfig, { diff --git a/.npmrc b/.npmrc index 95441b0..f06a2bd 100644 --- a/.npmrc +++ b/.npmrc @@ -1,7 +1,7 @@ publish-branch=main -# Required for using @kitschpatrol/shared-config with pnpm -public-hoist-pattern[]=@kitschpatrol/repo-config +# Required for using @envsa/shared-config with pnpm +public-hoist-pattern[]=@envsa/repo-config public-hoist-pattern[]=*cspell* public-hoist-pattern[]=*eslint* public-hoist-pattern[]=*mdat* diff --git a/.prettierignore b/.prettierignore index a34dc99..7bc25f7 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,7 +1,7 @@ # Prettier Ignore # Does not inherit from .gitignore -# @kitschpatrol/repo-config boilerplate +# @envsa/repo-config boilerplate .astro/ .DS_Store .env @@ -18,7 +18,7 @@ dist/ node_modules/ vendor/ -# @kitschpatrol/prettier-config boilerplate +# @envsa/prettier-config boilerplate pnpm-lock.yaml package-lock.json diff --git a/.prettierrc.js b/.prettierrc.js index b60d8e3..c3c1a26 100644 --- a/.prettierrc.js +++ b/.prettierrc.js @@ -1,4 +1,4 @@ -import sharedConfig from '@kitschpatrol/prettier-config' +import sharedConfig from '@envsa/prettier-config' /** @type {import("prettier").Config} */ const localConfig = { diff --git a/.remarkrc.js b/.remarkrc.js index aa921bc..36f7a5f 100644 --- a/.remarkrc.js +++ b/.remarkrc.js @@ -1,4 +1,4 @@ -import sharedConfig, { overrideRules } from '@kitschpatrol/remark-config' +import sharedConfig, { overrideRules } from '@envsa/remark-config' const localConfig = { ...sharedConfig, diff --git a/.stylelintrc.cjs b/.stylelintrc.cjs index 8ec9ed0..8ec9ddb 100644 --- a/.stylelintrc.cjs +++ b/.stylelintrc.cjs @@ -1,4 +1,4 @@ module.exports = { - extends: ['@kitschpatrol/stylelint-config'], + extends: ['@envsa/stylelint-config'], // Overrides } diff --git a/package.json b/package.json index 3d18a21..ea3d5b1 100644 --- a/package.json +++ b/package.json @@ -5,17 +5,17 @@ "description": "A single dependency and single command to configure and run various code linters and tools.", "repository": { "type": "git", - "url": "git@github.com:kitschpatrol/shared-config.git" + "url": "git@github.com:envsa/shared-config.git" }, - "homepage": "https://github.com/kitschpatrol/shared-config", + "homepage": "https://github.com/envsa/shared-config", "bugs": { - "url": "https://github.com/kitschpatrol/shared-config/issues", - "email": "eric@ericmika.com" + "url": "https://github.com/envsa/shared-config/issues", + "email": "DEW.ICTWebServices@sa.gov.au" }, "author": { - "name": "Eric Mika", - "email": "eric@ericmika.com", - "url": "https://ericmika.com" + "name": "Liam Rella", + "email": "DEW.ICTWebServices@sa.gov.au", + "url": "https://github.com/rellafella" }, "license": "MIT", "private": true, @@ -52,14 +52,14 @@ "release": "pnpm bumpp -r --commit 'Release: %s' --tag 'v%s' && pnpm -r publish --otp $(op read 'op://Personal/Npmjs/one-time password?attribute=otp')" }, "devDependencies": { - "@kitschpatrol/cspell-config": "workspace:*", - "@kitschpatrol/eslint-config": "workspace:*", - "@kitschpatrol/mdat-config": "workspace:*", - "@kitschpatrol/prettier-config": "workspace:*", - "@kitschpatrol/remark-config": "workspace:*", - "@kitschpatrol/repo-config": "workspace:*", - "@kitschpatrol/shared-config": "workspace:*", - "@kitschpatrol/stylelint-config": "workspace:*", + "@envsa/cspell-config": "workspace:*", + "@envsa/eslint-config": "workspace:*", + "@envsa/mdat-config": "workspace:*", + "@envsa/prettier-config": "workspace:*", + "@envsa/remark-config": "workspace:*", + "@envsa/repo-config": "workspace:*", + "@envsa/shared-config": "workspace:*", + "@envsa/stylelint-config": "workspace:*", "@pinojs/json-colorizer": "^4.0.0", "@types/fs-extra": "^11.0.4", "@types/node": "^20.16.5", diff --git a/packages/cspell-config/init/.cspell.json b/packages/cspell-config/init/.cspell.json index fa9890f..c9f6022 100644 --- a/packages/cspell-config/init/.cspell.json +++ b/packages/cspell-config/init/.cspell.json @@ -1,6 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json", - "import": "@kitschpatrol/cspell-config", + "import": "@envsa/cspell-config", "ignorePaths": [], "words": [] } diff --git a/packages/cspell-config/package.json b/packages/cspell-config/package.json index 12a1cfa..bf68eba 100644 --- a/packages/cspell-config/package.json +++ b/packages/cspell-config/package.json @@ -1,21 +1,21 @@ { - "name": "@kitschpatrol/cspell-config", + "name": "@envsa/cspell-config", "version": "1.0.0", "type": "module", - "description": "CSpell configuration for @kitschpatrol/shared-config.", + "description": "CSpell configuration for @envsa/shared-config.", "repository": { "type": "git", - "url": "git@github.com:kitschpatrol/shared-config.git", + "url": "git@github.com:envsa/shared-config.git", "directory": "packages/cspell-config" }, "bugs": { - "url": "https://github.com/kitschpatrol/shared-config/issues", - "email": "eric@ericmika.com" + "url": "https://github.com/envsa/shared-config/issues", + "email": "DEW.ICTWebServices@sa.gov.au" }, "author": { - "name": "Eric Mika", - "email": "eric@ericmika.com", - "url": "https://ericmika.com" + "name": "Liam Rella", + "email": "DEW.ICTWebServices@sa.gov.au", + "url": "https://github.com/rellafella" }, "license": "MIT", "engines": { diff --git a/packages/cspell-config/readme.md b/packages/cspell-config/readme.md index eff092b..3d6b171 100644 --- a/packages/cspell-config/readme.md +++ b/packages/cspell-config/readme.md @@ -2,20 +2,20 @@ -# @kitschpatrol/cspell-config +# @envsa/cspell-config -[![NPM Package @kitschpatrol/cspell-config](https://img.shields.io/npm/v/@kitschpatrol/cspell-config.svg)](https://npmjs.com/package/@kitschpatrol/cspell-config) +[![NPM Package @envsa/cspell-config](https://img.shields.io/npm/v/@envsa/cspell-config.svg)](https://npmjs.com/package/@envsa/cspell-config) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) -**CSpell configuration for @kitschpatrol/shared-config.** +**CSpell configuration for @envsa/shared-config.** @@ -23,7 +23,7 @@ It's a shared [CSpell](https://cspell.org) config. -**See [`@kitschpatrol/shared-config`](https://www.npmjs.com/package/@kitschpatrol/shared-config) for the recommended single-package approach.** +**See [`@envsa/shared-config`](https://www.npmjs.com/package/@envsa/shared-config) for the recommended single-package approach.** ## Setup @@ -32,13 +32,13 @@ To use just this CSpell config in isolation: 1. Install the `.npmrc` in your project root. This is required for correct PNPM behavior: ```sh - pnpm dlx @kitschpatrol/repo-config --init + pnpm dlx @envsa/repo-config --init ``` 2. Add the package: ```sh - pnpm add -D @kitschpatrol/cspell-config + pnpm add -D @envsa/cspell-config ``` 3. Add the starter `.cspell.json` file to your project root, and add any customizations you'd like: @@ -67,7 +67,7 @@ Integrate with your `package.json` scripts as you see fit, for example: #### Command: `cspell-config` -CSpell configuration for @kitschpatrol/shared-config. +CSpell configuration for @envsa/shared-config. Usage: @@ -113,7 +113,7 @@ For example, do disable the `kp-acronyms` and `kp-brands` dictionaries: ```json { - "import": "@kitschpatrol/cspell-config", + "import": "@envsa/cspell-config", "dictionaries": [ "!kp-acronyms", "!kp-brands" @@ -128,7 +128,7 @@ In your project's root `.cspell.json`: ```json { - "import": "@kitschpatrol/cspell-config", + "import": "@envsa/cspell-config", "words": [ "mountweazel", "steinlaus", @@ -149,6 +149,6 @@ CSpell is configured to automatically ignore files and paths in `.gitignore` (vi ## License -[MIT](license.txt) © Eric Mika +[MIT](license.txt) © Liam Rella diff --git a/packages/eslint-config/init/.eslintignore b/packages/eslint-config/init/.eslintignore index 69cb12b..766fade 100644 --- a/packages/eslint-config/init/.eslintignore +++ b/packages/eslint-config/init/.eslintignore @@ -1,7 +1,7 @@ # ESLint Ignore # Does not inherit from .gitignore -# @kitschpatrol/repo-config boilerplate +# @envsa/repo-config boilerplate .astro/ .DS_Store .env @@ -19,7 +19,7 @@ env.d.ts node_modules/ vendor/ -# @kitschpatrol/eslint-config boilerplate +# @envsa/eslint-config boilerplate /patches/ # Customizations diff --git a/packages/eslint-config/init/.eslintrc.cjs b/packages/eslint-config/init/.eslintrc.cjs index 4de3181..1dcbedb 100644 --- a/packages/eslint-config/init/.eslintrc.cjs +++ b/packages/eslint-config/init/.eslintrc.cjs @@ -2,6 +2,6 @@ /* @type {import('eslint').Linter.Config} */ module.exports = { root: true, - extends: ['@kitschpatrol/eslint-config'], + extends: ['@envsa/eslint-config'], // Overrides } diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index eda7877..aca7176 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -1,21 +1,21 @@ { - "name": "@kitschpatrol/eslint-config", + "name": "@envsa/eslint-config", "version": "1.0.0", "type": "module", - "description": "ESLint configuration for @kitschpatrol/shared-config.", + "description": "ESLint configuration for @envsa/shared-config.", "repository": { "type": "git", - "url": "git@github.com:kitschpatrol/shared-config.git", + "url": "git@github.com:envsa/shared-config.git", "directory": "packages/eslint-config" }, "bugs": { - "url": "https://github.com/kitschpatrol/shared-config/issues", - "email": "eric@ericmika.com" + "url": "https://github.com/envsa/shared-config/issues", + "email": "DEW.ICTWebServices@sa.gov.au" }, "author": { - "name": "Eric Mika", - "email": "eric@ericmika.com", - "url": "https://ericmika.com" + "name": "Liam Rella", + "email": "DEW.ICTWebServices@sa.gov.au", + "url": "https://github.com/rellafella" }, "license": "MIT", "engines": { diff --git a/packages/eslint-config/readme.md b/packages/eslint-config/readme.md index d9cce26..ea2dc68 100644 --- a/packages/eslint-config/readme.md +++ b/packages/eslint-config/readme.md @@ -2,20 +2,20 @@ -# @kitschpatrol/eslint-config +# @envsa/eslint-config -[![NPM Package @kitschpatrol/eslint-config](https://img.shields.io/npm/v/@kitschpatrol/eslint-config.svg)](https://npmjs.com/package/@kitschpatrol/eslint-config) +[![NPM Package @envsa/eslint-config](https://img.shields.io/npm/v/@envsa/eslint-config.svg)](https://npmjs.com/package/@envsa/eslint-config) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) -**ESLint configuration for @kitschpatrol/shared-config.** +**ESLint configuration for @envsa/shared-config.** @@ -23,7 +23,7 @@ It's a shared [ESLint](https://eslint.org) config. -**See [`@kitschpatrol/shared-config`](https://www.npmjs.com/package/@kitschpatrol/shared-config) for the recommended single-package approach.** +**See [`@envsa/shared-config`](https://www.npmjs.com/package/@envsa/shared-config) for the recommended single-package approach.** ## Setup @@ -32,13 +32,13 @@ To use just this ESLint config in isolation: 1. Install the `.npmrc` in your project root. This is required for correct PNPM behavior: ```sh - pnpm dlx @kitschpatrol/repo-config --init + pnpm dlx @envsa/repo-config --init ``` 2. Add the package: ```sh - pnpm add -D @kitschpatrol/eslint-config + pnpm add -D @envsa/eslint-config ``` 3. Add the starter `.eslintrc.cjs` config and `.eslintignore` files to your project root, and add any overrides you'd like: @@ -68,7 +68,7 @@ Integrate with your `package.json` scripts as you see fit, for example: #### Command: `eslint-config` -ESLint configuration for @kitschpatrol/shared-config. +ESLint configuration for @envsa/shared-config. Usage: @@ -99,6 +99,6 @@ This shared config will also initialize a `tsconfig.json` and a `tsconfig.eslint ## License -[MIT](license.txt) © Eric Mika +[MIT](license.txt) © Liam Rella diff --git a/packages/mdat-config/init/.mdatrc.ts b/packages/mdat-config/init/.mdatrc.ts index 5b627b7..9893a18 100644 --- a/packages/mdat-config/init/.mdatrc.ts +++ b/packages/mdat-config/init/.mdatrc.ts @@ -1,4 +1,4 @@ -import mdatConfig from '@kitschpatrol/mdat-config' +import mdatConfig from '@envsa/mdat-config' import { mergeConfigs } from 'mdat' export default mergeConfigs(mdatConfig, { diff --git a/packages/mdat-config/mdat.config.ts b/packages/mdat-config/mdat.config.ts index 0c60820..00c8976 100644 --- a/packages/mdat-config/mdat.config.ts +++ b/packages/mdat-config/mdat.config.ts @@ -3,6 +3,6 @@ import { type Config } from 'mdat' export default { rules: { 'shared-config': - '## Project configuration\n\nThis project uses [@kitschpatrol/shared-config](https://github.com/kitschpatrol/shared-config) to consolidate various linting and formatting tool configurations under a single dependency and command. (ESLint, Prettier, CSpell, etc.)', + '## Project configuration\n\nThis project uses [@envsa/shared-config](https://github.com/envsa/shared-config) to consolidate various linting and formatting tool configurations under a single dependency and command. (ESLint, Prettier, CSpell, etc.)', }, } satisfies Config diff --git a/packages/mdat-config/package.json b/packages/mdat-config/package.json index 1cfa1f3..6771cd3 100644 --- a/packages/mdat-config/package.json +++ b/packages/mdat-config/package.json @@ -1,21 +1,21 @@ { - "name": "@kitschpatrol/mdat-config", + "name": "@envsa/mdat-config", "version": "1.0.0", "type": "module", - "description": "MDAT configuration for @kitschpatrol/shared-config.", + "description": "MDAT configuration for @envsa/shared-config.", "repository": { "type": "git", - "url": "git@github.com:kitschpatrol/shared-config.git", + "url": "git@github.com:envsa/shared-config.git", "directory": "packages/mdat-config" }, "bugs": { - "url": "https://github.com/kitschpatrol/shared-config/issues", - "email": "eric@ericmika.com" + "url": "https://github.com/envsa/shared-config/issues", + "email": "DEW.ICTWebServices@sa.gov.au" }, "author": { - "name": "Eric Mika", - "email": "eric@ericmika.com", - "url": "https://ericmika.com" + "name": "Liam Rella", + "email": "DEW.ICTWebServices@sa.gov.au", + "url": "https://github.com/rellafella" }, "license": "MIT", "engines": { diff --git a/packages/mdat-config/readme.md b/packages/mdat-config/readme.md index 3dd3aa5..03a89f4 100644 --- a/packages/mdat-config/readme.md +++ b/packages/mdat-config/readme.md @@ -2,20 +2,20 @@ -# @kitschpatrol/mdat-config +# @envsa/mdat-config -[![NPM Package @kitschpatrol/mdat-config](https://img.shields.io/npm/v/@kitschpatrol/mdat-config.svg)](https://npmjs.com/package/@kitschpatrol/mdat-config) +[![NPM Package @envsa/mdat-config](https://img.shields.io/npm/v/@envsa/mdat-config.svg)](https://npmjs.com/package/@envsa/mdat-config) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) -**MDAT configuration for @kitschpatrol/shared-config.** +**MDAT configuration for @envsa/shared-config.** @@ -23,7 +23,7 @@ It's a shared [MDAT (Markdown Autophagic Template)](https://github.com/kitschpatrol/mdat) system config. -**See [`@kitschpatrol/shared-config`](https://www.npmjs.com/package/@kitschpatrol/shared-config) for the recommended single-package approach.** +**See [`@envsa/shared-config`](https://www.npmjs.com/package/@envsa/shared-config) for the recommended single-package approach.** ## Setup @@ -32,13 +32,13 @@ To use just `mdat-config` in isolation: 1. Install the `.npmrc` in your project root. This is required for correct PNPM behavior: ```sh - pnpm dlx @kitschpatrol/repo-config --init + pnpm dlx @envsa/repo-config --init ``` 2. Add the package: ```sh - pnpm add -D @kitschpatrol/mdat-config + pnpm add -D @envsa/mdat-config ``` 3. Add the starter `.mdatrc.ts` file to your project root, and add any customizations you'd like: @@ -72,7 +72,7 @@ It runs `mdat readme expand` to expand placeholder comments in your readme.md us #### Command: `mdat-config` -MDAT configuration for @kitschpatrol/shared-config. +MDAT configuration for @envsa/shared-config. Usage: @@ -95,6 +95,6 @@ mdat-config [ ...] ## License -[MIT](license.txt) © Eric Mika +[MIT](license.txt) © Liam Rella diff --git a/packages/prettier-config/init/.prettierignore b/packages/prettier-config/init/.prettierignore index d18c860..c701c62 100644 --- a/packages/prettier-config/init/.prettierignore +++ b/packages/prettier-config/init/.prettierignore @@ -1,7 +1,7 @@ # Prettier Ignore # Does not inherit from .gitignore -# @kitschpatrol/repo-config boilerplate +# @envsa/repo-config boilerplate .astro/ .DS_Store .svelte-kit/ @@ -15,7 +15,7 @@ dist/ node_modules/ vendor/ -# @kitschpatrol/prettier-config boilerplate +# @envsa/prettier-config boilerplate pnpm-lock.yaml package-lock.json diff --git a/packages/prettier-config/init/.prettierrc.js b/packages/prettier-config/init/.prettierrc.js index b60d8e3..c3c1a26 100644 --- a/packages/prettier-config/init/.prettierrc.js +++ b/packages/prettier-config/init/.prettierrc.js @@ -1,4 +1,4 @@ -import sharedConfig from '@kitschpatrol/prettier-config' +import sharedConfig from '@envsa/prettier-config' /** @type {import("prettier").Config} */ const localConfig = { diff --git a/packages/prettier-config/package.json b/packages/prettier-config/package.json index 9d12070..2bebe6e 100644 --- a/packages/prettier-config/package.json +++ b/packages/prettier-config/package.json @@ -1,21 +1,21 @@ { - "name": "@kitschpatrol/prettier-config", + "name": "@envsa/prettier-config", "version": "1.0.0", "type": "module", - "description": "Prettier configuration for @kitschpatrol/shared-config.", + "description": "Prettier configuration for @envsa/shared-config.", "repository": { "type": "git", - "url": "git@github.com:kitschpatrol/shared-config.git", + "url": "git@github.com:envsa/shared-config.git", "directory": "packages/prettier-config" }, "bugs": { - "url": "https://github.com/kitschpatrol/shared-config/issues", - "email": "eric@ericmika.com" + "url": "https://github.com/envsa/shared-config/issues", + "email": "DEW.ICTWebServices@sa.gov.au" }, "author": { - "name": "Eric Mika", - "email": "eric@ericmika.com", - "url": "https://ericmika.com" + "name": "Liam Rella", + "email": "DEW.ICTWebServices@sa.gov.au", + "url": "https://github.com/rellafella" }, "license": "MIT", "engines": { diff --git a/packages/prettier-config/readme.md b/packages/prettier-config/readme.md index 318a042..ca8bd3d 100644 --- a/packages/prettier-config/readme.md +++ b/packages/prettier-config/readme.md @@ -2,20 +2,20 @@ -# @kitschpatrol/prettier-config +# @envsa/prettier-config -[![NPM Package @kitschpatrol/prettier-config](https://img.shields.io/npm/v/@kitschpatrol/prettier-config.svg)](https://npmjs.com/package/@kitschpatrol/prettier-config) +[![NPM Package @envsa/prettier-config](https://img.shields.io/npm/v/@envsa/prettier-config.svg)](https://npmjs.com/package/@envsa/prettier-config) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) -**Prettier configuration for @kitschpatrol/shared-config.** +**Prettier configuration for @envsa/shared-config.** @@ -23,7 +23,7 @@ It's a shared [Prettier](https://prettier.io) config. -**See [`@kitschpatrol/shared-config`](https://www.npmjs.com/package/@kitschpatrol/shared-config) for the recommended single-package approach.** +**See [`@envsa/shared-config`](https://www.npmjs.com/package/@envsa/shared-config) for the recommended single-package approach.** ## Setup @@ -32,13 +32,13 @@ To use just this Prettier config in isolation: 1. Install the `.npmrc` in your project root. This is required for correct PNPM behavior: ```sh - pnpm dlx @kitschpatrol/repo-config --init + pnpm dlx @envsa/repo-config --init ``` 2. Add the package: ```sh - pnpm add -D @kitschpatrol/prettier-config + pnpm add -D @envsa/prettier-config ``` 3. Add the starter `.prettierrc.js` and `.prettierignore` files to your project root, and add any customizations you'd like: @@ -70,7 +70,7 @@ You might need to pass certain plugins in explicitly. The `shared-config --fix` #### Command: `prettier-config` -Prettier configuration for @kitschpatrol/shared-config. +Prettier configuration for @envsa/shared-config. Usage: @@ -105,6 +105,6 @@ Note: Do _not_ add `plugins: ['prettier-plugin-ruby']` to the per-file scope, it ## License -[MIT](license.txt) © Eric Mika +[MIT](license.txt) © Liam Rella diff --git a/packages/remark-config/init/.remarkrc.js b/packages/remark-config/init/.remarkrc.js index 8b5f18a..84456b1 100644 --- a/packages/remark-config/init/.remarkrc.js +++ b/packages/remark-config/init/.remarkrc.js @@ -1,4 +1,4 @@ -import sharedConfig, { overrideRules } from '@kitschpatrol/remark-config' +import sharedConfig, { overrideRules } from '@envsa/remark-config' const localConfig = { ...sharedConfig, diff --git a/packages/remark-config/package.json b/packages/remark-config/package.json index a975527..10af261 100644 --- a/packages/remark-config/package.json +++ b/packages/remark-config/package.json @@ -1,21 +1,21 @@ { - "name": "@kitschpatrol/remark-config", + "name": "@envsa/remark-config", "version": "1.0.0", "type": "module", - "description": "Markdown and MDX linting for @kitschpatrol/shared-config.", + "description": "Markdown and MDX linting for @envsa/shared-config.", "repository": { "type": "git", - "url": "git@github.com:kitschpatrol/shared-config.git", + "url": "git@github.com:envsa/shared-config.git", "directory": "packages/remark-config" }, "bugs": { - "url": "https://github.com/kitschpatrol/shared-config/issues", - "email": "eric@ericmika.com" + "url": "https://github.com/envsa/shared-config/issues", + "email": "DEW.ICTWebServices@sa.gov.au" }, "author": { - "name": "Eric Mika", - "email": "eric@ericmika.com", - "url": "https://ericmika.com" + "name": "Liam Rella", + "email": "DEW.ICTWebServices@sa.gov.au", + "url": "https://github.com/rellafella" }, "license": "MIT", "engines": { diff --git a/packages/remark-config/readme.md b/packages/remark-config/readme.md index a137c53..ad4f4fc 100644 --- a/packages/remark-config/readme.md +++ b/packages/remark-config/readme.md @@ -2,20 +2,20 @@ -# @kitschpatrol/remark-config +# @envsa/remark-config -[![NPM Package @kitschpatrol/remark-config](https://img.shields.io/npm/v/@kitschpatrol/remark-config.svg)](https://npmjs.com/package/@kitschpatrol/remark-config) +[![NPM Package @envsa/remark-config](https://img.shields.io/npm/v/@envsa/remark-config.svg)](https://npmjs.com/package/@envsa/remark-config) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) -**Markdown and MDX linting for @kitschpatrol/shared-config.** +**Markdown and MDX linting for @envsa/shared-config.** @@ -23,7 +23,7 @@ It's a shared [Remark](https://github.com/remarkjs/remark/blob/main/packages/remark-cli/readme.md#example-config-files-json-yaml-js) config for linting. -**See [`@kitschpatrol/shared-config`](https://www.npmjs.com/package/@kitschpatrol/shared-config) for the recommended single-package approach.** +**See [`@envsa/shared-config`](https://www.npmjs.com/package/@envsa/shared-config) for the recommended single-package approach.** ## Setup @@ -32,13 +32,13 @@ To use just this Remark config in isolation: 1. Install the `.npmrc` in your project root. This is required for correct PNPM behavior: ```sh - pnpm dlx @kitschpatrol/repo-config --init + pnpm dlx @envsa/repo-config --init ``` 2. Add the package: ```sh - pnpm add -D @kitschpatrol/remark-config + pnpm add -D @envsa/remark-config ``` 3. Add the starter `.remarkrc.js` and files to your project root, and add any customizations you'd like: @@ -67,7 +67,7 @@ Integrate with your `package.json` scripts as you see fit, for example: #### Command: `remark-config` -Markdown and MDX linting for @kitschpatrol/shared-config. +Markdown and MDX linting for @envsa/shared-config. Usage: @@ -102,7 +102,7 @@ To fix this, pass the `repository: false` option in your `.remarkrc.js` file: ```js // .remarkrc.js -import sharedConfig, { overrideRules } from '@kitschpatrol/remark-config' +import sharedConfig, { overrideRules } from '@envsa/remark-config' const localConfig = { ...sharedConfig, @@ -116,6 +116,6 @@ export default localConfig ## License -[MIT](license.txt) © Eric Mika +[MIT](license.txt) © Liam Rella diff --git a/packages/repo-config/init/.gitignore b/packages/repo-config/init/.gitignore index d101422..b46b936 100644 --- a/packages/repo-config/init/.gitignore +++ b/packages/repo-config/init/.gitignore @@ -1,7 +1,7 @@ # Git Ignore # Also used by CSpell and Stylelint -# @kitschpatrol/repo-config boilerplate +# @envsa/repo-config boilerplate .astro/ .DS_Store .env diff --git a/packages/repo-config/init/.npmrc b/packages/repo-config/init/.npmrc index 95441b0..f06a2bd 100644 --- a/packages/repo-config/init/.npmrc +++ b/packages/repo-config/init/.npmrc @@ -1,7 +1,7 @@ publish-branch=main -# Required for using @kitschpatrol/shared-config with pnpm -public-hoist-pattern[]=@kitschpatrol/repo-config +# Required for using @envsa/shared-config with pnpm +public-hoist-pattern[]=@envsa/repo-config public-hoist-pattern[]=*cspell* public-hoist-pattern[]=*eslint* public-hoist-pattern[]=*mdat* diff --git a/packages/repo-config/package.json b/packages/repo-config/package.json index 361687e..248092c 100644 --- a/packages/repo-config/package.json +++ b/packages/repo-config/package.json @@ -1,21 +1,21 @@ { - "name": "@kitschpatrol/repo-config", + "name": "@envsa/repo-config", "version": "1.0.0", "type": "module", - "description": "Repository configuration and GitHub workflows for @kitschpatrol/shared-config.", + "description": "Repository configuration and GitHub workflows for @envsa/shared-config.", "repository": { "type": "git", - "url": "git@github.com:kitschpatrol/shared-config.git", + "url": "git@github.com:envsa/shared-config.git", "directory": "packages/repo-config" }, "bugs": { - "url": "https://github.com/kitschpatrol/shared-config/issues", - "email": "eric@ericmika.com" + "url": "https://github.com/envsa/shared-config/issues", + "email": "DEW.ICTWebServices@sa.gov.au" }, "author": { - "name": "Eric Mika", - "email": "eric@ericmika.com", - "url": "https://ericmika.com" + "name": "Liam Rella", + "email": "DEW.ICTWebServices@sa.gov.au", + "url": "https://github.com/rellafella" }, "license": "MIT", "engines": { diff --git a/packages/repo-config/readme.md b/packages/repo-config/readme.md index 14571fb..ad391ca 100644 --- a/packages/repo-config/readme.md +++ b/packages/repo-config/readme.md @@ -2,20 +2,20 @@ -# @kitschpatrol/repo-config +# @envsa/repo-config -[![NPM Package @kitschpatrol/repo-config](https://img.shields.io/npm/v/@kitschpatrol/repo-config.svg)](https://npmjs.com/package/@kitschpatrol/repo-config) +[![NPM Package @envsa/repo-config](https://img.shields.io/npm/v/@envsa/repo-config.svg)](https://npmjs.com/package/@envsa/repo-config) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) -**Repository configuration and GitHub workflows for @kitschpatrol/shared-config.** +**Repository configuration and GitHub workflows for @envsa/shared-config.** @@ -32,9 +32,9 @@ This includes the following: - `github-release.yml` Automates turning turning vX.X.X tags on main into GitHub releases with changelogs - `sync-metadata.yml` Populates GitHub repo metadata from package.json -In order to work around some hoisting issues related to plugin resolution in the other `@kitschpatrol/shared-config` packages, it's critical that it is applied _before_ any other `@kitschpatrol/shared-config` packages are installed. +In order to work around some hoisting issues related to plugin resolution in the other `@envsa/shared-config` packages, it's critical that it is applied _before_ any other `@envsa/shared-config` packages are installed. -**See [`@kitschpatrol/shared-config`](https://www.npmjs.com/package/@kitschpatrol/shared-config) for the recommended single-package approach.** +**See [`@envsa/shared-config`](https://www.npmjs.com/package/@envsa/shared-config) for the recommended single-package approach.** ## Setup @@ -43,7 +43,7 @@ In order to work around some hoisting issues related to plugin resolution in the If you just need to set up your `.npmrc` in anticipation of installing another shared config, you can run the script via `dlx` to copy the `.npmrc` to your home folder: ```sh -pnpm dlx @kitschpatrol/repo-config --init +pnpm dlx @envsa/repo-config --init ``` ### Installation approach @@ -53,7 +53,7 @@ Optionally, you can install the package if you think you'll ever want to regener 1. Add the package: ```sh - pnpm add -D @kitschpatrol/repo-config + pnpm add -D @envsa/repo-config ``` 2. If / when you need to regenerate the repo config files, you can run the bundled script: @@ -102,7 +102,7 @@ Note: Action dependencies have been forked. #### Command: `repo-config` -Repository configuration and GitHub workflows for @kitschpatrol/shared-config. +Repository configuration and GitHub workflows for @envsa/shared-config. Usage: @@ -123,6 +123,6 @@ repo-config [ ...] ## License -[MIT](license.txt) © Eric Mika +[MIT](license.txt) © Liam Rella diff --git a/packages/shared-config/package.json b/packages/shared-config/package.json index 7bc5bc2..b0ed472 100644 --- a/packages/shared-config/package.json +++ b/packages/shared-config/package.json @@ -1,21 +1,21 @@ { - "name": "@kitschpatrol/shared-config", + "name": "@envsa/shared-config", "version": "1.0.0", "type": "module", "description": "A collection of shared configurations for various linters and formatting tools. All managed as a single dependency, and invoked via a single command.", "repository": { "type": "git", - "url": "git@github.com:kitschpatrol/shared-config.git", + "url": "git@github.com:envsa/shared-config.git", "directory": "packages/shared-config" }, "bugs": { - "url": "https://github.com/kitschpatrol/shared-config/issues", - "email": "eric@ericmika.com" + "url": "https://github.com/envsa/shared-config/issues", + "email": "DEW.ICTWebServices@sa.gov.au" }, "author": { - "name": "Eric Mika", - "email": "eric@ericmika.com", - "url": "https://ericmika.com" + "name": "Liam Rella", + "email": "DEW.ICTWebServices@sa.gov.au", + "url": "https://github.com/rellafella" }, "license": "MIT", "engines": { @@ -47,13 +47,13 @@ "prepublishOnly": "pnpm run build" }, "dependencies": { - "@kitschpatrol/cspell-config": "workspace:*", - "@kitschpatrol/eslint-config": "workspace:*", - "@kitschpatrol/mdat-config": "workspace:*", - "@kitschpatrol/prettier-config": "workspace:*", - "@kitschpatrol/remark-config": "workspace:*", - "@kitschpatrol/repo-config": "workspace:*", - "@kitschpatrol/stylelint-config": "workspace:*", + "@envsa/cspell-config": "workspace:*", + "@envsa/eslint-config": "workspace:*", + "@envsa/mdat-config": "workspace:*", + "@envsa/prettier-config": "workspace:*", + "@envsa/remark-config": "workspace:*", + "@envsa/repo-config": "workspace:*", + "@envsa/stylelint-config": "workspace:*", "@pinojs/json-colorizer": "^4.0.0", "cosmiconfig": "^9.0.0", "execa": "^8.0.1", diff --git a/packages/shared-config/readme.md b/packages/shared-config/readme.md index aad8e80..9352795 100644 --- a/packages/shared-config/readme.md +++ b/packages/shared-config/readme.md @@ -2,13 +2,13 @@ -# 🔬 @kitschpatrol/shared-config +# 🔬 @envsa/shared-config -[![NPM Package @kitschpatrol/shared-config](https://img.shields.io/npm/v/@kitschpatrol/shared-config.svg)](https://npmjs.com/package/@kitschpatrol/shared-config) +[![NPM Package @envsa/shared-config](https://img.shields.io/npm/v/@envsa/shared-config.svg)](https://npmjs.com/package/@envsa/shared-config) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) @@ -52,17 +52,17 @@ It takes care of dependencies and configurations for the following tools: ### Packages -This readme is for the [`@kitschpatrol/shared-config`](https://www.npmjs.com/package/@kitschpatrol/shared-config) package, which depends on a number of tool-specific packages included in the [`kitschpatrol/shared-config`](https://github.com/kitschpatrol/shared-config) monorepo on GitHub, each of which is documented in its respective readme, linked below: +This readme is for the [`@envsa/shared-config`](https://www.npmjs.com/package/@envsa/shared-config) package, which depends on a number of tool-specific packages included in the [`kitschpatrol/shared-config`](https://github.com/kitschpatrol/shared-config) monorepo on GitHub, each of which is documented in its respective readme, linked below: -- [`@kitschpatrol/cspell-config`](/packages/cspell-config/readme.md) -- [`@kitschpatrol/eslint-config`](/packages/eslint-config/readme.md) -- [`@kitschpatrol/mdat-config`](/packages/mdat-config/readme.md) -- [`@kitschpatrol/prettier-config`](/packages/prettier-config/readme.md) -- [`@kitschpatrol/remark-config`](/packages/remark-config/readme.md) -- [`@kitschpatrol/repo-config`](/packages/repo-config/readme.md) -- [`@kitschpatrol/stylelint-config`](/packages/stylelint-config/readme.md) +- [`@envsa/cspell-config`](/packages/cspell-config/readme.md) +- [`@envsa/eslint-config`](/packages/eslint-config/readme.md) +- [`@envsa/mdat-config`](/packages/mdat-config/readme.md) +- [`@envsa/prettier-config`](/packages/prettier-config/readme.md) +- [`@envsa/remark-config`](/packages/remark-config/readme.md) +- [`@envsa/repo-config`](/packages/repo-config/readme.md) +- [`@envsa/stylelint-config`](/packages/stylelint-config/readme.md) -Any of these may be installed and run on their own via CLI if desired. However, in general, the idea is to use `@kitschpatrol/shared-config` to easily run them all simultaneously over a repo with a single command with options to either check or (where possible) fix problems, with output aggregated into a single report. +Any of these may be installed and run on their own via CLI if desired. However, in general, the idea is to use `@envsa/shared-config` to easily run them all simultaneously over a repo with a single command with options to either check or (where possible) fix problems, with output aggregated into a single report. ## Getting started @@ -77,7 +77,7 @@ Node 18+ and [pnpm](https://pnpm.io) are required. It probably works with NPM an Bootstrap a new project and open in VS Code: ```sh -git init && pnpm init && pnpm pkg set type="module" && pnpm dlx @kitschpatrol/repo-config --init && pnpm add -D @kitschpatrol/shared-config && pnpm shared-config --init && pnpm i && code . +git init && pnpm init && pnpm pkg set type="module" && pnpm dlx @envsa/repo-config --init && pnpm add -D @envsa/shared-config && pnpm shared-config --init && pnpm i && code . ``` #### Quick add to an existing project: @@ -85,7 +85,7 @@ git init && pnpm init && pnpm pkg set type="module" && pnpm dlx @kitschpatrol/re This might overwrite certain config files, so commit first: ```sh -pnpm dlx @kitschpatrol/repo-config --init && pnpm i && pnpm add -D @kitschpatrol/shared-config && pnpm shared-config --init +pnpm dlx @envsa/repo-config --init && pnpm i && pnpm add -D @envsa/shared-config && pnpm shared-config --init ``` #### Step-by-step: @@ -93,13 +93,13 @@ pnpm dlx @kitschpatrol/repo-config --init && pnpm i && pnpm add -D @kitschpatrol 1. Install the requisite `.npmrc`: ```sh - pnpm dlx @kitschpatrol/repo-config --init + pnpm dlx @envsa/repo-config --init ``` 2. Install the package: ```sh - pnpm add -D @kitschpatrol/shared-config + pnpm add -D @envsa/shared-config ``` 3. Add default config files for all the tools to your project root: @@ -120,7 +120,7 @@ pnpm dlx @kitschpatrol/repo-config --init && pnpm i && pnpm add -D @kitschpatrol ``` > \[!NOTE]\ - > Prettier formatting for Ruby requires some extra legwork to configure, see [`the @kitschpatrol/prettier-config` package readme](https://github.com/kitschpatrol/shared-config/blob/main/packages/prettier-config/readme.md) for more details. + > Prettier formatting for Ruby requires some extra legwork to configure, see [`the @envsa/prettier-config` package readme](https://github.com/kitschpatrol/shared-config/blob/main/packages/prettier-config/readme.md) for more details. ## Usage @@ -155,15 +155,15 @@ shared-config [ ...] | Option | Argument | Description | | ------------------------ | -------- | ---------------------------------------------------------------- | | `--check`
`-c` | | Check for and report issues. Same as `shared-config`. | +| `--fix`
`-f` | | Fix all auto-fixable issues, and report the un-fixable. | | `--init`
`-i` | | Initialize by copying starter config files to your project root. | | `--print-config`
`-p` | `` | Print the effective configuration at a certain path. | -| `--fix`
`-f` | | Fix all auto-fixable issues, and report the un-fixable. | | `--help`
`-h` | | Print this help info. | | `--version`
`-v` | | Print the package version. | -Recall that the `@kitschpatrol/shared-config` package aggregates integration and invocation of the other tool-specific packages in this monorepo. Running a cli command on `shared-config` effectively runs the same command against all the tool-specific packages. +Recall that the `@envsa/shared-config` package aggregates integration and invocation of the other tool-specific packages in this monorepo. Running a cli command on `shared-config` effectively runs the same command against all the tool-specific packages. ## Implementation notes @@ -219,6 +219,6 @@ Something to investigate: An [approach](https://github.com/antfu/eslint-config#v ## License -[MIT](license.txt) © Eric Mika +[MIT](license.txt) © Liam Rella diff --git a/packages/stylelint-config/init/.stylelintrc.cjs b/packages/stylelint-config/init/.stylelintrc.cjs index 35cf8d6..ae5d147 100644 --- a/packages/stylelint-config/init/.stylelintrc.cjs +++ b/packages/stylelint-config/init/.stylelintrc.cjs @@ -2,6 +2,6 @@ /** @type {import("stylelint").Config} */ module.exports = { - extends: ['@kitschpatrol/stylelint-config'], + extends: ['@envsa/stylelint-config'], // Overrides } diff --git a/packages/stylelint-config/package.json b/packages/stylelint-config/package.json index 801cb58..75b98c8 100644 --- a/packages/stylelint-config/package.json +++ b/packages/stylelint-config/package.json @@ -1,21 +1,21 @@ { - "name": "@kitschpatrol/stylelint-config", + "name": "@envsa/stylelint-config", "version": "1.0.0", "type": "module", - "description": "Stylelint configuration for @kitschpatrol/shared-config.", + "description": "Stylelint configuration for @envsa/shared-config.", "repository": { "type": "git", - "url": "git@github.com:kitschpatrol/shared-config.git", + "url": "git@github.com:envsa/shared-config.git", "directory": "packages/stylelint-config" }, "bugs": { - "url": "https://github.com/kitschpatrol/shared-config/issues", - "email": "eric@ericmika.com" + "url": "https://github.com/envsa/shared-config/issues", + "email": "DEW.ICTWebServices@sa.gov.au" }, "author": { - "name": "Eric Mika", - "email": "eric@ericmika.com", - "url": "https://ericmika.com" + "name": "Liam Rella", + "email": "DEW.ICTWebServices@sa.gov.au", + "url": "https://github.com/rellafella" }, "license": "MIT", "engines": { diff --git a/packages/stylelint-config/readme.md b/packages/stylelint-config/readme.md index 5691757..86a0306 100644 --- a/packages/stylelint-config/readme.md +++ b/packages/stylelint-config/readme.md @@ -2,20 +2,20 @@ -# @kitschpatrol/stylelint-config +# @envsa/stylelint-config -[![NPM Package @kitschpatrol/stylelint-config](https://img.shields.io/npm/v/@kitschpatrol/stylelint-config.svg)](https://npmjs.com/package/@kitschpatrol/stylelint-config) +[![NPM Package @envsa/stylelint-config](https://img.shields.io/npm/v/@envsa/stylelint-config.svg)](https://npmjs.com/package/@envsa/stylelint-config) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) -**Stylelint configuration for @kitschpatrol/shared-config.** +**Stylelint configuration for @envsa/shared-config.** @@ -23,7 +23,7 @@ It's a shared [Stylelint](https://stylelint.io) config. -**See [`@kitschpatrol/shared-config`](https://www.npmjs.com/package/@kitschpatrol/shared-config) for the recommended single-package approach.** +**See [`@envsa/shared-config`](https://www.npmjs.com/package/@envsa/shared-config) for the recommended single-package approach.** ## Setup @@ -32,13 +32,13 @@ To use just this Stylelint config in isolation: 1. Install the `.npmrc` in your project root. This is required for correct PNPM behavior: ```sh - pnpm dlx @kitschpatrol/repo-config --init + pnpm dlx @envsa/repo-config --init ``` 2. Add the package: ```sh - pnpm add -D @kitschpatrol/stylelint-config + pnpm add -D @envsa/stylelint-config ``` 3. Add the starter `.stylelintrc.cjs` file to your project root, and add any customizations you'd like: @@ -68,7 +68,7 @@ Integrate with your `package.json` scripts as you see fit, for example: #### Command: `stylelint-config` -Stylelint configuration for @kitschpatrol/shared-config. +Stylelint configuration for @envsa/shared-config. Usage: @@ -95,6 +95,6 @@ Ignores files in `.gitignore` ## License -[MIT](license.txt) © Eric Mika +[MIT](license.txt) © Liam Rella diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cc46114..1f5c5df 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,28 +8,28 @@ importers: .: devDependencies: - '@kitschpatrol/cspell-config': + '@envsa/cspell-config': specifier: workspace:* version: link:packages/cspell-config - '@kitschpatrol/eslint-config': + '@envsa/eslint-config': specifier: workspace:* version: link:packages/eslint-config - '@kitschpatrol/mdat-config': + '@envsa/mdat-config': specifier: workspace:* version: link:packages/mdat-config - '@kitschpatrol/prettier-config': + '@envsa/prettier-config': specifier: workspace:* version: link:packages/prettier-config - '@kitschpatrol/remark-config': + '@envsa/remark-config': specifier: workspace:* version: link:packages/remark-config - '@kitschpatrol/repo-config': + '@envsa/repo-config': specifier: workspace:* version: link:packages/repo-config - '@kitschpatrol/shared-config': + '@envsa/shared-config': specifier: workspace:* version: link:packages/shared-config - '@kitschpatrol/stylelint-config': + '@envsa/stylelint-config': specifier: workspace:* version: link:packages/stylelint-config '@pinojs/json-colorizer': @@ -398,25 +398,25 @@ importers: packages/shared-config: dependencies: - '@kitschpatrol/cspell-config': + '@envsa/cspell-config': specifier: workspace:* version: link:../cspell-config - '@kitschpatrol/eslint-config': + '@envsa/eslint-config': specifier: workspace:* version: link:../eslint-config - '@kitschpatrol/mdat-config': + '@envsa/mdat-config': specifier: workspace:* version: link:../mdat-config - '@kitschpatrol/prettier-config': + '@envsa/prettier-config': specifier: workspace:* version: link:../prettier-config - '@kitschpatrol/remark-config': + '@envsa/remark-config': specifier: workspace:* version: link:../remark-config - '@kitschpatrol/repo-config': + '@envsa/repo-config': specifier: workspace:* version: link:../repo-config - '@kitschpatrol/stylelint-config': + '@envsa/stylelint-config': specifier: workspace:* version: link:../stylelint-config '@pinojs/json-colorizer': diff --git a/readme.md b/readme.md index a8bc5fa..9352795 100644 --- a/readme.md +++ b/readme.md @@ -2,13 +2,13 @@ -# 🔬 @kitschpatrol/shared-config +# 🔬 @envsa/shared-config -[![NPM Package @kitschpatrol/shared-config](https://img.shields.io/npm/v/@kitschpatrol/shared-config.svg)](https://npmjs.com/package/@kitschpatrol/shared-config) +[![NPM Package @envsa/shared-config](https://img.shields.io/npm/v/@envsa/shared-config.svg)](https://npmjs.com/package/@envsa/shared-config) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) @@ -52,17 +52,17 @@ It takes care of dependencies and configurations for the following tools: ### Packages -This readme is for the [`@kitschpatrol/shared-config`](https://www.npmjs.com/package/@kitschpatrol/shared-config) package, which depends on a number of tool-specific packages included in the [`kitschpatrol/shared-config`](https://github.com/kitschpatrol/shared-config) monorepo on GitHub, each of which is documented in its respective readme, linked below: +This readme is for the [`@envsa/shared-config`](https://www.npmjs.com/package/@envsa/shared-config) package, which depends on a number of tool-specific packages included in the [`kitschpatrol/shared-config`](https://github.com/kitschpatrol/shared-config) monorepo on GitHub, each of which is documented in its respective readme, linked below: -- [`@kitschpatrol/cspell-config`](/packages/cspell-config/readme.md) -- [`@kitschpatrol/eslint-config`](/packages/eslint-config/readme.md) -- [`@kitschpatrol/mdat-config`](/packages/mdat-config/readme.md) -- [`@kitschpatrol/prettier-config`](/packages/prettier-config/readme.md) -- [`@kitschpatrol/remark-config`](/packages/remark-config/readme.md) -- [`@kitschpatrol/repo-config`](/packages/repo-config/readme.md) -- [`@kitschpatrol/stylelint-config`](/packages/stylelint-config/readme.md) +- [`@envsa/cspell-config`](/packages/cspell-config/readme.md) +- [`@envsa/eslint-config`](/packages/eslint-config/readme.md) +- [`@envsa/mdat-config`](/packages/mdat-config/readme.md) +- [`@envsa/prettier-config`](/packages/prettier-config/readme.md) +- [`@envsa/remark-config`](/packages/remark-config/readme.md) +- [`@envsa/repo-config`](/packages/repo-config/readme.md) +- [`@envsa/stylelint-config`](/packages/stylelint-config/readme.md) -Any of these may be installed and run on their own via CLI if desired. However, in general, the idea is to use `@kitschpatrol/shared-config` to easily run them all simultaneously over a repo with a single command with options to either check or (where possible) fix problems, with output aggregated into a single report. +Any of these may be installed and run on their own via CLI if desired. However, in general, the idea is to use `@envsa/shared-config` to easily run them all simultaneously over a repo with a single command with options to either check or (where possible) fix problems, with output aggregated into a single report. ## Getting started @@ -77,7 +77,7 @@ Node 18+ and [pnpm](https://pnpm.io) are required. It probably works with NPM an Bootstrap a new project and open in VS Code: ```sh -git init && pnpm init && pnpm pkg set type="module" && pnpm dlx @kitschpatrol/repo-config --init && pnpm add -D @kitschpatrol/shared-config && pnpm shared-config --init && pnpm i && code . +git init && pnpm init && pnpm pkg set type="module" && pnpm dlx @envsa/repo-config --init && pnpm add -D @envsa/shared-config && pnpm shared-config --init && pnpm i && code . ``` #### Quick add to an existing project: @@ -85,7 +85,7 @@ git init && pnpm init && pnpm pkg set type="module" && pnpm dlx @kitschpatrol/re This might overwrite certain config files, so commit first: ```sh -pnpm dlx @kitschpatrol/repo-config --init && pnpm i && pnpm add -D @kitschpatrol/shared-config && pnpm shared-config --init +pnpm dlx @envsa/repo-config --init && pnpm i && pnpm add -D @envsa/shared-config && pnpm shared-config --init ``` #### Step-by-step: @@ -93,13 +93,13 @@ pnpm dlx @kitschpatrol/repo-config --init && pnpm i && pnpm add -D @kitschpatrol 1. Install the requisite `.npmrc`: ```sh - pnpm dlx @kitschpatrol/repo-config --init + pnpm dlx @envsa/repo-config --init ``` 2. Install the package: ```sh - pnpm add -D @kitschpatrol/shared-config + pnpm add -D @envsa/shared-config ``` 3. Add default config files for all the tools to your project root: @@ -120,7 +120,7 @@ pnpm dlx @kitschpatrol/repo-config --init && pnpm i && pnpm add -D @kitschpatrol ``` > \[!NOTE]\ - > Prettier formatting for Ruby requires some extra legwork to configure, see [`the @kitschpatrol/prettier-config` package readme](https://github.com/kitschpatrol/shared-config/blob/main/packages/prettier-config/readme.md) for more details. + > Prettier formatting for Ruby requires some extra legwork to configure, see [`the @envsa/prettier-config` package readme](https://github.com/kitschpatrol/shared-config/blob/main/packages/prettier-config/readme.md) for more details. ## Usage @@ -155,15 +155,15 @@ shared-config [ ...] | Option | Argument | Description | | ------------------------ | -------- | ---------------------------------------------------------------- | | `--check`
`-c` | | Check for and report issues. Same as `shared-config`. | +| `--fix`
`-f` | | Fix all auto-fixable issues, and report the un-fixable. | | `--init`
`-i` | | Initialize by copying starter config files to your project root. | | `--print-config`
`-p` | `` | Print the effective configuration at a certain path. | -| `--fix`
`-f` | | Fix all auto-fixable issues, and report the un-fixable. | | `--help`
`-h` | | Print this help info. | | `--version`
`-v` | | Print the package version. | -Recall that the `@kitschpatrol/shared-config` package aggregates integration and invocation of the other tool-specific packages in this monorepo. Running a cli command on `shared-config` effectively runs the same command against all the tool-specific packages. +Recall that the `@envsa/shared-config` package aggregates integration and invocation of the other tool-specific packages in this monorepo. Running a cli command on `shared-config` effectively runs the same command against all the tool-specific packages. ## Implementation notes @@ -219,7 +219,6 @@ Something to investigate: An [approach](https://github.com/antfu/eslint-config#v ## License -[MIT](license.txt) © Eric Mika +[MIT](license.txt) © Liam Rella - From 3eac264a8ed40298cd5c6dbfd577fae4e617c662 Mon Sep 17 00:00:00 2001 From: Liam Rella Date: Mon, 9 Sep 2024 14:34:05 +0930 Subject: [PATCH 03/23] update license and attribution --- license.txt | 4 +++- packages/cspell-config/license.txt | 4 +++- packages/cspell-config/readme.md | 4 ++++ packages/eslint-config/license.txt | 4 +++- packages/eslint-config/readme.md | 4 ++++ packages/mdat-config/license.txt | 4 +++- packages/mdat-config/readme.md | 4 ++++ packages/prettier-config/license.txt | 4 +++- packages/prettier-config/readme.md | 4 ++++ packages/remark-config/license.txt | 4 +++- packages/remark-config/readme.md | 4 ++++ packages/repo-config/license.txt | 4 +++- packages/repo-config/readme.md | 10 +++++++--- packages/shared-config/license.txt | 4 +++- packages/shared-config/readme.md | 26 ++++---------------------- packages/stylelint-config/license.txt | 4 +++- packages/stylelint-config/readme.md | 4 ++++ readme.md | 26 ++++---------------------- 18 files changed, 66 insertions(+), 56 deletions(-) diff --git a/license.txt b/license.txt index bc47b30..4097ab1 100644 --- a/license.txt +++ b/license.txt @@ -1,6 +1,8 @@ MIT License -Copyright (c) 2023-2024 Eric Mika +Copyright (c) 2024 Liam Rella + +Based on the MIT-licensed "@kitschpatrol/shared-config" project by Eric Mika Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/packages/cspell-config/license.txt b/packages/cspell-config/license.txt index bc47b30..4097ab1 100644 --- a/packages/cspell-config/license.txt +++ b/packages/cspell-config/license.txt @@ -1,6 +1,8 @@ MIT License -Copyright (c) 2023-2024 Eric Mika +Copyright (c) 2024 Liam Rella + +Based on the MIT-licensed "@kitschpatrol/shared-config" project by Eric Mika Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/packages/cspell-config/readme.md b/packages/cspell-config/readme.md index 3d6b171..4f9a46d 100644 --- a/packages/cspell-config/readme.md +++ b/packages/cspell-config/readme.md @@ -145,6 +145,10 @@ This config includes a bunch of words I've happened to have needed to use. Your CSpell is configured to automatically ignore files and paths in `.gitignore` (via `"useGitignore": true`), and to ignore words inside of ` ``` ` code fences in markdown and mdx files. +## Credits + +[Eric Mika](https://github.com/kitschpatrol) is the author of the original [@kitschpatrol/shared-config](https://github.com/kitschpatrol/shared-config) project on which this is based. + ## License diff --git a/packages/eslint-config/license.txt b/packages/eslint-config/license.txt index bc47b30..4097ab1 100644 --- a/packages/eslint-config/license.txt +++ b/packages/eslint-config/license.txt @@ -1,6 +1,8 @@ MIT License -Copyright (c) 2023-2024 Eric Mika +Copyright (c) 2024 Liam Rella + +Based on the MIT-licensed "@kitschpatrol/shared-config" project by Eric Mika Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/packages/eslint-config/readme.md b/packages/eslint-config/readme.md index ea2dc68..46214a4 100644 --- a/packages/eslint-config/readme.md +++ b/packages/eslint-config/readme.md @@ -95,6 +95,10 @@ ESLint does not inherit files and paths from `.gitignore`. Ignored paths must be This shared config will also initialize a `tsconfig.json` and a `tsconfig.eslint.json`. These should probably live in a separate configuration package, but they'll reside here for now. +## Credits + +[Eric Mika](https://github.com/kitschpatrol) is the author of the original [@kitschpatrol/shared-config](https://github.com/kitschpatrol/shared-config) project on which this is based. + ## License diff --git a/packages/mdat-config/license.txt b/packages/mdat-config/license.txt index bc47b30..4097ab1 100644 --- a/packages/mdat-config/license.txt +++ b/packages/mdat-config/license.txt @@ -1,6 +1,8 @@ MIT License -Copyright (c) 2023-2024 Eric Mika +Copyright (c) 2024 Liam Rella + +Based on the MIT-licensed "@kitschpatrol/shared-config" project by Eric Mika Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/packages/mdat-config/readme.md b/packages/mdat-config/readme.md index 03a89f4..dd3f692 100644 --- a/packages/mdat-config/readme.md +++ b/packages/mdat-config/readme.md @@ -91,6 +91,10 @@ mdat-config [ ...] +## Credits + +[Eric Mika](https://github.com/kitschpatrol) is the author of the original [@kitschpatrol/shared-config](https://github.com/kitschpatrol/shared-config) project on which this is based. + ## License diff --git a/packages/prettier-config/license.txt b/packages/prettier-config/license.txt index bc47b30..4097ab1 100644 --- a/packages/prettier-config/license.txt +++ b/packages/prettier-config/license.txt @@ -1,6 +1,8 @@ MIT License -Copyright (c) 2023-2024 Eric Mika +Copyright (c) 2024 Liam Rella + +Based on the MIT-licensed "@kitschpatrol/shared-config" project by Eric Mika Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/packages/prettier-config/readme.md b/packages/prettier-config/readme.md index ca8bd3d..930729b 100644 --- a/packages/prettier-config/readme.md +++ b/packages/prettier-config/readme.md @@ -101,6 +101,10 @@ Ruby formatting Expects a global Ruby install >=2.7 via `rbenv` at `~/.rbenv/shi Note: Do _not_ add `plugins: ['prettier-plugin-ruby']` to the per-file scope, it must be global. +## Credits + +[Eric Mika](https://github.com/kitschpatrol) is the author of the original [@kitschpatrol/shared-config](https://github.com/kitschpatrol/shared-config) project on which this is based. + ## License diff --git a/packages/remark-config/license.txt b/packages/remark-config/license.txt index bc47b30..4097ab1 100644 --- a/packages/remark-config/license.txt +++ b/packages/remark-config/license.txt @@ -1,6 +1,8 @@ MIT License -Copyright (c) 2023-2024 Eric Mika +Copyright (c) 2024 Liam Rella + +Based on the MIT-licensed "@kitschpatrol/shared-config" project by Eric Mika Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/packages/remark-config/readme.md b/packages/remark-config/readme.md index ad4f4fc..712d6d3 100644 --- a/packages/remark-config/readme.md +++ b/packages/remark-config/readme.md @@ -112,6 +112,10 @@ const localConfig = { export default localConfig ``` +## Credits + +[Eric Mika](https://github.com/kitschpatrol) is the author of the original [@kitschpatrol/shared-config](https://github.com/kitschpatrol/shared-config) project on which this is based. + ## License diff --git a/packages/repo-config/license.txt b/packages/repo-config/license.txt index bc47b30..4097ab1 100644 --- a/packages/repo-config/license.txt +++ b/packages/repo-config/license.txt @@ -1,6 +1,8 @@ MIT License -Copyright (c) 2023-2024 Eric Mika +Copyright (c) 2024 Liam Rella + +Based on the MIT-licensed "@kitschpatrol/shared-config" project by Eric Mika Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/packages/repo-config/readme.md b/packages/repo-config/readme.md index ad391ca..58043f0 100644 --- a/packages/repo-config/readme.md +++ b/packages/repo-config/readme.md @@ -90,9 +90,9 @@ Note: Action dependencies have been forked. | Original | Fork | Modifications | | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | ------------- | -| [bullrich/generate-release-changelog](https://github.com/bullrich/generate-release-changelog) | [kitschpatrol/github-action-release-changelog](https://github.com/kitschpatrol/github-action-release-changelog) | ❌ | -| [softprops/action-gh-release](https://github.com/softprops/action-gh-release) | [kitschpatrol/github-action-release](https://github.com/kitschpatrol/github-action-release) | ❌ | -| [kbrashears5/github-action-repo-sync](https://github.com/kbrashears5/github-action-repo-sync) | [kitschpatrol/github-action-repo-sync](https://github.com/kitschpatrol/github-action-repo-sync) | ✅ | +| [bullrich/generate-release-changelog](https://github.com/bullrich/generate-release-changelog) | [kitschpatrol/github-action-release-changelog](https://github.com/kitschpatrol/github-action-release-changelog) | ❌ | +| [softprops/action-gh-release](https://github.com/softprops/action-gh-release) | [kitschpatrol/github-action-release](https://github.com/kitschpatrol/github-action-release) | ❌ | +| [kbrashears5/github-action-repo-sync](https://github.com/kbrashears5/github-action-repo-sync) | [kitschpatrol/github-action-repo-sync](https://github.com/kitschpatrol/github-action-repo-sync) | ✅ | ## Usage @@ -119,6 +119,10 @@ repo-config [ ...] +## Credits + +[Eric Mika](https://github.com/kitschpatrol) is the author of the original [@kitschpatrol/shared-config](https://github.com/kitschpatrol/shared-config) project on which this is based. + ## License diff --git a/packages/shared-config/license.txt b/packages/shared-config/license.txt index bc47b30..4097ab1 100644 --- a/packages/shared-config/license.txt +++ b/packages/shared-config/license.txt @@ -1,6 +1,8 @@ MIT License -Copyright (c) 2023-2024 Eric Mika +Copyright (c) 2024 Liam Rella + +Based on the MIT-licensed "@kitschpatrol/shared-config" project by Eric Mika Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/packages/shared-config/readme.md b/packages/shared-config/readme.md index 9352795..928e198 100644 --- a/packages/shared-config/readme.md +++ b/packages/shared-config/readme.md @@ -28,7 +28,7 @@ - [Usage](#usage) - [Implementation notes](#implementation-notes) - [Development notes](#development-notes) -- [Background](#background) +- [Credits](#credits) - [License](#license) @@ -155,9 +155,9 @@ shared-config [ ...] | Option | Argument | Description | | ------------------------ | -------- | ---------------------------------------------------------------- | | `--check`
`-c` | | Check for and report issues. Same as `shared-config`. | -| `--fix`
`-f` | | Fix all auto-fixable issues, and report the un-fixable. | | `--init`
`-i` | | Initialize by copying starter config files to your project root. | | `--print-config`
`-p` | `` | Print the effective configuration at a certain path. | +| `--fix`
`-f` | | Fix all auto-fixable issues, and report the un-fixable. | | `--help`
`-h` | | Print this help info. | | `--version`
`-v` | | Print the package version. | @@ -193,27 +193,9 @@ For local development via `pnpm`, use `file:` dependency protocol instead of `li Something to investigate: An [approach](https://github.com/antfu/eslint-config#vs-code-support-auto-fix) to ignoring style rules in VS Code, and possibly migrate all style to -## Background - -### Motivation - -[`xo`](https://github.com/xojs/xo) is really, really close to what I'm after here, but I wanted a few extra tools and preferred to use "first party" VS Code plugins where possible. - -### Similar projects +## Credits -- [1stG/configs](https://github.com/1stG/configs) -- [antfu/eslint-config](https://github.com/antfu/eslint-config) -- [awesome-eslint](https://github.com/dustinspecker/awesome-eslint) -- [lass](https://lass.js.org) (xo etc.) -- [routine-npm-packages](https://github.com/kachkaev/routine-npm-packages) and [example](https://github.com/kachkaev/website) -- [sheriff](https://www.eslint-config-sheriff.dev) -- [standard](https://standardjs.com) -- [trunk](https://trunk.io) -- [xo](https://github.com/xojs/xo) -- [vscode-file-nesting-config](https://github.com/antfu/vscode-file-nesting-config) -- [NullVoxPopuli/eslint-configs](https://github.com/NullVoxPopuli/eslint-configs) -- [tsconfig/bases](https://github.com/tsconfig/bases/tree/main) -- [eslint-config-current-thing](https://github.com/GildedPleb/eslint-config-current-thing) _(Smart!)_ +[Eric Mika](https://github.com/kitschpatrol) is the author of the original [@kitschpatrol/shared-config](https://github.com/kitschpatrol/shared-config) project on which this is based. diff --git a/packages/stylelint-config/license.txt b/packages/stylelint-config/license.txt index bc47b30..4097ab1 100644 --- a/packages/stylelint-config/license.txt +++ b/packages/stylelint-config/license.txt @@ -1,6 +1,8 @@ MIT License -Copyright (c) 2023-2024 Eric Mika +Copyright (c) 2024 Liam Rella + +Based on the MIT-licensed "@kitschpatrol/shared-config" project by Eric Mika Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/packages/stylelint-config/readme.md b/packages/stylelint-config/readme.md index 86a0306..0a24804 100644 --- a/packages/stylelint-config/readme.md +++ b/packages/stylelint-config/readme.md @@ -91,6 +91,10 @@ stylelint-config [ ...] Ignores files in `.gitignore` +## Credits + +[Eric Mika](https://github.com/kitschpatrol) is the author of the original [@kitschpatrol/shared-config](https://github.com/kitschpatrol/shared-config) project on which this is based. + ## License diff --git a/readme.md b/readme.md index 9352795..928e198 100644 --- a/readme.md +++ b/readme.md @@ -28,7 +28,7 @@ - [Usage](#usage) - [Implementation notes](#implementation-notes) - [Development notes](#development-notes) -- [Background](#background) +- [Credits](#credits) - [License](#license) @@ -155,9 +155,9 @@ shared-config [ ...] | Option | Argument | Description | | ------------------------ | -------- | ---------------------------------------------------------------- | | `--check`
`-c` | | Check for and report issues. Same as `shared-config`. | -| `--fix`
`-f` | | Fix all auto-fixable issues, and report the un-fixable. | | `--init`
`-i` | | Initialize by copying starter config files to your project root. | | `--print-config`
`-p` | `` | Print the effective configuration at a certain path. | +| `--fix`
`-f` | | Fix all auto-fixable issues, and report the un-fixable. | | `--help`
`-h` | | Print this help info. | | `--version`
`-v` | | Print the package version. | @@ -193,27 +193,9 @@ For local development via `pnpm`, use `file:` dependency protocol instead of `li Something to investigate: An [approach](https://github.com/antfu/eslint-config#vs-code-support-auto-fix) to ignoring style rules in VS Code, and possibly migrate all style to -## Background - -### Motivation - -[`xo`](https://github.com/xojs/xo) is really, really close to what I'm after here, but I wanted a few extra tools and preferred to use "first party" VS Code plugins where possible. - -### Similar projects +## Credits -- [1stG/configs](https://github.com/1stG/configs) -- [antfu/eslint-config](https://github.com/antfu/eslint-config) -- [awesome-eslint](https://github.com/dustinspecker/awesome-eslint) -- [lass](https://lass.js.org) (xo etc.) -- [routine-npm-packages](https://github.com/kachkaev/routine-npm-packages) and [example](https://github.com/kachkaev/website) -- [sheriff](https://www.eslint-config-sheriff.dev) -- [standard](https://standardjs.com) -- [trunk](https://trunk.io) -- [xo](https://github.com/xojs/xo) -- [vscode-file-nesting-config](https://github.com/antfu/vscode-file-nesting-config) -- [NullVoxPopuli/eslint-configs](https://github.com/NullVoxPopuli/eslint-configs) -- [tsconfig/bases](https://github.com/tsconfig/bases/tree/main) -- [eslint-config-current-thing](https://github.com/GildedPleb/eslint-config-current-thing) _(Smart!)_ +[Eric Mika](https://github.com/kitschpatrol) is the author of the original [@kitschpatrol/shared-config](https://github.com/kitschpatrol/shared-config) project on which this is based. From 62d3206f7d9d28b8f3ecf58cb8e7384d06edfc9a Mon Sep 17 00:00:00 2001 From: Liam Rella Date: Mon, 9 Sep 2024 14:56:31 +0930 Subject: [PATCH 04/23] remove remark config --- .npmrc | 1 - .remarkrc.js | 9 - package.json | 3 - .../cspell-config/dictionaries/kp-tech.txt | 2 - packages/remark-config/init/.remarkrc.js | 12 - .../init/.vscode/extensions.json | 3 - packages/remark-config/license.txt | 23 - packages/remark-config/package.json | 101 -- packages/remark-config/readme.md | 125 -- packages/remark-config/remark.config.js | 155 --- packages/remark-config/src/cli.ts | 7 - packages/repo-config/init/.npmrc | 1 - packages/shared-config/package.json | 3 - packages/shared-config/readme.md | 4 +- pnpm-lock.yaml | 1182 +---------------- readme.md | 4 +- 16 files changed, 23 insertions(+), 1612 deletions(-) delete mode 100644 .remarkrc.js delete mode 100644 packages/remark-config/init/.remarkrc.js delete mode 100644 packages/remark-config/init/.vscode/extensions.json delete mode 100644 packages/remark-config/license.txt delete mode 100644 packages/remark-config/package.json delete mode 100644 packages/remark-config/readme.md delete mode 100644 packages/remark-config/remark.config.js delete mode 100644 packages/remark-config/src/cli.ts diff --git a/.npmrc b/.npmrc index f06a2bd..373ef61 100644 --- a/.npmrc +++ b/.npmrc @@ -6,5 +6,4 @@ public-hoist-pattern[]=*cspell* public-hoist-pattern[]=*eslint* public-hoist-pattern[]=*mdat* public-hoist-pattern[]=*prettier* -public-hoist-pattern[]=*remark* public-hoist-pattern[]=*stylelint* diff --git a/.remarkrc.js b/.remarkrc.js deleted file mode 100644 index 36f7a5f..0000000 --- a/.remarkrc.js +++ /dev/null @@ -1,9 +0,0 @@ -import sharedConfig, { overrideRules } from '@envsa/remark-config' - -const localConfig = { - ...sharedConfig, - // Overrides are a special case, working as below (set `false` as the second element to disable): - // plugins: overrideRules(sharedConfig.plugins, [['remark-lint-first-heading-level', 2]]) -} - -export default localConfig diff --git a/package.json b/package.json index ea3d5b1..a975c81 100644 --- a/package.json +++ b/package.json @@ -29,8 +29,6 @@ "eslint-config", "stylelint-config", "prettier-config", - "remark-config", - "remark-lint", "github-actions", "cspell", "mdat", @@ -56,7 +54,6 @@ "@envsa/eslint-config": "workspace:*", "@envsa/mdat-config": "workspace:*", "@envsa/prettier-config": "workspace:*", - "@envsa/remark-config": "workspace:*", "@envsa/repo-config": "workspace:*", "@envsa/shared-config": "workspace:*", "@envsa/stylelint-config": "workspace:*", diff --git a/packages/cspell-config/dictionaries/kp-tech.txt b/packages/cspell-config/dictionaries/kp-tech.txt index 66b9b75..0c108b5 100644 --- a/packages/cspell-config/dictionaries/kp-tech.txt +++ b/packages/cspell-config/dictionaries/kp-tech.txt @@ -417,8 +417,6 @@ rcmdnk realfavicongenerator rects rehype -remarklint -remarkrc resizability Roboto roletype diff --git a/packages/remark-config/init/.remarkrc.js b/packages/remark-config/init/.remarkrc.js deleted file mode 100644 index 84456b1..0000000 --- a/packages/remark-config/init/.remarkrc.js +++ /dev/null @@ -1,12 +0,0 @@ -import sharedConfig, { overrideRules } from '@envsa/remark-config' - -const localConfig = { - ...sharedConfig, - // Overrides are a special case, working as below (set `false` as the second element to disable): - // plugins: overrideRules(sharedConfig.plugins, [ - // ['remark-lint-first-heading-level', 2], - // ['remarkValidateLinks', { repository: false }], - // ]), -} - -export default localConfig diff --git a/packages/remark-config/init/.vscode/extensions.json b/packages/remark-config/init/.vscode/extensions.json deleted file mode 100644 index d61eaa7..0000000 --- a/packages/remark-config/init/.vscode/extensions.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "recommendations": ["unifiedjs.vscode-mdx"] -} diff --git a/packages/remark-config/license.txt b/packages/remark-config/license.txt deleted file mode 100644 index 4097ab1..0000000 --- a/packages/remark-config/license.txt +++ /dev/null @@ -1,23 +0,0 @@ -MIT License - -Copyright (c) 2024 Liam Rella - -Based on the MIT-licensed "@kitschpatrol/shared-config" project by Eric Mika - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/packages/remark-config/package.json b/packages/remark-config/package.json deleted file mode 100644 index 10af261..0000000 --- a/packages/remark-config/package.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "name": "@envsa/remark-config", - "version": "1.0.0", - "type": "module", - "description": "Markdown and MDX linting for @envsa/shared-config.", - "repository": { - "type": "git", - "url": "git@github.com:envsa/shared-config.git", - "directory": "packages/remark-config" - }, - "bugs": { - "url": "https://github.com/envsa/shared-config/issues", - "email": "DEW.ICTWebServices@sa.gov.au" - }, - "author": { - "name": "Liam Rella", - "email": "DEW.ICTWebServices@sa.gov.au", - "url": "https://github.com/rellafella" - }, - "license": "MIT", - "engines": { - "node": ">=18.0.0", - "pnpm": ">=8.0.0" - }, - "bin": { - "remark-config": "bin/cli.js" - }, - "main": "remark.config.js", - "files": [ - "bin/*", - "init/*" - ], - "keywords": [ - "shared-config", - "remark-config", - "remark-lint", - "remark", - "cli" - ], - "scripts": { - "build": "../../scripts/build.ts && mdat readme", - "cli": "node ./bin/cli.js", - "prepublishOnly": "pnpm run build" - }, - "dependencies": { - "@pinojs/json-colorizer": "^4.0.0", - "cosmiconfig": "^9.0.0", - "execa": "^8.0.1", - "fs-extra": "^11.2.0", - "remark-cli": "^12.0.1", - "remark-directive": "^3.0.0", - "remark-frontmatter": "^5.0.0", - "remark-gfm": "^4.0.0", - "remark-lint": "^10.0.0", - "remark-lint-checkbox-character-style": "^5.0.0", - "remark-lint-checkbox-content-indent": "^5.0.0", - "remark-lint-code-block-style": "^4.0.0", - "remark-lint-emphasis-marker": "^4.0.0", - "remark-lint-fenced-code-flag": "^4.0.0", - "remark-lint-fenced-code-marker": "^4.0.0", - "remark-lint-final-definition": "^4.0.1", - "remark-lint-first-heading-level": "^4.0.0", - "remark-lint-heading-increment": "^4.0.0", - "remark-lint-linebreak-style": "^4.0.0", - "remark-lint-maximum-heading-length": "^4.0.0", - "remark-lint-no-duplicate-defined-urls": "^3.0.0", - "remark-lint-no-duplicate-definitions": "^4.0.0", - "remark-lint-no-duplicate-headings": "^4.0.0", - "remark-lint-no-duplicate-headings-in-section": "^4.0.0", - "remark-lint-no-empty-url": "^4.0.0", - "remark-lint-no-file-name-articles": "^3.0.0", - "remark-lint-no-file-name-consecutive-dashes": "^3.0.0", - "remark-lint-no-file-name-irregular-characters": "^3.0.0", - "remark-lint-no-file-name-outer-dashes": "^3.0.0", - "remark-lint-no-heading-indent": "^5.0.0", - "remark-lint-no-heading-like-paragraph": "^4.0.0", - "remark-lint-no-literal-urls": "^4.0.0", - "remark-lint-no-multiple-toplevel-headings": "^4.0.0", - "remark-lint-no-paragraph-content-indent": "^5.0.0", - "remark-lint-no-reference-like-url": "^4.0.0", - "remark-lint-no-shell-dollars": "^4.0.0", - "remark-lint-no-shortcut-reference-image": "^4.0.0", - "remark-lint-no-shortcut-reference-link": "^4.0.0", - "remark-lint-no-tabs": "^4.0.0", - "remark-lint-no-undefined-references": "^5.0.0", - "remark-lint-no-unneeded-full-reference-image": "^4.0.0", - "remark-lint-no-unneeded-full-reference-link": "^4.0.0", - "remark-lint-no-unused-definitions": "^4.0.0", - "remark-lint-ordered-list-marker-style": "^4.0.0", - "remark-lint-rule-style": "^4.0.0", - "remark-lint-strikethrough-marker": "^3.0.0", - "remark-lint-strong-marker": "^4.0.0", - "remark-lint-table-cell-padding": "^5.0.0", - "remark-lint-unordered-list-marker-style": "^4.0.0", - "remark-preset-prettier": "^2.0.1", - "remark-validate-links": "^13.0.1" - }, - "publishConfig": { - "access": "public" - } -} diff --git a/packages/remark-config/readme.md b/packages/remark-config/readme.md deleted file mode 100644 index 712d6d3..0000000 --- a/packages/remark-config/readme.md +++ /dev/null @@ -1,125 +0,0 @@ - - - - -# @envsa/remark-config - - - - - -[![NPM Package @envsa/remark-config](https://img.shields.io/npm/v/@envsa/remark-config.svg)](https://npmjs.com/package/@envsa/remark-config) -[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) - - - - - -**Markdown and MDX linting for @envsa/shared-config.** - - - -## Overview - -It's a shared [Remark](https://github.com/remarkjs/remark/blob/main/packages/remark-cli/readme.md#example-config-files-json-yaml-js) config for linting. - -**See [`@envsa/shared-config`](https://www.npmjs.com/package/@envsa/shared-config) for the recommended single-package approach.** - -## Setup - -To use just this Remark config in isolation: - -1. Install the `.npmrc` in your project root. This is required for correct PNPM behavior: - - ```sh - pnpm dlx @envsa/repo-config --init - ``` - -2. Add the package: - - ```sh - pnpm add -D @envsa/remark-config - ``` - -3. Add the starter `.remarkrc.js` and files to your project root, and add any customizations you'd like: - - ```sh - pnpm exec remark-config --init - ``` - -## Usage - -The Remark binary should be picked up automatically by VS Code plugins. - -You can call it directly, but it's recommended to use the script bundled with the shared config to invoke the remark lint rules through ESLint. The [`eslint-mdx`](https://github.com/mdx-js/eslint-mdx) plugin is used to bridge these rules into ESLint and the VS Code ESLint plugin. - -Integrate with your `package.json` scripts as you see fit, for example: - -```json -"scripts": { - "lint": "pnpm remark . --quiet --frail" -} -``` - -### CLI - - - -#### Command: `remark-config` - -Markdown and MDX linting for @envsa/shared-config. - -Usage: - -```txt -remark-config [ ...] -``` - -| Option | Argument | Description | -| ------------------------ | -------- | ---------------------------------------------------------------- | -| `--init`
`-i` | | Initialize by copying starter config files to your project root. | -| `--print-config`
`-p` | `` | Print the effective configuration at a certain path. | -| `--help`
`-h` | | Print this help info. | -| `--version`
`-v` | | Print the package version. | - - - -## Configuration - -### Avoiding errors in non-git projects - -The [remark-validate-links](https://github.com/remarkjs/remark-validate-links) looks for a git remote to validate relative link paths. - -If your project is not a git repository, you will receive warning from remark via eslint: - -```txt -Command failed: git remote -v -fatal: not a git repository (or any of the parent directories): .git -eslint(undefined-undefined) -``` - -To fix this, pass the `repository: false` option in your `.remarkrc.js` file: - -```js -// .remarkrc.js -import sharedConfig, { overrideRules } from '@envsa/remark-config' - -const localConfig = { - ...sharedConfig, - plugins: overrideRules(sharedConfig.plugins, [['remarkValidateLinks', { repository: false }]]), -} - -export default localConfig -``` - -## Credits - -[Eric Mika](https://github.com/kitschpatrol) is the author of the original [@kitschpatrol/shared-config](https://github.com/kitschpatrol/shared-config) project on which this is based. - - - -## License - -[MIT](license.txt) © Liam Rella - - diff --git a/packages/remark-config/remark.config.js b/packages/remark-config/remark.config.js deleted file mode 100644 index 0f7bef5..0000000 --- a/packages/remark-config/remark.config.js +++ /dev/null @@ -1,155 +0,0 @@ -import remarkDirective from 'remark-directive' -import remarkFrontmatter from 'remark-frontmatter' -import remarkGfm from 'remark-gfm' -import remarkLint from 'remark-lint' -import remarkLintCheckboxCharacterStyle from 'remark-lint-checkbox-character-style' -import remarkLintCheckboxContentIndent from 'remark-lint-checkbox-content-indent' -import remarkLintCodeBlockStyle from 'remark-lint-code-block-style' -import remarkLintEmphasisMarker from 'remark-lint-emphasis-marker' -import remarkLintFencedCodeFlag from 'remark-lint-fenced-code-flag' -import remarkLintFencedCodeMarker from 'remark-lint-fenced-code-marker' -import remarkLintFinalDefinition from 'remark-lint-final-definition' -import remarkLintFirstHeadingLevel from 'remark-lint-first-heading-level' -import remarkLintHeadingIncrement from 'remark-lint-heading-increment' -import remarkLintLinebreakStyle from 'remark-lint-linebreak-style' -import remarkLintMaximumHeadingLength from 'remark-lint-maximum-heading-length' -import remarkLintNoDuplicateDefinedUrls from 'remark-lint-no-duplicate-defined-urls' -import remarkLintNoDuplicateDefinitions from 'remark-lint-no-duplicate-definitions' -import remarkLintNoDuplicateHeadings from 'remark-lint-no-duplicate-headings' -import remarkLintNoDuplicateHeadingsInSection from 'remark-lint-no-duplicate-headings-in-section' -import remarkLintNoEmptyUrl from 'remark-lint-no-empty-url' -import remarkLintNoFileNameArticles from 'remark-lint-no-file-name-articles' -import remarkLintNoFileNameConsecutiveDashes from 'remark-lint-no-file-name-consecutive-dashes' -import remarkLintNoFileNameIrregularCharacters from 'remark-lint-no-file-name-irregular-characters' -import remarkLintNoFileNameOuterDashes from 'remark-lint-no-file-name-outer-dashes' -import remarkLintNoHeadingIndent from 'remark-lint-no-heading-indent' -import remarkLintNoHeadingLikeParagraph from 'remark-lint-no-heading-like-paragraph' -import remarkLintNoLiteralUrls from 'remark-lint-no-literal-urls' -import remarkLintNoMultipleToplevelHeadings from 'remark-lint-no-multiple-toplevel-headings' -import remarkLintNoParagraphContentIndent from 'remark-lint-no-paragraph-content-indent' -import remarkLintNoReferenceLikeUrl from 'remark-lint-no-reference-like-url' -import remarkLintNoShellDollars from 'remark-lint-no-shell-dollars' -import remarkLintNoShortcutReferenceImage from 'remark-lint-no-shortcut-reference-image' -import remarkLintNoShortcutReferenceLink from 'remark-lint-no-shortcut-reference-link' -import remarkLintNoTabs from 'remark-lint-no-tabs' -import remarkLintNoUndefinedReferences from 'remark-lint-no-undefined-references' -import remarkLintNoUnneededFullReferenceImage from 'remark-lint-no-unneeded-full-reference-image' -import remarkLintNoUnneededFullReferenceLink from 'remark-lint-no-unneeded-full-reference-link' -import remarkLintNoUnusedDefinitions from 'remark-lint-no-unused-definitions' -import remarkLintOrderedListMarkerStyle from 'remark-lint-ordered-list-marker-style' -import remarkLintRuleStyle from 'remark-lint-rule-style' -import remarkLintStrikethroughMarker from 'remark-lint-strikethrough-marker' -import remarkLintStrongMarker from 'remark-lint-strong-marker' -import remarkLintTableCellPadding from 'remark-lint-table-cell-padding' -import remarkLintUnorderedListMarkerStyle from 'remark-lint-unordered-list-marker-style' -import remarkPresetPrettier from 'remark-preset-prettier' -import remarkValidateLinks from 'remark-validate-links' - -/** - * Overrides specific rules in a set of plugins. - * - * This function searches through an array of plugins to find and override - * multiple plugins by their names, replacing their arguments with new ones. - * - * See this link for why we need this: - * https://github.com/remarkjs/remark-lint/issues/165 - * - * @param {any[]} plugins - An array of plugins, where each plugin is either a function or an array containing a function and its arguments. - * @param {Array.<[string, any]>} rules - An array of [ruleName, newArgs] pairs, where `ruleName` is the name of the rule to override and `newArgs` are the new arguments to apply. - * @returns {any[]} The modified array of plugins with the overridden rules. - */ -export function overrideRules(plugins, rules) { - for (let [ruleName, newArguments] of rules) { - // Internally, function names are different from the package names - ruleName = ruleName.replace(/^remark-lint-/, 'remark-lint:') - - let ruleFunction - const index = plugins.findIndex((plugin) => { - if (Array.isArray(plugin)) { - if (plugin[0]?.name === ruleName) { - ruleFunction = plugin[0] - return true - } - } else if (plugin.name === ruleName) { - ruleFunction = plugin - return true - } - - return false - }) - - if (index !== -1) { - plugins.splice(index, 1, [ruleFunction, newArguments]) - } - } - - return plugins -} - -export default { - plugins: [ - remarkLint, - remarkFrontmatter, - remarkGfm, - remarkDirective, - [remarkLintCheckboxCharacterStyle, 'x'], - remarkLintCheckboxContentIndent, - [remarkLintCodeBlockStyle, 'fenced'], - [remarkLintEmphasisMarker, '*'], - [remarkLintFencedCodeFlag, { allowEmpty: false }], - [remarkLintFencedCodeMarker, '`'], - // Crashes with "Cannot use 'in' operator to search for 'start' in undefined" - // [remarkLintFileExtension, 'md'], - remarkLintFinalDefinition, - remarkLintFirstHeadingLevel, - remarkLintHeadingIncrement, - // [remarkLintHeadingStyle, 'atx'], Prettier - remarkLintLinebreakStyle, - remarkLintMaximumHeadingLength, - // RemarkLintNoAutoLinkWithoutProtocol, // Deprecated - remarkLintNoDuplicateDefinedUrls, - remarkLintNoDuplicateDefinitions, - remarkLintNoDuplicateHeadings, - remarkLintNoDuplicateHeadingsInSection, - remarkLintNoEmptyUrl, - remarkLintNoFileNameArticles, - remarkLintNoFileNameConsecutiveDashes, - remarkLintNoFileNameIrregularCharacters, - // Crashes with "Cannot use 'in' operator to search for 'start' in undefined" - // RemarkLintNoFileNameMixedCase, - remarkLintNoFileNameOuterDashes, - remarkLintNoHeadingIndent, - remarkLintNoHeadingLikeParagraph, - remarkLintNoLiteralUrls, - remarkLintNoMultipleToplevelHeadings, - remarkLintNoParagraphContentIndent, - remarkLintNoReferenceLikeUrl, - remarkLintNoShellDollars, - remarkLintNoShortcutReferenceImage, - remarkLintNoShortcutReferenceLink, - remarkLintNoTabs, - remarkLintNoUndefinedReferences, - remarkLintNoUnneededFullReferenceImage, - remarkLintNoUnneededFullReferenceLink, - remarkLintNoUnusedDefinitions, - remarkLintNoUnusedDefinitions, - [remarkLintOrderedListMarkerStyle, '.'], - [remarkLintRuleStyle, '---'], - remarkLintStrikethroughMarker, - [remarkLintStrongMarker, '*'], - [remarkLintTableCellPadding, 'padded'], - [remarkLintUnorderedListMarkerStyle, '-'], - remarkValidateLinks, - remarkPresetPrettier, - ], - settings: { - bullet: '-', - // 1stg settings - // emphasis: '_', - // listItemIndent: 'one', - // quote: "'", - // rule: '-', - // strong: '*', - // tightDefinitions: true, - }, -} diff --git a/packages/remark-config/src/cli.ts b/packages/remark-config/src/cli.ts deleted file mode 100644 index d018c5d..0000000 --- a/packages/remark-config/src/cli.ts +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env node -import { buildCommands } from '../../../src/command-builder.js' - -await buildCommands('remark-config', '[remarklint]', 'blue', { - init: {}, - printConfig: {}, -}) diff --git a/packages/repo-config/init/.npmrc b/packages/repo-config/init/.npmrc index f06a2bd..373ef61 100644 --- a/packages/repo-config/init/.npmrc +++ b/packages/repo-config/init/.npmrc @@ -6,5 +6,4 @@ public-hoist-pattern[]=*cspell* public-hoist-pattern[]=*eslint* public-hoist-pattern[]=*mdat* public-hoist-pattern[]=*prettier* -public-hoist-pattern[]=*remark* public-hoist-pattern[]=*stylelint* diff --git a/packages/shared-config/package.json b/packages/shared-config/package.json index b0ed472..391e840 100644 --- a/packages/shared-config/package.json +++ b/packages/shared-config/package.json @@ -33,8 +33,6 @@ "eslint-config", "stylelint-config", "prettier-config", - "remark-config", - "remark-lint", "github-actions", "cspell", "mdat", @@ -51,7 +49,6 @@ "@envsa/eslint-config": "workspace:*", "@envsa/mdat-config": "workspace:*", "@envsa/prettier-config": "workspace:*", - "@envsa/remark-config": "workspace:*", "@envsa/repo-config": "workspace:*", "@envsa/stylelint-config": "workspace:*", "@pinojs/json-colorizer": "^4.0.0", diff --git a/packages/shared-config/readme.md b/packages/shared-config/readme.md index 928e198..fe7803f 100644 --- a/packages/shared-config/readme.md +++ b/packages/shared-config/readme.md @@ -45,7 +45,6 @@ It takes care of dependencies and configurations for the following tools: - [ESLint](https://eslint.org) (including Svelte, Astro, and TypeScript support) - [mdat](https://github.com/kitschpatrol/mdat) - [Prettier](https://prettier.io) (including a bunch of extra plugins) -- [remarklint](https://github.com/remarkjs/remark-lint) - [Stylelint](https://stylelint.io) - [VS Code](https://code.visualstudio.com) (extension recommendations and extension settings) - Minimal repo boilerplate (`.npmrc`, `.gitignore`, etc.) @@ -58,7 +57,6 @@ This readme is for the [`@envsa/shared-config`](https://www.npmjs.com/package/@e - [`@envsa/eslint-config`](/packages/eslint-config/readme.md) - [`@envsa/mdat-config`](/packages/mdat-config/readme.md) - [`@envsa/prettier-config`](/packages/prettier-config/readme.md) -- [`@envsa/remark-config`](/packages/remark-config/readme.md) - [`@envsa/repo-config`](/packages/repo-config/readme.md) - [`@envsa/stylelint-config`](/packages/stylelint-config/readme.md) @@ -177,7 +175,7 @@ The monorepo must be kept intact, as the sub-packages depend on scripts in the p Pnpm considers module hoisting harmful, and I tend to agree, but certain exceptions are carved out as necessary: -- CSpell, remark, mdat, ESLint, and Prettier all need to be hoisted via `public-hoist-pattern` to be accessible in `pnpm exec` scripts and to VS Code plugins. +- CSpell, mdat, ESLint, and Prettier all need to be hoisted via `public-hoist-pattern` to be accessible in `pnpm exec` scripts and to VS Code plugins. - Even basic file-only packages like `repo-config` seem to need to be hoisted via for their bin scripts to be accessible via `pnpm exec` diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1f5c5df..ba9c7b6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,9 +20,6 @@ importers: '@envsa/prettier-config': specifier: workspace:* version: link:packages/prettier-config - '@envsa/remark-config': - specifier: workspace:* - version: link:packages/remark-config '@envsa/repo-config': specifier: workspace:* version: link:packages/repo-config @@ -225,162 +222,6 @@ importers: specifier: ^2.0.1 version: 2.0.1(prettier@3.3.3) - packages/remark-config: - dependencies: - '@pinojs/json-colorizer': - specifier: ^4.0.0 - version: 4.0.0 - cosmiconfig: - specifier: ^9.0.0 - version: 9.0.0(typescript@5.5.4) - execa: - specifier: ^8.0.1 - version: 8.0.1 - fs-extra: - specifier: ^11.2.0 - version: 11.2.0 - remark-cli: - specifier: ^12.0.1 - version: 12.0.1 - remark-directive: - specifier: ^3.0.0 - version: 3.0.0 - remark-frontmatter: - specifier: ^5.0.0 - version: 5.0.0 - remark-gfm: - specifier: ^4.0.0 - version: 4.0.0 - remark-lint: - specifier: ^10.0.0 - version: 10.0.0 - remark-lint-checkbox-character-style: - specifier: ^5.0.0 - version: 5.0.0 - remark-lint-checkbox-content-indent: - specifier: ^5.0.0 - version: 5.0.0 - remark-lint-code-block-style: - specifier: ^4.0.0 - version: 4.0.0 - remark-lint-emphasis-marker: - specifier: ^4.0.0 - version: 4.0.0 - remark-lint-fenced-code-flag: - specifier: ^4.0.0 - version: 4.0.0 - remark-lint-fenced-code-marker: - specifier: ^4.0.0 - version: 4.0.0 - remark-lint-final-definition: - specifier: ^4.0.1 - version: 4.0.1 - remark-lint-first-heading-level: - specifier: ^4.0.0 - version: 4.0.0 - remark-lint-heading-increment: - specifier: ^4.0.0 - version: 4.0.0 - remark-lint-linebreak-style: - specifier: ^4.0.0 - version: 4.0.0 - remark-lint-maximum-heading-length: - specifier: ^4.0.0 - version: 4.0.0 - remark-lint-no-duplicate-defined-urls: - specifier: ^3.0.0 - version: 3.0.0 - remark-lint-no-duplicate-definitions: - specifier: ^4.0.0 - version: 4.0.0 - remark-lint-no-duplicate-headings: - specifier: ^4.0.0 - version: 4.0.0 - remark-lint-no-duplicate-headings-in-section: - specifier: ^4.0.0 - version: 4.0.0 - remark-lint-no-empty-url: - specifier: ^4.0.0 - version: 4.0.0 - remark-lint-no-file-name-articles: - specifier: ^3.0.0 - version: 3.0.0 - remark-lint-no-file-name-consecutive-dashes: - specifier: ^3.0.0 - version: 3.0.0 - remark-lint-no-file-name-irregular-characters: - specifier: ^3.0.0 - version: 3.0.0 - remark-lint-no-file-name-outer-dashes: - specifier: ^3.0.0 - version: 3.0.0 - remark-lint-no-heading-indent: - specifier: ^5.0.0 - version: 5.0.0 - remark-lint-no-heading-like-paragraph: - specifier: ^4.0.0 - version: 4.0.0 - remark-lint-no-literal-urls: - specifier: ^4.0.0 - version: 4.0.0 - remark-lint-no-multiple-toplevel-headings: - specifier: ^4.0.0 - version: 4.0.0 - remark-lint-no-paragraph-content-indent: - specifier: ^5.0.0 - version: 5.0.0 - remark-lint-no-reference-like-url: - specifier: ^4.0.0 - version: 4.0.0 - remark-lint-no-shell-dollars: - specifier: ^4.0.0 - version: 4.0.0 - remark-lint-no-shortcut-reference-image: - specifier: ^4.0.0 - version: 4.0.0 - remark-lint-no-shortcut-reference-link: - specifier: ^4.0.0 - version: 4.0.0 - remark-lint-no-tabs: - specifier: ^4.0.0 - version: 4.0.0 - remark-lint-no-undefined-references: - specifier: ^5.0.0 - version: 5.0.0 - remark-lint-no-unneeded-full-reference-image: - specifier: ^4.0.0 - version: 4.0.0 - remark-lint-no-unneeded-full-reference-link: - specifier: ^4.0.0 - version: 4.0.0 - remark-lint-no-unused-definitions: - specifier: ^4.0.0 - version: 4.0.0 - remark-lint-ordered-list-marker-style: - specifier: ^4.0.0 - version: 4.0.0 - remark-lint-rule-style: - specifier: ^4.0.0 - version: 4.0.0 - remark-lint-strikethrough-marker: - specifier: ^3.0.0 - version: 3.0.0 - remark-lint-strong-marker: - specifier: ^4.0.0 - version: 4.0.0 - remark-lint-table-cell-padding: - specifier: ^5.0.0 - version: 5.0.0 - remark-lint-unordered-list-marker-style: - specifier: ^4.0.0 - version: 4.0.0 - remark-preset-prettier: - specifier: ^2.0.1 - version: 2.0.1(prettier@3.3.3) - remark-validate-links: - specifier: ^13.0.1 - version: 13.0.1 - packages/repo-config: dependencies: '@pinojs/json-colorizer': @@ -410,9 +251,6 @@ importers: '@envsa/prettier-config': specifier: workspace:* version: link:../prettier-config - '@envsa/remark-config': - specifier: workspace:* - version: link:../remark-config '@envsa/repo-config': specifier: workspace:* version: link:../repo-config @@ -1048,9 +886,6 @@ packages: '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} - '@types/hosted-git-info@3.0.5': - resolution: {integrity: sha512-Dmngh7U003cOHPhKGyA7LWqrnvcTyILNgNPmNCxlx7j8MIi54iBliiT8XqVLIQ3GchoOjVAyBzNJVyuaJjqokg==} - '@types/is-empty@1.2.3': resolution: {integrity: sha512-4J1l5d79hoIvsrKh5VUKVRA1aIdsOb10Hu5j3J2VfP/msDnfTdGPmNp2E1Wg+vs97Bktzo+MZePFFXSGoykYJw==} @@ -1078,9 +913,6 @@ packages: '@types/supports-color@8.1.3': resolution: {integrity: sha512-Hy6UMpxhE3j1tLpl27exp1XqHD7n8chAiNPzWfz16LPZoMMoSc4dzLl6w9qijkEb/r5O1ozdu1CWGA2L83ZeZg==} - '@types/text-table@0.2.5': - resolution: {integrity: sha512-hcZhlNvMkQG/k1vcZ6yHOl6WAYftQ2MLfTHcYRZ2xYZFD8tGVnE3qFV0lj1smQeDSR7/yY0PyuUalauf33bJeA==} - '@types/unist@2.0.11': resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} @@ -1505,9 +1337,6 @@ packages: code-red@1.0.4: resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==} - collapse-white-space@2.1.0: - resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} - color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} @@ -1527,9 +1356,6 @@ packages: colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - comma-separated-tokens@2.0.3: - resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} - commander@12.1.0: resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} engines: {node: '>=18'} @@ -1874,10 +1700,6 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - escape-string-regexp@5.0.0: - resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} - engines: {node: '>=12'} - escodegen@2.1.0: resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} engines: {node: '>=6.0'} @@ -2104,9 +1926,6 @@ packages: fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} - fault@2.0.1: - resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} - fd-slicer@1.1.0: resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} @@ -2160,10 +1979,6 @@ packages: resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} engines: {node: '>=14'} - format@0.2.2: - resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} - engines: {node: '>=0.4.x'} - forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} @@ -2245,9 +2060,6 @@ packages: resolution: {integrity: sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==} hasBin: true - github-slugger@2.0.0: - resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} - glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -2673,11 +2485,6 @@ packages: json-stringify-pretty-compact@4.0.0: resolution: {integrity: sha512-3CNZ2DnrpByG9Nqj6Xo8vqbjT4F6N+tb4Gb28ESAZjYZ5yqvmc56J+/kuIwkaAMOyblTQhUW7PxMkUb8Q36N3Q==} - json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - jsonc-parser@3.3.1: resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} @@ -2717,10 +2524,6 @@ packages: resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} engines: {node: '>=0.10'} - levenshtein-edit-distance@1.0.0: - resolution: {integrity: sha512-gpgBvPn7IFIAL32f0o6Nsh2g+5uOvkt4eK9epTfgE4YVxBxwVhJ/p1888lMm/u8mXdu1ETLSi6zeEmkBI+0F3w==} - hasBin: true - levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -2772,52 +2575,15 @@ packages: magic-string@0.30.11: resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} - markdown-extensions@2.0.0: - resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} - engines: {node: '>=16'} - - markdown-table@3.0.3: - resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} - mathml-tag-names@2.1.3: resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==} - mdast-comment-marker@3.0.0: - resolution: {integrity: sha512-bt08sLmTNg00/UtVDiqZKocxqvQqqyQZAg1uaRuO/4ysXV5motg7RolF5o5yy/sY1rG0v2XgZEqFWho1+2UquA==} - - mdast-util-directive@3.0.0: - resolution: {integrity: sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==} - - mdast-util-find-and-replace@3.0.1: - resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} - mdast-util-from-markdown@0.8.5: resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} mdast-util-from-markdown@2.0.1: resolution: {integrity: sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==} - mdast-util-frontmatter@2.0.1: - resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==} - - mdast-util-gfm-autolink-literal@2.0.1: - resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} - - mdast-util-gfm-footnote@2.0.0: - resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} - - mdast-util-gfm-strikethrough@2.0.0: - resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} - - mdast-util-gfm-table@2.0.0: - resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} - - mdast-util-gfm-task-list-item@2.0.0: - resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} - - mdast-util-gfm@3.0.0: - resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} - mdast-util-mdx-expression@2.0.0: resolution: {integrity: sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==} @@ -2833,9 +2599,6 @@ packages: mdast-util-phrasing@4.1.0: resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} - mdast-util-to-hast@13.2.0: - resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} - mdast-util-to-markdown@2.1.0: resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} @@ -2878,33 +2641,6 @@ packages: micromark-core-commonmark@2.0.1: resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==} - micromark-extension-directive@3.0.1: - resolution: {integrity: sha512-VGV2uxUzhEZmaP7NSFo2vtq7M2nUD+WfmYQD+d8i/1nHbzE+rMy9uzTvUybBbNiVbrhOZibg3gbyoARGqgDWyg==} - - micromark-extension-frontmatter@2.0.0: - resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} - - micromark-extension-gfm-autolink-literal@2.1.0: - resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} - - micromark-extension-gfm-footnote@2.1.0: - resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} - - micromark-extension-gfm-strikethrough@2.1.0: - resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} - - micromark-extension-gfm-table@2.1.0: - resolution: {integrity: sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==} - - micromark-extension-gfm-tagfilter@2.0.0: - resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} - - micromark-extension-gfm-task-list-item@2.1.0: - resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} - - micromark-extension-gfm@3.0.0: - resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} - micromark-extension-mdx-expression@3.0.0: resolution: {integrity: sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==} @@ -3021,9 +2757,6 @@ packages: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} - minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} @@ -3498,9 +3231,6 @@ packages: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} - propose@0.0.5: - resolution: {integrity: sha512-Jary1vb+ap2DIwOGfyiadcK4x1Iu3pzpkDBy8tljFPmQvnc9ES3m1PMZOMiWOG50cfoAyYNtGeBzrp+Rlh4G9A==} - proxy-addr@2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} @@ -3538,9 +3268,6 @@ packages: queue-tick@1.0.1: resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} - quotation@2.0.3: - resolution: {integrity: sha512-yEc24TEgCFLXx7D4JHJJkK4JFVtatO8fziwUxY4nB/Jbea9o9CVS3gt22mA0W7rPYAGW2fWzYDSOtD94PwOyqA==} - railroad-diagrams@1.0.0: resolution: {integrity: sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==} @@ -3602,166 +3329,15 @@ packages: resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} hasBin: true - remark-cli@12.0.1: - resolution: {integrity: sha512-2NAEOACoTgo+e+YAaCTODqbrWyhMVmlUyjxNCkTrDRHHQvH6+NbrnqVvQaLH/Q8Ket3v90A43dgAJmXv8y5Tkw==} - hasBin: true - - remark-directive@3.0.0: - resolution: {integrity: sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==} - - remark-frontmatter@5.0.0: - resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==} - - remark-gfm@4.0.0: - resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} - - remark-lint-checkbox-character-style@5.0.0: - resolution: {integrity: sha512-K0G/Nok59fb2q5KUxcemBVt+ymnhTkDVLJAatZ4PAh9At8y0DGctHdU27jWsuvO0Fs7Zy62Usk7IJE2VO89p1w==} - - remark-lint-checkbox-content-indent@5.0.0: - resolution: {integrity: sha512-7L25a7TEfdogFSh4HDOnB+GTTTEiXJDMlceUPft9bzIjElI8Hm2+a2D8jUQn4ahj+j/3LmdZW4GjAeyfdPuqTA==} - - remark-lint-code-block-style@4.0.0: - resolution: {integrity: sha512-LKBKMVruEO0tzDnnnqi1TfUcnwY6Mo7cVtZM4E4pKt3KMhtvgU2wD68/MxDOEJd0pmnLrEgIadv74bY0gWhZpg==} - - remark-lint-emphasis-marker@4.0.0: - resolution: {integrity: sha512-xIRiB4PFWUOyIslN/UOPL6Lh+J0VD4R11+jo+W4hpGMNsg58l+2SgtdbinlXzDeoBxmaaka9n/sYpJ7cJWEIPQ==} - - remark-lint-fenced-code-flag@4.0.0: - resolution: {integrity: sha512-Zs0wJd4nRvBo/9NWQVfWg5Ykapbo0Zzw/SyZc3f0h73S1gTZZcfeU+bA5oDivlBdcUgLBsyHRE0QaoaVvN3/Wg==} - - remark-lint-fenced-code-marker@4.0.0: - resolution: {integrity: sha512-WFN88Rx78m4/HSbW3Kx2XAYbVfzYns4bJd9qpwDD90DA3nc59zciYd01xi6Bk3n9vSs5gIlmG7xkwxVHHJ8KCA==} - - remark-lint-final-definition@4.0.1: - resolution: {integrity: sha512-51T9oSdA7wuhjSdgGo0snO1BY39Igt9cJQi7XpgtgFsbfQk8zSSAUAc/rLabY6+YCTpcPs6qmwvLXZ4mPX6Qlg==} - - remark-lint-first-heading-level@4.0.0: - resolution: {integrity: sha512-CAMSDt03MwzGD1bgOZ+UaE0lN1xZXtJZGRXwMg7OmGazLVDtTsRkMEK0YY2LUyozdHBUFoq6FQt5pKyYdt/Tmw==} - - remark-lint-heading-increment@4.0.0: - resolution: {integrity: sha512-TARnsjXWzY/yLwxh/y4+KnDSXO3Koue8Crp55T8G9pjj3vw+XgTAG35zSpIIY9HmGiQ2a3R0SOj2pAxATpnckg==} - - remark-lint-linebreak-style@4.0.0: - resolution: {integrity: sha512-kXBkuFtk973KqLrBMwM/R9thbks2OBJBfNDr9RWTKrHqvdrEysWdehrMu+j56JqemqaeImmKWb8vQqzq/VLdkA==} - - remark-lint-maximum-heading-length@4.0.0: - resolution: {integrity: sha512-UCQxUd0zZyi6RUbpoK5KsxC50ppVqVk0hSgrSPot4wB6PHRgYMALU2fDkEcAjLDc/Y2TayG3IaZEKdqe+84Cwg==} - - remark-lint-no-duplicate-defined-urls@3.0.0: - resolution: {integrity: sha512-i6oGry+ISf3M5bu3okPspbOd6tgZj6biWJIOFT6K7lbKunnFpbIeosmoa1ZyY6CBp3N6i33toSiX+xk50F06vQ==} - - remark-lint-no-duplicate-definitions@4.0.0: - resolution: {integrity: sha512-21fcOACkCyhNsHkedKlpvqIywYx+5zGR507bW8e59gzdGhTbnBwQ9du4ACmN9jxPTfIBhUVMz0bWezkGrHE7Bg==} - - remark-lint-no-duplicate-headings-in-section@4.0.0: - resolution: {integrity: sha512-O6TPMdSs8AFEQeTA1mPI9CgCtJJ9UkfnXz1IlqRdTrpsCJ2DlwaPPXjS2LafQCHoJyf45DgjSwekHeV4WxHYxw==} - - remark-lint-no-duplicate-headings@4.0.0: - resolution: {integrity: sha512-FgBU/JCdR5MitHM+hnOcgBGO5ZCNV8epzuHIglFlJeb8ow23YhhNgmGvyk7RGrZrYuU5R9uQq23N4dF0g9atCA==} - - remark-lint-no-empty-url@4.0.0: - resolution: {integrity: sha512-2zJxrSnL42wGe+CSZepBzoj8d/FeL/QU8GM6TEO/5qGfXwvJD7s2v6q074UJU0CAaWlWRqSxElescwk3yGQddA==} - - remark-lint-no-file-name-articles@3.0.0: - resolution: {integrity: sha512-il4IseupahbV2TVfFjfDVL/EQw7jBWVlMVsv4K2cgl5uPIjiCjFGQypqKnWl6pZDN0oNOs/DE8gBdyuDjldJaA==} - - remark-lint-no-file-name-consecutive-dashes@3.0.0: - resolution: {integrity: sha512-3vSI1LOQlu8NSCpWLsKELa8dS9HU+YVZE0U43/DNkdEcnZmlJLpTHQjBTMZUHQipRgoOO+TOSyXFyN/H+2lbuQ==} - - remark-lint-no-file-name-irregular-characters@3.0.0: - resolution: {integrity: sha512-DhGreliHNU7lLTARQujsaLAn8fUPY0V+H0LSmOUuowBZPtIRWeNdQhunSp96RvsuYdqAdERXe0WuH58i3pRqrg==} - - remark-lint-no-file-name-outer-dashes@3.0.0: - resolution: {integrity: sha512-3kgamCp39mdlCtqF/+JLwwS4VpSj5wvVwRythUfrpW7993I9kF67dBsaU545aEzWSK+UJZqjb40i0m2VfnBRfQ==} - - remark-lint-no-heading-indent@5.0.0: - resolution: {integrity: sha512-JWGIWhaEzH00HywI0DHex92tJ5Mw7l11shQ6/MGhRjYsHMRWcwWcVeOuktVMe/BiQbg0hRoE4+g0z2VgUD6Cqw==} - - remark-lint-no-heading-like-paragraph@4.0.0: - resolution: {integrity: sha512-6P22xHF+2omrQUA9ujQ5yBUlZr3goaAxoa1t3wNSIydzqkbgwLS+RlpGsVvilW1Q8h4JgWpB42Zpflat6xr90g==} - - remark-lint-no-literal-urls@4.0.0: - resolution: {integrity: sha512-rl/3Ai4Ax9IH/fRpOJZuXk1HgYX6oFTauhmBOilpqbq/YT2kN3FuXaneXdRfKv1bgMdHaLKxHWxGj/mDyA2n8w==} - - remark-lint-no-multiple-toplevel-headings@4.0.0: - resolution: {integrity: sha512-JW11iYxza7asDdhQuKfr8SH1u4NBOCQ4U7Ru0HrKCPcT4y/AB1C1il5uMQzbcervgYPBq69xzyQ24+AJeL0t3A==} - - remark-lint-no-paragraph-content-indent@5.0.0: - resolution: {integrity: sha512-g4T1SrwL2HnzaLD+/Bl82vsL/YqJF+dvCTuCJ7gbDpZxlZXQt53nZJohwcUByeBM6O3o9n9DaPRFvTiE70qAZw==} - - remark-lint-no-reference-like-url@4.0.0: - resolution: {integrity: sha512-YkP8qWdrWDr9s8JLbJoC/U5Z0fU7hpa59Nin0i8zEOtD9coiYoI/YtXRKqSXuAKDmweb+JckhqtKuGJS5u77+w==} - - remark-lint-no-shell-dollars@4.0.0: - resolution: {integrity: sha512-ye2h8FzjsgqqQV0HHN2g9N4FqI3eD9Gpgu7tU5ADIJyQ3mUJdwBoFn7IlGnpmumR1fb/l6u/AhRavIZxXYqG+Q==} - - remark-lint-no-shortcut-reference-image@4.0.0: - resolution: {integrity: sha512-YEiCpW5F/8/LZyxlOuVK2L/n0NJ1AB0AJK7oP39OVyEk3Xl7w+JQi6nZ3KiH6REh+PWGqKn6M0KEPL9cT/iAOw==} - - remark-lint-no-shortcut-reference-link@4.0.0: - resolution: {integrity: sha512-6jka2Zz3I6G2MvDcKrwADYhTOxHMFMK854u1cfBEIH5/XnCCXROtoqiiDtbZw+NJqbmwsBKvGL4t2gnmEJUmgg==} - - remark-lint-no-tabs@4.0.0: - resolution: {integrity: sha512-rQR7LDdcw047ajB3D+v9uzdB8aZfZtEdlUJvQXKkcVDteWiuXGC3PcIrmM/8n3J/wlFMuwoAaW2IcdlJf8HzXQ==} - - remark-lint-no-undefined-references@5.0.0: - resolution: {integrity: sha512-O0q8bHpRHK1T85oqO+uep4BkvQnZZp3y+wahDeeLLq9dCJfF56sq6Tt5OOTt1BAOZlpobS3OPQHUiJWYP6hX1w==} - - remark-lint-no-unneeded-full-reference-image@4.0.0: - resolution: {integrity: sha512-0l9PZzidaAaJgn+mCRwudh6CLHvpz2PTIVlhK+fspxNwnRcPwpJOih+D4XMwyf/0x20g9MKtrlvSefIOnhqwNg==} - - remark-lint-no-unneeded-full-reference-link@4.0.0: - resolution: {integrity: sha512-QjqhQxCvB4TNKXVaV50YCh50DzSRdpYs7hKPn9kKvkYK2tsqjnax5vz0w78fI2Nb9EY3ISoehPJDHruwAlDbew==} - - remark-lint-no-unused-definitions@4.0.0: - resolution: {integrity: sha512-YCZ6k575NCTx7mnN+9ls0G6YgMsZHi0LYQqfLW8MNVHBtbpTBvfmk8I39bmsvuKWeBD98weZoXSDqIiIGg+Q/g==} - - remark-lint-ordered-list-marker-style@4.0.0: - resolution: {integrity: sha512-xZ7Xppy5fzACH4b9h1b4lTzVtNY2AlUkNTfl1Oe6cIKN8tk3juFxN0wL2RpktPtSZ7iRIabzFmg6l8WPhlASJA==} - - remark-lint-rule-style@4.0.0: - resolution: {integrity: sha512-Kt7IHMB5IbLgRFKaFUmB895sV3PTD0MBgN9CvXKxr1wHFF43S6tabjFIBSoQqyJRlhH0S3rK6Lvopofa009gLg==} - - remark-lint-strikethrough-marker@3.0.0: - resolution: {integrity: sha512-XPt5oO3txmoL6vvAZjQ9e42Q5JpaahubryJNzsFy0dAotuEws+Lpi93OH/T68/T0/PSzD/EpoZmSASkySAwG7Q==} - - remark-lint-strong-marker@4.0.0: - resolution: {integrity: sha512-YcvuzakYhQWdCH+1E30sUY+wyvq+PNa77NZAMAYO/cS/pZczFB+q4Ccttw4Q+No/chX8oMfe0GYtm8dDWLei/g==} - - remark-lint-table-cell-padding@5.0.0: - resolution: {integrity: sha512-LNyiHDQZBIOqcQGG1tYsZHW7g0v8OyRmRgDrD5WEsMaAYfM6EiECUokN/Q4py9h4oM/2KUSrdZbtfuZmy87/kA==} - - remark-lint-unordered-list-marker-style@4.0.0: - resolution: {integrity: sha512-XlP4Wr4KJNovyWVv0H5axfUlF23iE9Kt2SxaVq4+ieum5YcMmKE6KsL+aqt3kiJb60SH1u6a0bxKFvdM/9riOA==} - - remark-lint@10.0.0: - resolution: {integrity: sha512-E8yHHDOJ8b+qI0G49BRu24pe8t0fNNBWv8ENQJpCGNrVeTeyBIGEbaUe1yuF7OG8faA6PVpcN/pqWjzW9fcBWQ==} - remark-mdx@3.0.1: resolution: {integrity: sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==} - remark-message-control@8.0.0: - resolution: {integrity: sha512-brpzOO+jdyE/mLqvqqvbogmhGxKygjpCUCG/PwSCU43+JZQ+RM+sSzkCWBcYvgF3KIAVNIoPsvXjBkzO7EdsYQ==} - remark-parse@11.0.0: resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} - remark-preset-prettier@2.0.1: - resolution: {integrity: sha512-1+cZaM080zTlhQIvZDOj7SFWvW9zevfxsLjTZspLEsBYivMDwCyTodvNvaZLc9p5dUSMik/BjMFKicfhZXh7qg==} - engines: {node: '>=14.8'} - peerDependencies: - prettier: '>=1.0.0' - remark-stringify@11.0.0: resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} - remark-validate-links@13.0.1: - resolution: {integrity: sha512-GWDZWJAQU0+Fsm1GCLNeJoVcE9L3XTVrWCgQZOYREfXqRFIYaSoIBbARZizLm/vBESq+a3GwEBnIflSCNw26tw==} - - remark@15.0.1: - resolution: {integrity: sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==} - repeat-string@1.6.1: resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} engines: {node: '>=0.10'} @@ -3916,9 +3492,6 @@ packages: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} - space-separated-tokens@2.0.2: - resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - spdx-correct@3.2.0: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} @@ -4121,9 +3694,6 @@ packages: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} - trim-lines@3.0.1: - resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} - trough@2.2.0: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} @@ -4223,18 +3793,9 @@ packages: resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} engines: {node: '>=18'} - unified-args@11.0.1: - resolution: {integrity: sha512-WEQghE91+0s3xPVs0YW6a5zUduNLjmANswX7YbBfksHNDGMjHxaWCql4SR7c9q0yov/XiIEdk6r/LqfPjaYGcw==} - unified-engine@11.2.1: resolution: {integrity: sha512-xBAdZ8UY2X4R9Hm6X6kMne4Nz0PlpOc1oE6DPeqJnewr5Imkb8uT5Eyvy1h7xNekPL3PSWh3ZJyNrMW6jnNQBg==} - unified-lint-rule@3.0.0: - resolution: {integrity: sha512-Sz96ILLsTy3djsG3H44zFb2b77MFf9CQVYnV3PWkxgRX8/n31fFrr+JnzUaJ6cbOHTtZnL1A71+YodsTjzwAew==} - - unified-message-control@5.0.0: - resolution: {integrity: sha512-B2cSAkpuMVVmPP90KCfKdBhm1e9KYJ+zK3x5BCa0N65zpq1Ybkc9C77+M5qwR8FWO7RF3LM5QRRPZtgjW6DUCw==} - unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} @@ -4247,9 +3808,6 @@ packages: unist-util-position-from-estree@2.0.0: resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} - unist-util-position@5.0.0: - resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} - unist-util-stringify-position@2.0.3: resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} @@ -4305,9 +3863,6 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - vfile-location@5.0.3: - resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} - vfile-message@4.0.2: resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} @@ -4978,8 +4533,6 @@ snapshots: dependencies: '@types/unist': 3.0.3 - '@types/hosted-git-info@3.0.5': {} - '@types/is-empty@1.2.3': {} '@types/jsonfile@6.1.4': @@ -5008,8 +4561,6 @@ snapshots: '@types/supports-color@8.1.3': {} - '@types/text-table@0.2.5': {} - '@types/unist@2.0.11': {} '@types/unist@3.0.3': {} @@ -5523,8 +5074,6 @@ snapshots: estree-walker: 3.0.3 periscopic: 3.1.0 - collapse-white-space@2.1.0: {} - color-convert@1.9.3: dependencies: color-name: 1.1.3 @@ -5541,8 +5090,6 @@ snapshots: colorette@2.0.20: {} - comma-separated-tokens@2.0.3: {} - commander@12.1.0: {} commander@2.20.3: {} @@ -6008,8 +5555,6 @@ snapshots: escape-string-regexp@4.0.0: {} - escape-string-regexp@5.0.0: {} - escodegen@2.1.0: dependencies: esprima: 4.0.1 @@ -6391,10 +5936,6 @@ snapshots: dependencies: reusify: 1.0.4 - fault@2.0.1: - dependencies: - format: 0.2.2 - fd-slicer@1.1.0: dependencies: pend: 1.2.0 @@ -6461,8 +6002,6 @@ snapshots: cross-spawn: 7.0.3 signal-exit: 4.1.0 - format@0.2.2: {} - forwarded@0.2.0: {} fresh@0.5.2: {} @@ -6550,8 +6089,6 @@ snapshots: pathe: 1.1.2 tar: 6.2.1 - github-slugger@2.0.0: {} - glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -6947,8 +6484,6 @@ snapshots: json-stringify-pretty-compact@4.0.0: {} - json5@2.2.3: {} - jsonc-parser@3.3.1: {} jsonfile@6.1.0: @@ -6984,8 +6519,6 @@ snapshots: dependencies: language-subtag-registry: 0.3.23 - levenshtein-edit-distance@1.0.0: {} - levn@0.4.1: dependencies: prelude-ls: 1.2.1 @@ -7030,39 +6563,8 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 - markdown-extensions@2.0.0: {} - - markdown-table@3.0.3: {} - mathml-tag-names@2.1.3: {} - mdast-comment-marker@3.0.0: - dependencies: - '@types/mdast': 4.0.4 - mdast-util-mdx-expression: 2.0.0 - transitivePeerDependencies: - - supports-color - - mdast-util-directive@3.0.0: - dependencies: - '@types/mdast': 4.0.4 - '@types/unist': 3.0.3 - devlop: 1.1.0 - mdast-util-from-markdown: 2.0.1 - mdast-util-to-markdown: 2.1.0 - parse-entities: 4.0.1 - stringify-entities: 4.0.4 - unist-util-visit-parents: 6.0.1 - transitivePeerDependencies: - - supports-color - - mdast-util-find-and-replace@3.0.1: - dependencies: - '@types/mdast': 4.0.4 - escape-string-regexp: 5.0.0 - unist-util-is: 6.0.0 - unist-util-visit-parents: 6.0.1 - mdast-util-from-markdown@0.8.5: dependencies: '@types/mdast': 3.0.15 @@ -7090,141 +6592,61 @@ snapshots: transitivePeerDependencies: - supports-color - mdast-util-frontmatter@2.0.1: + mdast-util-mdx-expression@2.0.0: dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 '@types/mdast': 4.0.4 devlop: 1.1.0 - escape-string-regexp: 5.0.0 mdast-util-from-markdown: 2.0.1 mdast-util-to-markdown: 2.1.0 - micromark-extension-frontmatter: 2.0.0 transitivePeerDependencies: - supports-color - mdast-util-gfm-autolink-literal@2.0.1: + mdast-util-mdx-jsx@3.1.3: dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 ccount: 2.0.1 devlop: 1.1.0 - mdast-util-find-and-replace: 3.0.1 - micromark-util-character: 2.1.0 - - mdast-util-gfm-footnote@2.0.0: - dependencies: - '@types/mdast': 4.0.4 - devlop: 1.1.0 mdast-util-from-markdown: 2.0.1 mdast-util-to-markdown: 2.1.0 - micromark-util-normalize-identifier: 2.0.0 + parse-entities: 4.0.1 + stringify-entities: 4.0.4 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.2 transitivePeerDependencies: - supports-color - mdast-util-gfm-strikethrough@2.0.0: + mdast-util-mdx@3.0.0: dependencies: - '@types/mdast': 4.0.4 mdast-util-from-markdown: 2.0.1 + mdast-util-mdx-expression: 2.0.0 + mdast-util-mdx-jsx: 3.1.3 + mdast-util-mdxjs-esm: 2.0.1 mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color - mdast-util-gfm-table@2.0.0: + mdast-util-mdxjs-esm@2.0.1: dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 '@types/mdast': 4.0.4 devlop: 1.1.0 - markdown-table: 3.0.3 mdast-util-from-markdown: 2.0.1 mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color - mdast-util-gfm-task-list-item@2.0.0: + mdast-util-phrasing@4.1.0: dependencies: '@types/mdast': 4.0.4 - devlop: 1.1.0 - mdast-util-from-markdown: 2.0.1 - mdast-util-to-markdown: 2.1.0 - transitivePeerDependencies: - - supports-color + unist-util-is: 6.0.0 - mdast-util-gfm@3.0.0: - dependencies: - mdast-util-from-markdown: 2.0.1 - mdast-util-gfm-autolink-literal: 2.0.1 - mdast-util-gfm-footnote: 2.0.0 - mdast-util-gfm-strikethrough: 2.0.0 - mdast-util-gfm-table: 2.0.0 - mdast-util-gfm-task-list-item: 2.0.0 - mdast-util-to-markdown: 2.1.0 - transitivePeerDependencies: - - supports-color - - mdast-util-mdx-expression@2.0.0: - dependencies: - '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 - devlop: 1.1.0 - mdast-util-from-markdown: 2.0.1 - mdast-util-to-markdown: 2.1.0 - transitivePeerDependencies: - - supports-color - - mdast-util-mdx-jsx@3.1.3: - dependencies: - '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 - '@types/unist': 3.0.3 - ccount: 2.0.1 - devlop: 1.1.0 - mdast-util-from-markdown: 2.0.1 - mdast-util-to-markdown: 2.1.0 - parse-entities: 4.0.1 - stringify-entities: 4.0.4 - unist-util-stringify-position: 4.0.0 - vfile-message: 4.0.2 - transitivePeerDependencies: - - supports-color - - mdast-util-mdx@3.0.0: - dependencies: - mdast-util-from-markdown: 2.0.1 - mdast-util-mdx-expression: 2.0.0 - mdast-util-mdx-jsx: 3.1.3 - mdast-util-mdxjs-esm: 2.0.1 - mdast-util-to-markdown: 2.1.0 - transitivePeerDependencies: - - supports-color - - mdast-util-mdxjs-esm@2.0.1: - dependencies: - '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 - devlop: 1.1.0 - mdast-util-from-markdown: 2.0.1 - mdast-util-to-markdown: 2.1.0 - transitivePeerDependencies: - - supports-color - - mdast-util-phrasing@4.1.0: - dependencies: - '@types/mdast': 4.0.4 - unist-util-is: 6.0.0 - - mdast-util-to-hast@13.2.0: - dependencies: - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 - '@ungap/structured-clone': 1.2.0 - devlop: 1.1.0 - micromark-util-sanitize-uri: 2.0.0 - trim-lines: 3.0.1 - unist-util-position: 5.0.0 - unist-util-visit: 5.0.0 - vfile: 6.0.3 - - mdast-util-to-markdown@2.1.0: + mdast-util-to-markdown@2.1.0: dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 @@ -7295,81 +6717,6 @@ snapshots: micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - micromark-extension-directive@3.0.1: - dependencies: - devlop: 1.1.0 - micromark-factory-space: 2.0.0 - micromark-factory-whitespace: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 - parse-entities: 4.0.1 - - micromark-extension-frontmatter@2.0.0: - dependencies: - fault: 2.0.1 - micromark-util-character: 2.1.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 - - micromark-extension-gfm-autolink-literal@2.1.0: - dependencies: - micromark-util-character: 2.1.0 - micromark-util-sanitize-uri: 2.0.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 - - micromark-extension-gfm-footnote@2.1.0: - dependencies: - devlop: 1.1.0 - micromark-core-commonmark: 2.0.1 - micromark-factory-space: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-normalize-identifier: 2.0.0 - micromark-util-sanitize-uri: 2.0.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 - - micromark-extension-gfm-strikethrough@2.1.0: - dependencies: - devlop: 1.1.0 - micromark-util-chunked: 2.0.0 - micromark-util-classify-character: 2.0.0 - micromark-util-resolve-all: 2.0.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 - - micromark-extension-gfm-table@2.1.0: - dependencies: - devlop: 1.1.0 - micromark-factory-space: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 - - micromark-extension-gfm-tagfilter@2.0.0: - dependencies: - micromark-util-types: 2.0.0 - - micromark-extension-gfm-task-list-item@2.1.0: - dependencies: - devlop: 1.1.0 - micromark-factory-space: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 - - micromark-extension-gfm@3.0.0: - dependencies: - micromark-extension-gfm-autolink-literal: 2.1.0 - micromark-extension-gfm-footnote: 2.1.0 - micromark-extension-gfm-strikethrough: 2.1.0 - micromark-extension-gfm-table: 2.1.0 - micromark-extension-gfm-tagfilter: 2.0.0 - micromark-extension-gfm-task-list-item: 2.1.0 - micromark-util-combine-extensions: 2.0.0 - micromark-util-types: 2.0.0 - micromark-extension-mdx-expression@3.0.0: dependencies: '@types/estree': 1.0.5 @@ -7591,8 +6938,6 @@ snapshots: dependencies: brace-expansion: 2.0.1 - minimist@1.2.8: {} - minipass@3.3.6: dependencies: yallist: 4.0.0 @@ -8010,10 +7355,6 @@ snapshots: kleur: 3.0.3 sisteransi: 1.0.5 - propose@0.0.5: - dependencies: - levenshtein-edit-distance: 1.0.0 - proxy-addr@2.0.7: dependencies: forwarded: 0.2.0 @@ -8076,8 +7417,6 @@ snapshots: queue-tick@1.0.1: {} - quotation@2.0.3: {} - railroad-diagrams@1.0.0: {} randexp@0.4.6: @@ -8160,400 +7499,6 @@ snapshots: dependencies: jsesc: 0.5.0 - remark-cli@12.0.1: - dependencies: - import-meta-resolve: 4.1.0 - markdown-extensions: 2.0.0 - remark: 15.0.1 - unified-args: 11.0.1 - transitivePeerDependencies: - - bluebird - - supports-color - - remark-directive@3.0.0: - dependencies: - '@types/mdast': 4.0.4 - mdast-util-directive: 3.0.0 - micromark-extension-directive: 3.0.1 - unified: 11.0.5 - transitivePeerDependencies: - - supports-color - - remark-frontmatter@5.0.0: - dependencies: - '@types/mdast': 4.0.4 - mdast-util-frontmatter: 2.0.1 - micromark-extension-frontmatter: 2.0.0 - unified: 11.0.5 - transitivePeerDependencies: - - supports-color - - remark-gfm@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - mdast-util-gfm: 3.0.0 - micromark-extension-gfm: 3.0.0 - remark-parse: 11.0.0 - remark-stringify: 11.0.0 - unified: 11.0.5 - transitivePeerDependencies: - - supports-color - - remark-lint-checkbox-character-style@5.0.0: - dependencies: - '@types/mdast': 4.0.4 - mdast-util-phrasing: 4.1.0 - unified-lint-rule: 3.0.0 - unist-util-position: 5.0.0 - unist-util-visit-parents: 6.0.1 - vfile-message: 4.0.2 - - remark-lint-checkbox-content-indent@5.0.0: - dependencies: - '@types/mdast': 4.0.4 - mdast-util-phrasing: 4.1.0 - pluralize: 8.0.0 - unified-lint-rule: 3.0.0 - unist-util-position: 5.0.0 - unist-util-visit-parents: 6.0.1 - - remark-lint-code-block-style@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - mdast-util-phrasing: 4.1.0 - unified-lint-rule: 3.0.0 - unist-util-position: 5.0.0 - unist-util-visit-parents: 6.0.1 - vfile-message: 4.0.2 - - remark-lint-emphasis-marker@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - unified-lint-rule: 3.0.0 - unist-util-position: 5.0.0 - unist-util-visit-parents: 6.0.1 - vfile-message: 4.0.2 - - remark-lint-fenced-code-flag@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - mdast-util-phrasing: 4.1.0 - quotation: 2.0.3 - unified-lint-rule: 3.0.0 - unist-util-position: 5.0.0 - unist-util-visit-parents: 6.0.1 - - remark-lint-fenced-code-marker@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - mdast-util-phrasing: 4.1.0 - unified-lint-rule: 3.0.0 - unist-util-position: 5.0.0 - unist-util-visit-parents: 6.0.1 - vfile-message: 4.0.2 - - remark-lint-final-definition@4.0.1: - dependencies: - '@types/mdast': 4.0.4 - devlop: 1.1.0 - mdast-util-mdx: 3.0.0 - mdast-util-phrasing: 4.1.0 - unified-lint-rule: 3.0.0 - unist-util-position: 5.0.0 - unist-util-visit-parents: 6.0.1 - vfile-message: 4.0.2 - transitivePeerDependencies: - - supports-color - - remark-lint-first-heading-level@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - mdast-util-mdx: 3.0.0 - unified-lint-rule: 3.0.0 - unist-util-visit-parents: 6.0.1 - transitivePeerDependencies: - - supports-color - - remark-lint-heading-increment@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - devlop: 1.1.0 - mdast-util-mdx: 3.0.0 - unified-lint-rule: 3.0.0 - unist-util-visit-parents: 6.0.1 - vfile-message: 4.0.2 - transitivePeerDependencies: - - supports-color - - remark-lint-linebreak-style@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - devlop: 1.1.0 - unified-lint-rule: 3.0.0 - vfile-location: 5.0.3 - vfile-message: 4.0.2 - - remark-lint-maximum-heading-length@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - mdast-util-mdx: 3.0.0 - mdast-util-to-string: 4.0.0 - unified-lint-rule: 3.0.0 - unist-util-position: 5.0.0 - unist-util-visit-parents: 6.0.1 - transitivePeerDependencies: - - supports-color - - remark-lint-no-duplicate-defined-urls@3.0.0: - dependencies: - '@types/mdast': 4.0.4 - devlop: 1.1.0 - mdast-util-phrasing: 4.1.0 - unified-lint-rule: 3.0.0 - unist-util-visit-parents: 6.0.1 - vfile-message: 4.0.2 - - remark-lint-no-duplicate-definitions@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - devlop: 1.1.0 - mdast-util-phrasing: 4.1.0 - unified-lint-rule: 3.0.0 - unist-util-visit-parents: 6.0.1 - vfile-message: 4.0.2 - - remark-lint-no-duplicate-headings-in-section@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - devlop: 1.1.0 - mdast-util-mdx: 3.0.0 - mdast-util-to-string: 4.0.0 - unified-lint-rule: 3.0.0 - unist-util-visit-parents: 6.0.1 - vfile-message: 4.0.2 - transitivePeerDependencies: - - supports-color - - remark-lint-no-duplicate-headings@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - devlop: 1.1.0 - mdast-util-mdx: 3.0.0 - mdast-util-to-string: 4.0.0 - unified-lint-rule: 3.0.0 - unist-util-visit-parents: 6.0.1 - vfile-message: 4.0.2 - transitivePeerDependencies: - - supports-color - - remark-lint-no-empty-url@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - unified-lint-rule: 3.0.0 - unist-util-visit-parents: 6.0.1 - - remark-lint-no-file-name-articles@3.0.0: - dependencies: - '@types/mdast': 4.0.4 - unified-lint-rule: 3.0.0 - - remark-lint-no-file-name-consecutive-dashes@3.0.0: - dependencies: - '@types/mdast': 4.0.4 - unified-lint-rule: 3.0.0 - - remark-lint-no-file-name-irregular-characters@3.0.0: - dependencies: - '@types/mdast': 4.0.4 - unified-lint-rule: 3.0.0 - - remark-lint-no-file-name-outer-dashes@3.0.0: - dependencies: - '@types/mdast': 4.0.4 - unified-lint-rule: 3.0.0 - - remark-lint-no-heading-indent@5.0.0: - dependencies: - '@types/mdast': 4.0.4 - mdast-util-phrasing: 4.1.0 - pluralize: 8.0.0 - unified-lint-rule: 3.0.0 - unist-util-position: 5.0.0 - unist-util-visit-parents: 6.0.1 - - remark-lint-no-heading-like-paragraph@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - mdast-util-phrasing: 4.1.0 - pluralize: 8.0.0 - unified-lint-rule: 3.0.0 - unist-util-position: 5.0.0 - unist-util-visit-parents: 6.0.1 - - remark-lint-no-literal-urls@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - mdast-util-to-string: 4.0.0 - micromark-util-character: 2.1.0 - unified-lint-rule: 3.0.0 - unist-util-position: 5.0.0 - unist-util-visit-parents: 6.0.1 - - remark-lint-no-multiple-toplevel-headings@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - devlop: 1.1.0 - mdast-util-mdx: 3.0.0 - unified-lint-rule: 3.0.0 - unist-util-visit-parents: 6.0.1 - vfile-message: 4.0.2 - transitivePeerDependencies: - - supports-color - - remark-lint-no-paragraph-content-indent@5.0.0: - dependencies: - '@types/mdast': 4.0.4 - devlop: 1.1.0 - mdast-util-phrasing: 4.1.0 - pluralize: 8.0.0 - unified-lint-rule: 3.0.0 - unist-util-position: 5.0.0 - unist-util-visit-parents: 6.0.1 - vfile-location: 5.0.3 - - remark-lint-no-reference-like-url@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - devlop: 1.1.0 - unified-lint-rule: 3.0.0 - unist-util-position: 5.0.0 - unist-util-visit-parents: 6.0.1 - vfile-message: 4.0.2 - - remark-lint-no-shell-dollars@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - collapse-white-space: 2.1.0 - mdast-util-phrasing: 4.1.0 - unified-lint-rule: 3.0.0 - unist-util-visit-parents: 6.0.1 - - remark-lint-no-shortcut-reference-image@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - unified-lint-rule: 3.0.0 - unist-util-visit-parents: 6.0.1 - - remark-lint-no-shortcut-reference-link@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - unified-lint-rule: 3.0.0 - unist-util-visit-parents: 6.0.1 - - remark-lint-no-tabs@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - unified-lint-rule: 3.0.0 - vfile-location: 5.0.3 - - remark-lint-no-undefined-references@5.0.0: - dependencies: - '@types/mdast': 4.0.4 - collapse-white-space: 2.1.0 - devlop: 1.1.0 - micromark-util-normalize-identifier: 2.0.0 - unified-lint-rule: 3.0.0 - unist-util-position: 5.0.0 - unist-util-visit-parents: 6.0.1 - vfile-location: 5.0.3 - - remark-lint-no-unneeded-full-reference-image@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - micromark-util-normalize-identifier: 2.0.0 - unified-lint-rule: 3.0.0 - unist-util-position: 5.0.0 - unist-util-visit-parents: 6.0.1 - - remark-lint-no-unneeded-full-reference-link@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - micromark-util-normalize-identifier: 2.0.0 - unified-lint-rule: 3.0.0 - unist-util-position: 5.0.0 - unist-util-visit-parents: 6.0.1 - - remark-lint-no-unused-definitions@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - devlop: 1.1.0 - unified-lint-rule: 3.0.0 - unist-util-visit: 5.0.0 - - remark-lint-ordered-list-marker-style@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - mdast-util-phrasing: 4.1.0 - micromark-util-character: 2.1.0 - unified-lint-rule: 3.0.0 - unist-util-position: 5.0.0 - unist-util-visit-parents: 6.0.1 - vfile-message: 4.0.2 - - remark-lint-rule-style@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - mdast-util-phrasing: 4.1.0 - unified-lint-rule: 3.0.0 - unist-util-position: 5.0.0 - unist-util-visit-parents: 6.0.1 - vfile-message: 4.0.2 - - remark-lint-strikethrough-marker@3.0.0: - dependencies: - '@types/mdast': 4.0.4 - unified-lint-rule: 3.0.0 - unist-util-position: 5.0.0 - unist-util-visit-parents: 6.0.1 - vfile-message: 4.0.2 - - remark-lint-strong-marker@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - unified-lint-rule: 3.0.0 - unist-util-position: 5.0.0 - unist-util-visit-parents: 6.0.1 - vfile-message: 4.0.2 - - remark-lint-table-cell-padding@5.0.0: - dependencies: - '@types/mdast': 4.0.4 - '@types/unist': 3.0.3 - devlop: 1.1.0 - mdast-util-phrasing: 4.1.0 - pluralize: 8.0.0 - unified-lint-rule: 3.0.0 - unist-util-position: 5.0.0 - unist-util-visit-parents: 6.0.1 - vfile-message: 4.0.2 - - remark-lint-unordered-list-marker-style@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - mdast-util-phrasing: 4.1.0 - unified-lint-rule: 3.0.0 - unist-util-position: 5.0.0 - unist-util-visit-parents: 6.0.1 - vfile-message: 4.0.2 - - remark-lint@10.0.0: - dependencies: - '@types/mdast': 4.0.4 - remark-message-control: 8.0.0 - unified: 11.0.5 - transitivePeerDependencies: - - supports-color - remark-mdx@3.0.1: dependencies: mdast-util-mdx: 3.0.0 @@ -8561,15 +7506,6 @@ snapshots: transitivePeerDependencies: - supports-color - remark-message-control@8.0.0: - dependencies: - '@types/mdast': 4.0.4 - mdast-comment-marker: 3.0.0 - unified-message-control: 5.0.0 - vfile: 6.0.3 - transitivePeerDependencies: - - supports-color - remark-parse@11.0.0: dependencies: '@types/mdast': 4.0.4 @@ -8579,42 +7515,12 @@ snapshots: transitivePeerDependencies: - supports-color - remark-preset-prettier@2.0.1(prettier@3.3.3): - dependencies: - prettier: 3.3.3 - remark-stringify@11.0.0: dependencies: '@types/mdast': 4.0.4 mdast-util-to-markdown: 2.1.0 unified: 11.0.5 - remark-validate-links@13.0.1: - dependencies: - '@types/hosted-git-info': 3.0.5 - '@types/mdast': 4.0.4 - github-slugger: 2.0.0 - hosted-git-info: 7.0.2 - mdast-util-to-hast: 13.2.0 - mdast-util-to-string: 4.0.0 - propose: 0.0.5 - trough: 2.2.0 - unified-engine: 11.2.1 - unist-util-visit: 5.0.0 - vfile: 6.0.3 - transitivePeerDependencies: - - bluebird - - supports-color - - remark@15.0.1: - dependencies: - '@types/mdast': 4.0.4 - remark-parse: 11.0.0 - remark-stringify: 11.0.0 - unified: 11.0.5 - transitivePeerDependencies: - - supports-color - repeat-string@1.6.1: {} require-directory@2.1.1: {} @@ -8774,8 +7680,6 @@ snapshots: source-map@0.6.1: optional: true - space-separated-tokens@2.0.2: {} - spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 @@ -9055,8 +7959,6 @@ snapshots: toidentifier@1.0.1: {} - trim-lines@3.0.1: {} - trough@2.2.0: {} ts-api-utils@1.3.0(typescript@5.5.4): @@ -9153,21 +8055,6 @@ snapshots: unicorn-magic@0.1.0: {} - unified-args@11.0.1: - dependencies: - '@types/text-table': 0.2.5 - chalk: 5.3.0 - chokidar: 3.6.0 - comma-separated-tokens: 2.0.3 - json5: 2.2.3 - minimist: 1.2.8 - strip-ansi: 7.1.0 - text-table: 0.2.0 - unified-engine: 11.2.1 - transitivePeerDependencies: - - bluebird - - supports-color - unified-engine@11.2.1: dependencies: '@types/concat-stream': 2.0.3 @@ -9195,24 +8082,6 @@ snapshots: - bluebird - supports-color - unified-lint-rule@3.0.0: - dependencies: - '@types/unist': 3.0.3 - trough: 2.2.0 - unified: 11.0.5 - vfile: 6.0.3 - - unified-message-control@5.0.0: - dependencies: - '@types/unist': 3.0.3 - devlop: 1.1.0 - space-separated-tokens: 2.0.2 - unist-util-is: 6.0.0 - unist-util-visit: 5.0.0 - vfile: 6.0.3 - vfile-location: 5.0.3 - vfile-message: 4.0.2 - unified@11.0.5: dependencies: '@types/unist': 3.0.3 @@ -9235,10 +8104,6 @@ snapshots: dependencies: '@types/unist': 3.0.3 - unist-util-position@5.0.0: - dependencies: - '@types/unist': 3.0.3 - unist-util-stringify-position@2.0.3: dependencies: '@types/unist': 2.0.11 @@ -9294,11 +8159,6 @@ snapshots: vary@1.1.2: {} - vfile-location@5.0.3: - dependencies: - '@types/unist': 3.0.3 - vfile: 6.0.3 - vfile-message@4.0.2: dependencies: '@types/unist': 3.0.3 diff --git a/readme.md b/readme.md index 928e198..fe7803f 100644 --- a/readme.md +++ b/readme.md @@ -45,7 +45,6 @@ It takes care of dependencies and configurations for the following tools: - [ESLint](https://eslint.org) (including Svelte, Astro, and TypeScript support) - [mdat](https://github.com/kitschpatrol/mdat) - [Prettier](https://prettier.io) (including a bunch of extra plugins) -- [remarklint](https://github.com/remarkjs/remark-lint) - [Stylelint](https://stylelint.io) - [VS Code](https://code.visualstudio.com) (extension recommendations and extension settings) - Minimal repo boilerplate (`.npmrc`, `.gitignore`, etc.) @@ -58,7 +57,6 @@ This readme is for the [`@envsa/shared-config`](https://www.npmjs.com/package/@e - [`@envsa/eslint-config`](/packages/eslint-config/readme.md) - [`@envsa/mdat-config`](/packages/mdat-config/readme.md) - [`@envsa/prettier-config`](/packages/prettier-config/readme.md) -- [`@envsa/remark-config`](/packages/remark-config/readme.md) - [`@envsa/repo-config`](/packages/repo-config/readme.md) - [`@envsa/stylelint-config`](/packages/stylelint-config/readme.md) @@ -177,7 +175,7 @@ The monorepo must be kept intact, as the sub-packages depend on scripts in the p Pnpm considers module hoisting harmful, and I tend to agree, but certain exceptions are carved out as necessary: -- CSpell, remark, mdat, ESLint, and Prettier all need to be hoisted via `public-hoist-pattern` to be accessible in `pnpm exec` scripts and to VS Code plugins. +- CSpell, mdat, ESLint, and Prettier all need to be hoisted via `public-hoist-pattern` to be accessible in `pnpm exec` scripts and to VS Code plugins. - Even basic file-only packages like `repo-config` seem to need to be hoisted via for their bin scripts to be accessible via `pnpm exec` From 6674c0f9ab3fe21e3b5cab05a74096fe75df70ab Mon Sep 17 00:00:00 2001 From: Liam Rella Date: Mon, 9 Sep 2024 16:46:39 +0930 Subject: [PATCH 05/23] update cspell config --- .cspell.json | 4 +- .vscode/extensions.json | 26 +- packages/cspell-config/cspell.config.json | 51 +- .../dictionaries/envsa-acronyms.txt | 4 + .../{kp-files.txt => envsa-files.txt} | 0 .../cspell-config/dictionaries/envsa-misc.txt | 26 + .../dictionaries/envsa-names.txt | 4 + .../cspell-config/dictionaries/envsa-tech.txt | 21 + .../dictionaries/kp-acronyms.txt | 186 --- .../cspell-config/dictionaries/kp-brands.txt | 320 ----- .../cspell-config/dictionaries/kp-misc.txt | 253 ---- .../cspell-config/dictionaries/kp-names.txt | 1170 ----------------- .../cspell-config/dictionaries/kp-tech.txt | 557 -------- 13 files changed, 91 insertions(+), 2531 deletions(-) create mode 100644 packages/cspell-config/dictionaries/envsa-acronyms.txt rename packages/cspell-config/dictionaries/{kp-files.txt => envsa-files.txt} (100%) create mode 100644 packages/cspell-config/dictionaries/envsa-misc.txt create mode 100644 packages/cspell-config/dictionaries/envsa-names.txt create mode 100644 packages/cspell-config/dictionaries/envsa-tech.txt delete mode 100644 packages/cspell-config/dictionaries/kp-acronyms.txt delete mode 100644 packages/cspell-config/dictionaries/kp-brands.txt delete mode 100644 packages/cspell-config/dictionaries/kp-misc.txt delete mode 100644 packages/cspell-config/dictionaries/kp-names.txt delete mode 100644 packages/cspell-config/dictionaries/kp-tech.txt diff --git a/.cspell.json b/.cspell.json index 2b04861..52e6326 100644 --- a/.cspell.json +++ b/.cspell.json @@ -1,4 +1,6 @@ { + "$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json", "import": "@envsa/cspell-config", - "ignorePaths": ["/packages/*/init/*.json", "/packages/*/bin"] + "ignorePaths": ["/packages/*/init/*.json", "/packages/*/bin"], + "words": [] } diff --git a/.vscode/extensions.json b/.vscode/extensions.json index d28fd4e..beb5899 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,15 +1,15 @@ { - "recommendations": [ - "dbaeumer.vscode-eslint", - "svelte.svelte-vscode", - "astro-build.astro-vscode", - "streetsidesoftware.code-spell-checker", - "esbenp.prettier-vscode", - "unifiedjs.vscode-mdx", - "stylelint.vscode-stylelint", - "usernamehw.errorlens", - "antfu.where-am-i", - "antfu.open-in-github-button", - "johnsoncodehk.vscode-tsconfig-helper" - ] + "recommendations": [ + "dbaeumer.vscode-eslint", + "svelte.svelte-vscode", + "astro-build.astro-vscode", + "streetsidesoftware.code-spell-checker", + "esbenp.prettier-vscode", + "unifiedjs.vscode-mdx", + "stylelint.vscode-stylelint", + "usernamehw.errorlens", + "antfu.where-am-i", + "antfu.open-in-github-button", + "johnsoncodehk.vscode-tsconfig-helper" + ] } diff --git a/packages/cspell-config/cspell.config.json b/packages/cspell-config/cspell.config.json index 22d5661..2e8d125 100644 --- a/packages/cspell-config/cspell.config.json +++ b/packages/cspell-config/cspell.config.json @@ -2,62 +2,51 @@ "$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json", "enabled": true, "enableGlobDot": false, - "enableFiletypes": ["astro", "md", "mdx", "patch", "svelte"], "dictionaryDefinitions": [ { - "name": "kp-acronyms", - "path": "./dictionaries/kp-acronyms.txt", + "name": "envsa-acronyms", + "path": "./dictionaries/envsa-acronyms.txt", "addWords": true }, { - "name": "kp-brands", - "path": "./dictionaries/kp-brands.txt", + "name": "envsa-files", + "path": "./dictionaries/envsa-files.txt", "addWords": true }, { - "name": "kp-files", - "path": "./dictionaries/kp-files.txt", + "name": "envsa-misc", + "path": "./dictionaries/envsa-misc.txt", "addWords": true }, { - "name": "kp-misc", - "path": "./dictionaries/kp-misc.txt", + "name": "envsa-names", + "path": "./dictionaries/envsa-names.txt", "addWords": true }, { - "name": "kp-names", - "path": "./dictionaries/kp-names.txt", - "addWords": true - }, - { - "name": "kp-tech", - "path": "./dictionaries/kp-tech.txt", + "name": "envsa-tech", + "path": "./dictionaries/envsa-tech.txt", "addWords": true } ], "dictionaries": [ "lorem-ipsum", "git", - "gaming-terms", "npm", - "data-science", "fullstack", - "kp-acronyms", - "kp-brands", - "kp-files", - "kp-misc", - "kp-names", - "kp-tech" + "softwareTerms", + "envsa-acronyms", + "envsa-brands", + "envsa-files", + "envsa-misc", + "envsa-names", + "envsa-tech" ], "languageSettings": [ { - "languageId": "markdown,mdx,json", + "languageId": "markdown", "ignoreRegExpList": [ - // TODO does regex really need to be global? - "/^```(?:.|\\s)+?^```/mig", // Code fences - "\\$\\$.*?\\$\\$", // Ignore display MathJax $$...$$ - "\\$[^$\\n]*\\$", // Ignore inline MathJax $...$ - "[A-Z\\d\\-]{8,}" // Probable IDs or model names, e.g. AK-68-S7KA-0004 + "/^```(?:.|\\s)+?^```/mig" // Code fences ] } ], @@ -95,7 +84,7 @@ "pnpm-lock.yaml" ], "ignoreRegExpList": ["tp-.+", "tweakpane-plugin-.+", "v2_c_\\w{21}"], - "language": "en,en-US", + "language": "en,en-AU", "useGitignore": true, "version": "0.2" } diff --git a/packages/cspell-config/dictionaries/envsa-acronyms.txt b/packages/cspell-config/dictionaries/envsa-acronyms.txt new file mode 100644 index 0000000..8985a39 --- /dev/null +++ b/packages/cspell-config/dictionaries/envsa-acronyms.txt @@ -0,0 +1,4 @@ +DEW +NPSA +NPWS +NPWSSA diff --git a/packages/cspell-config/dictionaries/kp-files.txt b/packages/cspell-config/dictionaries/envsa-files.txt similarity index 100% rename from packages/cspell-config/dictionaries/kp-files.txt rename to packages/cspell-config/dictionaries/envsa-files.txt diff --git a/packages/cspell-config/dictionaries/envsa-misc.txt b/packages/cspell-config/dictionaries/envsa-misc.txt new file mode 100644 index 0000000..174e45b --- /dev/null +++ b/packages/cspell-config/dictionaries/envsa-misc.txt @@ -0,0 +1,26 @@ +adelaidegaol +adelaidenationalparkcity +bgset +botanicgardens +carbonneutraladelaide +clelandwildlifepark +contentmigrations +defaultstatus +dogandcatboard +envsa +greenadelaide +kitschpatrol +koalalife +lazyload +marineparks +Mergeable +metabundles +nonconstructor +outfile +preid +productname +scpt +startdate +stateflora +tldr +webroot \ No newline at end of file diff --git a/packages/cspell-config/dictionaries/envsa-names.txt b/packages/cspell-config/dictionaries/envsa-names.txt new file mode 100644 index 0000000..0c25009 --- /dev/null +++ b/packages/cspell-config/dictionaries/envsa-names.txt @@ -0,0 +1,4 @@ +Mika +Rella +rellafella +wolispace diff --git a/packages/cspell-config/dictionaries/envsa-tech.txt b/packages/cspell-config/dictionaries/envsa-tech.txt new file mode 100644 index 0000000..1394401 --- /dev/null +++ b/packages/cspell-config/dictionaries/envsa-tech.txt @@ -0,0 +1,21 @@ +ddev +deepmerge +dewnrger +drawnoxima +execa +formie +glightbox +grecaptcha +lazysizes +mdat +openforms +pcss +pinojs +redactoranchors +seomatic +solspace +stylelintrc +tailwindcss +trivago +tseslint +tsup diff --git a/packages/cspell-config/dictionaries/kp-acronyms.txt b/packages/cspell-config/dictionaries/kp-acronyms.txt deleted file mode 100644 index 18e1026..0000000 --- a/packages/cspell-config/dictionaries/kp-acronyms.txt +++ /dev/null @@ -1,186 +0,0 @@ -ABFR -AMNH -ANKR -APFS -APNG -APOE -ARGB -ARoS -ASMR -ASTC -AVIXA -BICSI -BIRP -BMBF -BOGO -BOWN -BTAL -BTLE -BYOD -CALS -CATECK -CCRU -CDMA -CHAG -CHNDM -CLRF -CMA's -CMOM -CMPS -CMTS -CMYKA -CNVIO -COFDM -CPNI -CRDT -CVPR -CWRU -DBRS -DIVX -DJVU -DMNS -DOCSIS -DPMS -DSIM -DSLR -DSSIM -DWGs -DWSH -DYLIB -ECHDC -EPDF -EPSF -EPSI -EPUB -EQOS -EXPI -FAANG -FAAS -FACP -FAFSA -FFTC -FLDC -FLIF -FOOMA -FOST -FOUC -FOUSC -FTXT -GLSL -GLTF -GPLT -GRAYA -HAARP -HALD -HDRI -HPAC -HPGL -HTPL -HVAC -IDML -IEET -IFFT -IIFE -IMDB -INSV -IPTC -ISBN -ISOBRL -IXDA -JBIG -JBOD -JFET -JOGL -JSTOR -KALV -KQED -LLDB -LLIS -LTMSC -LWJGL -MCAD -MCMC -MDMA -MELA -MoAD -MOBI -MODD -MoMA -MOPOP -MPAA -MRAD -MRPE -MRSA -MSATA -MSTR -MUAC -MURS -NASM -NIME -NIMH -NKSC -NLTK -NMUSN -NTFS -NYPL -NYSCI -NYU's -ODMA -OHTO -OKLCH -OLED -OMCS -OMFG -PAAS -PCDS -PCOMP -PICON -PMVS -PSNR -PSYK -PTAM -PTFE -PTIF -QLED -QTIF -RAAS -RDMS -RFID -RIAA -ROKC -RWET -SBMS -SBRC -SDHC -SEGD -SICP -SKALE -SNDL -SNMP -SSIM -STUI -TBIO -TECAN -TMKF -TPLM -TQQQ -TRIAC -TRPL -TSNE -TUIO -UBRL -UDTG -UHDR -UYVY -VERU -VIFF -VMAF -VRML -WAMU -WBMP -WJCT -WLAN -WLTOF -WWDC -WXRU -XONE diff --git a/packages/cspell-config/dictionaries/kp-brands.txt b/packages/cspell-config/dictionaries/kp-brands.txt deleted file mode 100644 index 9c2befa..0000000 --- a/packages/cspell-config/dictionaries/kp-brands.txt +++ /dev/null @@ -1,320 +0,0 @@ -Acela -Acto -Adafruit -Adventureland -AeroVironment -Aescape -AEVEX -AIEQ -Akasa -Alamy -Alibre -Altice -Amahi -Ameritrade -Anacapa -Anduril -Anker -ænrmòus -Aqara -Aqueux -Arc'teryx -Archimedia -Asahi -Asana -Asics -ASUS -Aukey -Aurulent -Avitto -Axure -Backblaze -Baggu -Bagjack -Baldor -Baratza -Bazel -Behmor -Belkin -Bionade -Biozyme -Birdly -Blooploop -Blundstone -Bodum -Boncom -Bormioli -Botanica -Bria -Brita -Buefy -Buspar -Camino -Canva -Carbonmade -Cardhop -Celeron -Cera -CFCL -Chakra -Cheogram -Ciel -Citi -CLAE -Cnet -codemirror -Cometa -Conceptarium -Coolhunting -Coolify -Cortina -Cosm -côte -côte&ciel -Cydwoq -Daiso -Danspace -Datomic -Devtek -DigiKey -Dinamo -Displax -Dorkbot -Dretec -Duolingo -Duralex -Dymo -Dyneema -Eastpak -Eldorado -Elgato -Enerloop -Envato -Espiral -Evangelion -Everlane -Evernote -EVGA -Expomobilia -Fanprix -Fastmail -Ferrero -Fira -Fishs -Fiskars -Flic -Flickr -Focalin -Fogia -Foznt -FTDI -Fugu -Fumito -Futureworks -Ganryu -Gateron -Gazos -Geico -Gizmodo -Glamtech -Glasslands -Glorietta -Goetz -Goppion -Graffle -Grailed -Grilli -Guidi -Hagerty -Hario -Harves -Hipmunk -Hirshhorn -Hisense -Hoka -Hokas -Hotmail -Hunkemöller -Illesteva -iMac -Isaora -Izipizi -Jaden -Juul -Kagi -Kaiyo -Kalita -Kato -Kaweco -Keppra -Kershaw -Keychron -Khronos -Kickstarter -Killscreen -Kingwin -Kinka -Kinkos -Knowfox -Koche -Kohler -Kuro -L'Oréal -Labdoor -Lamy -Lamzu -Levain -Loreal -Lowes -Luxon -MacBook -Macys -Malin -Mandai -Maybach -Mechanix -Mechano -Mekelburg -Melitta -Meross -Metra -Metrograph -Mets -Moccamaster -Momofuku -Monero -Monoprice -Monoprix -Muji -Mykita -Neatorama -Nelnet -networkidle -Niimbot -Nord -Northbank -Northstar -Novablast -nytimes -Ohaus -Oishii -Oncorus -Optery -Optimo -Optoma -Orbi -Otta -Pachube -Palit -Panera -Paxlovid -Payboo -Peakto -Penco -Performa -Perlorian -Perrotin -Phidgets -Piction -Pirelli -Plastite -Playmobil -Pocketmod -Posay -Prezi -Protolabs -Puro -Qotom -Qovery -Quantbase -Quercia -Retrobatch -Rhodia -Ribbonfarm -Rilakkuma -Rimowa -Rivarossi -Robinhood -Rocher -Roka -Roomba -Rotring -Sabrent -Salomon -Sandvic -Saphris -Sapienship -Satechi -Saucony -Sbarro -Scarpa -Scarpia -Schiff -Selfridges -Sephora -Shippo -Siig -Smartwool -Somaxis -Sonicare -Sotheby -Speaklow -Spyscape -Squarespace -Squidex -SSENSE -Staron -STAX -Steelcase -Storify -Strix -Sugru -Sunon -Superbright -Sutro -Swappa -Tanita -Tapo -Targus -Tellart -Terrapattern -Tesa -Thonet -Tifosi -Tiktok -Timbuk -Tinyletter -Totokaelo -Travelpro -Trippen -Truevision -Turris -Tuxera -über -Ubiquiti -Ubisoft -Ultimaker -Uniqlo -Vava -Venmo -VENTUS -Verio -Viberg -Videlio -Vitra -VOCOlinc -Vyvanse -Wegman's -Wegmans -Wemo -Westfalia -Wirecutter -Xero -Yasso -Yoox -Zcash -Zengobi -Zocdoc -ZOTAC -Zotero -Zulip diff --git a/packages/cspell-config/dictionaries/kp-misc.txt b/packages/cspell-config/dictionaries/kp-misc.txt deleted file mode 100644 index 46cedf8..0000000 --- a/packages/cspell-config/dictionaries/kp-misc.txt +++ /dev/null @@ -1,253 +0,0 @@ -acai -acmeism -acmeist -adhocracy -adject -affordances -afterparty -agentic -allwork -amaro -ampli -ampliface -anglophilic -angsty -animatable -apértif -apotheke -archivers -argh -assed -autofiction -autophagic -Ayurvedic -badass -Barcade -barramundi -bastirma -benshi -bento -bien -biodesign -bleh -blondies -bodymetrics -boing -borked -boulangerie -bourguignon -bresaola -brevis -broccolini -brushless -bulgogi -Bushwick -callout -Canalside -cantine -Caprica -carb -catechins -ceci -Changdu -checkin -cheesery -choco -clicky -comparables -confit -connectome -connectomes -consequentialism -contrivings -cortado -Covenhoven -Craftbar -crashy -cronut -customizer -cutz -cyberia -Danby -delaminating -dicked -dinero -discardable -discoverability -disruptors -dolmas -dopp -dosa -douchier -downleveling -droolmonkies -earlyish -earnout -electrooptical -electrotechnical -embodiedness -enshittification -esque -experimentations -favoriting -Finsta -firestarter -Flatbush -flosser -fluxus -freakin -frites -fuckery -fugazi -ganga -goji -Googlers -grapher -Greenpoint -gummies -gyoza -hackier -haha -Haniwa -heli -hella -herenow -holo -holodeck -hotspot -hubless -hyperpop -ibond -ideator -Ikinari -immersiveness -instrumentalization -Interactivos -intergenerational -jankiness -jouissance -Kabelwerk -kanban -katsu -kludgey -kombucha -kunst -kunstmuseum -Ladenburg -Lockerbie -Lockport -longshed -lorax -mafé -mahi -maison -matryoshka -mirrorless -misconstrual -misophonia -Mithraeum -moar -mochi -moiré -motorsports -Musée -Museo -Muséum -neuro -Neuromancer -nori -normie -Nostrand -onesie -orotate -packrat -panini -pappardelle -pico -plexi -polyphenol -polyphenols -polyvinylpyrrolidone -porntipsguzzardo -posthumanism -quippy -railcar -rando -randos -rebranded -refurb -repairability -repost -Roebling -royale -Sancerre -Sandia -satisfiability -Schizopolis -Shinkansen -shroom -sidenote -sidenotes -situationists -skeuomorphic -skeuomorphism -smokin -socio -Soleil -Soulscape -soundsuit -Soziokultur -spammy -spincycle -spiritualization -spyplane -sqft -stackable -statuario -steeplecab -stopfen -storymaking -suyah -synesthectacles -technologiae -technopaganism -technoprogressivism -technosentience -Teddit -timelapse -tldr -trailhead -transhumanism -traunch -Tribeca -trippy -ubanology -uberbeamer -überbeamer -umami -unagi -uncapitalize -undelightable -ungoogleable -unignore -unshift -untildify -Valis -vaporwave -Việt -Westville -whatwork -wireframe -womp -wonkery -XPLO -yada -yakitori -yall -Yankī -yeesh -youmean -zettelkasten -ziptie -zoomer -zoomers diff --git a/packages/cspell-config/dictionaries/kp-names.txt b/packages/cspell-config/dictionaries/kp-names.txt deleted file mode 100644 index 95799d0..0000000 --- a/packages/cspell-config/dictionaries/kp-names.txt +++ /dev/null @@ -1,1170 +0,0 @@ -3dkng -A'yen -Abbate -Acconci -Acko -Adamson -Adelle -Adelphi -Adkisson -Adorno -Adrián -Aelita -aemarse -Agarwal -Agarwala -Aherin -Ahern -Ainslie -Aita -Aiwen -AJ's -Ajay -Akara -Akim -Akkurat -Akten -Alain -alexeaton -Amane -Amato -Amed -Amelot -Amet -Amlen -Amplifi -Anadol -Analise -Andie -Ando -Andrade -André -Andreas -Andrej -Andrey -Andria -andycb -Anella -Anja -Ankeny -Ansari -antfu -Antoni -Anya -Applebaum -Aran -Ariely -Arjo -Artifex -Aseem -Ashwin -Atreet -Attia -Avgeros -ayamflow -Ayen -Babar -Babou -Badr -Baichtal -Balch -Baltz -Banksy -Bansal -Banzon -Baraff -Barbier -Barbuto -Baret -Barokka -Barriga -Bassick -Batuman -Bayles -beatfeat -Belson -Bembe -Bengio -Benine -Beno -Beny -Bermudez -Besa -Besos -Besta -Betts -Beuerer -Beyah -Bezos -Bhoj -Bifo -Bihn -Bijja -bildende -Billelo -Binay -Binks -Binky -Bjorn -Bjørn -Bodden -Boesch -Bofill -Bokaer -Boling -Bonawitz -Bonime -Boomgaard -Borenstein -Borrelli -Bostom -Bostrom -Boujou -Boulton -Bourke -Boveri -Bovino -Boyz -Brade -Bradfield -Bram -Branly -Branwen -Brea -Breezer -Brendon -Bretton -Brichter -Bricman -Bringle -Britz -Bront -Brower -Brutvan -Bubuck -Buckminster -Budd -Burges -Burgund -Burndy -Bustos -Byung -Cabel -Callot -Cambre -Canavan -Capps -Cardano -Carley -Carlsen -Carmack -Carnett -Carrer -Carsten -Castiñeira -Catie -Catmull -ccorcos -Celko -Chadd -Chana -Chapelle -Chapin -Charnov -Chicagi -Chien -Chika -Chiriac -Chisai -Chiu -Choi -Christo -Chul -Chun -Classon -Cleary -Cleese -Clevenger -Clisset -Cocoön -Coen -Cofoco -Cohrs -Condon -Copia -Corbin -Corbis -Corinna -Cormeau -Cortese -Cosme -Crary -Cravath -Cravey -Crittercism -Croghan -Cúbias -Cuit -Cunk -Cuomo -Cupidon -Cynar -d'Orsay -Dabas -Dahing -Dahnke -Dalma -Damore -Damyata -Danja -Darche -Dass -Datta -dbaeumer -Deamer -Debord -Degaulle -Degenhardt -Dekkers -Delbyck -Deleuze -Delice -Dell'Antonia -Dellantonia -Delphine -Delray -Delson -Demeulemeester -Demian -Denson -Depeche -desousak -dewwy -Diez -Diller -Dimnet -Ditmas -Dmitriy -Doherty -Dombås -donmccurdy -Doob -Dostoy -Dowding -Downey -Doyers -Drasin -Drennan -drona -Dubrule -Ducasse -Dumont -Durland -Dustyn -Eames -Ebenezer -Edensor -Edgcumbe -Edsger -Efron -Eggli -Eidhof -Elie -Elixia -Elle -Elly -Emefre -Emel -Enault -Engelbart -Engst -Enso -Equa -Erbe -Erdogan -Erez -ericmika -Erwan -Esmaili -Etra -etrea -Exley -Eyal -Eyval -Ezer -Ezgi -Fabberz -Fairey’s -Falco -Faludi -Farah -Fede -Federov -feedbin -Feit -Feixen -Felidia -Feliu -Felsen -Fermoso -Ferrer -Fidler -Fiebrink -Fifi -Fleischmann -Fleisig -Flexa -Flichy -Florian -Foer -Földesi -Fong -Fontana -Forde -Forelle -Forman -Förnuft -Foro -Fortney -Fournil -Francesco -Francie -Franke -Frede -Freking -Freundlich -Frick -Frida -Frumin -Fung -Galette -Gaudí -Geffner -Gehry -Genny -Georgi -Geppert -Gerome -Gershenfeld -Gervais -Gesiak -Gethin -Ghibli -Gillaume -Girona -Glimcher -Godin -Goliński -Gomes -Gondry -Gordan -Gordie -Goryu -Gowanus -Graeber -Grasse -Graw -Grayson -Grelle -Gresser -Grisch -Grischa -grishe -Grob -Grogan -Gruber -Grushkin -Guattari -Güeros -Guillaume -Guillin -Guíxols -Gwern -Haenyeo -Hagborg -Haider -Hakuba -Hallett -Hamel -Hammerbacher -Hana -Hanstra -Harari -Haraway -Harnisch -Harouna -Hartke -Hartun -Hassani -Healey -Hebbian -Hechinger -Hédelin -Hedwig -Heimat -Heinen -Hender -Hendry -Henny -Henpen -Hersh -Higa -Higgs -Hillman -Hiroki -Hirsch -Hirschmiller -Hito -Hodgson -Hoefler -Holda -Höller -Hollingworth -Holten -Holtzman -Hoppe -Hornbeck -Hotz -Houde -Houellebecq -Houng -Houx -Hsueh -Huebler -Huffington -Husain -Husted -Hyman -Iberti -Ichiran -Idah -idfdz -Igal -Igoe -Iijima -Ijima -Ikeda -Ilana -Illich -Insaf -Ippudo -Irina -Irisch -Isaacson -Issey -Italo -Itzhak -Ivana -Izzy -Jaccard -Jadens -Jaein -Jakob -Jakub -Jalufka -Jamil -Jamison -Jang -Jango -Jasmin -Jasons -Javits -Jaynes -Jelani -Jenine -Jenn -Jilann -Jing -Jiro -Jodry -joethei -Johan -Jóhann -Jóhannsson -johnsoncodehk -Jojo -Jong -Jonny -Jony -jorisjh -Jott -Juliya -Junichiro -Junya -Kahlo -Kaitlyn -Kalee -Kalish -Kallie -Kang -Karman -Karmann -Karpathy -Karsan -Karsten -Katia -Katsuhiro -Katz -Kayser -Keane -Keeli -Keijiro -Keiko -Kemper -Kengo -Kerker -Kerruish -Kessler -KeWlers -Kiet -Kilmer -Kimi -Kinsella -Kirill -Kishfy -Kishle -Kitano -kitschpatrol -Kleiner -Klim -Klompus -Klosterman -Kocienda -Kogan -Kohonen -Kôji -Kojian -Kokubun -Kolak -Korin -Korput -Kosberg -Kottas -Kottke -Koustantinich -Kovarik -Koze -Koźniewski -Kraner -Krantz -Kratos -Krause -Kruse -Krzysztof -Ku -Kuang -Kuma -Kuno -Kurzweil -Kusama -Kushner -Kutnow -Kuzmin -Kykuit -Kyoko -L'Rai -Laidlaw -Laika -Lände -Laren -Lassy -Lattner -Laure -Lavigne -Leahy -Leavitt -Lebron -Leeza -Leff -Lefrak -Legrand -leolabs -Lesniak -Lessig -Lethem -Lévi -Levitch -Lewitt -Leyland -Licklider -Liesje -Lijun -lillallol -Lillo -Limor -Lindley -Linds -Lineto -Linett -Lingdong -Litt -Littlewood -Littrell -Liv -Lixin -Locanda -Lockes -Löffler -Lohman -Loong -Lovejoy -Lrai -Luiz -Lupton -L’Óreal -L’Rai -Maag -Mackay -mackuba -Maddie -Maddy -Madsen -Magnus -Mahir -Maithel -Majer -Makari -Makiura -Makoto -Malkin -Marais -Marbut -Margiela -Mariel -Marien -Marijana -Marika -Marko -Markoff -Marlena -Marnier -Maron -Marraco -Martín -Martino -Maru -Masha -Masif -Maslow -Masood -Maspeth -Masucci -matan's -Mateo -Matheus -Matias -Matija -Matsuda -Matteson -Mattt -Matuschak -Maujer -Maver -McCambridge -McGlone -McIver -McKenna -Medcraft -Meer -Meeus -Mekala -Mekas -Melcher -Melrose -Meltzer -Mendenhall -Mendes -Mensah -Menya -Merington -Mesia -Mesià -metehus -Michna -Midori -Mika -Mikaela -Millican -Millner -Millstein -Milman -Minhs -Minkowski -Miorelli -Mirada -Mishima -Misrahi -Mistry -Miyake -Miyazaki -mmackh -Moatti -Möbius -Modesta -Moffat -Moishe's -Molanphy -Molior -Molmol -Monge -Monroy -Monstercat -Montauk -Mori -Moriah -Morril -Morry -Morty -Mozina -mrdoob -Mulhollen -Müller -Munish -Mwangi -Myriam -Nadya -Nagbe -Nahana -Naimark -Nalata -Narita -Naruns -Nassima -Nattinger -Nausicaä -Nava -Navalny -Nduja -Nekoro -Nemerov -Nessen -Neumann -Nevarez -Newmark -Ngan -Nico -Niel -Nien -Nik's -Nikiforov -Nikola -Nikolas -Nilay -Niloo -Nima -Niro -Nisma -Nitsuj -Noam -Noonan -Nosaj -Notwist -Novak -O'Connor -Oconnor -Okamura -Olaaf -Olah -oldboy -Oliva -Oliveri -Olly -Ondi -Onika -Onvural -Ordrup -Orenda -Oriol -Orland -Osawa -osnr -Outkast -Ozge -Ôtomo -Pachucki -Paciocco -Paik -Palash -Palatucci -Palo -pangenerator -Paounov -Paradis -Pavel -Pawel -Pawlikowski -Pearlyn -Pegg -Pell -Pepe -Perla -Perlin -Pettee -Pham -phenomnomnominal -Philipp -Picabia -Pirsig -Plessey -Pletcher -Plomatos -Pohlman -Poitras -Polanyi -Polli -Pollyn -Ponto -Ponzi -Positas -Pradhyo -Propery -Protazanov -Protzel -Quintana -Quist -Rafaël -Rafferty -Raku -Raman -ramblerman -Rana -Raskar -Rasmus -Realmuto -Reas -Rebecca -Refik -Renard -Renata -Renaud -Renfer -Renfro -Renwick -repalash -Resy -Reza -Riano -Ridhi -Rienstra -Rieper -Riess -Rigamonti -Ritchie -Rivero -Rivière -Rivington -Rizzo -Robey -Rockel -Rodale -Rodley -Rodríguez -Roguski -Rokeby -Romare -Romie -ronaldpr -Ronin -Roopa -Rosado -Rosen -Rosling -Rossi -Rosso -Roszak -Rothman -rseidelsohn -Ruberto -Rucyl -Rudtner -Rutter -Ryoji -Ryono -Rzehak -Sabir -Sackler -Sadek -Safdie -Safrin -Saggau -Saldaña -Salles -Samia -Samira -Sandeep -Sangwoo -Sanrio -Sant -Santosh -Saoudi -Saskia -Sasser -Sasson -Satoru -Sauer -Savicic -Scanlon -Schachman -Schaffhauser -Scharf -Schmitz -Schnaars -Schödler -Scholes -Scholze -Schulfer -Schwarz -Scofidio -Scotty -Seamus -Sebald -Seger -Seixas -Sekhmet -Sellam -Semir -Serdal -Sergey -Shafqat -Shafter -Shahar -Shakar -Shapira -Sharpless -Sheng -Shephard -Shera -Shiffman -Shiki -Shinder -Shirky -shoedler -Shulgin -Sice -Siddiq -Siegel -Sigel -siipo -Silverman -Simkin -Simpkins -Simun -Sindre -sindresorhus -Sinead -Singla -Sital -Skiba -Slava -Slavin -Slover -Smullin -Snibbe -Soerensen -Sofreh -Sofy -Söhne -Soman -Sorhus -Sout -Spalla -Spiekerman -Spirk -Spitzmiller -srmla -Stapledon -Steane -Stelton -Stepan -Stetter -Steyerl -Stinson -Stott -Styer -Suda -Sujata -Sundar -Sundström -Sungbin -Sveta -Svorka -Swensen -Syed -Syeda -Synbio -Tadao -Tadasuke -Taeyoon -Takahashi -Takaoka -Takeshi -Takoma -Talia -Talisa -Tallie -Tallman -Talman -Tamar -Tanenbaum -Tanizaki -Tarakajian -Tarte -Taryn -Tatu -taubyte -Tayle -Tchiu -Tchoupakov -Teng -Tensai -Terje -Terzoula -Thakar -Thao -Theiner -Theo -Thornburg -Thurston -Tianwei -Tibbets -Timoner -Timpson -Tims -Tiongson -Titicut -Tiya -Tomi -Tomo -Tompson -Tonian -tonsky -Torien -Torin -Torre -Torrone -Totto -Toulu -Tournaye -Triant -Tripp -Trivino -truise -Tsai -Tsumago -Tufte -Tupplur -Turkle -Twickr -Twilley -Tyka -Tymon -Udovich -Umar -Urbach -ürich -usernamehw -Vakili -Vanhemert -Vankatesh -Varan -Varujan -Varun -Veasey -Vélez -Venegas -venkat -Vibha -Vidich -Vidichs -Vidya -Vijil -Vikar -Vikram -Vogel -Volk -Voronoi -VVORK -Waldrop -Wanger -Wassim -Watanabe -Watz -Waxman -Wazin -Weinke -Weisenbach -Wenders -Wendt -Wenner -Wenwen -Werblin -Werthein -Wheare -Whorf -Willson -Wilmans -Wohrl -Wolcott -Wolther -wooorm -Wooyoung -Worby -Worku -Wouk -Wyndam -Wynne -Yakov -Yamamoto -Yaney -Yann -Yannick -Yaran -Yarnell -Yarvin -Yasser -Yatskov -Yavuz -Yaya -Yendri -Yeon -Yermack -Ylonen -Yoder -Yohji -Yonhee -Yonni -Yooin -Yoshida -Yoshua -Yossef -Yotrk -Yuditskaya -Yuill -Yung -Yuval -Zabala -Zack -Zaks -Zaman -Zamorano -Zana -Zananiri -Zannah -Zanzouri -Zareen -Zavala -Zeena -Zeki -Zena -Zeplin -Zeven -Zhang -Zheng -Ziskina -Ziyun -Zlatar -Zoephel -Zoltan -Zucker -Zurkow -Zutowski diff --git a/packages/cspell-config/dictionaries/kp-tech.txt b/packages/cspell-config/dictionaries/kp-tech.txt deleted file mode 100644 index 0c108b5..0000000 --- a/packages/cspell-config/dictionaries/kp-tech.txt +++ /dev/null @@ -1,557 +0,0 @@ -aacbrew -Acrobits -adjustmentsinfo -Airtable -altool -AMPM -Anki -apos -AppFlowy -AppleScript -apufix -Archivy -argless -Armbian -armhf -Artnet -astable -Astro -astrojs -autohide -autoimports -Automator -autoplay -autoresizing -avifenc -backlink -backlinking -backlinks -backtest -balena -Balsamiq -beforeunload -bézier -bgsound -Bibliogram -bignum -bigram -bigrams -bindability -bitvise -Blotar -boids -Boostnote -bootable -boto -browserconfig -Bugsense -Bulma -bumpp -bunnycdn -buttongrid -bzdata -bzpkg -camelcase -camerakit -cameraring -camerawheel -certbot -chezmoi -chipset -clippy -cloze -clozes -cmark -cocoapods -codebases -codebooga -codellama -codesigning -Codespaces -codsen -Colibri -Collab -colspan -combinators -Coqui -coreboot -cosmicconfig -Cousine -cout -Cpath -cpufreq -crossorigin -cssnano -csvg -cubicbezier -cupsctl -Cura -cwebp -Cyberduck -Cython -Datalog -dataview -datavis -dataviz -Datejs -datetime -deepmerge -deleter -demux -dendron -deno -devel -dicom -disablepictureinpicture -divs -dnsperf -docsify -Dokku -dpkg -draggability -duti -dwebp -Dyntube -emaculation -Emolex -ereader -errorlens -estree -ette -Excalidraw -execa -exif -exiftool -exiv -exportdb -farbfeld -faststart -favicons -fbtweak -fddk -ffmetadata -ffprobe -fieldset -figcaption -fileprivate -filesize -filesys -finnhub -finviz -firmata -Flashforge -flexbox -Flickrj -Flycut -fontsource -fortawesome -fpsgraph -fsnotes -fullscreen -fusuma -Futil -gchat -gdocs -gdrive -gdrives -geotag -gifski -gitbox -glew -glkview -gogs -Grav -Gridsome -GSAP -guetzli -gzipped -Hackaday -hackintosh -hackpad -haml -haptics -hasha -hashable -hashbang -hashchange -helpd -hexfet -HoloLens -HoloVista -hostnames -htmlmixed -hypedl -hypem -iama -ibeacon -iframes -imager -imagetools -imce -immer -InfoComm -instanceof -introend -introstart -InvisBox -ipynb -jetblack -jpgs -jphc -jsonifiable -JUCE -jxra -jxrs -jxsc -jxsi -jxss -keepnames -Keybr -keydown -keyof -Kinect -kinects -kiota -kputil -ksdiff -lanczos -langchain -lazygit -lerp -lerper -lerpy -libpam -libreddit -lilnas -linebreak -linkedom -linkify -localizable -Loggly -logseq -lproj -Lume -Luminar -Maaku -magicmark -mailarchiver -mailparser -makr -manycam -markdownit -marpit -mathjax -maxlength -Mbps -mcfly -mdast -mdat -mdatrc -mdsvex -mdxconfig -mdxjs -mediahasplayed -Memex -memfs -Menlo -Meraki -mergeable -Meslo -metafile -metaio -MikroTik -millis -Mimestream -min -Mindflex -minica -miniconda -minidom -minmax -mipmaps -mixtral -Mkdown -mkfile -mklabel -mkpart -mmhmm -mobileconfig -mofi -mollom -Monaspace -Monkeytype -Monospice -moveto -movflags -mozjpeg -mplayer -mrmime -MSLICE -mstile -Mullvad -mult -multicol -multimethod -multiport -Multitaction -multiview -nannou -navas -Navizon -Netatalk -Netgate -Netgear -Newswire -nextdns -nextid -Niantic -Nimbot -Ninite -Nitter -Noctua -Nodebox -nodenext -noembed -nokey -noopener -noprint -noreferrer -noscript -notarytool -Notenik -Noteplan -Noteship -nothrow -Noti -notionhq -Noto -notunes -npmlog -nproc -numpy -Nuxt -nyquist -Obinslab -objc -oclif -Octocat -Odroid -Odroidh -Odroidxu -oflog -ofparam -ohmyzsh -oklab -ollama -onehot -openframeworks -opengl -openmediavault -openscad -optionator -osascript -osxphotos -outfile -outro -outroend -outrostart -overscroll -oxipng -oxlint -pagecrypt -pagefind -Pandoc -Panebuilder -Panepaint -pango -Parachain -parsimmon -pdfreader -pdfs -pendingupload -pflops -pfsense -phasor -photokit -Photomator -Photoshop -photoslibrary -photoswipe -piezo -pinojs -pipx -Piwick -piwik -Pixelmator -Pixera -pkgroll -Plask -playform -playsinline -pngs -Polycode -poscene -positionals -Preact -precompress -preprocessors -prezto -printwidth -projectz -Protectli -proto -protobuf -Protokol -Protovis -Proxyman -psds -psexec -pushshift -qalpha -qcolor -qscale -radiogrid -raytrace -rclone -rcmdnk -realfavicongenerator -rects -rehype -resizability -Roboto -roletype -rsvfx -ScanX -scikit -scipy -scpt -screenreader -screenshare -scrollbooster -sectionhead -seedrandom -setext -shadcn -shikijs -signale -silencedetect -Simplenote -Siri -slnc -sluggify -slugified -smartctl -smartmontools -smupgd -Snipster -softphone -squoosh -srgb -sshfs -Statamic -stegano -Strapi -strimg -Stuntz -stylelintrc -stylesheet -subclassable -subclassing -subgrid -subgrids -subheadline -subviews -Superslides -svelteness -Sveltepress -svgs -swiftui -SwiftyMarkdown -Swinsian -syncmd -syncme -tabindex -tailwindcss -Talabot -taskkill -Tauri -tbody -templating -testid -texcoord -textbox -thead -Threlte -tiktoken -tinycolor -tinyllama -tldraw -tolower -torchaudio -torchvision -touchid -toupper -truecolor -tsconfigs -tsdoc -tslog -tsparticles -tsquery -tsup -ttime -ttulo -Tukul -tweakpane -tweener -tweens -unibody -unifiedjs -unist -universaljs -unplugin -unsharp -urlopen -urlset -USBImager -ustream -uuidgen -vapo -vectorstore -Verba -vfile -vidup -virtualenv -vmax -vmin -Vokaloid -vpnc -vsync -Vuetify -webarchive -Webflow -webmail -webmin -webui -Wekinator -wetlab -wght -whisperx -WHOIS -woob -wordnet -WorkFlowy -worktree -xbee -xbees -xcrun -XCTU -xstate -yadm -yanki -Zarvox -zeed -Zigbee -zimfw -zoomout -zoomy -zplug From 9efa225c4cfe30c821a869776c4ea6eaecb422b4 Mon Sep 17 00:00:00 2001 From: Liam Rella Date: Mon, 9 Sep 2024 16:46:46 +0930 Subject: [PATCH 06/23] update eslint config --- .eslintignore | 25 - .eslintrc.cjs | 15 - .vscode/settings.json | 12 +- eslint.config.js | 15 + packages/eslint-config/eslint.config.cjs | 352 --- packages/eslint-config/eslint.config.js | 128 + packages/eslint-config/init/.eslintignore | 25 - packages/eslint-config/init/.eslintrc.cjs | 7 - .../eslint-config/init/.vscode/settings.json | 13 +- packages/eslint-config/init/eslint.config.js | 12 + packages/eslint-config/package.json | 29 +- packages/eslint-config/tsconfig.eslint.json | 3 + pnpm-lock.yaml | 2241 +++-------------- 13 files changed, 517 insertions(+), 2360 deletions(-) delete mode 100644 .eslintignore delete mode 100644 .eslintrc.cjs create mode 100644 eslint.config.js delete mode 100644 packages/eslint-config/eslint.config.cjs create mode 100644 packages/eslint-config/eslint.config.js delete mode 100644 packages/eslint-config/init/.eslintignore delete mode 100644 packages/eslint-config/init/.eslintrc.cjs create mode 100644 packages/eslint-config/init/eslint.config.js create mode 100644 packages/eslint-config/tsconfig.eslint.json diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index b138f9d..0000000 --- a/.eslintignore +++ /dev/null @@ -1,25 +0,0 @@ -# ESLint Ignore -# Does not inherit from .gitignore - -# @envsa/repo-config boilerplate -.astro/ -.DS_Store -.env -.env.* -!.env.example -.svelte-kit/ -{tmp,temp}/ -**/*.min.js -/scratch/ -bower_components/ -build/ -coverage/ -dist/ -node_modules/ -vendor/ - -# @envsa/eslint-config boilerplate -/patches/ - -# Customizations -bin/ diff --git a/.eslintrc.cjs b/.eslintrc.cjs deleted file mode 100644 index ef3437e..0000000 --- a/.eslintrc.cjs +++ /dev/null @@ -1,15 +0,0 @@ -/* eslint-disable perfectionist/sort-objects */ -/* @type {import('eslint').Linter.Config} */ -module.exports = { - root: true, - extends: ['@envsa/eslint-config'], - overrides: [ - { - files: ['src/**/*', 'scripts/**/*', 'packages/*/src/**/*', 'packages/*/scripts/**/*'], - rules: { - 'n/no-unpublished-import': 'off', - 'n/hashbang': 'off', - }, - }, - ], -} diff --git a/.vscode/settings.json b/.vscode/settings.json index cab6e67..7413402 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -31,26 +31,28 @@ "astro", "markdown", "mdx", - "html" + "html", + "twig" ], "explorer.fileNesting.enabled": true, "explorer.fileNesting.expand": false, "explorer.fileNesting.patterns": { ".env": ".env.*", - "package.json": ".*.cjs, .*.js, .*.json, .*.mjs, .*.toml, .*.ts, .*.yaml, .*.yml, .*ignore, .*rc, *config.cjs, *config.js, *config.json, *config.mjs, *config.toml, *config.ts, *config.yaml, *config.yml, *workspace.cjs, *workspace.js, *workspace.json, *workspace.mjs, *workspace.toml, *workspace.ts, *workspace.yaml, *workspace.yml lerna.json, netlify.toml, package-lock.json, pnpm*, turbo.json, vercel.json, workspace*, wrangler.toml, yarn.lock, yarn*", + "package.json": ".*.cjs, .*.js, .*.json, .*.mjs, .*.toml, .*.ts, .*.yaml, .*.yml, .*ignore, .*rc, *config.cjs, *config.js, *config.json, *config.mjs, *config.toml, *config.ts, *config.yaml, *config.yml, lerna.json, netlify.toml, package-lock.json, , pnpm*, turbo.json, vercel.json, workspace*, wrangler.toml, yarn.lock, yarn*", "readme.md": "authors*, backers*, changelog*, citation*, code_of_conduct*, contributing*, contributors*, copying*, credits*, governance*, history*, license*, maintainers*, release_notes*, security*, sponsors*" }, - "prettier.documentSelectors": [ "**/*.rb", "**/*.astro", "**/*.svelte", "**/.prettierignore", "**/.npmrc", - "**/.eslintignore" + "**/.eslintignore", + "**/.node-version" ], "prettier.enable": true, "stylelint.enable": true, "stylelint.validate": ["css", "html", "svelte", "astro"], - "typescript.tsdk": "node_modules/typescript/lib" + "typescript.tsdk": "node_modules/typescript/lib", + "eslint.useFlatConfig": true } diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..46c6ec1 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,15 @@ +import configEnvsa from '@envsa/eslint-config' + +/** @type {import('eslint').Linter.Config[]} */ +export default [ + ...configEnvsa, + { + ignores: ['**/bin/cli.js'], + }, + { + files: ['**/init/*', '**/src/cli.ts'], + rules: { + 'import-x/no-extraneous-dependencies': 'off', + }, + }, +] diff --git a/packages/eslint-config/eslint.config.cjs b/packages/eslint-config/eslint.config.cjs deleted file mode 100644 index bac1437..0000000 --- a/packages/eslint-config/eslint.config.cjs +++ /dev/null @@ -1,352 +0,0 @@ -/* eslint-disable unicorn/no-null */ -/* eslint-disable perfectionist/sort-objects */ -const extendsPrefix = [ - 'eslint:recommended', - 'plugin:n/recommended', - 'plugin:unicorn/recommended', - 'xo', - 'plugin:perfectionist/recommended-natural-legacy', - 'prettier', // Needed here as well for files not caught by overrides -] -const extendsTypescript = ['plugin:@typescript-eslint/recommended-type-checked', 'xo-typescript'] -const extendsSuffix = ['prettier'] - -const globalRulesPrefix = { - 'max-params': 'off', - 'n/no-missing-import': 'off', // Trouble resolving in ts - 'n/no-process-exit': 'off', // Duplicated in unicorn - 'n/no-extraneous-import': 'off', // Monorepo problems - 'n/no-unpublished-import': 'off', // Monorepo problems - 'no-await-in-loop': 'off', - 'object-curly-spacing': 'off', // Shouldn't prettier get rid of this? - 'comma-dangle': 'off', // Shouldn't prettier get rid of this? - 'no-unused-vars': [ - 'error', - { - argsIgnorePattern: '^_', - destructuredArrayIgnorePattern: '^_', - }, - ], - 'no-warning-comments': 'off', - 'perfectionist/sort-imports': [ - 'error', - { - // Is this already set in the preset? - type: 'natural', - newlinesBetween: 'never', - }, - ], - 'unicorn/no-array-reduce': 'off', - 'unicorn/prevent-abbreviations': [ - 'error', - { - replacements: { - acc: false, - arg: false, - args: false, - db: false, - dev: false, - doc: false, - docs: false, - env: false, - fn: false, - i: false, - j: false, - lib: false, - param: false, - params: false, - pkg: false, - prop: false, - props: false, - ref: false, - refs: false, - src: false, - temp: false, - }, - }, - ], - // Perfectionist conflict rules, - '@typescript-eslint/adjacent-overload-signatures': 'off', - '@typescript-eslint/sort-type-constituents': 'off', - 'import/order': 'off', - 'react/jsx-sort-props': 'off', - 'sort-imports': 'off', -} - -const globalRulesTypescript = { - '@typescript-eslint/no-unused-vars': [ - 'error', - { - argsIgnorePattern: '^_', - destructuredArrayIgnorePattern: '^_', - }, - ], - 'default-case': 'off', // TS checks - 'no-throw-literal': 'off', // Conflicts with @typescript-eslint version https://typescript-eslint.io/rules/no-throw-literal/#how-to-use - // https://typescript-eslint.io/linting/troubleshooting/#i-get-errors-from-the-no-undef-rule-about-global-variables-not-being-defined-even-though-there-are-no-typescript-errors - 'no-undef': 'off', - 'no-unused-vars': 'off', - '@typescript-eslint/naming-convention': [ - // https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/naming-convention.md - 'error', - // Group selectors - { - // Matches everything - selector: 'default', - format: ['camelCase'], - }, - { - // Forgive quoted things - selector: 'default', - format: null, - modifiers: ['requiresQuotes'], - }, - { - // Matches the same as class, enum, interface, typeAlias, typeParameter - selector: 'typeLike', - format: ['StrictPascalCase'], - }, - { - // Matches the same as function, parameter and variable - selector: 'variableLike', - leadingUnderscore: 'allow', - trailingUnderscore: 'allow', - format: ['camelCase'], - }, - // { - // // matches the same as accessor, enumMember, method, parameterProperty, property - // selector: 'memberLike' - // // format: [] - // }, - // { - // // matches the same as classMethod, objectLiteralMethod, typeMethod - // selector: 'method' - // // format: [] - // }, - // { - // // matches the same as classProperty, objectLiteralProperty, typeProperty - // selector: 'property' - // // format: [] - // }, - // Individual selectors - { - selector: 'import', - format: ['camelCase', 'StrictPascalCase'], - }, - { - // Allow Component import - selector: 'variable', - modifiers: ['destructured'], - format: ['camelCase', 'StrictPascalCase'], - }, - { - // Allow UPPER_CASE const exports - selector: 'variable', - modifiers: ['const', 'exported'], - format: ['UPPER_CASE'], - }, - ], -} - -/* @type {import('eslint').Linter.Config} */ -module.exports = { - plugins: ['@html-eslint', 'html'], - extends: extendsPrefix, - env: { - browser: true, - es2022: true, // TODO 2024 like xo? - node: true, - }, - parser: '@typescript-eslint/parser', // Todo right choice for jsdoc js? - parserOptions: { - ecmaFeatures: { - jsx: true, - }, - ecmaVersion: 2022, - extraFileExtensions: ['.svelte', '.astro'], // Essential for these file types to make it to the override - project: 'tsconfig.eslint.json', - tsconfigRootDir: process.cwd(), // Look for tsconfig in the consuming project's root - sourceType: 'module', - }, - rules: globalRulesPrefix, - overrides: [ - // HTML (and inline scripts) - { - files: ['*.html'], - parser: '@html-eslint/parser', - rules: { - // Best Practice - '@html-eslint/no-duplicate-attrs': 'error', - '@html-eslint/no-duplicate-id': 'error', - '@html-eslint/no-inline-styles': 'error', - '@html-eslint/no-obsolete-tags': 'error', - '@html-eslint/no-restricted-attr-values': 'error', - '@html-eslint/no-restricted-attrs': 'error', - '@html-eslint/no-script-style-type': 'error', - '@html-eslint/no-target-blank': 'error', - '@html-eslint/require-attrs': 'error', - '@html-eslint/require-button-type': 'error', - // '@html-eslint/require-closing-tags': 'error', - '@html-eslint/require-doctype': 'error', - '@html-eslint/require-li-container': 'error', - '@html-eslint/require-meta-charset': 'error', - // SEO - '@html-eslint/no-multiple-h1': 'error', - '@html-eslint/require-lang': 'error', - // '@html-eslint/require-meta-description': 'error', - // '@html-eslint/require-open-graph-protocol': 'error', - '@html-eslint/require-title': 'error', - // Accessibility - '@html-eslint/no-abstract-roles': 'error', - '@html-eslint/no-accesskey-attrs': 'error', - '@html-eslint/no-aria-hidden-body': 'error', - '@html-eslint/no-non-scalable-viewport': 'error', - '@html-eslint/no-positive-tabindex': 'error', - '@html-eslint/no-skip-heading-levels': 'error', - '@html-eslint/require-frame-title': 'error', - '@html-eslint/require-img-alt': 'error', - '@html-eslint/require-meta-viewport': 'error', - }, - }, - - // Markdown - { - extends: ['plugin:mdx/recommended'], - files: ['*.md'], - parser: 'eslint-mdx', - rules: globalRulesPrefix, - }, - // MDX - { - extends: ['plugin:mdx/recommended', ...extendsSuffix], - files: ['*.mdx'], - parser: 'eslint-mdx', - rules: { - ...globalRulesPrefix, - 'no-unused-expressions': 'off', - 'no-unused-vars': 'off', - - // MDX files can be PascalCase OR kebab-case, depending on whether - // the file's core nature is that of content or component - 'unicorn/filename-case': [ - 'error', - { - cases: { - kebabCase: true, - pascalCase: true, - }, - }, - ], - }, - settings: { - 'mdx/code-blocks': false, - }, - }, - // TypeScript - { - extends: [...extendsTypescript, ...extendsSuffix], - files: ['*.ts', '*.tsx', '*.mts', '*.cts'], - // SvelteKit - overrides: [ - { - files: ['**/routes/**/+*.ts'], - rules: { - // Error often imported from from '@sveltejs/kit in SvelteKit files - '@typescript-eslint/no-throw-literal': 'off', - }, - }, - ], - parser: '@typescript-eslint/parser', - parserOptions: { - project: 'tsconfig.eslint.json', // Not sure why this isn't inherited - }, - rules: { - ...globalRulesPrefix, - ...globalRulesTypescript, - }, - }, - // JavaScript - { - extends: [...extendsSuffix], - files: ['*.jsx', '*.mjs', '*.cjs', '.js'], - rules: { - ...globalRulesPrefix, - ...globalRulesTypescript, - }, - }, - // Astro - { - extends: [ - ...extendsTypescript, - 'plugin:astro/recommended', - 'plugin:astro/jsx-a11y-recommended', - ...extendsSuffix, - ], - files: ['*.astro'], - parser: 'astro-eslint-parser', - parserOptions: { - extraFileExtensions: ['.astro'], - parser: '@typescript-eslint/parser', - project: 'tsconfig.eslint.json', // Not sure why this isn't inherited - sourceType: 'module', - }, - rules: { - ...globalRulesPrefix, - ...globalRulesTypescript, - '@typescript-eslint/no-unsafe-assignment': 'off', // Crashing - '@typescript-eslint/no-unsafe-return': 'off', // Happens in templates - // Astro components are usually PascalCase, - // but when used as pages they are kebab-case - 'unicorn/filename-case': [ - 'error', - { - cases: { - kebabCase: true, - pascalCase: true, - }, - ignore: [String.raw`^\[slug\]\.astro$`], - }, - ], - }, - }, - // Svelte - { - extends: [ - ...extendsTypescript, - 'plugin:svelte/recommended', - ...extendsSuffix, - 'plugin:svelte/prettier', - ], - files: ['*.svelte'], - parser: 'svelte-eslint-parser', - parserOptions: { - extraFileExtensions: ['.svelte'], - parser: '@typescript-eslint/parser', - project: true, - sourceType: 'module', - }, - rules: { - ...globalRulesPrefix, - ...globalRulesTypescript, - '@typescript-eslint/no-confusing-void-expression': 'off', // Reactive statements - '@typescript-eslint/no-unused-expressions': 'off', // Needed for reactive statements - 'import/no-mutable-exports': 'off', // Allow prop export - 'no-sequences': 'off', // Reactive statements - // https://github.com/typescript-eslint/typescript-eslint/blob/1cf9243/docs/getting-started/linting/FAQ.md#i-get-errors-from-the-no-undef-rule-about-global-variables-not-being-defined-even-though-there-are-no-typescript-errors - 'no-undef-init': 'off', // Initialize props to undefined - 'prefer-const': 'off', // Needed for let props - 'unicorn/filename-case': [ - // Svelte components are PascalCase - 'error', - { - case: 'pascalCase', - ignore: [ - String.raw`^\+`, // SvelteKit +page.svelte etc. - ], - }, - ], - 'unicorn/no-useless-undefined': 'off', // Needed for let props - }, - }, - ], -} diff --git a/packages/eslint-config/eslint.config.js b/packages/eslint-config/eslint.config.js new file mode 100644 index 0000000..268bad7 --- /dev/null +++ b/packages/eslint-config/eslint.config.js @@ -0,0 +1,128 @@ +import pluginCspell from '@cspell/eslint-plugin' +import { includeIgnoreFile } from '@eslint/compat' +import eslint from '@eslint/js' +import pluginImportX from 'eslint-plugin-import-x' +import pluginPrettierRecommended from 'eslint-plugin-prettier/recommended' +import pluginUnicorn from 'eslint-plugin-unicorn' +import globals from 'globals' +import fs from 'node:fs' +import path from 'node:path' +import typescriptEslint from 'typescript-eslint' + +const gitignorePath = path.join(process.cwd(), '.gitignore') + +export default typescriptEslint.config( + // Use project .gitignore file for a basis of ignored files + { + ignores: fs.existsSync(gitignorePath) ? includeIgnoreFile(gitignorePath)?.ignores : [], + }, + // 1st party eslint config + eslint.configs.recommended, + // Unicorn config + pluginUnicorn.configs['flat/recommended'], + // ImportX config + pluginImportX.flatConfigs.recommended, + // Enable cspell plugin + { + name: 'CSpell config', + plugins: { + '@cspell': pluginCspell, + }, + rules: { + '@cspell/spellchecker': 1, + }, + }, + // Typescript config + { + name: 'Typescript config', + files: ['**/*.ts'], + extends: [ + ...typescriptEslint.configs.recommendedTypeChecked, + ...typescriptEslint.configs.stylisticTypeChecked, + pluginImportX.flatConfigs.typescript, + ], + languageOptions: { + parserOptions: { + project: ['tsconfig.eslint.json'], + }, + }, + }, + // Primary config + { + name: 'Primary config', + files: ['**/*.{js,mjs,cjs,ts}'], + languageOptions: { + parserOptions: { + requireConfigFile: false, + ecmaVersion: 2024, + sourceType: 'module', + }, + globals: { + ...globals.browser, + ...globals.node, + }, + }, + settings: { + 'import-x/resolver': { + node: { + extensions: ['.js', '.mjs', '.cjs', '.ts'], + }, + typescript: { + alwaysTryTypes: true, + }, + }, + }, + rules: { + // ImportX rule overrides + 'import-x/exports-last': 'error', + 'import-x/first': 'error', + 'import-x/extensions': ['error', 'ignorePackages'], + 'import-x/newline-after-import': 'error', + 'import-x/no-extraneous-dependencies': [ + 'error', + { + devDependencies: [ + './*.{mjs,cjs,js,ts}', // Any root project files + '**/dev/**/', // Any files in a 'dev/' dir + '**/dev.{mjs,cjs,js,ts}', // Any file named dev + '**/*.{test}.{mjs,cjs,js,ts}', // Any test files + '**/{test,tests,__tests__}/**/', // Any files in common test dirs + ], + }, + ], + 'import-x/no-absolute-path': 'error', + 'import-x/no-amd': 'error', + 'import-x/no-dynamic-require': 'error', + 'import-x/no-import-module-exports': 'error', + 'import-x/no-mutable-exports': 'error', + 'import-x/no-named-default': 'error', + 'import-x/no-relative-packages': 'error', + 'import-x/no-self-import': 'error', + 'import-x/no-useless-path-segments': 'error', + 'import-x/no-webpack-loader-syntax': 'error', + // Unicorn rule overrides + 'unicorn/no-array-reduce': 'off', + 'unicorn/no-object-as-default-parameter': 'off', + 'unicorn/prefer-top-level-await': 'off', + 'unicorn/prevent-abbreviations': [ + 'error', + { + allowList: { + dev: true, + useDevServer: true, + args: true, + }, + }, + ], + }, + }, + // Prettier must come last + // Prettier config + pluginPrettierRecommended, + { + name: 'Prettier config', + rules: { + 'prettier/prettier': 'error', + }, + }, +) diff --git a/packages/eslint-config/init/.eslintignore b/packages/eslint-config/init/.eslintignore deleted file mode 100644 index 766fade..0000000 --- a/packages/eslint-config/init/.eslintignore +++ /dev/null @@ -1,25 +0,0 @@ -# ESLint Ignore -# Does not inherit from .gitignore - -# @envsa/repo-config boilerplate -.astro/ -.DS_Store -.env -.env.* -!.env.example -.svelte-kit/ -{tmp,temp}/ -**/*.min.js -/scratch/ -bower_components/ -build/ -coverage/ -dist/ -env.d.ts -node_modules/ -vendor/ - -# @envsa/eslint-config boilerplate -/patches/ - -# Customizations diff --git a/packages/eslint-config/init/.eslintrc.cjs b/packages/eslint-config/init/.eslintrc.cjs deleted file mode 100644 index 1dcbedb..0000000 --- a/packages/eslint-config/init/.eslintrc.cjs +++ /dev/null @@ -1,7 +0,0 @@ -/* eslint-disable perfectionist/sort-objects */ -/* @type {import('eslint').Linter.Config} */ -module.exports = { - root: true, - extends: ['@envsa/eslint-config'], - // Overrides -} diff --git a/packages/eslint-config/init/.vscode/settings.json b/packages/eslint-config/init/.vscode/settings.json index 4277640..403886f 100644 --- a/packages/eslint-config/init/.vscode/settings.json +++ b/packages/eslint-config/init/.vscode/settings.json @@ -3,16 +3,7 @@ "source.fixAll": "explicit" }, "eslint.enable": true, - "eslint.validate": [ - "astro", - "html", - "javascript", - "javascriptreact", - "markdown", - "mdx", - "svelte", - "typescript", - "typescriptreact" - ], + "eslint.useFlatConfig": true, + "eslint.validate": ["html", "javascript", "markdown", "svelte", "typescript", "twig"], "typescript.tsdk": "node_modules/typescript/lib" } diff --git a/packages/eslint-config/init/eslint.config.js b/packages/eslint-config/init/eslint.config.js new file mode 100644 index 0000000..a9229a9 --- /dev/null +++ b/packages/eslint-config/init/eslint.config.js @@ -0,0 +1,12 @@ +import configEnvsa from '@envsa/eslint-config'; + +/** @type {import('eslint').Linter.Config[]} */ +export default [ + ...configEnvsa, + // Config overrides + // { + // rules: { + // // Add your custom rules here + // } + // } +]; diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index aca7176..497601c 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -25,7 +25,7 @@ "bin": { "eslint-config": "bin/cli.js" }, - "main": "./eslint.config.cjs", + "main": "./eslint.config.js", "files": [ "bin/*", "init/*" @@ -42,28 +42,25 @@ "prepublishOnly": "pnpm run build" }, "peerDependencies": { - "eslint": "^8.57.0" + "eslint": "^8.0.0" }, "dependencies": { - "@html-eslint/eslint-plugin": "^0.26.0", - "@html-eslint/parser": "^0.26.0", + "@cspell/eslint-plugin": "^8.14.2", + "@eslint/compat": "^1.1.1", + "@eslint/js": "^9.10.0", "@pinojs/json-colorizer": "^4.0.0", - "@typescript-eslint/eslint-plugin": "^7.18.0", - "@typescript-eslint/parser": "^7.18.0", - "astro-eslint-parser": "^1.0.2", + "cosmiconfig": "^9.0.0", "eslint-config-prettier": "^9.1.0", - "eslint-config-xo": "^0.45.0", - "eslint-config-xo-typescript": "^5.0.0", - "eslint-plugin-astro": "^1.2.3", - "eslint-plugin-html": "^8.1.1", - "eslint-plugin-jsx-a11y": "^6.10.0", - "eslint-plugin-mdx": "^3.1.5", - "eslint-plugin-n": "^17.10.2", - "eslint-plugin-perfectionist": "^3.4.0", + "eslint-import-resolver-alias": "^1.1.2", + "eslint-import-resolver-typescript": "^3.6.3", + "eslint-plugin-import-x": "^4.2.1", + "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-svelte": "^2.43.0", "eslint-plugin-unicorn": "^55.0.0", "execa": "^8.0.1", - "fs-extra": "^11.2.0" + "fs-extra": "^11.2.0", + "globals": "^15.9.0", + "typescript-eslint": "^8.4.0" }, "publishConfig": { "access": "public" diff --git a/packages/eslint-config/tsconfig.eslint.json b/packages/eslint-config/tsconfig.eslint.json new file mode 100644 index 0000000..1864d58 --- /dev/null +++ b/packages/eslint-config/tsconfig.eslint.json @@ -0,0 +1,3 @@ +{ + "extends": "../../tsconfig.json" +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ba9c7b6..5983fa5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -95,54 +95,39 @@ importers: packages/eslint-config: dependencies: - '@html-eslint/eslint-plugin': - specifier: ^0.26.0 - version: 0.26.0 - '@html-eslint/parser': - specifier: ^0.26.0 - version: 0.26.0 + '@cspell/eslint-plugin': + specifier: ^8.14.2 + version: 8.14.2(eslint@8.57.0) + '@eslint/compat': + specifier: ^1.1.1 + version: 1.1.1 + '@eslint/js': + specifier: ^9.10.0 + version: 9.10.0 '@pinojs/json-colorizer': specifier: ^4.0.0 version: 4.0.0 - '@typescript-eslint/eslint-plugin': - specifier: ^7.18.0 - version: 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/parser': - specifier: ^7.18.0 - version: 7.18.0(eslint@8.57.0)(typescript@5.5.4) - astro-eslint-parser: - specifier: ^1.0.2 - version: 1.0.2(typescript@5.5.4) + cosmiconfig: + specifier: ^9.0.0 + version: 9.0.0(typescript@5.5.4) eslint: - specifier: ^8.57.0 + specifier: ^8.0.0 version: 8.57.0 eslint-config-prettier: specifier: ^9.1.0 version: 9.1.0(eslint@8.57.0) - eslint-config-xo: - specifier: ^0.45.0 - version: 0.45.0(eslint@8.57.0) - eslint-config-xo-typescript: - specifier: ^5.0.0 - version: 5.0.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4))(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4) - eslint-plugin-astro: - specifier: ^1.2.3 - version: 1.2.3(eslint@8.57.0)(typescript@5.5.4) - eslint-plugin-html: - specifier: ^8.1.1 - version: 8.1.1 - eslint-plugin-jsx-a11y: - specifier: ^6.10.0 - version: 6.10.0(eslint@8.57.0) - eslint-plugin-mdx: - specifier: ^3.1.5 - version: 3.1.5(eslint@8.57.0) - eslint-plugin-n: - specifier: ^17.10.2 - version: 17.10.2(eslint@8.57.0) - eslint-plugin-perfectionist: - specifier: ^3.4.0 - version: 3.4.0(astro-eslint-parser@1.0.2(typescript@5.5.4))(eslint@8.57.0)(svelte-eslint-parser@0.41.0(svelte@4.2.19))(svelte@4.2.19)(typescript@5.5.4) + eslint-import-resolver-alias: + specifier: ^1.1.2 + version: 1.1.2(eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0)) + eslint-import-resolver-typescript: + specifier: ^3.6.3 + version: 3.6.3(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import-x@4.2.1(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.30.0)(eslint@8.57.0) + eslint-plugin-import-x: + specifier: ^4.2.1 + version: 4.2.1(eslint@8.57.0)(typescript@5.5.4) + eslint-plugin-prettier: + specifier: ^5.2.1 + version: 5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.3) eslint-plugin-svelte: specifier: ^2.43.0 version: 2.43.0(eslint@8.57.0)(svelte@4.2.19) @@ -155,6 +140,12 @@ importers: fs-extra: specifier: ^11.2.0 version: 11.2.0 + globals: + specifier: ^15.9.0 + version: 15.9.0 + typescript-eslint: + specifier: ^8.4.0 + version: 8.4.0(eslint@8.57.0)(typescript@5.5.4) packages/mdat-config: dependencies: @@ -523,6 +514,12 @@ packages: resolution: {integrity: sha512-5MbqtIligU7yPwHWU/5yFCgMvur4i1bRAF1Cy8y2dDtHsa204S/w/SaXs+51EFLp2eNbCiBisCBrwJFT7R1RxA==} engines: {node: '>=18.0'} + '@cspell/eslint-plugin@8.14.2': + resolution: {integrity: sha512-SU8OPwkNFjRmYyMuwA1O6L1GsKw2pjLogBKsIR1iBQaVNvIf2JiwqjO0xB+UQnJHlqHzR2VuarR9mJUMNuy4tg==} + engines: {node: '>=18'} + peerDependencies: + eslint: ^7 || ^8 || ^9 + '@cspell/filetypes@8.14.2': resolution: {integrity: sha512-ZevArA0mWeVTTqHicxCPZIAeCibpY3NwWK/x6d1Lgu7RPk/daoGAM546Q2SLChFu+r10tIH7pRG212A6Q9ihPA==} engines: {node: '>=18'} @@ -715,6 +712,10 @@ packages: resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + '@eslint/compat@1.1.1': + resolution: {integrity: sha512-lpHyRyplhGPL5mGEh6M9O5nnKk0Gz4bFI+Zu6tKlPpDUN7XshWvH9C/px4UVm87IAANE0W81CEsNGbS1KlzXpA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/eslintrc@2.1.4': resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -723,17 +724,13 @@ packages: resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/js@9.10.0': + resolution: {integrity: sha512-fuXtbiP5GWIn8Fz+LWoOMVf/Jxm+aajZYkhi6CuEm4SxymFM+eUWzbO9qXT+L0iCkL5+KGYMCSGxo686H19S1g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@fontsource/inter@5.0.20': resolution: {integrity: sha512-rtw2F7xfM7rJmmnncXnR4ADr5wXsp4GyN1O1jmQJ1PMjAK+bm620/ZkQkeOYOkGoa09OksGinOeMA+Mkt6K9PQ==} - '@html-eslint/eslint-plugin@0.26.0': - resolution: {integrity: sha512-ovmAYVN/Wv+OX77FrSSyPxBokOg6hvxuiTRXhbN1rnZ7DwCmHjnvVyDlkTeWQHmuwFF2n8yLu2B/X9AMA9KxNw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - '@html-eslint/parser@0.26.0': - resolution: {integrity: sha512-o82iUf7HLV6W48voPByAVTPALlWyF4PR9/2YOUlyXY9Ff7bbu9IdxU9Oc5t82Jwx4kOH5gJiZi3cee+CFB9OBQ==} - engines: {node: '>=8.10.0'} - '@humanwhocodes/config-array@0.11.14': resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} @@ -747,10 +744,6 @@ packages: resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} deprecated: Use @eslint/object-schema instead - '@isaacs/cliui@8.0.2': - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} - '@jridgewell/gen-mapping@0.3.5': resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} @@ -790,37 +783,13 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@npmcli/config@8.3.4': - resolution: {integrity: sha512-01rtHedemDNhUXdicU7s+QYz/3JyV5Naj84cvdXGH4mgCdL+agmSYaLF4LUG4vMCLzhBO8YtS0gPpH1FGvbgAw==} - engines: {node: ^16.14.0 || >=18.0.0} - - '@npmcli/git@5.0.8': - resolution: {integrity: sha512-liASfw5cqhjNW9UFd+ruwwdEf/lbOAQjLL2XY2dFW/bkJheXDYZgOyul/4gVvEV4BWkTXjYGmDqMw9uegdbJNQ==} - engines: {node: ^16.14.0 || >=18.0.0} - - '@npmcli/map-workspaces@3.0.6': - resolution: {integrity: sha512-tkYs0OYnzQm6iIRdfy+LcLBjcKuQCeE5YLb8KnrIlutJfheNaPvPpgoFEyEFgbjzl5PLZ3IA/BWAwRU0eHuQDA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - '@npmcli/name-from-folder@2.0.0': - resolution: {integrity: sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - '@npmcli/package-json@5.2.0': - resolution: {integrity: sha512-qe/kiqqkW0AGtvBjL8TJKZk/eBBSpnJkUWvHdQ9jM2lKHXRYYJuyNpJPlJw3c8QjC2ow6NZYiLExhUaeJelbxQ==} - engines: {node: ^16.14.0 || >=18.0.0} - - '@npmcli/promise-spawn@7.0.2': - resolution: {integrity: sha512-xhfYPXoV5Dy4UkY0D+v2KkwvnDfiA/8Mt3sWCGI/hM03NsYIH8ZaG6QzS9x7pje5vHZBZJ2v6VRFVTWACnqcmQ==} - engines: {node: ^16.14.0 || >=18.0.0} + '@nolyfill/is-core-module@1.0.39': + resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} + engines: {node: '>=12.4.0'} '@pinojs/json-colorizer@4.0.0': resolution: {integrity: sha512-TSQ3Dl9Icw/tfrDNmOoVRofU70yXFtvc5PjYFCOC+94su6HPv+4RkP/KfnolxcglfNUvhF1xI/0PkcpfaNAbzw==} - '@pkgjs/parseargs@0.11.0': - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - '@pkgr/core@0.1.1': resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} @@ -845,6 +814,9 @@ packages: engines: {node: '>=18'} hasBin: true + '@rtsao/scc@1.1.0': + resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} + '@sec-ant/readable-stream@0.4.1': resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} @@ -865,42 +837,21 @@ packages: '@tootallnate/quickjs-emscripten@0.23.0': resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} - '@types/acorn@4.0.6': - resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} - - '@types/concat-stream@2.0.3': - resolution: {integrity: sha512-3qe4oQAPNwVNwK4C9c8u+VJqv9kez+2MR4qJpoPFfXtgxxif1QbFusvXzK0/Wra2VX07smostI2VMmJNSpZjuQ==} - - '@types/debug@4.1.12': - resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - - '@types/estree-jsx@1.0.5': - resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} - '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} '@types/fs-extra@11.0.4': resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} - '@types/hast@3.0.4': - resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} - - '@types/is-empty@1.2.3': - resolution: {integrity: sha512-4J1l5d79hoIvsrKh5VUKVRA1aIdsOb10Hu5j3J2VfP/msDnfTdGPmNp2E1Wg+vs97Bktzo+MZePFFXSGoykYJw==} + '@types/json5@0.0.29': + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} '@types/jsonfile@6.1.4': resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} - '@types/mdast@3.0.15': - resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} - '@types/mdast@4.0.4': resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} - '@types/ms@0.7.34': - resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} - '@types/node@18.19.0': resolution: {integrity: sha512-667KNhaD7U29mT5wf+TZUnrzPrlL2GNQ5N0BMjO2oNULhBxX0/FKCkm6JMu0Jh7Z+1LwUlR21ekd7KhIboNFNw==} @@ -910,12 +861,6 @@ packages: '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - '@types/supports-color@8.1.3': - resolution: {integrity: sha512-Hy6UMpxhE3j1tLpl27exp1XqHD7n8chAiNPzWfz16LPZoMMoSc4dzLl6w9qijkEb/r5O1ozdu1CWGA2L83ZeZg==} - - '@types/unist@2.0.11': - resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} - '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} @@ -931,62 +876,44 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@7.18.0': - resolution: {integrity: sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/eslint-plugin@8.4.0': + resolution: {integrity: sha512-rg8LGdv7ri3oAlenMACk9e+AR4wUV0yrrG+XKsGKOK0EVgeEDqurkXMPILG2836fW4ibokTB5v4b6Z9+GYQDEw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^7.0.0 - eslint: ^8.56.0 + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/parser@7.18.0': - resolution: {integrity: sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/parser@8.4.0': + resolution: {integrity: sha512-NHgWmKSgJk5K9N16GIhQ4jSobBoJwrmURaLErad0qlLjrpP5bECYg+wxVTGlGZmJbU03jj/dfnb6V9bw+5icsA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.56.0 + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/scope-manager@7.18.0': - resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} - engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/scope-manager@8.4.0': resolution: {integrity: sha512-n2jFxLeY0JmKfUqy3P70rs6vdoPjHK8P/w+zJcV3fk0b0BwRXC/zxRTEnAsgYT7MwdQDt/ZEbtdzdVC+hcpF0A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@7.18.0': - resolution: {integrity: sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/type-utils@8.4.0': + resolution: {integrity: sha512-pu2PAmNrl9KX6TtirVOrbLPLwDmASpZhK/XU7WvoKoCUkdtq9zF7qQ7gna0GBZFN0hci0vHaSusiL2WpsQk37A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/types@7.18.0': - resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} - engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/types@8.4.0': resolution: {integrity: sha512-T1RB3KQdskh9t3v/qv7niK6P8yvn7ja1mS7QK7XfRVL6wtZ8/mFs/FHf4fKvTA0rKnqnYxl/uHFNbnEt0phgbw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@7.18.0': - resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - '@typescript-eslint/typescript-estree@8.4.0': resolution: {integrity: sha512-kJ2OIP4dQw5gdI4uXsaxUZHRwWAGpREJ9Zq6D5L0BweyOrWsL6Sz0YcAZGWhvKnH7fm1J5YFE1JrQL0c9dd53A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -996,22 +923,12 @@ packages: typescript: optional: true - '@typescript-eslint/utils@7.18.0': - resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 - '@typescript-eslint/utils@8.4.0': resolution: {integrity: sha512-swULW8n1IKLjRAgciCkTCafyTHHfwVQFt8DovmaF69sKbOxTSFMmIZaSHjqO9i/RV0wIblaawhzvtva8Nmm7lQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - '@typescript-eslint/visitor-keys@7.18.0': - resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} - engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/visitor-keys@8.4.0': resolution: {integrity: sha512-zTQD6WLNTre1hj5wp09nBIDiOc2U5r/qmzo7wxPn4ZgAjHql09EofqhF9WF+fZHzL5aCyaIpPcT2hyxl73kr9A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1022,10 +939,6 @@ packages: '@xml-tools/parser@1.0.11': resolution: {integrity: sha512-aKqQ077XnR+oQtHJlrAflaZaL7qZsulWc/i/ZEooar5JiWj1eLt0+Wg28cpa+XLney107wXqneC+oG1IZvxkTA==} - abbrev@2.0.0: - resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - accepts@1.3.8: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} @@ -1066,10 +979,6 @@ packages: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} @@ -1077,9 +986,6 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - aria-query@5.1.3: - resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} - aria-query@5.3.0: resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} @@ -1101,6 +1007,10 @@ packages: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} + array.prototype.findlastindex@1.2.5: + resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} + engines: {node: '>= 0.4'} + array.prototype.flat@1.3.2: resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} engines: {node: '>= 0.4'} @@ -1113,9 +1023,6 @@ packages: resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} engines: {node: '>= 0.4'} - ast-types-flow@0.0.8: - resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} - ast-types@0.13.4: resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} engines: {node: '>=4'} @@ -1124,24 +1031,10 @@ packages: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} engines: {node: '>=8'} - astro-eslint-parser@1.0.2: - resolution: {integrity: sha512-8hJaCuqxObShWl2wEsnASqh/DbQ2O+S66m0Q3ctJlzBPEQ4pfGwwama3FCjZO3GDLQsjvn1T0v93Vxyu/+5fGw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - astrojs-compiler-sync@1.0.0: - resolution: {integrity: sha512-IM6FxpMoBxkGGdKppkFHNQIC9Wge7jspG2MIJff8DOhG41USNJLxJfxRm7wnkTKWlYK5Y1YFFNYr2vUUKkI8sw==} - engines: {node: ^18.18.0 || >=20.9.0} - peerDependencies: - '@astrojs/compiler': '>=0.27.0' - available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - axe-core@4.10.0: - resolution: {integrity: sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==} - engines: {node: '>=4'} - axobject-query@4.1.0: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} engines: {node: '>= 0.4'} @@ -1149,9 +1042,6 @@ packages: b4a@1.6.6: resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==} - bail@2.0.2: - resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} - balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -1210,9 +1100,6 @@ packages: buffer-crc32@0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} - buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} @@ -1259,9 +1146,6 @@ packages: caniuse-lite@1.0.30001658: resolution: {integrity: sha512-N2YVqWbJELVdrnsW5p+apoQyYt51aBMSsBZki1XZEfeBCexcM/sf4xiAHcXQBkuOwJBXtWF7aW1sYX6tKebPHw==} - ccount@2.0.1: - resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - chalk-template@1.1.0: resolution: {integrity: sha512-T2VJbcDuZQ0Tb2EWwSotMPJjgpy1/tGee1BTpUNsGZ/qgNjV2t7Mvu+d4600U564nbLesN1x2dPL+xii174Ekg==} engines: {node: '>=14.16'} @@ -1278,27 +1162,6 @@ packages: resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - character-entities-html4@2.1.0: - resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} - - character-entities-legacy@1.1.4: - resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} - - character-entities-legacy@3.0.0: - resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} - - character-entities@1.2.4: - resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} - - character-entities@2.0.2: - resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} - - character-reference-invalid@1.1.4: - resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} - - character-reference-invalid@2.0.1: - resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} - chevrotain@7.1.1: resolution: {integrity: sha512-wy3mC1x4ye+O+QkEinVJkPf5u2vsrDIYW9G7ZuwFl6v/Yu0LwUuT2POsb+NUWApebyxfkQq6+yDfRExbnI5rcw==} @@ -1370,16 +1233,9 @@ packages: concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - concat-stream@2.0.0: - resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} - engines: {'0': node >= 6.0} - confbox@0.1.7: resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} - confusing-browser-globals@1.0.11: - resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} - consola@3.2.3: resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} engines: {node: ^14.18.0 || >=16.10.0} @@ -1478,9 +1334,6 @@ packages: engines: {node: '>=4'} hasBin: true - damerau-levenshtein@1.0.8: - resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} - data-uri-to-buffer@6.0.2: resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==} engines: {node: '>= 14'} @@ -1505,6 +1358,14 @@ packages: supports-color: optional: true + debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + debug@4.3.7: resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} @@ -1514,13 +1375,6 @@ packages: supports-color: optional: true - decode-named-character-reference@1.0.2: - resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} - - deep-equal@2.2.3: - resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} - engines: {node: '>= 0.4'} - deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} @@ -1558,16 +1412,9 @@ packages: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - devlop@1.1.0: - resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} - devtools-protocol@0.0.1330662: resolution: {integrity: sha512-pzh6YQ8zZfz3iKlCvgzVCu22NdpZ8hNmwU6WnQjNVquh0A9iVosPtNLWDwaWVGyrntQlltPFztTMK5Cg6lfCuw==} - diff@5.2.0: - resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} - engines: {node: '>=0.3.1'} - dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -1575,6 +1422,10 @@ packages: discontinuous-range@1.0.0: resolution: {integrity: sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ==} + doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} @@ -1596,24 +1447,15 @@ packages: resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} engines: {node: '>=12'} - eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} electron-to-chromium@1.5.18: resolution: {integrity: sha512-1OfuVACu+zKlmjsNdcJuVQuVE61sZOLbNM4JAQ1Rvh6EOj0/EUKhMJjRH73InPlXSh8HIJk1cVZ8pyOV/FMdUQ==} - emoji-regex@10.4.0: - resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} - emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - encodeurl@1.0.2: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} @@ -1637,9 +1479,6 @@ packages: resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - err-code@2.0.3: - resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} - error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} @@ -1655,16 +1494,6 @@ packages: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} - es-get-iterator@1.1.3: - resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} - - es-html-parser@0.0.9: - resolution: {integrity: sha512-oniQMi+466VFsDzcdron9Ry/sqUJpDJg1bbDn0jFJKDdxXhwIOYDr4DgBnO5/yPLGj2xv+n5yy4L1Q0vAC5TYQ==} - - es-iterator-helpers@1.0.19: - resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==} - engines: {node: '>= 0.4'} - es-object-atoms@1.0.0: resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} engines: {node: '>= 0.4'} @@ -1717,84 +1546,77 @@ packages: peerDependencies: eslint: '>=7.0.0' - eslint-config-xo-typescript@5.0.0: - resolution: {integrity: sha512-ukAYCKf3p039pRai7hb6xaomZzsKlCjV5qx3NbYe27UC7Nz75If1HcpQL5sNW2b5aH8+Axb6dIIv28+bVtwlVQ==} - engines: {node: '>=18'} - peerDependencies: - '@typescript-eslint/eslint-plugin': '>=7.16.0' - '@typescript-eslint/parser': '>=7.16.0' - eslint: '>=8.56.0' - typescript: '>=5.0.0' - - eslint-config-xo@0.45.0: - resolution: {integrity: sha512-T30F2S2HKKmr/RoHopKE7wMUMWrsLMab1qFl2WyFJjETbD+l7p4hSQWpTVGW7TEbSKG1QBekwf6Jn9ZDPA6thA==} - engines: {node: '>=18'} - peerDependencies: - eslint: '>=8.56.0' - - eslint-mdx@3.1.5: - resolution: {integrity: sha512-ynztX0k7CQ3iDL7fDEIeg3g0O/d6QPv7IBI9fdYLhXp5fAp0fi8X22xF/D3+Pk0f90R27uwqa1clHpay6t0l8Q==} - engines: {node: '>=18.0.0'} + eslint-import-resolver-alias@1.1.2: + resolution: {integrity: sha512-WdviM1Eu834zsfjHtcGHtGfcu+F30Od3V7I9Fi57uhBEwPkjDcii7/yW8jAT+gOhn4P/vOxxNAXbFAKsrrc15w==} + engines: {node: '>= 4'} peerDependencies: - eslint: '>=8.0.0' + eslint-plugin-import: '>=1.4.0' - eslint-plugin-astro@1.2.3: - resolution: {integrity: sha512-asHT0VUs68oppVnTHfp/WgLqs0yCx9kG9AC/PKLmp+87imeh3nGHMdFm0qP46vHxTM0NLDEhvmjFdAVAqw+QPQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: '>=8.57.0' + eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - eslint-plugin-es-x@7.8.0: - resolution: {integrity: sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==} + eslint-import-resolver-typescript@3.6.3: + resolution: {integrity: sha512-ud9aw4szY9cCT1EWWdGv1L1XR6hh2PaRWif0j2QjQ0pgTY/69iw+W0Z4qZv5wHahOl8isEr+k/JnyAqNQkLkIA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - eslint: '>=8' - - eslint-plugin-html@8.1.1: - resolution: {integrity: sha512-6qmlJsc40D2m3Dn9oEH+0PAOkJhxVu0f5sVItqpCE0YWgYnyP4xCjBc3UWTHaJcY9ARkWOLIIuXLq0ndRnQOHw==} - engines: {node: '>=16.0.0'} - - eslint-plugin-jsx-a11y@6.10.0: - resolution: {integrity: sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg==} - engines: {node: '>=4.0'} - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 + eslint: '*' + eslint-plugin-import: '*' + eslint-plugin-import-x: '*' + peerDependenciesMeta: + eslint-plugin-import: + optional: true + eslint-plugin-import-x: + optional: true - eslint-plugin-markdown@3.0.1: - resolution: {integrity: sha512-8rqoc148DWdGdmYF6WSQFT3uQ6PO7zXYgeBpHAOAakX/zpq+NvFYbDA/H7PYzHajwtmaOzAwfxyl++x0g1/N9A==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-module-utils@2.11.0: + resolution: {integrity: sha512-gbBE5Hitek/oG6MUVj6sFuzEjA/ClzNflVrLovHi/JgLdC7fiN5gLAY1WIPW1a0V5I999MnsrvVrCOGmmVqDBQ==} + engines: {node: '>=4'} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true - eslint-plugin-mdx@3.1.5: - resolution: {integrity: sha512-lUE7tP7IrIRHU3gTtASDe5u4YM2SvQveYVJfuo82yn3MLh/B/v05FNySURCK4aIxIYF1QYo3IRemQG/lyQzpAg==} - engines: {node: '>=18.0.0'} + eslint-plugin-import-x@4.2.1: + resolution: {integrity: sha512-WWi2GedccIJa0zXxx3WDnTgouGQTtdYK1nhXMwywbqqAgB0Ov+p1pYBsWh3VaB0bvBOwLse6OfVII7jZD9xo5Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: '>=8.0.0' + eslint: ^8.57.0 || ^9.0.0 - eslint-plugin-n@17.10.2: - resolution: {integrity: sha512-e+s4eAf5NtJaxPhTNu3qMO0Iz40WANS93w9LQgYcvuljgvDmWi/a3rh+OrNyMHeng6aOWGJO0rCg5lH4zi8yTw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint-plugin-import@2.30.0: + resolution: {integrity: sha512-/mHNE9jINJfiD2EKkg1BKyPyUk4zdnT54YgbOgfjSakWT5oyX/qQLVNTkehyfpcMxZXMy1zyonZ2v7hZTX43Yw==} + engines: {node: '>=4'} peerDependencies: - eslint: '>=8.23.0' + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true - eslint-plugin-perfectionist@3.4.0: - resolution: {integrity: sha512-vXyd1sFg3H/7aKgBUie62bA6E0EN3Dh0LCD5r4vR/IYtTljxOnyckI1AV0Arw4eYjC/W9T1X04Pl2mdLsdWtMA==} - engines: {node: ^18.0.0 || >=20.0.0} + eslint-plugin-prettier@5.2.1: + resolution: {integrity: sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==} + engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - astro-eslint-parser: ^1.0.2 + '@types/eslint': '>=8.0.0' eslint: '>=8.0.0' - svelte: '>=3.0.0' - svelte-eslint-parser: ^0.41.0 - vue-eslint-parser: '>=9.0.0' + eslint-config-prettier: '*' + prettier: '>=3.0.0' peerDependenciesMeta: - astro-eslint-parser: - optional: true - svelte: - optional: true - svelte-eslint-parser: + '@types/eslint': optional: true - vue-eslint-parser: + eslint-config-prettier: optional: true eslint-plugin-svelte@2.43.0: @@ -1817,27 +1639,15 @@ packages: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-scope@8.0.2: - resolution: {integrity: sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-visitor-keys@4.0.0: - resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@8.57.0: resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true - espree@10.1.0: - resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1859,12 +1669,6 @@ packages: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} - estree-util-is-identifier-name@3.0.0: - resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} - - estree-util-visit@2.0.0: - resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} - estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} @@ -1888,9 +1692,6 @@ packages: resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} engines: {node: '>= 0.10.0'} - extend@3.0.2: - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - extract-zip@2.0.1: resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} engines: {node: '>= 10.17.0'} @@ -1899,6 +1700,9 @@ packages: fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + fast-equals@5.0.1: resolution: {integrity: sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ==} engines: {node: '>=6.0.0'} @@ -1975,10 +1779,6 @@ packages: for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - foreground-child@3.3.0: - resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} - engines: {node: '>=14'} - forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} @@ -2068,10 +1868,6 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} - glob@10.4.5: - resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} - hasBin: true - glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported @@ -2168,9 +1964,6 @@ packages: htmlparser2@8.0.2: resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} - htmlparser2@9.1.0: - resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==} - http-errors@2.0.0: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} @@ -2235,10 +2028,6 @@ packages: resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - ini@4.1.3: - resolution: {integrity: sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - internal-slot@1.0.7: resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} engines: {node: '>= 0.4'} @@ -2251,22 +2040,6 @@ packages: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} - is-alphabetical@1.0.4: - resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} - - is-alphabetical@2.0.1: - resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} - - is-alphanumerical@1.0.4: - resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} - - is-alphanumerical@2.0.1: - resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} - - is-arguments@1.1.1: - resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} - engines: {node: '>= 0.4'} - is-array-buffer@3.0.4: resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} engines: {node: '>= 0.4'} @@ -2274,10 +2047,6 @@ packages: is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - is-async-function@2.0.0: - resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} - engines: {node: '>= 0.4'} - is-bigint@1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} @@ -2293,6 +2062,9 @@ packages: resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} engines: {node: '>=6'} + is-bun-module@1.2.1: + resolution: {integrity: sha512-AmidtEM6D6NmUiLOvvU7+IePxjEjOzra2h0pSrsfSAcXwl/83zLLXDByafUJy9k/rKK0pvXMLdwKwGHlX2Ke6Q==} + is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} @@ -2309,44 +2081,18 @@ packages: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} - is-decimal@1.0.4: - resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} - - is-decimal@2.0.1: - resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} - - is-empty@1.2.0: - resolution: {integrity: sha512-F2FnH/otLNJv0J6wc73A5Xo7oHLNnqplYqZhUu01tD54DIPvxIRSTSLkrUB/M0nHO4vo1O9PDfN4KoTxCzLh/w==} - is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - is-finalizationregistry@1.0.2: - resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} - is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} - is-generator-function@1.0.10: - resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} - engines: {node: '>= 0.4'} - is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} - is-hexadecimal@1.0.4: - resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} - - is-hexadecimal@2.0.1: - resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} - - is-map@2.0.3: - resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} - engines: {node: '>= 0.4'} - is-negative-zero@2.0.3: resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} engines: {node: '>= 0.4'} @@ -2378,10 +2124,6 @@ packages: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} - is-set@2.0.3: - resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} - engines: {node: '>= 0.4'} - is-shared-array-buffer@1.0.3: resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} engines: {node: '>= 0.4'} @@ -2410,17 +2152,9 @@ packages: resolution: {integrity: sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==} engines: {node: '>=18'} - is-weakmap@2.0.2: - resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} - engines: {node: '>= 0.4'} - is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} - is-weakset@2.0.3: - resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} - engines: {node: '>= 0.4'} - isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} @@ -2431,12 +2165,6 @@ packages: resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} engines: {node: '>=16'} - iterator.prototype@1.1.2: - resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} - - jackspeak@3.4.3: - resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} - jiti@1.21.6: resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} hasBin: true @@ -2469,10 +2197,6 @@ packages: json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - json-parse-even-better-errors@3.0.2: - resolution: {integrity: sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} @@ -2485,6 +2209,10 @@ packages: json-stringify-pretty-compact@4.0.0: resolution: {integrity: sha512-3CNZ2DnrpByG9Nqj6Xo8vqbjT4F6N+tb4Gb28ESAZjYZ5yqvmc56J+/kuIwkaAMOyblTQhUW7PxMkUb8Q36N3Q==} + json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + jsonc-parser@3.3.1: resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} @@ -2495,10 +2223,6 @@ packages: resolution: {integrity: sha512-f37obwxWKKuylcaOzNlUlzfDvURSCpqTXs8yEivhvsp86D/DTIySxP4v5Qdlg24qCuzDSZ0mJr3krc/f7TZ/5A==} hasBin: true - jsx-ast-utils@3.3.5: - resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} - engines: {node: '>=4.0'} - keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -2510,20 +2234,9 @@ packages: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} - kleur@4.1.5: - resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} - engines: {node: '>=6'} - known-css-properties@0.34.0: resolution: {integrity: sha512-tBECoUqNFbyAY4RrbqsBQqDFpGXAEbdD5QKr8kACx3+rnArmuuR22nKQWKazvp07N9yjTyDZaw/20UIH8tL9DQ==} - language-subtag-registry@0.3.23: - resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} - - language-tags@1.0.9: - resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} - engines: {node: '>=0.10'} - levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -2535,16 +2248,9 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - lines-and-columns@2.0.4: - resolution: {integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - linguist-languages@7.27.0: resolution: {integrity: sha512-Wzx/22c5Jsv2ag+uKy+ITanGA5hzvBZngrNGDXLTC7ZjGM6FLCYGgomauTkxNJeP9of353OM0pWqngYA180xgw==} - load-plugin@6.0.3: - resolution: {integrity: sha512-kc0X2FEUZr145odl68frm+lMJuQ23+rTXYmR6TImqPtbpmXC4vVXbWKDQ9IzndA0HfyQamWfKLhzsqGSTxE63w==} - locate-character@3.0.0: resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} @@ -2562,9 +2268,6 @@ packages: lodash.truncate@4.4.2: resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} - longest-streak@3.1.0: - resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} - lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} @@ -2578,36 +2281,6 @@ packages: mathml-tag-names@2.1.3: resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==} - mdast-util-from-markdown@0.8.5: - resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} - - mdast-util-from-markdown@2.0.1: - resolution: {integrity: sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==} - - mdast-util-mdx-expression@2.0.0: - resolution: {integrity: sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==} - - mdast-util-mdx-jsx@3.1.3: - resolution: {integrity: sha512-bfOjvNt+1AcbPLTFMFWY149nJz0OjmewJs3LQQ5pIyVGxP4CdOqNVJL6kTaM5c68p8q82Xv3nCyFfUnuEcH3UQ==} - - mdast-util-mdx@3.0.0: - resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} - - mdast-util-mdxjs-esm@2.0.1: - resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} - - mdast-util-phrasing@4.1.0: - resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} - - mdast-util-to-markdown@2.1.0: - resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} - - mdast-util-to-string@2.0.0: - resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} - - mdast-util-to-string@4.0.0: - resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} - mdat@0.7.3: resolution: {integrity: sha512-RhLaVgYiOBsqaHtW9PfNS9Wgnws8rNFHc77ptSRnFK3989OAHCd1R7tMBMIV93+ThJGW7J+P/RoSwUvOj9rm9w==} engines: {node: ^18.19.0 || >=20.5.0, pnpm: '>=9.0.0'} @@ -2638,93 +2311,6 @@ packages: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} - micromark-core-commonmark@2.0.1: - resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==} - - micromark-extension-mdx-expression@3.0.0: - resolution: {integrity: sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==} - - micromark-extension-mdx-jsx@3.0.1: - resolution: {integrity: sha512-vNuFb9czP8QCtAQcEJn0UJQJZA8Dk6DXKBqx+bg/w0WGuSxDxNr7hErW89tHUY31dUW4NqEOWwmEUNhjTFmHkg==} - - micromark-extension-mdx-md@2.0.0: - resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} - - micromark-extension-mdxjs-esm@3.0.0: - resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==} - - micromark-extension-mdxjs@3.0.0: - resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} - - micromark-factory-destination@2.0.0: - resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} - - micromark-factory-label@2.0.0: - resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} - - micromark-factory-mdx-expression@2.0.2: - resolution: {integrity: sha512-5E5I2pFzJyg2CtemqAbcyCktpHXuJbABnsb32wX2U8IQKhhVFBqkcZR5LRm1WVoFqa4kTueZK4abep7wdo9nrw==} - - micromark-factory-space@2.0.0: - resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} - - micromark-factory-title@2.0.0: - resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} - - micromark-factory-whitespace@2.0.0: - resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} - - micromark-util-character@2.1.0: - resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} - - micromark-util-chunked@2.0.0: - resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} - - micromark-util-classify-character@2.0.0: - resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} - - micromark-util-combine-extensions@2.0.0: - resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} - - micromark-util-decode-numeric-character-reference@2.0.1: - resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} - - micromark-util-decode-string@2.0.0: - resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} - - micromark-util-encode@2.0.0: - resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} - - micromark-util-events-to-acorn@2.0.2: - resolution: {integrity: sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==} - - micromark-util-html-tag-name@2.0.0: - resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} - - micromark-util-normalize-identifier@2.0.0: - resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} - - micromark-util-resolve-all@2.0.0: - resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} - - micromark-util-sanitize-uri@2.0.0: - resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} - - micromark-util-subtokenize@2.0.1: - resolution: {integrity: sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==} - - micromark-util-symbol@2.0.0: - resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} - - micromark-util-types@2.0.0: - resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} - - micromark@2.11.4: - resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} - - micromark@4.0.0: - resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} - micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} @@ -2757,6 +2343,9 @@ packages: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} @@ -2765,10 +2354,6 @@ packages: resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} - minipass@7.1.2: - resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} - engines: {node: '>=16 || 14 >=14.17'} - minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} @@ -2787,10 +2372,6 @@ packages: moo@0.5.2: resolution: {integrity: sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==} - mri@1.2.0: - resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} - engines: {node: '>=4'} - ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} @@ -2805,9 +2386,6 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - natural-compare-lite@1.4.0: - resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} - natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} @@ -2833,11 +2411,6 @@ packages: resolution: {integrity: sha512-2YEOR5qlI1zUFbGMLKNfsrR5JUvFg9LxIRVE+xJe962pfVLH0rnItqLzv96XVs1Y1UIR8FxsXAuvX/lYAWZ2BQ==} engines: {node: '>=8'} - nopt@7.2.1: - resolution: {integrity: sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - hasBin: true - normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} @@ -2849,22 +2422,6 @@ packages: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - npm-install-checks@6.3.0: - resolution: {integrity: sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - npm-normalize-package-bin@3.0.1: - resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - npm-package-arg@11.0.3: - resolution: {integrity: sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==} - engines: {node: ^16.14.0 || >=18.0.0} - - npm-pick-manifest@9.1.0: - resolution: {integrity: sha512-nkc+3pIIhqHVQr085X9d2JzPzLyjzQS96zbruppqC9aZRm/x8xx6xhI98gHtsfELP2bE+loHq8ZaHFHhe+NauA==} - engines: {node: ^16.14.0 || >=18.0.0} - npm-run-path@5.3.0: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2878,10 +2435,6 @@ packages: resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} engines: {node: '>= 0.4'} - object-is@1.1.6: - resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} - engines: {node: '>= 0.4'} - object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} @@ -2894,6 +2447,10 @@ packages: resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} engines: {node: '>= 0.4'} + object.groupby@1.0.3: + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} + engines: {node: '>= 0.4'} + object.values@1.2.0: resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} engines: {node: '>= 0.4'} @@ -2944,9 +2501,6 @@ packages: resolution: {integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==} engines: {node: '>= 14'} - package-json-from-dist@1.0.0: - resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} - package-up@5.0.0: resolution: {integrity: sha512-MQEgDUvXCa3sGvqHg3pzHO8e9gqTCMPVrWUko3vPQGntwegmFo52mZb2abIVTjFnUcW0BcPz0D93jV5Cas1DWA==} engines: {node: '>=18'} @@ -2959,20 +2513,10 @@ packages: resolution: {integrity: sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg==} engines: {node: '>=8'} - parse-entities@2.0.0: - resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} - - parse-entities@4.0.1: - resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} - parse-json@5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} - parse-json@7.1.1: - resolution: {integrity: sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==} - engines: {node: '>=16'} - parse-json@8.1.0: resolution: {integrity: sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==} engines: {node: '>=18'} @@ -3004,10 +2548,6 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-scurry@1.11.1: - resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} - engines: {node: '>=16 || 14 >=14.18'} - path-to-regexp@0.1.7: resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} @@ -3109,6 +2649,10 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} + prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + prettier-plugin-astro@0.14.1: resolution: {integrity: sha512-RiBETaaP9veVstE4vUwSIcdATj6dKmXljouXc/DDNwBSPTp8FRkLGDSGFClKsAFeeg+13SB0Z1JZvbD76bigJw==} engines: {node: ^14.15.0 || >=16.0.0} @@ -3207,26 +2751,10 @@ packages: resolution: {integrity: sha512-o1piW0n3tgKIKCwk2vpM/vOV13zjJzvP37Ioze54YlTHE06m4tjEbzg9WsKkvTuyYln2DHjo5pY4qrZGI0otpw==} engines: {node: '>=18'} - proc-log@4.2.0: - resolution: {integrity: sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - progress@2.0.3: resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} engines: {node: '>=0.4.0'} - promise-inflight@1.0.1: - resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} - peerDependencies: - bluebird: '*' - peerDependenciesMeta: - bluebird: - optional: true - - promise-retry@2.0.1: - resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} - engines: {node: '>=10'} - prompts@2.4.2: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} @@ -3286,10 +2814,6 @@ packages: rc9@2.1.2: resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==} - read-package-json-fast@3.0.2: - resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - read-pkg-up@7.0.1: resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} engines: {node: '>=8'} @@ -3302,18 +2826,10 @@ packages: resolution: {integrity: sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==} engines: {node: '>=18'} - readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} - readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} - reflect.getprototypeof@1.0.6: - resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} - engines: {node: '>= 0.4'} - regexp-to-ast@0.5.0: resolution: {integrity: sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==} @@ -3329,15 +2845,6 @@ packages: resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} hasBin: true - remark-mdx@3.0.1: - resolution: {integrity: sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==} - - remark-parse@11.0.0: - resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} - - remark-stringify@11.0.0: - resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} - repeat-string@1.6.1: resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} engines: {node: '>=0.10'} @@ -3369,10 +2876,6 @@ packages: resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} engines: {node: '>=0.12'} - retry@0.12.0: - resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} - engines: {node: '>= 4'} - reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -3388,10 +2891,6 @@ packages: s.color@0.0.15: resolution: {integrity: sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA==} - sade@1.8.1: - resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} - engines: {node: '>=6'} - safe-array-concat@1.1.2: resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} engines: {node: '>=0.4'} @@ -3413,6 +2912,10 @@ packages: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + semver@7.6.3: resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} engines: {node: '>=10'} @@ -3511,14 +3014,13 @@ packages: resolution: {integrity: sha512-Pw4aAgfuyml/SHMlhbJhyOv+GR+Z1HNb9sgX3CVBVdN5YNM+v2VWkYJ3NNbYS7cu37GY3vP/PgnwoVynCuXRxg==} hasBin: true + stable-hash@0.0.4: + resolution: {integrity: sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==} + statuses@2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} - stop-iteration-iterator@1.0.0: - resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} - engines: {node: '>= 0.4'} - streamx@2.20.0: resolution: {integrity: sha512-ZGd1LhDeGFucr1CUCTBOS58ZhEendd0ttpGT3usTvosS4ntIwKN9LJFp+OeCSprsCPL14BXVRZlHGRY1V9PVzQ==} @@ -3530,17 +3032,6 @@ packages: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} - string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} - - string-width@6.1.0: - resolution: {integrity: sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ==} - engines: {node: '>=16'} - - string.prototype.includes@2.0.0: - resolution: {integrity: sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==} - string.prototype.trim@1.2.9: resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} engines: {node: '>= 0.4'} @@ -3552,12 +3043,6 @@ packages: resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} engines: {node: '>= 0.4'} - string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - - stringify-entities@4.0.4: - resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} - strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -3566,6 +3051,10 @@ packages: resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} engines: {node: '>=12'} + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + strip-final-newline@3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} @@ -3627,10 +3116,6 @@ packages: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} - supports-color@9.4.0: - resolution: {integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==} - engines: {node: '>=12'} - supports-hyperlinks@3.1.0: resolution: {integrity: sha512-2rn0BZ+/f7puLOHZm1HOJfwBggfaHXUpPUSSG/SWM4TWp5KCfmNYwnC3hruy2rZlMnmWZ+QAGpZfchu3f3695A==} engines: {node: '>=14.18'} @@ -3694,15 +3179,15 @@ packages: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} - trough@2.2.0: - resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - ts-api-utils@1.3.0: resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' + tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + tslib@2.7.0: resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} @@ -3731,10 +3216,6 @@ packages: resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} engines: {node: '>=8'} - type-fest@3.13.1: - resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} - engines: {node: '>=14.16'} - type-fest@4.26.0: resolution: {integrity: sha512-OduNjVJsFbifKb57UqZ2EMP1i4u64Xwow3NYXUtBbD4vIwJdQd4+xl8YDou1dlm4DVrtwT/7Ky8z8WyCULVfxw==} engines: {node: '>=16'} @@ -3762,8 +3243,14 @@ packages: typed-query-selector@2.12.0: resolution: {integrity: sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg==} - typedarray@0.0.6: - resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + typescript-eslint@8.4.0: + resolution: {integrity: sha512-67qoc3zQZe3CAkO0ua17+7aCLI0dU+sSQd1eKPGq06QE4rfQjstVXR6woHO5qQvGUa550NfGckT4tzh3b3c8Pw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true typescript@5.5.4: resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} @@ -3793,33 +3280,6 @@ packages: resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} engines: {node: '>=18'} - unified-engine@11.2.1: - resolution: {integrity: sha512-xBAdZ8UY2X4R9Hm6X6kMne4Nz0PlpOc1oE6DPeqJnewr5Imkb8uT5Eyvy1h7xNekPL3PSWh3ZJyNrMW6jnNQBg==} - - unified@11.0.5: - resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} - - unist-util-inspect@8.1.0: - resolution: {integrity: sha512-mOlg8Mp33pR0eeFpo5d2902ojqFFOKMMG2hF8bmH7ZlhnmjFgh0NI3/ZDwdaBJNbvrS7LZFVrBVtIE9KZ9s7vQ==} - - unist-util-is@6.0.0: - resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} - - unist-util-position-from-estree@2.0.0: - resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} - - unist-util-stringify-position@2.0.3: - resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} - - unist-util-stringify-position@4.0.0: - resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} - - unist-util-visit-parents@6.0.1: - resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} - - unist-util-visit@5.0.0: - resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} - universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} @@ -3847,57 +3307,22 @@ packages: resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} engines: {node: '>= 0.4.0'} - uvu@0.5.6: - resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} - engines: {node: '>=8'} - hasBin: true - validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - validate-npm-package-name@5.0.1: - resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - vfile-message@4.0.2: - resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} - - vfile-reporter@8.1.1: - resolution: {integrity: sha512-qxRZcnFSQt6pWKn3PAk81yLK2rO2i7CDXpy8v8ZquiEOMLSnPw6BMSi9Y1sUCwGGl7a9b3CJT1CKpnRF7pp66g==} - - vfile-sort@4.0.0: - resolution: {integrity: sha512-lffPI1JrbHDTToJwcq0rl6rBmkjQmMuXkAxsZPRS9DXbaJQvc642eCg6EGxcX2i1L+esbuhq+2l9tBll5v8AeQ==} - - vfile-statistics@3.0.0: - resolution: {integrity: sha512-/qlwqwWBWFOmpXujL/20P+Iuydil0rZZNglR+VNm6J0gpLHwuVM5s7g2TfVoswbXjZ4HuIhLMySEyIw5i7/D8w==} - - vfile@6.0.3: - resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - vscode-languageserver-textdocument@1.0.12: resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==} vscode-uri@3.0.8: resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} - walk-up-path@3.0.1: - resolution: {integrity: sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==} - which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} - which-builtin-type@1.1.4: - resolution: {integrity: sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==} - engines: {node: '>= 0.4'} - - which-collection@1.0.2: - resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} - engines: {node: '>= 0.4'} - which-typed-array@1.1.15: resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} engines: {node: '>= 0.4'} @@ -3924,10 +3349,6 @@ packages: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} - wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} - wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} @@ -3989,9 +3410,6 @@ packages: zod@3.23.8: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} - zwitch@2.0.4: - resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} - snapshots: '@ampproject/remapping@2.3.0': @@ -4207,6 +3625,14 @@ snapshots: dependencies: import-meta-resolve: 4.1.0 + '@cspell/eslint-plugin@8.14.2(eslint@8.57.0)': + dependencies: + '@cspell/cspell-types': 8.14.2 + '@cspell/url': 8.14.2 + cspell-lib: 8.14.2 + eslint: 8.57.0 + synckit: 0.9.1 + '@cspell/filetypes@8.14.2': {} '@cspell/strong-weak-map@8.14.2': {} @@ -4309,6 +3735,8 @@ snapshots: '@eslint-community/regexpp@4.11.0': {} + '@eslint/compat@1.1.1': {} + '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 @@ -4325,13 +3753,9 @@ snapshots: '@eslint/js@8.57.0': {} - '@fontsource/inter@5.0.20': {} - - '@html-eslint/eslint-plugin@0.26.0': {} + '@eslint/js@9.10.0': {} - '@html-eslint/parser@0.26.0': - dependencies: - es-html-parser: 0.0.9 + '@fontsource/inter@5.0.20': {} '@humanwhocodes/config-array@0.11.14': dependencies: @@ -4345,15 +3769,6 @@ snapshots: '@humanwhocodes/object-schema@2.0.3': {} - '@isaacs/cliui@8.0.2': - dependencies: - string-width: 5.1.2 - string-width-cjs: string-width@4.2.3 - strip-ansi: 7.1.0 - strip-ansi-cjs: strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: wrap-ansi@7.0.0 - '@jridgewell/gen-mapping@0.3.5': dependencies: '@jridgewell/set-array': 1.2.1 @@ -4403,65 +3818,12 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - '@npmcli/config@8.3.4': - dependencies: - '@npmcli/map-workspaces': 3.0.6 - '@npmcli/package-json': 5.2.0 - ci-info: 4.0.0 - ini: 4.1.3 - nopt: 7.2.1 - proc-log: 4.2.0 - semver: 7.6.3 - walk-up-path: 3.0.1 - transitivePeerDependencies: - - bluebird - - '@npmcli/git@5.0.8': - dependencies: - '@npmcli/promise-spawn': 7.0.2 - ini: 4.1.3 - lru-cache: 10.4.3 - npm-pick-manifest: 9.1.0 - proc-log: 4.2.0 - promise-inflight: 1.0.1 - promise-retry: 2.0.1 - semver: 7.6.3 - which: 4.0.0 - transitivePeerDependencies: - - bluebird - - '@npmcli/map-workspaces@3.0.6': - dependencies: - '@npmcli/name-from-folder': 2.0.0 - glob: 10.4.5 - minimatch: 9.0.5 - read-package-json-fast: 3.0.2 - - '@npmcli/name-from-folder@2.0.0': {} - - '@npmcli/package-json@5.2.0': - dependencies: - '@npmcli/git': 5.0.8 - glob: 10.4.5 - hosted-git-info: 7.0.2 - json-parse-even-better-errors: 3.0.2 - normalize-package-data: 6.0.2 - proc-log: 4.2.0 - semver: 7.6.3 - transitivePeerDependencies: - - bluebird - - '@npmcli/promise-spawn@7.0.2': - dependencies: - which: 4.0.0 + '@nolyfill/is-core-module@1.0.39': {} '@pinojs/json-colorizer@4.0.0': dependencies: colorette: 2.0.20 - '@pkgjs/parseargs@0.11.0': - optional: true - '@pkgr/core@0.1.1': {} '@prettier/plugin-php@0.22.2(prettier@3.3.3)': @@ -4492,6 +3854,8 @@ snapshots: transitivePeerDependencies: - supports-color + '@rtsao/scc@1.1.0': {} + '@sec-ant/readable-stream@0.4.1': {} '@sindresorhus/merge-streams@2.3.0': {} @@ -4506,22 +3870,6 @@ snapshots: '@tootallnate/quickjs-emscripten@0.23.0': {} - '@types/acorn@4.0.6': - dependencies: - '@types/estree': 1.0.5 - - '@types/concat-stream@2.0.3': - dependencies: - '@types/node': 20.16.5 - - '@types/debug@4.1.12': - dependencies: - '@types/ms': 0.7.34 - - '@types/estree-jsx@1.0.5': - dependencies: - '@types/estree': 1.0.5 - '@types/estree@1.0.5': {} '@types/fs-extra@11.0.4': @@ -4529,26 +3877,16 @@ snapshots: '@types/jsonfile': 6.1.4 '@types/node': 20.16.5 - '@types/hast@3.0.4': - dependencies: - '@types/unist': 3.0.3 - - '@types/is-empty@1.2.3': {} + '@types/json5@0.0.29': {} '@types/jsonfile@6.1.4': dependencies: '@types/node': 20.16.5 - '@types/mdast@3.0.15': - dependencies: - '@types/unist': 2.0.11 - '@types/mdast@4.0.4': dependencies: '@types/unist': 3.0.3 - '@types/ms@0.7.34': {} - '@types/node@18.19.0': dependencies: undici-types: 5.26.5 @@ -4559,10 +3897,6 @@ snapshots: '@types/normalize-package-data@2.4.4': {} - '@types/supports-color@8.1.3': {} - - '@types/unist@2.0.11': {} - '@types/unist@3.0.3': {} '@types/which@3.0.4': {} @@ -4578,14 +3912,14 @@ snapshots: '@types/node': 20.16.5 optional: true - '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/eslint-plugin@8.4.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4)': dependencies: '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/visitor-keys': 7.18.0 + '@typescript-eslint/parser': 8.4.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/scope-manager': 8.4.0 + '@typescript-eslint/type-utils': 8.4.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/utils': 8.4.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 8.4.0 eslint: 8.57.0 graphemer: 1.4.0 ignore: 5.3.2 @@ -4596,12 +3930,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4)': dependencies: - '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4) - '@typescript-eslint/visitor-keys': 7.18.0 + '@typescript-eslint/scope-manager': 8.4.0 + '@typescript-eslint/types': 8.4.0 + '@typescript-eslint/typescript-estree': 8.4.0(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 8.4.0 debug: 4.3.7 eslint: 8.57.0 optionalDependencies: @@ -4609,47 +3943,25 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@7.18.0': - dependencies: - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/visitor-keys': 7.18.0 - '@typescript-eslint/scope-manager@8.4.0': dependencies: '@typescript-eslint/types': 8.4.0 '@typescript-eslint/visitor-keys': 8.4.0 - '@typescript-eslint/type-utils@7.18.0(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/type-utils@8.4.0(eslint@8.57.0)(typescript@5.5.4)': dependencies: - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4) - '@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/typescript-estree': 8.4.0(typescript@5.5.4) + '@typescript-eslint/utils': 8.4.0(eslint@8.57.0)(typescript@5.5.4) debug: 4.3.7 - eslint: 8.57.0 ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: + - eslint - supports-color - '@typescript-eslint/types@7.18.0': {} - '@typescript-eslint/types@8.4.0': {} - '@typescript-eslint/typescript-estree@7.18.0(typescript@5.5.4)': - dependencies: - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.3.7 - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.5.4) - optionalDependencies: - typescript: 5.5.4 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/typescript-estree@8.4.0(typescript@5.5.4)': dependencies: '@typescript-eslint/types': 8.4.0 @@ -4665,17 +3977,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.18.0(eslint@8.57.0)(typescript@5.5.4)': - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4) - eslint: 8.57.0 - transitivePeerDependencies: - - supports-color - - typescript - '@typescript-eslint/utils@8.4.0(eslint@8.57.0)(typescript@5.5.4)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) @@ -4687,11 +3988,6 @@ snapshots: - supports-color - typescript - '@typescript-eslint/visitor-keys@7.18.0': - dependencies: - '@typescript-eslint/types': 7.18.0 - eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@8.4.0': dependencies: '@typescript-eslint/types': 8.4.0 @@ -4703,8 +3999,6 @@ snapshots: dependencies: chevrotain: 7.1.1 - abbrev@2.0.0: {} - accepts@1.3.8: dependencies: mime-types: 2.1.35 @@ -4748,8 +4042,6 @@ snapshots: dependencies: color-convert: 2.0.1 - ansi-styles@6.2.1: {} - anymatch@3.1.3: dependencies: normalize-path: 3.0.0 @@ -4757,10 +4049,6 @@ snapshots: argparse@2.0.1: {} - aria-query@5.1.3: - dependencies: - deep-equal: 2.2.3 - aria-query@5.3.0: dependencies: dequal: 2.0.3 @@ -4785,6 +4073,15 @@ snapshots: array-union@2.1.0: {} + array.prototype.findlastindex@1.2.5: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-shim-unscopables: 1.0.2 + array.prototype.flat@1.3.2: dependencies: call-bind: 1.0.7 @@ -4810,50 +4107,20 @@ snapshots: is-array-buffer: 3.0.4 is-shared-array-buffer: 1.0.3 - ast-types-flow@0.0.8: {} - ast-types@0.13.4: dependencies: tslib: 2.7.0 astral-regex@2.0.0: {} - astro-eslint-parser@1.0.2(typescript@5.5.4): - dependencies: - '@astrojs/compiler': 2.10.3 - '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4) - astrojs-compiler-sync: 1.0.0(@astrojs/compiler@2.10.3) - debug: 4.3.7 - entities: 4.5.0 - eslint-scope: 8.0.2 - eslint-visitor-keys: 4.0.0 - espree: 10.1.0 - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.6.3 - transitivePeerDependencies: - - supports-color - - typescript - - astrojs-compiler-sync@1.0.0(@astrojs/compiler@2.10.3): - dependencies: - '@astrojs/compiler': 2.10.3 - synckit: 0.9.1 - available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.0.0 - axe-core@4.10.0: {} - axobject-query@4.1.0: {} b4a@1.6.6: {} - bail@2.0.2: {} - balanced-match@1.0.2: {} balanced-match@2.0.0: {} @@ -4929,8 +4196,6 @@ snapshots: buffer-crc32@0.2.13: {} - buffer-from@1.1.2: {} - buffer@5.7.1: dependencies: base64-js: 1.5.1 @@ -4987,8 +4252,6 @@ snapshots: caniuse-lite@1.0.30001658: {} - ccount@2.0.1: {} - chalk-template@1.1.0: dependencies: chalk: 5.3.0 @@ -5006,20 +4269,6 @@ snapshots: chalk@5.3.0: {} - character-entities-html4@2.1.0: {} - - character-entities-legacy@1.1.4: {} - - character-entities-legacy@3.0.0: {} - - character-entities@1.2.4: {} - - character-entities@2.0.2: {} - - character-reference-invalid@1.1.4: {} - - character-reference-invalid@2.0.1: {} - chevrotain@7.1.1: dependencies: regexp-to-ast: 0.5.0 @@ -5104,17 +4353,8 @@ snapshots: concat-map@0.0.1: {} - concat-stream@2.0.0: - dependencies: - buffer-from: 1.1.2 - inherits: 2.0.4 - readable-stream: 3.6.2 - typedarray: 0.0.6 - confbox@0.1.7: {} - confusing-browser-globals@1.0.11: {} - consola@3.2.3: {} content-disposition@0.5.4: @@ -5254,8 +4494,6 @@ snapshots: cssesc@3.0.0: {} - damerau-levenshtein@1.0.8: {} - data-uri-to-buffer@6.0.2: {} data-view-buffer@1.0.1: @@ -5280,34 +4518,13 @@ snapshots: dependencies: ms: 2.0.0 - debug@4.3.7: + debug@3.2.7: dependencies: ms: 2.1.3 - decode-named-character-reference@1.0.2: - dependencies: - character-entities: 2.0.2 - - deep-equal@2.2.3: + debug@4.3.7: dependencies: - array-buffer-byte-length: 1.0.1 - call-bind: 1.0.7 - es-get-iterator: 1.1.3 - get-intrinsic: 1.2.4 - is-arguments: 1.1.1 - is-array-buffer: 3.0.4 - is-date-object: 1.0.5 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.3 - isarray: 2.0.5 - object-is: 1.1.6 - object-keys: 1.1.1 - object.assign: 4.1.5 - regexp.prototype.flags: 1.5.2 - side-channel: 1.0.6 - which-boxed-primitive: 1.0.2 - which-collection: 1.0.2 - which-typed-array: 1.1.15 + ms: 2.1.3 deep-is@0.1.4: {} @@ -5341,20 +4558,18 @@ snapshots: destroy@1.2.0: {} - devlop@1.1.0: - dependencies: - dequal: 2.0.3 - devtools-protocol@0.0.1330662: {} - diff@5.2.0: {} - dir-glob@3.0.1: dependencies: path-type: 4.0.0 discontinuous-range@1.0.0: {} + doctrine@2.1.0: + dependencies: + esutils: 2.0.3 + doctrine@3.0.0: dependencies: esutils: 2.0.3 @@ -5379,18 +4594,12 @@ snapshots: dotenv@16.4.5: {} - eastasianwidth@0.2.0: {} - ee-first@1.1.1: {} electron-to-chromium@1.5.18: {} - emoji-regex@10.4.0: {} - emoji-regex@8.0.0: {} - emoji-regex@9.2.2: {} - encodeurl@1.0.2: {} end-of-stream@1.4.4: @@ -5408,8 +4617,6 @@ snapshots: env-paths@3.0.0: {} - err-code@2.0.3: {} - error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 @@ -5469,37 +4676,6 @@ snapshots: es-errors@1.3.0: {} - es-get-iterator@1.1.3: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - has-symbols: 1.0.3 - is-arguments: 1.1.1 - is-map: 2.0.3 - is-set: 2.0.3 - is-string: 1.0.7 - isarray: 2.0.5 - stop-iteration-iterator: 1.0.0 - - es-html-parser@0.0.9: {} - - es-iterator-helpers@1.0.19: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-errors: 1.3.0 - es-set-tostringtag: 2.0.3 - function-bind: 1.1.2 - get-intrinsic: 1.2.4 - globalthis: 1.0.4 - has-property-descriptors: 1.0.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - internal-slot: 1.0.7 - iterator.prototype: 1.1.2 - safe-array-concat: 1.1.2 - es-object-atoms@1.0.0: dependencies: es-errors: 1.3.0 @@ -5572,133 +4748,102 @@ snapshots: dependencies: eslint: 8.57.0 - eslint-config-xo-typescript@5.0.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4))(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4): + eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0)): dependencies: - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.5.4) - eslint: 8.57.0 - typescript: 5.5.4 + eslint-plugin-import: 2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0) - eslint-config-xo@0.45.0(eslint@8.57.0): + eslint-import-resolver-node@0.3.9: dependencies: - confusing-browser-globals: 1.0.11 - eslint: 8.57.0 + debug: 3.2.7 + is-core-module: 2.15.1 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color - eslint-mdx@3.1.5(eslint@8.57.0): + eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import-x@4.2.1(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.30.0)(eslint@8.57.0): dependencies: - acorn: 8.12.1 - acorn-jsx: 5.3.2(acorn@8.12.1) + '@nolyfill/is-core-module': 1.0.39 + debug: 4.3.7 + enhanced-resolve: 5.17.1 eslint: 8.57.0 - espree: 9.6.1 - estree-util-visit: 2.0.0 - remark-mdx: 3.0.1 - remark-parse: 11.0.0 - remark-stringify: 11.0.0 - synckit: 0.9.1 - tslib: 2.7.0 - unified: 11.0.5 - unified-engine: 11.2.1 - unist-util-visit: 5.0.0 - uvu: 0.5.6 - vfile: 6.0.3 + eslint-module-utils: 2.11.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import-x@4.2.1(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.30.0)(eslint@8.57.0))(eslint@8.57.0) + fast-glob: 3.3.2 + get-tsconfig: 4.8.0 + is-bun-module: 1.2.1 + is-glob: 4.0.3 + optionalDependencies: + eslint-plugin-import: 2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0) + eslint-plugin-import-x: 4.2.1(eslint@8.57.0)(typescript@5.5.4) transitivePeerDependencies: - - bluebird + - '@typescript-eslint/parser' + - eslint-import-resolver-node + - eslint-import-resolver-webpack - supports-color - eslint-plugin-astro@1.2.3(eslint@8.57.0)(typescript@5.5.4): + eslint-module-utils@2.11.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import-x@4.2.1(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.30.0)(eslint@8.57.0))(eslint@8.57.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@jridgewell/sourcemap-codec': 1.5.0 - '@typescript-eslint/types': 7.18.0 - astro-eslint-parser: 1.0.2(typescript@5.5.4) + debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 8.4.0(eslint@8.57.0)(typescript@5.5.4) eslint: 8.57.0 - eslint-compat-utils: 0.5.1(eslint@8.57.0) - globals: 15.9.0 - postcss: 8.4.45 - postcss-selector-parser: 6.1.2 + eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import-x@4.2.1(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.30.0)(eslint@8.57.0) transitivePeerDependencies: - supports-color - - typescript - eslint-plugin-es-x@7.8.0(eslint@8.57.0): + eslint-plugin-import-x@4.2.1(eslint@8.57.0)(typescript@5.5.4): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.11.0 + '@typescript-eslint/utils': 8.4.0(eslint@8.57.0)(typescript@5.5.4) + debug: 4.3.7 + doctrine: 3.0.0 eslint: 8.57.0 - eslint-compat-utils: 0.5.1(eslint@8.57.0) - - eslint-plugin-html@8.1.1: - dependencies: - htmlparser2: 9.1.0 + eslint-import-resolver-node: 0.3.9 + get-tsconfig: 4.8.0 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.6.3 + stable-hash: 0.0.4 + tslib: 2.7.0 + transitivePeerDependencies: + - supports-color + - typescript - eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.0): + eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0): dependencies: - aria-query: 5.1.3 + '@rtsao/scc': 1.1.0 array-includes: 3.1.8 + array.prototype.findlastindex: 1.2.5 + array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 - ast-types-flow: 0.0.8 - axe-core: 4.10.0 - axobject-query: 4.1.0 - damerau-levenshtein: 1.0.8 - emoji-regex: 9.2.2 - es-iterator-helpers: 1.0.19 + debug: 3.2.7 + doctrine: 2.1.0 eslint: 8.57.0 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.11.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import-x@4.2.1(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.30.0)(eslint@8.57.0))(eslint@8.57.0) hasown: 2.0.2 - jsx-ast-utils: 3.3.5 - language-tags: 1.0.9 + is-core-module: 2.15.1 + is-glob: 4.0.3 minimatch: 3.1.2 object.fromentries: 2.0.8 - safe-regex-test: 1.0.3 - string.prototype.includes: 2.0.0 - - eslint-plugin-markdown@3.0.1(eslint@8.57.0): - dependencies: - eslint: 8.57.0 - mdast-util-from-markdown: 0.8.5 - transitivePeerDependencies: - - supports-color - - eslint-plugin-mdx@3.1.5(eslint@8.57.0): - dependencies: - eslint: 8.57.0 - eslint-mdx: 3.1.5(eslint@8.57.0) - eslint-plugin-markdown: 3.0.1(eslint@8.57.0) - remark-mdx: 3.0.1 - remark-parse: 11.0.0 - remark-stringify: 11.0.0 - tslib: 2.7.0 - unified: 11.0.5 - vfile: 6.0.3 + object.groupby: 1.0.3 + object.values: 1.2.0 + semver: 6.3.1 + tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 8.4.0(eslint@8.57.0)(typescript@5.5.4) transitivePeerDependencies: - - bluebird + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack - supports-color - eslint-plugin-n@17.10.2(eslint@8.57.0): + eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.3): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - enhanced-resolve: 5.17.1 eslint: 8.57.0 - eslint-plugin-es-x: 7.8.0(eslint@8.57.0) - get-tsconfig: 4.8.0 - globals: 15.9.0 - ignore: 5.3.2 - minimatch: 9.0.5 - semver: 7.6.3 - - eslint-plugin-perfectionist@3.4.0(astro-eslint-parser@1.0.2(typescript@5.5.4))(eslint@8.57.0)(svelte-eslint-parser@0.41.0(svelte@4.2.19))(svelte@4.2.19)(typescript@5.5.4): - dependencies: - '@typescript-eslint/types': 8.4.0 - '@typescript-eslint/utils': 8.4.0(eslint@8.57.0)(typescript@5.5.4) - eslint: 8.57.0 - minimatch: 9.0.5 - natural-compare-lite: 1.4.0 + prettier: 3.3.3 + prettier-linter-helpers: 1.0.0 + synckit: 0.9.1 optionalDependencies: - astro-eslint-parser: 1.0.2(typescript@5.5.4) - svelte: 4.2.19 - svelte-eslint-parser: 0.41.0(svelte@4.2.19) - transitivePeerDependencies: - - supports-color - - typescript + eslint-config-prettier: 9.1.0(eslint@8.57.0) eslint-plugin-svelte@2.43.0(eslint@8.57.0)(svelte@4.2.19): dependencies: @@ -5744,15 +4889,8 @@ snapshots: esrecurse: 4.3.0 estraverse: 5.3.0 - eslint-scope@8.0.2: - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - eslint-visitor-keys@3.4.3: {} - eslint-visitor-keys@4.0.0: {} - eslint@8.57.0: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) @@ -5796,12 +4934,6 @@ snapshots: transitivePeerDependencies: - supports-color - espree@10.1.0: - dependencies: - acorn: 8.12.1 - acorn-jsx: 5.3.2(acorn@8.12.1) - eslint-visitor-keys: 4.0.0 - espree@9.6.1: dependencies: acorn: 8.12.1 @@ -5820,13 +4952,6 @@ snapshots: estraverse@5.3.0: {} - estree-util-is-identifier-name@3.0.0: {} - - estree-util-visit@2.0.0: - dependencies: - '@types/estree-jsx': 1.0.5 - '@types/unist': 3.0.3 - estree-walker@3.0.3: dependencies: '@types/estree': 1.0.5 @@ -5898,8 +5023,6 @@ snapshots: transitivePeerDependencies: - supports-color - extend@3.0.2: {} - extract-zip@2.0.1: dependencies: debug: 4.3.7 @@ -5912,6 +5035,8 @@ snapshots: fast-deep-equal@3.1.3: {} + fast-diff@1.3.0: {} + fast-equals@5.0.1: {} fast-fifo@1.3.2: {} @@ -5997,11 +5122,6 @@ snapshots: dependencies: is-callable: 1.2.7 - foreground-child@3.3.0: - dependencies: - cross-spawn: 7.0.3 - signal-exit: 4.1.0 - forwarded@0.2.0: {} fresh@0.5.2: {} @@ -6097,15 +5217,6 @@ snapshots: dependencies: is-glob: 4.0.3 - glob@10.4.5: - dependencies: - foreground-child: 3.3.0 - jackspeak: 3.4.3 - minimatch: 9.0.5 - minipass: 7.1.2 - package-json-from-dist: 1.0.0 - path-scurry: 1.11.1 - glob@7.2.3: dependencies: fs.realpath: 1.0.0 @@ -6207,13 +5318,6 @@ snapshots: domutils: 3.1.0 entities: 4.5.0 - htmlparser2@9.1.0: - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.1.0 - entities: 4.5.0 - http-errors@2.0.0: dependencies: depd: 2.0.0 @@ -6272,8 +5376,6 @@ snapshots: ini@4.1.1: {} - ini@4.1.3: {} - internal-slot@1.0.7: dependencies: es-errors: 1.3.0 @@ -6287,25 +5389,6 @@ snapshots: ipaddr.js@1.9.1: {} - is-alphabetical@1.0.4: {} - - is-alphabetical@2.0.1: {} - - is-alphanumerical@1.0.4: - dependencies: - is-alphabetical: 1.0.4 - is-decimal: 1.0.4 - - is-alphanumerical@2.0.1: - dependencies: - is-alphabetical: 2.0.1 - is-decimal: 2.0.1 - - is-arguments@1.1.1: - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - is-array-buffer@3.0.4: dependencies: call-bind: 1.0.7 @@ -6313,10 +5396,6 @@ snapshots: is-arrayish@0.2.1: {} - is-async-function@2.0.0: - dependencies: - has-tostringtag: 1.0.2 - is-bigint@1.0.4: dependencies: has-bigints: 1.0.2 @@ -6334,6 +5413,10 @@ snapshots: dependencies: builtin-modules: 3.3.0 + is-bun-module@1.2.1: + dependencies: + semver: 7.6.3 + is-callable@1.2.7: {} is-core-module@2.15.1: @@ -6348,34 +5431,14 @@ snapshots: dependencies: has-tostringtag: 1.0.2 - is-decimal@1.0.4: {} - - is-decimal@2.0.1: {} - - is-empty@1.2.0: {} - is-extglob@2.1.1: {} - is-finalizationregistry@1.0.2: - dependencies: - call-bind: 1.0.7 - is-fullwidth-code-point@3.0.0: {} - is-generator-function@1.0.10: - dependencies: - has-tostringtag: 1.0.2 - is-glob@4.0.3: dependencies: is-extglob: 2.1.1 - is-hexadecimal@1.0.4: {} - - is-hexadecimal@2.0.1: {} - - is-map@2.0.3: {} - is-negative-zero@2.0.3: {} is-number-object@1.0.7: @@ -6399,8 +5462,6 @@ snapshots: call-bind: 1.0.7 has-tostringtag: 1.0.2 - is-set@2.0.3: {} - is-shared-array-buffer@1.0.3: dependencies: call-bind: 1.0.7 @@ -6423,37 +5484,16 @@ snapshots: is-unicode-supported@2.0.0: {} - is-weakmap@2.0.2: {} - is-weakref@1.0.2: dependencies: call-bind: 1.0.7 - is-weakset@2.0.3: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - isarray@2.0.5: {} isexe@2.0.0: {} isexe@3.1.1: {} - iterator.prototype@1.1.2: - dependencies: - define-properties: 1.2.1 - get-intrinsic: 1.2.4 - has-symbols: 1.0.3 - reflect.getprototypeof: 1.0.6 - set-function-name: 2.0.2 - - jackspeak@3.4.3: - dependencies: - '@isaacs/cliui': 8.0.2 - optionalDependencies: - '@pkgjs/parseargs': 0.11.0 - jiti@1.21.6: {} js-tokens@4.0.0: {} @@ -6474,8 +5514,6 @@ snapshots: json-parse-even-better-errors@2.3.1: {} - json-parse-even-better-errors@3.0.2: {} - json-schema-traverse@0.4.1: {} json-schema-traverse@1.0.0: {} @@ -6484,6 +5522,10 @@ snapshots: json-stringify-pretty-compact@4.0.0: {} + json5@1.0.2: + dependencies: + minimist: 1.2.8 + jsonc-parser@3.3.1: {} jsonfile@6.1.0: @@ -6494,13 +5536,6 @@ snapshots: jsox@1.2.119: {} - jsx-ast-utils@3.3.5: - dependencies: - array-includes: 3.1.8 - array.prototype.flat: 1.3.2 - object.assign: 4.1.5 - object.values: 1.2.0 - keyv@4.5.4: dependencies: json-buffer: 3.0.1 @@ -6509,16 +5544,8 @@ snapshots: kleur@3.0.3: {} - kleur@4.1.5: {} - known-css-properties@0.34.0: {} - language-subtag-registry@0.3.23: {} - - language-tags@1.0.9: - dependencies: - language-subtag-registry: 0.3.23 - levn@0.4.1: dependencies: prelude-ls: 1.2.1 @@ -6528,17 +5555,8 @@ snapshots: lines-and-columns@1.2.4: {} - lines-and-columns@2.0.4: {} - linguist-languages@7.27.0: {} - load-plugin@6.0.3: - dependencies: - '@npmcli/config': 8.3.4 - import-meta-resolve: 4.1.0 - transitivePeerDependencies: - - bluebird - locate-character@3.0.0: {} locate-path@5.0.0: @@ -6553,8 +5571,6 @@ snapshots: lodash.truncate@4.4.2: {} - longest-streak@3.1.0: {} - lru-cache@10.4.3: {} lru-cache@7.18.3: {} @@ -6565,104 +5581,6 @@ snapshots: mathml-tag-names@2.1.3: {} - mdast-util-from-markdown@0.8.5: - dependencies: - '@types/mdast': 3.0.15 - mdast-util-to-string: 2.0.0 - micromark: 2.11.4 - parse-entities: 2.0.0 - unist-util-stringify-position: 2.0.3 - transitivePeerDependencies: - - supports-color - - mdast-util-from-markdown@2.0.1: - dependencies: - '@types/mdast': 4.0.4 - '@types/unist': 3.0.3 - decode-named-character-reference: 1.0.2 - devlop: 1.1.0 - mdast-util-to-string: 4.0.0 - micromark: 4.0.0 - micromark-util-decode-numeric-character-reference: 2.0.1 - micromark-util-decode-string: 2.0.0 - micromark-util-normalize-identifier: 2.0.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 - unist-util-stringify-position: 4.0.0 - transitivePeerDependencies: - - supports-color - - mdast-util-mdx-expression@2.0.0: - dependencies: - '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 - devlop: 1.1.0 - mdast-util-from-markdown: 2.0.1 - mdast-util-to-markdown: 2.1.0 - transitivePeerDependencies: - - supports-color - - mdast-util-mdx-jsx@3.1.3: - dependencies: - '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 - '@types/unist': 3.0.3 - ccount: 2.0.1 - devlop: 1.1.0 - mdast-util-from-markdown: 2.0.1 - mdast-util-to-markdown: 2.1.0 - parse-entities: 4.0.1 - stringify-entities: 4.0.4 - unist-util-stringify-position: 4.0.0 - vfile-message: 4.0.2 - transitivePeerDependencies: - - supports-color - - mdast-util-mdx@3.0.0: - dependencies: - mdast-util-from-markdown: 2.0.1 - mdast-util-mdx-expression: 2.0.0 - mdast-util-mdx-jsx: 3.1.3 - mdast-util-mdxjs-esm: 2.0.1 - mdast-util-to-markdown: 2.1.0 - transitivePeerDependencies: - - supports-color - - mdast-util-mdxjs-esm@2.0.1: - dependencies: - '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 - devlop: 1.1.0 - mdast-util-from-markdown: 2.0.1 - mdast-util-to-markdown: 2.1.0 - transitivePeerDependencies: - - supports-color - - mdast-util-phrasing@4.1.0: - dependencies: - '@types/mdast': 4.0.4 - unist-util-is: 6.0.0 - - mdast-util-to-markdown@2.1.0: - dependencies: - '@types/mdast': 4.0.4 - '@types/unist': 3.0.3 - longest-streak: 3.1.0 - mdast-util-phrasing: 4.1.0 - mdast-util-to-string: 4.0.0 - micromark-util-decode-string: 2.0.0 - unist-util-visit: 5.0.0 - zwitch: 2.0.4 - - mdast-util-to-string@2.0.0: {} - - mdast-util-to-string@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - mdat@0.7.3(typescript@5.5.4): dependencies: '@clack/prompts': 0.7.0 @@ -6698,221 +5616,6 @@ snapshots: methods@1.1.2: {} - micromark-core-commonmark@2.0.1: - dependencies: - decode-named-character-reference: 1.0.2 - devlop: 1.1.0 - micromark-factory-destination: 2.0.0 - micromark-factory-label: 2.0.0 - micromark-factory-space: 2.0.0 - micromark-factory-title: 2.0.0 - micromark-factory-whitespace: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-chunked: 2.0.0 - micromark-util-classify-character: 2.0.0 - micromark-util-html-tag-name: 2.0.0 - micromark-util-normalize-identifier: 2.0.0 - micromark-util-resolve-all: 2.0.0 - micromark-util-subtokenize: 2.0.1 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 - - micromark-extension-mdx-expression@3.0.0: - dependencies: - '@types/estree': 1.0.5 - devlop: 1.1.0 - micromark-factory-mdx-expression: 2.0.2 - micromark-factory-space: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-events-to-acorn: 2.0.2 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 - - micromark-extension-mdx-jsx@3.0.1: - dependencies: - '@types/acorn': 4.0.6 - '@types/estree': 1.0.5 - devlop: 1.1.0 - estree-util-is-identifier-name: 3.0.0 - micromark-factory-mdx-expression: 2.0.2 - micromark-factory-space: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-events-to-acorn: 2.0.2 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 - vfile-message: 4.0.2 - - micromark-extension-mdx-md@2.0.0: - dependencies: - micromark-util-types: 2.0.0 - - micromark-extension-mdxjs-esm@3.0.0: - dependencies: - '@types/estree': 1.0.5 - devlop: 1.1.0 - micromark-core-commonmark: 2.0.1 - micromark-util-character: 2.1.0 - micromark-util-events-to-acorn: 2.0.2 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 - unist-util-position-from-estree: 2.0.0 - vfile-message: 4.0.2 - - micromark-extension-mdxjs@3.0.0: - dependencies: - acorn: 8.12.1 - acorn-jsx: 5.3.2(acorn@8.12.1) - micromark-extension-mdx-expression: 3.0.0 - micromark-extension-mdx-jsx: 3.0.1 - micromark-extension-mdx-md: 2.0.0 - micromark-extension-mdxjs-esm: 3.0.0 - micromark-util-combine-extensions: 2.0.0 - micromark-util-types: 2.0.0 - - micromark-factory-destination@2.0.0: - dependencies: - micromark-util-character: 2.1.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 - - micromark-factory-label@2.0.0: - dependencies: - devlop: 1.1.0 - micromark-util-character: 2.1.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 - - micromark-factory-mdx-expression@2.0.2: - dependencies: - '@types/estree': 1.0.5 - devlop: 1.1.0 - micromark-factory-space: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-events-to-acorn: 2.0.2 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 - unist-util-position-from-estree: 2.0.0 - vfile-message: 4.0.2 - - micromark-factory-space@2.0.0: - dependencies: - micromark-util-character: 2.1.0 - micromark-util-types: 2.0.0 - - micromark-factory-title@2.0.0: - dependencies: - micromark-factory-space: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 - - micromark-factory-whitespace@2.0.0: - dependencies: - micromark-factory-space: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 - - micromark-util-character@2.1.0: - dependencies: - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 - - micromark-util-chunked@2.0.0: - dependencies: - micromark-util-symbol: 2.0.0 - - micromark-util-classify-character@2.0.0: - dependencies: - micromark-util-character: 2.1.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 - - micromark-util-combine-extensions@2.0.0: - dependencies: - micromark-util-chunked: 2.0.0 - micromark-util-types: 2.0.0 - - micromark-util-decode-numeric-character-reference@2.0.1: - dependencies: - micromark-util-symbol: 2.0.0 - - micromark-util-decode-string@2.0.0: - dependencies: - decode-named-character-reference: 1.0.2 - micromark-util-character: 2.1.0 - micromark-util-decode-numeric-character-reference: 2.0.1 - micromark-util-symbol: 2.0.0 - - micromark-util-encode@2.0.0: {} - - micromark-util-events-to-acorn@2.0.2: - dependencies: - '@types/acorn': 4.0.6 - '@types/estree': 1.0.5 - '@types/unist': 3.0.3 - devlop: 1.1.0 - estree-util-visit: 2.0.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 - vfile-message: 4.0.2 - - micromark-util-html-tag-name@2.0.0: {} - - micromark-util-normalize-identifier@2.0.0: - dependencies: - micromark-util-symbol: 2.0.0 - - micromark-util-resolve-all@2.0.0: - dependencies: - micromark-util-types: 2.0.0 - - micromark-util-sanitize-uri@2.0.0: - dependencies: - micromark-util-character: 2.1.0 - micromark-util-encode: 2.0.0 - micromark-util-symbol: 2.0.0 - - micromark-util-subtokenize@2.0.1: - dependencies: - devlop: 1.1.0 - micromark-util-chunked: 2.0.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 - - micromark-util-symbol@2.0.0: {} - - micromark-util-types@2.0.0: {} - - micromark@2.11.4: - dependencies: - debug: 4.3.7 - parse-entities: 2.0.0 - transitivePeerDependencies: - - supports-color - - micromark@4.0.0: - dependencies: - '@types/debug': 4.1.12 - debug: 4.3.7 - decode-named-character-reference: 1.0.2 - devlop: 1.1.0 - micromark-core-commonmark: 2.0.1 - micromark-factory-space: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-chunked: 2.0.0 - micromark-util-combine-extensions: 2.0.0 - micromark-util-decode-numeric-character-reference: 2.0.1 - micromark-util-encode: 2.0.0 - micromark-util-normalize-identifier: 2.0.0 - micromark-util-resolve-all: 2.0.0 - micromark-util-sanitize-uri: 2.0.0 - micromark-util-subtokenize: 2.0.1 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 - transitivePeerDependencies: - - supports-color - micromatch@4.0.8: dependencies: braces: 3.0.3 @@ -6938,14 +5641,14 @@ snapshots: dependencies: brace-expansion: 2.0.1 + minimist@1.2.8: {} + minipass@3.3.6: dependencies: yallist: 4.0.0 minipass@5.0.0: {} - minipass@7.1.2: {} - minizlib@2.1.2: dependencies: minipass: 3.3.6 @@ -6964,8 +5667,6 @@ snapshots: moo@0.5.2: {} - mri@1.2.0: {} - ms@2.0.0: {} ms@2.1.3: {} @@ -6974,8 +5675,6 @@ snapshots: nanoid@3.3.7: {} - natural-compare-lite@1.4.0: {} - natural-compare@1.4.0: {} nearley@2.20.1: @@ -6997,10 +5696,6 @@ snapshots: dependencies: big-integer: 1.6.52 - nopt@7.2.1: - dependencies: - abbrev: 2.0.0 - normalize-package-data@2.5.0: dependencies: hosted-git-info: 2.8.9 @@ -7016,26 +5711,6 @@ snapshots: normalize-path@3.0.0: {} - npm-install-checks@6.3.0: - dependencies: - semver: 7.6.3 - - npm-normalize-package-bin@3.0.1: {} - - npm-package-arg@11.0.3: - dependencies: - hosted-git-info: 7.0.2 - proc-log: 4.2.0 - semver: 7.6.3 - validate-npm-package-name: 5.0.1 - - npm-pick-manifest@9.1.0: - dependencies: - npm-install-checks: 6.3.0 - npm-normalize-package-bin: 3.0.1 - npm-package-arg: 11.0.3 - semver: 7.6.3 - npm-run-path@5.3.0: dependencies: path-key: 4.0.0 @@ -7051,11 +5726,6 @@ snapshots: object-inspect@1.13.2: {} - object-is@1.1.6: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - object-keys@1.1.1: {} object.assign@4.1.5: @@ -7072,6 +5742,12 @@ snapshots: es-abstract: 1.23.3 es-object-atoms: 1.0.0 + object.groupby@1.0.3: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + object.values@1.2.0: dependencies: call-bind: 1.0.7 @@ -7137,8 +5813,6 @@ snapshots: degenerator: 5.0.1 netmask: 2.0.2 - package-json-from-dist@1.0.0: {} - package-up@5.0.0: dependencies: find-up-simple: 1.0.0 @@ -7151,26 +5825,6 @@ snapshots: dependencies: callsites: 3.1.0 - parse-entities@2.0.0: - dependencies: - character-entities: 1.2.4 - character-entities-legacy: 1.1.4 - character-reference-invalid: 1.1.4 - is-alphanumerical: 1.0.4 - is-decimal: 1.0.4 - is-hexadecimal: 1.0.4 - - parse-entities@4.0.1: - dependencies: - '@types/unist': 2.0.11 - character-entities: 2.0.2 - character-entities-legacy: 3.0.0 - character-reference-invalid: 2.0.1 - decode-named-character-reference: 1.0.2 - is-alphanumerical: 2.0.1 - is-decimal: 2.0.1 - is-hexadecimal: 2.0.1 - parse-json@5.2.0: dependencies: '@babel/code-frame': 7.24.7 @@ -7178,14 +5832,6 @@ snapshots: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 - parse-json@7.1.1: - dependencies: - '@babel/code-frame': 7.24.7 - error-ex: 1.3.2 - json-parse-even-better-errors: 3.0.2 - lines-and-columns: 2.0.4 - type-fest: 3.13.1 - parse-json@8.1.0: dependencies: '@babel/code-frame': 7.24.7 @@ -7206,11 +5852,6 @@ snapshots: path-parse@1.0.7: {} - path-scurry@1.11.1: - dependencies: - lru-cache: 10.4.3 - minipass: 7.1.2 - path-to-regexp@0.1.7: {} path-type@4.0.0: {} @@ -7292,6 +5933,10 @@ snapshots: prelude-ls@1.2.1: {} + prettier-linter-helpers@1.0.0: + dependencies: + fast-diff: 1.3.0 + prettier-plugin-astro@0.14.1: dependencies: '@astrojs/compiler': 2.10.3 @@ -7339,17 +5984,8 @@ snapshots: dependencies: parse-ms: 4.0.0 - proc-log@4.2.0: {} - progress@2.0.3: {} - promise-inflight@1.0.1: {} - - promise-retry@2.0.1: - dependencies: - err-code: 2.0.3 - retry: 0.12.0 - prompts@2.4.2: dependencies: kleur: 3.0.3 @@ -7438,11 +6074,6 @@ snapshots: defu: 6.1.4 destr: 2.0.3 - read-package-json-fast@3.0.2: - dependencies: - json-parse-even-better-errors: 3.0.2 - npm-normalize-package-bin: 3.0.1 - read-pkg-up@7.0.1: dependencies: find-up: 4.1.0 @@ -7464,26 +6095,10 @@ snapshots: type-fest: 4.26.0 unicorn-magic: 0.1.0 - readable-stream@3.6.2: - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - readdirp@3.6.0: dependencies: picomatch: 2.3.1 - reflect.getprototypeof@1.0.6: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - globalthis: 1.0.4 - which-builtin-type: 1.1.4 - regexp-to-ast@0.5.0: {} regexp-tree@0.1.27: {} @@ -7499,28 +6114,6 @@ snapshots: dependencies: jsesc: 0.5.0 - remark-mdx@3.0.1: - dependencies: - mdast-util-mdx: 3.0.0 - micromark-extension-mdxjs: 3.0.0 - transitivePeerDependencies: - - supports-color - - remark-parse@11.0.0: - dependencies: - '@types/mdast': 4.0.4 - mdast-util-from-markdown: 2.0.1 - micromark-util-types: 2.0.0 - unified: 11.0.5 - transitivePeerDependencies: - - supports-color - - remark-stringify@11.0.0: - dependencies: - '@types/mdast': 4.0.4 - mdast-util-to-markdown: 2.1.0 - unified: 11.0.5 - repeat-string@1.6.1: {} require-directory@2.1.1: {} @@ -7541,8 +6134,6 @@ snapshots: ret@0.1.15: {} - retry@0.12.0: {} - reusify@1.0.4: {} rimraf@3.0.2: @@ -7555,10 +6146,6 @@ snapshots: s.color@0.0.15: {} - sade@1.8.1: - dependencies: - mri: 1.2.0 - safe-array-concat@1.1.2: dependencies: call-bind: 1.0.7 @@ -7582,6 +6169,8 @@ snapshots: semver@5.7.2: {} + semver@6.3.1: {} + semver@7.6.3: {} send@0.18.0: @@ -7702,11 +6291,9 @@ snapshots: get-stdin: 8.0.0 nearley: 2.20.1 - statuses@2.0.1: {} + stable-hash@0.0.4: {} - stop-iteration-iterator@1.0.0: - dependencies: - internal-slot: 1.0.7 + statuses@2.0.1: {} streamx@2.20.0: dependencies: @@ -7724,23 +6311,6 @@ snapshots: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - string-width@5.1.2: - dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.1.0 - - string-width@6.1.0: - dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 10.4.0 - strip-ansi: 7.1.0 - - string.prototype.includes@2.0.0: - dependencies: - define-properties: 1.2.1 - es-abstract: 1.23.3 - string.prototype.trim@1.2.9: dependencies: call-bind: 1.0.7 @@ -7760,15 +6330,6 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.0.0 - string_decoder@1.3.0: - dependencies: - safe-buffer: 5.2.1 - - stringify-entities@4.0.4: - dependencies: - character-entities-html4: 2.1.0 - character-entities-legacy: 3.0.0 - strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 @@ -7777,6 +6338,8 @@ snapshots: dependencies: ansi-regex: 6.0.1 + strip-bom@3.0.0: {} + strip-final-newline@3.0.0: {} strip-final-newline@4.0.0: {} @@ -7869,8 +6432,6 @@ snapshots: dependencies: has-flag: 4.0.0 - supports-color@9.4.0: {} - supports-hyperlinks@3.1.0: dependencies: has-flag: 4.0.0 @@ -7959,12 +6520,17 @@ snapshots: toidentifier@1.0.1: {} - trough@2.2.0: {} - ts-api-utils@1.3.0(typescript@5.5.4): dependencies: typescript: 5.5.4 + tsconfig-paths@3.15.0: + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.8 + strip-bom: 3.0.0 + tslib@2.7.0: {} tsx@4.19.0: @@ -7986,8 +6552,6 @@ snapshots: type-fest@0.8.1: {} - type-fest@3.13.1: {} - type-fest@4.26.0: {} type-is@1.6.18: @@ -8029,7 +6593,16 @@ snapshots: typed-query-selector@2.12.0: {} - typedarray@0.0.6: {} + typescript-eslint@8.4.0(eslint@8.57.0)(typescript@5.5.4): + dependencies: + '@typescript-eslint/eslint-plugin': 8.4.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/parser': 8.4.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/utils': 8.4.0(eslint@8.57.0)(typescript@5.5.4) + optionalDependencies: + typescript: 5.5.4 + transitivePeerDependencies: + - eslint + - supports-color typescript@5.5.4: {} @@ -8055,74 +6628,6 @@ snapshots: unicorn-magic@0.1.0: {} - unified-engine@11.2.1: - dependencies: - '@types/concat-stream': 2.0.3 - '@types/debug': 4.1.12 - '@types/is-empty': 1.2.3 - '@types/node': 20.16.5 - '@types/unist': 3.0.3 - concat-stream: 2.0.0 - debug: 4.3.7 - extend: 3.0.2 - glob: 10.4.5 - ignore: 5.3.2 - is-empty: 1.2.0 - is-plain-obj: 4.1.0 - load-plugin: 6.0.3 - parse-json: 7.1.1 - trough: 2.2.0 - unist-util-inspect: 8.1.0 - vfile: 6.0.3 - vfile-message: 4.0.2 - vfile-reporter: 8.1.1 - vfile-statistics: 3.0.0 - yaml: 2.5.1 - transitivePeerDependencies: - - bluebird - - supports-color - - unified@11.0.5: - dependencies: - '@types/unist': 3.0.3 - bail: 2.0.2 - devlop: 1.1.0 - extend: 3.0.2 - is-plain-obj: 4.1.0 - trough: 2.2.0 - vfile: 6.0.3 - - unist-util-inspect@8.1.0: - dependencies: - '@types/unist': 3.0.3 - - unist-util-is@6.0.0: - dependencies: - '@types/unist': 3.0.3 - - unist-util-position-from-estree@2.0.0: - dependencies: - '@types/unist': 3.0.3 - - unist-util-stringify-position@2.0.3: - dependencies: - '@types/unist': 2.0.11 - - unist-util-stringify-position@4.0.0: - dependencies: - '@types/unist': 3.0.3 - - unist-util-visit-parents@6.0.1: - dependencies: - '@types/unist': 3.0.3 - unist-util-is: 6.0.0 - - unist-util-visit@5.0.0: - dependencies: - '@types/unist': 3.0.3 - unist-util-is: 6.0.0 - unist-util-visit-parents: 6.0.1 - universalify@2.0.1: {} unpipe@1.0.0: {} @@ -8143,59 +6648,17 @@ snapshots: utils-merge@1.0.1: {} - uvu@0.5.6: - dependencies: - dequal: 2.0.3 - diff: 5.2.0 - kleur: 4.1.5 - sade: 1.8.1 - validate-npm-package-license@3.0.4: dependencies: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - validate-npm-package-name@5.0.1: {} - vary@1.1.2: {} - vfile-message@4.0.2: - dependencies: - '@types/unist': 3.0.3 - unist-util-stringify-position: 4.0.0 - - vfile-reporter@8.1.1: - dependencies: - '@types/supports-color': 8.1.3 - string-width: 6.1.0 - supports-color: 9.4.0 - unist-util-stringify-position: 4.0.0 - vfile: 6.0.3 - vfile-message: 4.0.2 - vfile-sort: 4.0.0 - vfile-statistics: 3.0.0 - - vfile-sort@4.0.0: - dependencies: - vfile: 6.0.3 - vfile-message: 4.0.2 - - vfile-statistics@3.0.0: - dependencies: - vfile: 6.0.3 - vfile-message: 4.0.2 - - vfile@6.0.3: - dependencies: - '@types/unist': 3.0.3 - vfile-message: 4.0.2 - vscode-languageserver-textdocument@1.0.12: {} vscode-uri@3.0.8: {} - walk-up-path@3.0.1: {} - which-boxed-primitive@1.0.2: dependencies: is-bigint: 1.0.4 @@ -8204,28 +6667,6 @@ snapshots: is-string: 1.0.7 is-symbol: 1.0.4 - which-builtin-type@1.1.4: - dependencies: - function.prototype.name: 1.1.6 - has-tostringtag: 1.0.2 - is-async-function: 2.0.0 - is-date-object: 1.0.5 - is-finalizationregistry: 1.0.2 - is-generator-function: 1.0.10 - is-regex: 1.1.4 - is-weakref: 1.0.2 - isarray: 2.0.5 - which-boxed-primitive: 1.0.2 - which-collection: 1.0.2 - which-typed-array: 1.1.15 - - which-collection@1.0.2: - dependencies: - is-map: 2.0.3 - is-set: 2.0.3 - is-weakmap: 2.0.2 - is-weakset: 2.0.3 - which-typed-array@1.1.15: dependencies: available-typed-arrays: 1.0.7 @@ -8254,12 +6695,6 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 - wrap-ansi@8.1.0: - dependencies: - ansi-styles: 6.2.1 - string-width: 5.1.2 - strip-ansi: 7.1.0 - wrappy@1.0.2: {} write-file-atomic@5.0.1: @@ -8301,5 +6736,3 @@ snapshots: yoctocolors@2.1.1: {} zod@3.23.8: {} - - zwitch@2.0.4: {} From cbfb895b8eb831abc158663f6588fa36a7632d4e Mon Sep 17 00:00:00 2001 From: Liam Rella Date: Mon, 9 Sep 2024 20:48:28 +0930 Subject: [PATCH 07/23] update prettier config --- packages/prettier-config/init/.prettierrc.js | 16 -- .../prettier-config/init/prettier.config.js | 16 ++ packages/prettier-config/package.json | 125 ++++++------ packages/prettier-config/prettier.config.js | 115 +++++------ packages/prettier-config/src/cli.ts | 48 +++-- pnpm-lock.yaml | 179 ++++-------------- 6 files changed, 191 insertions(+), 308 deletions(-) delete mode 100644 packages/prettier-config/init/.prettierrc.js create mode 100644 packages/prettier-config/init/prettier.config.js diff --git a/packages/prettier-config/init/.prettierrc.js b/packages/prettier-config/init/.prettierrc.js deleted file mode 100644 index c3c1a26..0000000 --- a/packages/prettier-config/init/.prettierrc.js +++ /dev/null @@ -1,16 +0,0 @@ -import sharedConfig from '@envsa/prettier-config' - -/** @type {import("prettier").Config} */ -const localConfig = { - // Config overrides - // overrides: [ - // ...sharedConfig.overrides, - // { - // // Per-file overrides overrides - // }, - // ], -} -export default { - ...sharedConfig, - ...localConfig, -} diff --git a/packages/prettier-config/init/prettier.config.js b/packages/prettier-config/init/prettier.config.js new file mode 100644 index 0000000..0687905 --- /dev/null +++ b/packages/prettier-config/init/prettier.config.js @@ -0,0 +1,16 @@ +import sharedConfig from '@envsa/prettier-config'; + +/** @type {import("prettier").Config} */ +const localConfig = { + // Config overrides + // overrides: [ + // ...sharedConfig.overrides, + // { + // // Per-file overrides overrides + // }, + // ], +}; +export default { + ...sharedConfig, + ...localConfig, +}; diff --git a/packages/prettier-config/package.json b/packages/prettier-config/package.json index 2bebe6e..3a4df3c 100644 --- a/packages/prettier-config/package.json +++ b/packages/prettier-config/package.json @@ -1,66 +1,63 @@ { - "name": "@envsa/prettier-config", - "version": "1.0.0", - "type": "module", - "description": "Prettier configuration for @envsa/shared-config.", - "repository": { - "type": "git", - "url": "git@github.com:envsa/shared-config.git", - "directory": "packages/prettier-config" - }, - "bugs": { - "url": "https://github.com/envsa/shared-config/issues", - "email": "DEW.ICTWebServices@sa.gov.au" - }, - "author": { - "name": "Liam Rella", - "email": "DEW.ICTWebServices@sa.gov.au", - "url": "https://github.com/rellafella" - }, - "license": "MIT", - "engines": { - "node": ">=18.0.0", - "pnpm": ">=8.0.0" - }, - "bin": { - "prettier-config": "bin/cli.js" - }, - "main": "prettier.config.js", - "files": [ - "bin/*", - "init/*" - ], - "keywords": [ - "shared-config", - "prettier-config", - "prettier", - "cli" - ], - "scripts": { - "build": "../../scripts/build.ts && mdat readme", - "cli": "node ./bin/cli.js", - "prepublishOnly": "pnpm run build" - }, - "peerDependencies": { - "prettier": "^3.3.1" - }, - "dependencies": { - "@pinojs/json-colorizer": "^4.0.0", - "@prettier/plugin-php": "^0.22.2", - "@prettier/plugin-ruby": "^4.0.4", - "@prettier/plugin-xml": "^3.4.1", - "cosmiconfig": "^9.0.0", - "execa": "^8.0.1", - "fs-extra": "^11.2.0", - "prettier-plugin-astro": "^0.14.1", - "prettier-plugin-pkg": "^0.18.1", - "prettier-plugin-sh": "^0.14.0", - "prettier-plugin-sql": "^0.18.1", - "prettier-plugin-svelte": "^3.2.6", - "prettier-plugin-tailwindcss": "^0.6.6", - "prettier-plugin-toml": "^2.0.1" - }, - "publishConfig": { - "access": "public" - } + "name": "@envsa/prettier-config", + "version": "1.0.0", + "type": "module", + "description": "Prettier configuration for @envsa/shared-config.", + "repository": { + "type": "git", + "url": "git@github.com:envsa/shared-config.git", + "directory": "packages/prettier-config" + }, + "bugs": { + "url": "https://github.com/envsa/shared-config/issues", + "email": "DEW.ICTWebServices@sa.gov.au" + }, + "author": { + "name": "Liam Rella", + "email": "DEW.ICTWebServices@sa.gov.au", + "url": "https://github.com/rellafella" + }, + "license": "MIT", + "engines": { + "node": ">=18.0.0", + "pnpm": ">=8.0.0" + }, + "bin": { + "prettier-config": "bin/cli.js" + }, + "main": "prettier.config.js", + "files": [ + "bin/*", + "init/*" + ], + "keywords": [ + "shared-config", + "prettier-config", + "prettier", + "cli" + ], + "scripts": { + "build": "../../scripts/build.ts && mdat readme", + "cli": "node ./bin/cli.js", + "prepublishOnly": "pnpm run build" + }, + "peerDependencies": { + "prettier": "^3.3.1" + }, + "dependencies": { + "@pinojs/json-colorizer": "^4.0.0", + "@prettier/plugin-php": "^0.22.2", + "@prettier/plugin-xml": "^3.4.1", + "cosmiconfig": "^9.0.0", + "execa": "^8.0.1", + "fs-extra": "^11.2.0", + "prettier-plugin-organize-imports": "^4.0.0", + "prettier-plugin-pkg": "^0.18.1", + "prettier-plugin-sh": "^0.14.0", + "prettier-plugin-svelte": "^3.2.4", + "prettier-plugin-tailwindcss": "^0.6.2" + }, + "publishConfig": { + "access": "public" + } } diff --git a/packages/prettier-config/prettier.config.js b/packages/prettier-config/prettier.config.js index 00999d0..26be6e2 100644 --- a/packages/prettier-config/prettier.config.js +++ b/packages/prettier-config/prettier.config.js @@ -1,59 +1,62 @@ -import { homedir } from 'node:os' - /** @type {import("prettier").Config} */ const config = { - bracketSpacing: true, - overrides: [ - { - files: ['*.md', '*.mdx', '*.yml'], - options: { - useTabs: false, - }, - }, - { - files: '*.astro', - options: { - parser: 'astro', - plugins: ['prettier-plugin-astro'], - }, - }, - { - files: '*.svelte', - options: { - parser: 'svelte', - plugins: ['prettier-plugin-svelte'], - }, - }, - { - files: '*.rb', - options: { - rubyExecutablePath: `${homedir}/.rbenv/shims/ruby`, - }, - }, - { - files: ['*rc', '*ignore', '*.sh', '*.zsh', '*.bash', '*.fish'], - options: { - parser: 'sh', - plugins: ['prettier-plugin-sh'], - }, - }, - ], - plugins: [ - '@prettier/plugin-php', - '@prettier/plugin-ruby', - '@prettier/plugin-xml', - 'prettier-plugin-pkg', - 'prettier-plugin-sh', - 'prettier-plugin-sql', - 'prettier-plugin-tailwindcss', - 'prettier-plugin-toml', - ], - printWidth: 100, - semi: false, - singleQuote: true, - tabWidth: 2, - trailingComma: 'all', - useTabs: true, -} + arrowParens: 'always', + bracketSpacing: true, + overrides: [ + { + files: '*.json5', + options: { + parser: 'json5', + quoteProps: 'preserve', + singleQuote: false, + trailingComma: 'none', + }, + }, + { + files: '*.php', + options: { + phpVersion: '8.2', + printWidth: 80, + parser: 'php', + tabWidth: 4, + trailingCommaPHP: true, + }, + }, + { + files: '*.{yml,yaml}', + options: { + singleQuote: false, + tabWidth: 4, + }, + }, + { + files: ['*rc', '*ignore', '*.sh', '*.zsh', '*.bash', '*.fish'], + options: { + parser: 'sh', + plugins: ['prettier-plugin-sh'], + }, + }, + { + files: '*.svelte', + options: { + parser: 'svelte', + plugins: ['prettier-plugin-svelte', 'prettier-plugin-tailwindcss'], + }, + }, + ], + plugins: [ + '@prettier/plugin-php', + '@prettier/plugin-xml', + 'prettier-plugin-pkg', + 'prettier-plugin-sh', + // 'prettier-plugin-tailwindcss', + ], + printWidth: 100, + semi: true, + singleQuote: true, + tabWidth: 2, + trailingComma: 'all', + useTabs: false, +}; -export default config +export default config; diff --git a/packages/prettier-config/src/cli.ts b/packages/prettier-config/src/cli.ts index 742ed7f..ee3384a 100644 --- a/packages/prettier-config/src/cli.ts +++ b/packages/prettier-config/src/cli.ts @@ -1,33 +1,29 @@ #!/usr/bin/env node -import { buildCommands } from '../../../src/command-builder.js' +import { buildCommands } from '$root/src/command-builder.ts'; // TODO bad idea? // At least test the ruby situation const sharedOptions = [ - '--log-level=warn', - '--plugin=@prettier/plugin-php', - '--plugin=@prettier/plugin-ruby', - '--plugin=@prettier/plugin-xml', - '--plugin=prettier-plugin-astro', - '--plugin=prettier-plugin-pkg', - '--plugin=prettier-plugin-sh', - '--plugin=prettier-plugin-sql', - '--plugin=prettier-plugin-svelte', - '--plugin=prettier-plugin-tailwindcss', - '--plugin=prettier-plugin-toml', -] + '--log-level=warn', + '--plugin=@prettier/plugin-php', + '--plugin=@prettier/plugin-xml', + '--plugin=prettier-plugin-pkg', + '--plugin=prettier-plugin-sh', + '--plugin=prettier-plugin-svelte', + '--plugin=prettier-plugin-tailwindcss', +]; await buildCommands('prettier-config', '[Prettier]', 'blue', { - check: { - command: 'prettier', - defaultArguments: ['.'], - options: [...sharedOptions, '--check'], - }, - fix: { - command: 'prettier', - defaultArguments: ['.'], - options: [...sharedOptions, '--write'], - }, - init: {}, - printConfig: {}, -}) + check: { + command: 'prettier', + defaultArguments: ['.'], + options: [...sharedOptions, '--check'], + }, + fix: { + command: 'prettier', + defaultArguments: ['.'], + options: [...sharedOptions, '--write'], + }, + init: {}, + printConfig: {}, +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5983fa5..dd8c178 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -173,9 +173,6 @@ importers: '@prettier/plugin-php': specifier: ^0.22.2 version: 0.22.2(prettier@3.3.3) - '@prettier/plugin-ruby': - specifier: ^4.0.4 - version: 4.0.4(prettier@3.3.3) '@prettier/plugin-xml': specifier: ^3.4.1 version: 3.4.1(prettier@3.3.3) @@ -191,27 +188,21 @@ importers: prettier: specifier: ^3.3.1 version: 3.3.3 - prettier-plugin-astro: - specifier: ^0.14.1 - version: 0.14.1 + prettier-plugin-organize-imports: + specifier: ^4.0.0 + version: 4.0.0(prettier@3.3.3)(typescript@5.5.4) prettier-plugin-pkg: specifier: ^0.18.1 version: 0.18.1(prettier@3.3.3) prettier-plugin-sh: specifier: ^0.14.0 version: 0.14.0(prettier@3.3.3) - prettier-plugin-sql: - specifier: ^0.18.1 - version: 0.18.1(prettier@3.3.3) prettier-plugin-svelte: - specifier: ^3.2.6 + specifier: ^3.2.4 version: 3.2.6(prettier@3.3.3)(svelte@4.2.19) prettier-plugin-tailwindcss: - specifier: ^0.6.6 - version: 0.6.6(prettier-plugin-astro@0.14.1)(prettier-plugin-svelte@3.2.6(prettier@3.3.3)(svelte@4.2.19))(prettier@3.3.3) - prettier-plugin-toml: - specifier: ^2.0.1 - version: 2.0.1(prettier@3.3.3) + specifier: ^0.6.2 + version: 0.6.6(prettier-plugin-astro@0.14.1)(prettier-plugin-organize-imports@4.0.0(prettier@3.3.3)(typescript@5.5.4))(prettier-plugin-svelte@3.2.6(prettier@3.3.3)(svelte@4.2.19))(prettier@3.3.3) packages/repo-config: dependencies: @@ -799,11 +790,6 @@ packages: peerDependencies: prettier: ^3.0.0 - '@prettier/plugin-ruby@4.0.4': - resolution: {integrity: sha512-lCpvfS/dQU5WrwN3AQ5vR8qrvj2h5gE41X08NNzAAXvHdM4zwwGRcP2sHSxfu6n6No+ljWCVx95NvJPFTTjCTg==} - peerDependencies: - prettier: ^3.0.0 - '@prettier/plugin-xml@3.4.1': resolution: {integrity: sha512-Uf/6/+9ez6z/IvZErgobZ2G9n1ybxF5BhCd7eMcKqfoWuOzzNUxBipNo3QAP8kRC1VD18TIo84no7LhqtyDcTg==} peerDependencies: @@ -828,12 +814,6 @@ packages: resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} engines: {node: '>=18'} - '@taplo/core@0.1.1': - resolution: {integrity: sha512-BG/zLGf5wiNXGEVPvUAAX/4ilB3PwDUY2o0MV0y47mZbDZ9ad9UK/cIQsILat3bqbPJsALVbU6k3cskNZ3vAQg==} - - '@taplo/lib@0.4.0-alpha.2': - resolution: {integrity: sha512-DV/Re3DPVY+BhBtLZ3dmP4mP6YMLSsgq9qGLXwOV38lvNF/fBlgvQswzlXmzCEefL/3q2eMoefZpOI/+GLuCNA==} - '@tootallnate/quickjs-emscripten@0.23.0': resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} @@ -1070,10 +1050,6 @@ packages: resolution: {integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==} engines: {node: '>=10.0.0'} - big-integer@1.6.52: - resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} - engines: {node: '>=0.6'} - binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} @@ -1223,9 +1199,6 @@ packages: resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} engines: {node: '>=18'} - commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - comment-json@4.2.5: resolution: {integrity: sha512-bKw/r35jR3HGt5PEPm1ljsQQGyCrR8sFGNiN5L+ykDHdpO8Smxkrkla9Yi6NkQyUrb8V54PGhfMs6NrIwtxtdw==} engines: {node: '>= 6'} @@ -1419,9 +1392,6 @@ packages: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} - discontinuous-range@1.0.0: - resolution: {integrity: sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ==} - doctrine@2.1.0: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} @@ -1825,10 +1795,6 @@ packages: resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} engines: {node: '>= 0.4'} - get-stdin@8.0.0: - resolution: {integrity: sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==} - engines: {node: '>=10'} - get-stdin@9.0.0: resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} engines: {node: '>=12'} @@ -2219,10 +2185,6 @@ packages: jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - jsox@1.2.119: - resolution: {integrity: sha512-f37obwxWKKuylcaOzNlUlzfDvURSCpqTXs8yEivhvsp86D/DTIySxP4v5Qdlg24qCuzDSZ0mJr3krc/f7TZ/5A==} - hasBin: true - keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -2369,9 +2331,6 @@ packages: mlly@1.7.1: resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} - moo@0.5.2: - resolution: {integrity: sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==} - ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} @@ -2389,10 +2348,6 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - nearley@2.20.1: - resolution: {integrity: sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==} - hasBin: true - negotiator@0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} @@ -2407,10 +2362,6 @@ packages: node-releases@2.0.18: resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} - node-sql-parser@4.18.0: - resolution: {integrity: sha512-2YEOR5qlI1zUFbGMLKNfsrR5JUvFg9LxIRVE+xJe962pfVLH0rnItqLzv96XVs1Y1UIR8FxsXAuvX/lYAWZ2BQ==} - engines: {node: '>=8'} - normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} @@ -2657,6 +2608,19 @@ packages: resolution: {integrity: sha512-RiBETaaP9veVstE4vUwSIcdATj6dKmXljouXc/DDNwBSPTp8FRkLGDSGFClKsAFeeg+13SB0Z1JZvbD76bigJw==} engines: {node: ^14.15.0 || >=16.0.0} + prettier-plugin-organize-imports@4.0.0: + resolution: {integrity: sha512-vnKSdgv9aOlqKeEFGhf9SCBsTyzDSyScy1k7E0R1Uo4L0cTcOV7c1XQaT7jfXIOc/p08WLBfN2QUQA9zDSZMxA==} + peerDependencies: + '@vue/language-plugin-pug': ^2.0.24 + prettier: '>=2.0' + typescript: '>=2.9' + vue-tsc: ^2.0.24 + peerDependenciesMeta: + '@vue/language-plugin-pug': + optional: true + vue-tsc: + optional: true + prettier-plugin-pkg@0.18.1: resolution: {integrity: sha512-FuUxvsYZR/8rsLH8s/jbPQmgYvv0yxW8LoIHCy6+Q7p4FBjjdP3DNKx8fMTOsc0SlEB1skB4o1LcahRceIh87A==} engines: {node: ^14.18.0 || >=16.0.0} @@ -2669,12 +2633,6 @@ packages: peerDependencies: prettier: ^3.0.3 - prettier-plugin-sql@0.18.1: - resolution: {integrity: sha512-2+Nob2sg7hzLAKJoE6sfgtkhBZCqOzrWHZPvE4Kee/e80oOyI4qwy9vypeltqNBJwTtq3uiKPrCxlT03bBpOaw==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - prettier: ^3.0.3 - prettier-plugin-svelte@3.2.6: resolution: {integrity: sha512-Y1XWLw7vXUQQZmgv1JAEiLcErqUniAF2wO7QJsw8BVMvpLET2dI5WpEIEJx1r11iHVdSMzQxivyfrH9On9t2IQ==} peerDependencies: @@ -2736,12 +2694,6 @@ packages: prettier-plugin-svelte: optional: true - prettier-plugin-toml@2.0.1: - resolution: {integrity: sha512-99z1YOkViECHtXQjGIigd3talI/ybUI1zB3yniAwUrlWBXupNXThB1hM6bwSMUEj2/+tomTlMtT98F5t4s8IWA==} - engines: {node: '>=16.0.0'} - peerDependencies: - prettier: ^3.0.3 - prettier@3.3.3: resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} engines: {node: '>=14'} @@ -2796,13 +2748,6 @@ packages: queue-tick@1.0.1: resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} - railroad-diagrams@1.0.0: - resolution: {integrity: sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==} - - randexp@0.4.6: - resolution: {integrity: sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==} - engines: {node: '>=0.12'} - range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} @@ -2872,10 +2817,6 @@ packages: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true - ret@0.1.15: - resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} - engines: {node: '>=0.12'} - reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -3010,10 +2951,6 @@ packages: sprintf-js@1.1.3: resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} - sql-formatter@15.4.2: - resolution: {integrity: sha512-Pw4aAgfuyml/SHMlhbJhyOv+GR+Z1HNb9sgX3CVBVdN5YNM+v2VWkYJ3NNbYS7cu37GY3vP/PgnwoVynCuXRxg==} - hasBin: true - stable-hash@0.0.4: resolution: {integrity: sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==} @@ -3417,7 +3354,8 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - '@astrojs/compiler@2.10.3': {} + '@astrojs/compiler@2.10.3': + optional: true '@babel/code-frame@7.24.7': dependencies: @@ -3832,10 +3770,6 @@ snapshots: php-parser: 3.1.5 prettier: 3.3.3 - '@prettier/plugin-ruby@4.0.4(prettier@3.3.3)': - dependencies: - prettier: 3.3.3 - '@prettier/plugin-xml@3.4.1(prettier@3.3.3)': dependencies: '@xml-tools/parser': 1.0.11 @@ -3862,12 +3796,6 @@ snapshots: '@sindresorhus/merge-streams@4.0.0': {} - '@taplo/core@0.1.1': {} - - '@taplo/lib@0.4.0-alpha.2': - dependencies: - '@taplo/core': 0.1.1 - '@tootallnate/quickjs-emscripten@0.23.0': {} '@types/estree@1.0.5': {} @@ -4153,8 +4081,6 @@ snapshots: basic-ftp@5.0.5: {} - big-integer@1.6.52: {} - binary-extensions@2.3.0: {} body-parser@1.20.2: @@ -4341,8 +4267,6 @@ snapshots: commander@12.1.0: {} - commander@2.20.3: {} - comment-json@4.2.5: dependencies: array-timsort: 1.0.3 @@ -4564,8 +4488,6 @@ snapshots: dependencies: path-type: 4.0.0 - discontinuous-range@1.0.0: {} - doctrine@2.1.0: dependencies: esutils: 2.0.3 @@ -5164,8 +5086,6 @@ snapshots: has-symbols: 1.0.3 hasown: 2.0.2 - get-stdin@8.0.0: {} - get-stdin@9.0.0: {} get-stream@5.2.0: @@ -5534,8 +5454,6 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 - jsox@1.2.119: {} - keyv@4.5.4: dependencies: json-buffer: 3.0.1 @@ -5665,8 +5583,6 @@ snapshots: pkg-types: 1.2.0 ufo: 1.5.4 - moo@0.5.2: {} - ms@2.0.0: {} ms@2.1.3: {} @@ -5677,13 +5593,6 @@ snapshots: natural-compare@1.4.0: {} - nearley@2.20.1: - dependencies: - commander: 2.20.3 - moo: 0.5.2 - railroad-diagrams: 1.0.0 - randexp: 0.4.6 - negotiator@0.6.3: {} netmask@2.0.2: {} @@ -5692,10 +5601,6 @@ snapshots: node-releases@2.0.18: {} - node-sql-parser@4.18.0: - dependencies: - big-integer: 1.6.52 - normalize-package-data@2.5.0: dependencies: hosted-git-info: 2.8.9 @@ -5942,6 +5847,12 @@ snapshots: '@astrojs/compiler': 2.10.3 prettier: 3.3.3 sass-formatter: 0.7.9 + optional: true + + prettier-plugin-organize-imports@4.0.0(prettier@3.3.3)(typescript@5.5.4): + dependencies: + prettier: 3.3.3 + typescript: 5.5.4 prettier-plugin-pkg@0.18.1(prettier@3.3.3): dependencies: @@ -5953,31 +5864,19 @@ snapshots: prettier: 3.3.3 sh-syntax: 0.4.2 - prettier-plugin-sql@0.18.1(prettier@3.3.3): - dependencies: - jsox: 1.2.119 - node-sql-parser: 4.18.0 - prettier: 3.3.3 - sql-formatter: 15.4.2 - tslib: 2.7.0 - prettier-plugin-svelte@3.2.6(prettier@3.3.3)(svelte@4.2.19): dependencies: prettier: 3.3.3 svelte: 4.2.19 - prettier-plugin-tailwindcss@0.6.6(prettier-plugin-astro@0.14.1)(prettier-plugin-svelte@3.2.6(prettier@3.3.3)(svelte@4.2.19))(prettier@3.3.3): + prettier-plugin-tailwindcss@0.6.6(prettier-plugin-astro@0.14.1)(prettier-plugin-organize-imports@4.0.0(prettier@3.3.3)(typescript@5.5.4))(prettier-plugin-svelte@3.2.6(prettier@3.3.3)(svelte@4.2.19))(prettier@3.3.3): dependencies: prettier: 3.3.3 optionalDependencies: prettier-plugin-astro: 0.14.1 + prettier-plugin-organize-imports: 4.0.0(prettier@3.3.3)(typescript@5.5.4) prettier-plugin-svelte: 3.2.6(prettier@3.3.3)(svelte@4.2.19) - prettier-plugin-toml@2.0.1(prettier@3.3.3): - dependencies: - '@taplo/lib': 0.4.0-alpha.2 - prettier: 3.3.3 - prettier@3.3.3: {} pretty-ms@9.1.0: @@ -6053,13 +5952,6 @@ snapshots: queue-tick@1.0.1: {} - railroad-diagrams@1.0.0: {} - - randexp@0.4.6: - dependencies: - discontinuous-range: 1.0.0 - ret: 0.1.15 - range-parser@1.2.1: {} raw-body@2.5.2: @@ -6132,8 +6024,6 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - ret@0.1.15: {} - reusify@1.0.4: {} rimraf@3.0.2: @@ -6144,7 +6034,8 @@ snapshots: dependencies: queue-microtask: 1.2.3 - s.color@0.0.15: {} + s.color@0.0.15: + optional: true safe-array-concat@1.1.2: dependencies: @@ -6166,6 +6057,7 @@ snapshots: sass-formatter@0.7.9: dependencies: suf-log: 2.5.3 + optional: true semver@5.7.2: {} @@ -6285,12 +6177,6 @@ snapshots: sprintf-js@1.1.3: {} - sql-formatter@15.4.2: - dependencies: - argparse: 2.0.1 - get-stdin: 8.0.0 - nearley: 2.20.1 - stable-hash@0.0.4: {} statuses@2.0.1: {} @@ -6423,6 +6309,7 @@ snapshots: suf-log@2.5.3: dependencies: s.color: 0.0.15 + optional: true supports-color@5.5.0: dependencies: From ce525bb65c7ee4b2aea54befc2c75ec4c38c3345 Mon Sep 17 00:00:00 2001 From: Liam Rella Date: Mon, 9 Sep 2024 20:55:00 +0930 Subject: [PATCH 08/23] lint/format root files --- .github/workflows/github-release.yml | 140 ++--- .github/workflows/sync-metadata.yml | 80 +-- .vscode/settings.json | 112 ++-- eslint.config.js | 28 +- pnpm-workspace.yaml | 2 +- scripts/build.ts | 22 +- src/command-builder.ts | 885 ++++++++++++++------------- src/file-utils.ts | 22 +- src/json-utils.ts | 92 +-- tsconfig.eslint.json | 16 +- tsconfig.json | 46 +- 11 files changed, 733 insertions(+), 712 deletions(-) diff --git a/.github/workflows/github-release.yml b/.github/workflows/github-release.yml index fdb8cb0..5d9c882 100644 --- a/.github/workflows/github-release.yml +++ b/.github/workflows/github-release.yml @@ -1,81 +1,81 @@ name: Create GitHub Release on: - push: - tags: - - 'v[0-9]*' + push: + tags: + - "v[0-9]*" jobs: - build: - name: Create Release - runs-on: ubuntu-latest - env: - ACCESS_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN || secrets.GITHUB_TOKEN }} - IS_VALID_COMMIT: false - TAG_NAME: '' + build: + name: Create Release + runs-on: ubuntu-latest + env: + ACCESS_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN || secrets.GITHUB_TOKEN }} + IS_VALID_COMMIT: false + TAG_NAME: "" - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 - - name: Log Token Type - run: | - if [ ${{ env.ACCESS_TOKEN }} == ${{ secrets.GITHUB_TOKEN }} ]; then - echo "🗝️ Authenticated with GitHub Token" - else - echo "🔑 Authenticated with Personal Access token" - fi + - name: Log Token Type + run: | + if [ ${{ env.ACCESS_TOKEN }} == ${{ secrets.GITHUB_TOKEN }} ]; then + echo "🗝️ Authenticated with GitHub Token" + else + echo "🔑 Authenticated with Personal Access token" + fi - - name: Validate Tag and Branch - id: validation - run: | - TAG=$(git tag --contains HEAD | grep '^v[0-9]' | head -n 1) - echo "🏷️ Tag for commit is: $TAG" - BRANCH=$(git branch -r --contains tags/${GITHUB_REF_NAME} | grep 'origin/main' | xargs) - if [[ -z "$BRANCH" ]]; then - echo "🚨 Tag is not on main branch" - else - echo "🕊️ Current branch is: $BRANCH" - fi - if [[ -z "$TAG" || -z "$BRANCH" ]]; then - echo "IS_VALID_COMMIT=false" >> $GITHUB_ENV - echo "TAG_NAME=''" >> $GITHUB_ENV - else - echo "IS_VALID_COMMIT=true" >> $GITHUB_ENV - echo "TAG_NAME=$TAG" >> $GITHUB_ENV - fi + - name: Validate Tag and Branch + id: validation + run: | + TAG=$(git tag --contains HEAD | grep '^v[0-9]' | head -n 1) + echo "🏷️ Tag for commit is: $TAG" + BRANCH=$(git branch -r --contains tags/${GITHUB_REF_NAME} | grep 'origin/main' | xargs) + if [[ -z "$BRANCH" ]]; then + echo "🚨 Tag is not on main branch" + else + echo "🕊️ Current branch is: $BRANCH" + fi + if [[ -z "$TAG" || -z "$BRANCH" ]]; then + echo "IS_VALID_COMMIT=false" >> $GITHUB_ENV + echo "TAG_NAME=''" >> $GITHUB_ENV + else + echo "IS_VALID_COMMIT=true" >> $GITHUB_ENV + echo "TAG_NAME=$TAG" >> $GITHUB_ENV + fi - - name: Release Notes - if: env.IS_VALID_COMMIT == 'true' - id: release-notes - uses: kitschpatrol/github-action-release-changelog@v2 + - name: Release Notes + if: env.IS_VALID_COMMIT == 'true' + id: release-notes + uses: kitschpatrol/github-action-release-changelog@v2 - - name: Release - if: env.IS_VALID_COMMIT == 'true' - id: release - uses: kitschpatrol/github-action-release@v2 - with: - token: ${{ env.ACCESS_TOKEN }} - draft: false - prerelease: false - name: ${{ env.TAG_NAME }} - tag_name: ${{ env.TAG_NAME }} - body: | - ${{ steps.release-notes.outputs.changelog }} - files: | - readme.md - README.md - LICENSE - license.txt - CHANGELOG - CHANGELOG.md - changelog.md + - name: Release + if: env.IS_VALID_COMMIT == 'true' + id: release + uses: kitschpatrol/github-action-release@v2 + with: + token: ${{ env.ACCESS_TOKEN }} + draft: false + prerelease: false + name: ${{ env.TAG_NAME }} + tag_name: ${{ env.TAG_NAME }} + body: | + ${{ steps.release-notes.outputs.changelog }} + files: | + readme.md + README.md + LICENSE + license.txt + CHANGELOG + CHANGELOG.md + changelog.md - - name: Log Release Details - if: env.IS_VALID_COMMIT == 'true' - run: | - echo "📦 Successfully released: ${{ env.TAG_NAME }}" - echo "🔗 Release URL: ${{ steps.release.outputs.url }}" - echo "🪪 Release ID: ${{ steps.release.outputs.id }}" + - name: Log Release Details + if: env.IS_VALID_COMMIT == 'true' + run: | + echo "📦 Successfully released: ${{ env.TAG_NAME }}" + echo "🔗 Release URL: ${{ steps.release.outputs.url }}" + echo "🪪 Release ID: ${{ steps.release.outputs.id }}" diff --git a/.github/workflows/sync-metadata.yml b/.github/workflows/sync-metadata.yml index 4ab3e89..ca97dd1 100644 --- a/.github/workflows/sync-metadata.yml +++ b/.github/workflows/sync-metadata.yml @@ -1,48 +1,48 @@ name: Overwrite GitHub repo metadata with info from package.json on: - push: - branches: [main] - workflow_dispatch: + push: + branches: [main] + workflow_dispatch: jobs: - build: - name: Sync Metadata - runs-on: ubuntu-latest - env: - IS_VALID_TOKEN: false - HAS_PACKAGE: false + build: + name: Sync Metadata + runs-on: ubuntu-latest + env: + IS_VALID_TOKEN: false + HAS_PACKAGE: false - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 - - name: Check for package.json - run: | - if [ -f package.json ]; then - echo "📦 Found package.json" - echo "HAS_PACKAGE=true" >> $GITHUB_ENV - else - echo "❌ This action requires a package.json to run" - echo "HAS_PACKAGE=false" >> $GITHUB_ENV - fi + - name: Check for package.json + run: | + if [ -f package.json ]; then + echo "📦 Found package.json" + echo "HAS_PACKAGE=true" >> $GITHUB_ENV + else + echo "❌ This action requires a package.json to run" + echo "HAS_PACKAGE=false" >> $GITHUB_ENV + fi - - name: Validate Access Token - if: env.HAS_PACKAGE == 'true' - run: | - if [ -z ${{ secrets.PERSONAL_ACCESS_TOKEN }} ]; then - echo "❌ This action requires a Personal Access token to run" - echo "IS_VALID_TOKEN=false" >> $GITHUB_ENV - else - echo "🔑 Authenticated with Personal Access token" - echo "IS_VALID_TOKEN=true" >> $GITHUB_ENV - fi + - name: Validate Access Token + if: env.HAS_PACKAGE == 'true' + run: | + if [ -z ${{ secrets.PERSONAL_ACCESS_TOKEN }} ]; then + echo "❌ This action requires a Personal Access token to run" + echo "IS_VALID_TOKEN=false" >> $GITHUB_ENV + else + echo "🔑 Authenticated with Personal Access token" + echo "IS_VALID_TOKEN=true" >> $GITHUB_ENV + fi - - name: Sync Package info to GitHub - if: env.IS_VALID_TOKEN == 'true' && env.HAS_PACKAGE == 'true' - uses: kitschpatrol/github-action-repo-sync@v2 - with: - TYPE: npm - PATH: package.json - TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }} + - name: Sync Package info to GitHub + if: env.IS_VALID_TOKEN == 'true' && env.HAS_PACKAGE == 'true' + uses: kitschpatrol/github-action-repo-sync@v2 + with: + TYPE: npm + PATH: package.json + TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }} diff --git a/.vscode/settings.json b/.vscode/settings.json index 7413402..b357291 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,58 +1,58 @@ { - "[astro]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[gitignore]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[ruby]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[shellscript]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[svelte]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "cSpell.enabled": true, - "cSpell.workspaceRootPath": ".", - "editor.codeActionsOnSave": { - "source.fixAll": "explicit" - }, - "editor.defaultFormatter": "esbenp.prettier-vscode", - "editor.formatOnSave": true, - "eslint.enable": true, - "eslint.validate": [ - "javascript", - "javascriptreact", - "typescript", - "typescriptreact", - "svelte", - "astro", - "markdown", - "mdx", - "html", - "twig" - ], - "explorer.fileNesting.enabled": true, - "explorer.fileNesting.expand": false, - "explorer.fileNesting.patterns": { - ".env": ".env.*", - "package.json": ".*.cjs, .*.js, .*.json, .*.mjs, .*.toml, .*.ts, .*.yaml, .*.yml, .*ignore, .*rc, *config.cjs, *config.js, *config.json, *config.mjs, *config.toml, *config.ts, *config.yaml, *config.yml, lerna.json, netlify.toml, package-lock.json, , pnpm*, turbo.json, vercel.json, workspace*, wrangler.toml, yarn.lock, yarn*", - "readme.md": "authors*, backers*, changelog*, citation*, code_of_conduct*, contributing*, contributors*, copying*, credits*, governance*, history*, license*, maintainers*, release_notes*, security*, sponsors*" - }, - "prettier.documentSelectors": [ - "**/*.rb", - "**/*.astro", - "**/*.svelte", - "**/.prettierignore", - "**/.npmrc", - "**/.eslintignore", - "**/.node-version" - ], - "prettier.enable": true, - "stylelint.enable": true, - "stylelint.validate": ["css", "html", "svelte", "astro"], - "typescript.tsdk": "node_modules/typescript/lib", - "eslint.useFlatConfig": true + "[astro]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[gitignore]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[ruby]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[shellscript]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[svelte]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "cSpell.enabled": true, + "cSpell.workspaceRootPath": ".", + "editor.codeActionsOnSave": { + "source.fixAll": "explicit" + }, + "editor.defaultFormatter": "esbenp.prettier-vscode", + "editor.formatOnSave": true, + "eslint.enable": true, + "eslint.validate": [ + "javascript", + "javascriptreact", + "typescript", + "typescriptreact", + "svelte", + "astro", + "markdown", + "mdx", + "html", + "twig" + ], + "explorer.fileNesting.enabled": true, + "explorer.fileNesting.expand": false, + "explorer.fileNesting.patterns": { + ".env": ".env.*", + "package.json": ".*.cjs, .*.js, .*.json, .*.mjs, .*.toml, .*.ts, .*.yaml, .*.yml, .*ignore, .*rc, *config.cjs, *config.js, *config.json, *config.mjs, *config.toml, *config.ts, *config.yaml, *config.yml, lerna.json, netlify.toml, package-lock.json, , pnpm*, turbo.json, vercel.json, workspace*, wrangler.toml, yarn.lock, yarn*", + "readme.md": "authors*, backers*, changelog*, citation*, code_of_conduct*, contributing*, contributors*, copying*, credits*, governance*, history*, license*, maintainers*, release_notes*, security*, sponsors*" + }, + "prettier.documentSelectors": [ + "**/*.rb", + "**/*.astro", + "**/*.svelte", + "**/.prettierignore", + "**/.npmrc", + "**/.eslintignore", + "**/.node-version" + ], + "prettier.enable": true, + "stylelint.enable": true, + "stylelint.validate": ["css", "html", "svelte", "astro"], + "typescript.tsdk": "node_modules/typescript/lib", + "eslint.useFlatConfig": true } diff --git a/eslint.config.js b/eslint.config.js index 46c6ec1..55f7e66 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -1,15 +1,19 @@ -import configEnvsa from '@envsa/eslint-config' +import configEnvsa from '@envsa/eslint-config'; /** @type {import('eslint').Linter.Config[]} */ export default [ - ...configEnvsa, - { - ignores: ['**/bin/cli.js'], - }, - { - files: ['**/init/*', '**/src/cli.ts'], - rules: { - 'import-x/no-extraneous-dependencies': 'off', - }, - }, -] + ...configEnvsa, + { + ignores: ['**/bin/cli.js'], + settings: { + 'import/resolver': { + alias: { + map: [['$root', './']], + }, + }, + }, + rules: { + 'import-x/no-extraneous-dependencies': 'off', + }, + }, +]; diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 924b55f..9bec5ba 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,2 +1,2 @@ packages: - - packages/* + - packages/* diff --git a/scripts/build.ts b/scripts/build.ts index 85f2f59..a1950a3 100755 --- a/scripts/build.ts +++ b/scripts/build.ts @@ -1,13 +1,13 @@ #!/usr/bin/env tsx -import esbuild from 'esbuild' +import { build } from 'esbuild'; -await esbuild.build({ - bundle: true, - entryPoints: ['src/cli.ts'], - external: ['execa', '@pinojs/json-colorizer', 'cosmiconfig', 'fs-extra'], - format: 'esm', - minify: true, - outfile: 'bin/cli.js', - platform: 'node', - target: 'node18', -}) +await build({ + bundle: true, + entryPoints: ['src/cli.ts'], + external: ['execa', '@pinojs/json-colorizer', 'cosmiconfig', 'fs-extra'], + format: 'esm', + minify: true, + outfile: 'bin/cli.js', + platform: 'node', + target: 'node18', +}); diff --git a/src/command-builder.ts b/src/command-builder.ts index f44ba96..9fffa3c 100644 --- a/src/command-builder.ts +++ b/src/command-builder.ts @@ -4,476 +4,487 @@ // Creates cli bin files for each package // based on the shared-config field in their package.js -import type { Flag } from 'meow' +import type { Flag } from 'meow'; // eslint-disable-next-line unicorn/import-style -import chalk, { type foregroundColorNames } from 'chalk' -import { cosmiconfig } from 'cosmiconfig' -import { execa, type ExecaError } from 'execa' -import fse from 'fs-extra' -import meow from 'meow' -import path from 'node:path' -import { Transform } from 'node:stream' -import { PassThrough, type Stream } from 'node:stream' -import { fileURLToPath } from 'node:url' -import { packageUp } from 'package-up' -import { merge, stringify } from './json-utils.js' +import chalk, { type foregroundColorNames } from 'chalk'; +import { cosmiconfig } from 'cosmiconfig'; +import { execa, type ExecaError } from 'execa'; +// eslint-disable-next-line import-x/default +import fse from 'fs-extra'; +import meow from 'meow'; +import path from 'node:path'; +import { PassThrough, Transform, type Stream } from 'node:stream'; +import { fileURLToPath } from 'node:url'; +import { packageUp } from 'package-up'; +import { merge, stringify } from './json-utils.ts'; // TODO get these from meow? -type StringFlag = Flag<'string', string> | Flag<'string', string[], true> -type BooleanFlag = Flag<'boolean', boolean> | Flag<'boolean', boolean[], true> -type NumberFlag = Flag<'number', number> | Flag<'number', number[], true> -type AnyFlag = BooleanFlag | NumberFlag | StringFlag -type AnyFlags = Record - -type ChalkColor = (typeof foregroundColorNames)[number] - -type OptionCommand = { - /** Either a string to run a command, or a function to do something custom. If undefined, a default behavior is used. */ - command?: - | (( - /** Useful if you're logging in the function, ensures output is prefixed */ - logStream: NodeJS.WritableStream, - args: string[], - options: string[], - ) => Promise) - | string - /** Arguments to be passed to the command in the absence of user-provided arguments */ - defaultArguments?: string[] - /** Options to be passed to the command. The argument is handled in command-builder.ts */ - options?: string[] +type StringFlag = Flag<'string', string> | Flag<'string', string[], true>; +type BooleanFlag = Flag<'boolean', boolean> | Flag<'boolean', boolean[], true>; +type NumberFlag = Flag<'number', number> | Flag<'number', number[], true>; +type AnyFlag = BooleanFlag | NumberFlag | StringFlag; +type AnyFlags = Record; + +type ChalkColor = (typeof foregroundColorNames)[number]; + +interface OptionCommand { + /** Either a string to run a command, or a function to do something custom. If undefined, a default behavior is used. */ + command?: + | (( + /** Useful if you're logging in the function, ensures output is prefixed */ + logStream: NodeJS.WritableStream, + args: string[], + options: string[], + ) => Promise) + | string; + /** Arguments to be passed to the command in the absence of user-provided arguments */ + defaultArguments?: string[]; + /** Options to be passed to the command. The argument is handled in command-builder.ts */ + options?: string[]; } // Supported options -export type OptionCommands = { - [key in 'check' | 'fix' | 'init' | 'printConfig']?: OptionCommand -} +type OptionCommands = { + [key in 'check' | 'fix' | 'init' | 'printConfig']?: OptionCommand; +}; function createStreamTransform(logPrefix: string | undefined, logColor: ChalkColor): Transform { - return new Transform({ - transform(chunk: string | Uint8Array, _: BufferEncoding, callback) { - // Convert the chunk to a string and prepend the string to each line - const lines: string[] = chunk - .toString() - .split(/\r?\n/) - .filter((line) => line.trim().length > 0) - - const transformed = - lines.map((line) => `${logPrefix ? chalk[logColor](logPrefix) : ''} ${line}`).join('\n') + - '\n' - - // Pass the transformed data to the next stage in the stream - this.push(transformed) - callback() - }, - }) + return new Transform({ + transform(chunk: string | Uint8Array, _: BufferEncoding, callback) { + // Convert the chunk to a string and prepend the string to each line + const lines: string[] = chunk + .toString() + .split(/\r?\n/) + .filter((line) => line.trim().length > 0); + + const transformed = + lines.map((line) => `${logPrefix ? chalk[logColor](logPrefix) : ''} ${line}`).join('\n') + + '\n'; + + // Pass the transformed data to the next stage in the stream + this.push(transformed); + callback(); + }, + }); } function generateHelpText(command: string, options: OptionCommands): string { - let helpText = ` + let helpText = ` Usage $ ${command} [ ...] - ` - - helpText += '\n Options' - - if (Object.keys(options).length > 0) { - for (const name of Object.keys(options)) { - switch (name) { - case 'init': { - helpText += - '\n --init, -i Initialize by copying starter config files to your project root.' - break - } - - case 'check': { - helpText += `\n --check, -c Check for and report issues. Same as \`${command}\`.` - break - } - - case 'fix': { - helpText += - '\n --fix, -f Fix all auto-fixable issues, and report the un-fixable.' - break - } - - case 'printConfig': { - helpText += - '\n --print-config, -p Print the effective configuration at a certain path.' - break - } - - case 'help': { - break - } - - case 'version': { - break - } - - default: { - console.error(`Unknown command name in generateHelpText: ${name}`) - } - } - } - } - - // Note some spooky behavior around these affecting how options are parsed - helpText += '\n --help, -h Print this help info.' - helpText += '\n --version, -v Print the package version.\n' - - return helpText + `; + + helpText += '\n Options'; + + if (Object.keys(options).length > 0) { + for (const name of Object.keys(options)) { + switch (name) { + case 'init': { + helpText += + '\n --init, -i Initialize by copying starter config files to your project root.'; + break; + } + + case 'check': { + helpText += `\n --check, -c Check for and report issues. Same as \`${command}\`.`; + break; + } + + case 'fix': { + helpText += + '\n --fix, -f Fix all auto-fixable issues, and report the un-fixable.'; + break; + } + + case 'printConfig': { + helpText += + '\n --print-config, -p Print the effective configuration at a certain path.'; + break; + } + + case 'help': { + break; + } + + case 'version': { + break; + } + + default: { + console.error(`Unknown command name in generateHelpText: ${name}`); + } + } + } + } + + // Note some spooky behavior around these affecting how options are parsed + helpText += '\n --help, -h Print this help info.'; + helpText += '\n --version, -v Print the package version.\n'; + + return helpText; } function generateFlags(options: OptionCommands): AnyFlags { - return Object.keys(options).reduce((acc, name) => { - let flagOptions: AnyFlag = {} - - switch (name) { - case 'init': { - flagOptions = { - shortFlag: 'i', - type: 'boolean', - } - break - } - - case 'check': { - flagOptions = { - aliases: ['lint', ''], - shortFlag: 'l', - type: 'boolean', - } - break - } - - case 'fix': { - flagOptions = { - shortFlag: 'f', - type: 'boolean', - } - break - } - - case 'printConfig': { - flagOptions = { - shortFlag: 'p', - type: 'boolean', - } - break - } - - case 'help': { - flagOptions = { - type: 'boolean', - } - break - } - - case 'version': { - flagOptions = { - type: 'boolean', - } - break - } - - default: { - console.error(`Unknown command name: ${name}`) - } - } - - acc[name] = flagOptions - return acc - }, {}) + return Object.keys(options).reduce((accumulator, name) => { + let flagOptions: AnyFlag = {}; + + switch (name) { + case 'init': { + flagOptions = { + shortFlag: 'i', + type: 'boolean', + }; + break; + } + + case 'check': { + flagOptions = { + aliases: ['lint', ''], + shortFlag: 'l', + type: 'boolean', + }; + break; + } + + case 'fix': { + flagOptions = { + shortFlag: 'f', + type: 'boolean', + }; + break; + } + + case 'printConfig': { + flagOptions = { + shortFlag: 'p', + type: 'boolean', + }; + break; + } + + case 'help': { + flagOptions = { + type: 'boolean', + }; + break; + } + + case 'version': { + flagOptions = { + type: 'boolean', + }; + break; + } + + default: { + console.error(`Unknown command name: ${name}`); + } + } + + accumulator[name] = flagOptions; + return accumulator; + }, {}); } async function streamToString(stream: Stream): Promise { - const chunks: Uint8Array[] = [] - return new Promise((resolve, reject) => { - stream.on('data', (chunk: Uint8Array) => chunks.push(Buffer.from(chunk))) - stream.on('error', (error) => { - reject(error as Error) - }) - stream.on('end', () => { - resolve(Buffer.concat(chunks).toString('utf8')) - }) - }) + const chunks: Uint8Array[] = []; + return new Promise((resolve, reject) => { + stream.on('data', (chunk: Uint8Array) => chunks.push(Buffer.from(chunk))); + stream.on('error', (error) => { + reject(error as Error); + }); + stream.on('end', () => { + resolve(Buffer.concat(chunks).toString('utf8')); + }); + }); } -export async function executeJsonOutput( - logStream: NodeJS.WritableStream, - optionCommand: OptionCommand, - input: string[] = [], +async function executeJsonOutput( + logStream: NodeJS.WritableStream, + optionCommand: OptionCommand, + input: string[] = [], ): Promise { - // Capture the output of execution, and then format is nicely - const pass = new PassThrough() - const exitCode = await execute(pass, optionCommand, input) - pass.end() - - if (exitCode !== 0) { - logStream.write('Error printing config.\n') - return exitCode - } - - try { - const configString = await streamToString(pass) - - logStream.write(stringify(JSON.parse(configString))) - logStream.write('\n') - return 0 - } catch (error) { - logStream.write(`Error: ${String(error)}\n`) - return 1 - } + // Capture the output of execution, and then format is nicely + const pass = new PassThrough(); + const exitCode = await execute(pass, optionCommand, input); + pass.end(); + + if (exitCode !== 0) { + logStream.write('Error printing config.\n'); + return exitCode; + } + + try { + const configString = await streamToString(pass); + + logStream.write(stringify(JSON.parse(configString))); + logStream.write('\n'); + return 0; + } catch (error) { + logStream.write(`Error: ${String(error)}\n`); + return 1; + } } -export async function execute( - logStream: NodeJS.WritableStream, - optionCommand: OptionCommand, - input: string[] = [], +async function execute( + logStream: NodeJS.WritableStream, + optionCommand: OptionCommand, + input: string[] = [], ): Promise { - if (optionCommand.command !== undefined && typeof optionCommand.command === 'string') { - let exitCode = 1 - - try { - const subprocess = execa( - optionCommand.command, - [...(optionCommand.options ?? []), ...input], - { - env: { - // eslint-disable-next-line @typescript-eslint/naming-convention - FORCE_COLOR: 'true', - }, - stdin: 'inherit', // For input, todo anything weird here? - }, - ) - - // End false is required here, otherwise the stream will close before the subprocess is done - subprocess.stdout?.pipe(logStream, { end: false }) - subprocess.stderr?.pipe(logStream, { end: false }) - await subprocess - exitCode = subprocess.exitCode ?? 1 - } catch (error) { - // Console.error(`${optionCommand.command} failed with error "${error.shortMessage}"`); - if (isErrorExecaError(error)) { - exitCode = typeof error.exitCode === 'number' ? error.exitCode : 1 - } - } - - return exitCode - } - - logStream.write(`Error: Invalid optionCommand: ${JSON.stringify(optionCommand, undefined, 2)}`) - return 1 + if (optionCommand.command !== undefined && typeof optionCommand.command === 'string') { + let exitCode = 1; + + try { + const subprocess = execa( + optionCommand.command, + [...(optionCommand.options ?? []), ...input], + { + env: { + // eslint-disable-next-line @typescript-eslint/naming-convention + FORCE_COLOR: 'true', + }, + stdin: 'inherit', // For input, todo anything weird here? + }, + ); + + // End false is required here, otherwise the stream will close before the subprocess is done + subprocess.stdout?.pipe(logStream, { end: false }); + subprocess.stderr?.pipe(logStream, { end: false }); + await subprocess; + exitCode = subprocess.exitCode ?? 1; + } catch (error) { + // Console.error(`${optionCommand.command} failed with error "${error.shortMessage}"`); + if (isErrorExecaError(error)) { + exitCode = typeof error.exitCode === 'number' ? error.exitCode : 1; + } + } + + return exitCode; + } + + logStream.write(`Error: Invalid optionCommand: ${JSON.stringify(optionCommand, undefined, 2)}`); + return 1; } function checkArguments( - input: string[], - optionCommand: OptionCommand, - logStream: NodeJS.WritableStream, + input: string[], + optionCommand: OptionCommand, + logStream: NodeJS.WritableStream, ): void { - // Warn if no default arguments are provided, don't be too clever - if (input.length === 0 && !optionCommand.defaultArguments) { - logStream.write('Error: This command must be used with a file argument\n') - process.exit(1) - } + // Warn if no default arguments are provided, don't be too clever + if (input.length === 0 && !optionCommand.defaultArguments) { + logStream.write('Error: This command must be used with a file argument\n'); + process.exit(1); + } } -export async function buildCommands( - command: string, - logPrefix: string | undefined, - logColor: ChalkColor, - options: OptionCommands, +async function buildCommands( + command: string, + logPrefix: string | undefined, + logColor: ChalkColor, + options: OptionCommands, ) { - const cli = meow({ - allowUnknownFlags: false, - booleanDefault: undefined, - flags: generateFlags(options), - help: generateHelpText(command, options), - importMeta: import.meta, - }) - - const { flags, input } = cli - - const commandsToRun = Object.keys(options).reduce((acc, command: string) => { - if (flags[command]) { - acc[command as keyof OptionCommands] = options[command as keyof OptionCommands] - } - - return acc - }, {}) - - // Set up log stream - const logStream = createStreamTransform(logPrefix, logColor) - logStream.pipe(process.stdout) - - // Make 'check' the default behavior if no flags are specified - if (Object.keys(commandsToRun).length === 0) { - if (options.check === undefined) { - logStream.write(`This command requires options. Run ${command} --help for valid commands.\n`) - } else { - commandsToRun.check = options.check - } - } - - // Debug - // console.log(`commandsToRun: ${JSON.stringify(commandsToRun, undefined, 2)}`); - - let aggregateExitCode = 0 - - for (const [name, optionCommand] of Object.entries(commandsToRun)) { - if (typeof optionCommand.command === 'function') { - checkArguments(input, optionCommand, logStream) - - const args = input.length === 0 ? (optionCommand.defaultArguments ?? []) : input - const options = optionCommand.options ?? [] - - // Custom function execution is always the same - aggregateExitCode += await optionCommand.command(logStream, args, options) - } else if (typeof optionCommand.command === 'string') { - // Warn if no default arguments are provided, don't be too clever - checkArguments(input, optionCommand, logStream) - - aggregateExitCode += await execute( - logStream, - optionCommand, - input.length === 0 ? optionCommand.defaultArguments : input, - ) - } else { - // Handle default behaviors (e.g. {}) - switch (name) { - case 'init': { - // By default, copies files in script package's /init directory to the root of the package it's called from - // For files in .vscode, if both the source and destination files are json, then merge them instead of overwriting - - // Copy files - const destinationPackage = await packageUp() - if (destinationPackage === undefined) { - logStream.write( - 'Error: The `--init` flag must be used in a directory with a package.json file\n', - ) - aggregateExitCode += 1 - break - } - - const sourcePackage = await packageUp({ cwd: fileURLToPath(import.meta.url) }) - if (sourcePackage === undefined) { - logStream.write('Error: The script being called was not in a package, weird.\n') - aggregateExitCode += 1 - break - } - - const source = path.join(path.dirname(sourcePackage), 'init/') - const destination = path.dirname(destinationPackage) - - logStream.write( - `Adding initial configuration files from:\n"${source}" → "${destination}"\n`, - ) - - try { - await fse.copy(source, destination, { - filter(source, destination) { - const isFile = fse.statSync(source).isFile() - const destinationExists = fse.existsSync(destination) - - if (isFile) { - if ( - destinationExists && - destination.includes('.vscode/') && - path.extname(destination) === '.json' - ) { - // Merge - logStream.write(`Merging: \n"${source}" → "${destination}"\n`) - - const sourceJson = fse.readJSONSync(source) as Record - const destinationJson = fse.readJSONSync(destination) as Record - const mergedJson = merge(destinationJson, sourceJson) - - fse.writeJSONSync(destination, mergedJson, { spaces: 2 }) - - return false - } - - if (destinationExists) { - logStream.write(`Overwriting: \n"${source}" → "${destination}"\n`) - return true - } - - logStream.write(`Copying: \n"${source}" → "${destination}"\n`) - return true - } - - // Don't log directory copy - return true - }, - overwrite: true, - }) - } catch {} - - // TODO - aggregateExitCode += 0 - - break - } - - case 'check': { - console.error( - 'There is no default implementation for check. The [tool]-config package must define a command.', - ) - aggregateExitCode += 1 - break - } - - case 'fix': { - console.error( - 'There is no default implementation for fix. The [tool]-config package must define a command.', - ) - aggregateExitCode += 1 - break - } - - case 'printConfig': { - const args = input.length === 0 ? (optionCommand.defaultArguments ?? ['.']) : input - const filePath = args?.at(0) - - // Brittle, could pass config name to commandBuilder() instead - const configName = command.split('-').at(0) - - if (configName === undefined) { - logStream.write(`Error: Could not find or parse config file for ${command}.\n`) - aggregateExitCode += 1 - break - } - - const configSearch = await cosmiconfig(configName).search(filePath) - - if (!configSearch?.config) { - logStream.write(`Error: Could not find or parse config file for ${configName}.\n`) - aggregateExitCode += 1 - break - } - - logStream.write(`${logPrefix} config path: "${configSearch?.filepath}"\n`) - logStream.write(stringify(configSearch.config)) - logStream.write('\n') - break - } - - default: { - console.error(`Unknown command name: ${name}`) - aggregateExitCode += 1 - break - } - } - } - } - - process.exit(aggregateExitCode > 0 ? 1 : 0) + const cli = meow({ + allowUnknownFlags: false, + booleanDefault: undefined, + flags: generateFlags(options), + help: generateHelpText(command, options), + importMeta: import.meta, + }); + + const { flags, input } = cli; + + const commandsToRun = Object.keys(options).reduce( + (accumulator, command: string) => { + if (flags[command]) { + accumulator[command as keyof OptionCommands] = options[command as keyof OptionCommands]; + } + + return accumulator; + }, + {}, + ); + + // Set up log stream + const logStream = createStreamTransform(logPrefix, logColor); + logStream.pipe(process.stdout); + + // Make 'check' the default behavior if no flags are specified + if (Object.keys(commandsToRun).length === 0) { + if (options.check === undefined) { + logStream.write(`This command requires options. Run ${command} --help for valid commands.\n`); + } else { + commandsToRun.check = options.check; + } + } + + // Debug + // console.log(`commandsToRun: ${JSON.stringify(commandsToRun, undefined, 2)}`); + + let aggregateExitCode = 0; + + for (const [name, optionCommand] of Object.entries(commandsToRun)) { + if (typeof optionCommand.command === 'function') { + checkArguments(input, optionCommand, logStream); + + const args = input.length === 0 ? (optionCommand.defaultArguments ?? []) : input; + const options = optionCommand.options ?? []; + + // Custom function execution is always the same + aggregateExitCode += await optionCommand.command(logStream, args, options); + } else if (typeof optionCommand.command === 'string') { + // Warn if no default arguments are provided, don't be too clever + checkArguments(input, optionCommand, logStream); + + aggregateExitCode += await execute( + logStream, + optionCommand, + input.length === 0 ? optionCommand.defaultArguments : input, + ); + } else { + // Handle default behaviors (e.g. {}) + switch (name) { + case 'init': { + // By default, copies files in script package's /init directory to the root of the package it's called from + // For files in .vscode, if both the source and destination files are json, then merge them instead of overwriting + + // Copy files + const destinationPackage = await packageUp(); + if (destinationPackage === undefined) { + logStream.write( + 'Error: The `--init` flag must be used in a directory with a package.json file\n', + ); + aggregateExitCode += 1; + break; + } + + const sourcePackage = await packageUp({ cwd: fileURLToPath(import.meta.url) }); + if (sourcePackage === undefined) { + logStream.write('Error: The script being called was not in a package, weird.\n'); + aggregateExitCode += 1; + break; + } + + const source = path.join(path.dirname(sourcePackage), 'init/'); + const destination = path.dirname(destinationPackage); + + logStream.write( + `Adding initial configuration files from:\n"${source}" → "${destination}"\n`, + ); + + try { + await fse.copy(source, destination, { + filter(source, destination) { + const isFile = fse.statSync(source).isFile(); + const destinationExists = fse.existsSync(destination); + + if (isFile) { + if ( + destinationExists && + destination.includes('.vscode/') && + path.extname(destination) === '.json' + ) { + // Merge + logStream.write(`Merging: \n"${source}" → "${destination}"\n`); + + const sourceJson = fse.readJSONSync(source) as Record; + const destinationJson = fse.readJSONSync(destination) as Record< + string, + unknown + >; + const mergedJson = merge(destinationJson, sourceJson); + + fse.writeJSONSync(destination, mergedJson, { spaces: 2 }); + + return false; + } + + if (destinationExists) { + logStream.write(`Overwriting: \n"${source}" → "${destination}"\n`); + return true; + } + + logStream.write(`Copying: \n"${source}" → "${destination}"\n`); + return true; + } + + // Don't log directory copy + return true; + }, + overwrite: true, + }); + } catch { + // Intentionally blank + } + + // TODO + aggregateExitCode += 0; + + break; + } + + case 'check': { + console.error( + 'There is no default implementation for check. The [tool]-config package must define a command.', + ); + aggregateExitCode += 1; + break; + } + + case 'fix': { + console.error( + 'There is no default implementation for fix. The [tool]-config package must define a command.', + ); + aggregateExitCode += 1; + break; + } + + case 'printConfig': { + const args = input.length === 0 ? (optionCommand.defaultArguments ?? ['.']) : input; + const filePath = args?.at(0); + + // Brittle, could pass config name to commandBuilder() instead + const configName = command.split('-').at(0); + + if (configName === undefined) { + logStream.write(`Error: Could not find or parse config file for ${command}.\n`); + aggregateExitCode += 1; + break; + } + + const configSearch = await cosmiconfig(configName).search(filePath); + + if (!configSearch?.config) { + logStream.write(`Error: Could not find or parse config file for ${configName}.\n`); + aggregateExitCode += 1; + break; + } + + logStream.write(`${logPrefix} config path: "${configSearch?.filepath}"\n`); + logStream.write(stringify(configSearch.config)); + logStream.write('\n'); + break; + } + + default: { + console.error(`Unknown command name: ${name}`); + aggregateExitCode += 1; + break; + } + } + } + } + + process.exit(aggregateExitCode > 0 ? 1 : 0); } function isErrorExecaError(error: unknown): error is ExecaError { - return ( - error instanceof Error && - 'exitCode' in error && - typeof (error as ExecaError).exitCode === 'number' - ) + return ( + error instanceof Error && + 'exitCode' in error && + typeof (error as ExecaError).exitCode === 'number' + ); } + +export { buildCommands, execute, executeJsonOutput }; +export type { OptionCommands }; diff --git a/src/file-utils.ts b/src/file-utils.ts index 2e63b76..51d4706 100644 --- a/src/file-utils.ts +++ b/src/file-utils.ts @@ -1,15 +1,15 @@ -import fs from 'node:fs/promises' +import fs from 'node:fs/promises'; export async function checkFileExists(file: string): Promise { - try { - await fs.stat(file) - return true // File exists - } catch (error) { - if ((error as NodeJS.ErrnoException).code === 'ENOENT') { - return false // File does not exist - } + try { + await fs.stat(file); + return true; // File exists + } catch (error) { + if ((error as NodeJS.ErrnoException).code === 'ENOENT') { + return false; // File does not exist + } - // Re-throw the error if it's not a 'File does not exist' error - throw error - } + // Re-throw the error if it's not a 'File does not exist' error + throw error; + } } diff --git a/src/json-utils.ts b/src/json-utils.ts index 0bd32ea..2bec95a 100644 --- a/src/json-utils.ts +++ b/src/json-utils.ts @@ -2,55 +2,57 @@ /* eslint-disable @typescript-eslint/no-unsafe-assignment */ /* eslint-disable @typescript-eslint/no-explicit-any */ -import type { ArrayMergeOptions, Options } from 'deepmerge' -import jsonColorizer from '@pinojs/json-colorizer' -import deepmerge from 'deepmerge' -import jsonStringifyPrettyCompact from 'json-stringify-pretty-compact' - -export function stringify(object: unknown): string { - return jsonColorizer( - jsonStringifyPrettyCompact(object, { - indent: 2, - replacer(_, value) { - if (typeof value === 'function') { - // eslint-disable-next-line @typescript-eslint/ban-types - return (value as Function).name - } - - return value as unknown - }, - }), - { - /* eslint-disable @typescript-eslint/naming-convention */ - colors: { - BRACKET: 'gray', - }, - }, - ) +import jsonColorizer from '@pinojs/json-colorizer'; +import type { ArrayMergeOptions, Options } from 'deepmerge'; +import deepmerge from 'deepmerge'; +import jsonStringifyPrettyCompact from 'json-stringify-pretty-compact'; + +function stringify(object: unknown): string { + return jsonColorizer( + jsonStringifyPrettyCompact(object, { + indent: 2, + replacer(_, value) { + if (typeof value === 'function') { + // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type + return (value as Function).name; + } + + return value as unknown; + }, + }), + { + /* eslint-disable @typescript-eslint/naming-convention */ + colors: { + BRACKET: 'gray', + }, + }, + ); } // https://www.npmjs.com/package/deepmerge#arraymerge-example-combine-arrays const combineMerge = (target: any[], source: any[], options: ArrayMergeOptions): any[] => { - const destination = [...target] - - for (const [index, item] of source.entries()) { - if (destination[index] === undefined) { - destination[index] = options.cloneUnlessOtherwiseSpecified(item, options) - } else if (options.isMergeableObject(item)) { - destination[index] = merge(target[index], item, options) - } else if (!target.includes(item)) { - destination.push(item) - } - } - - return destination -} + const destination = [...target]; -export function merge( - destination: any, - source: any, - // eslint-disable-next-line unicorn/no-object-as-default-parameter - options: Options = { arrayMerge: combineMerge }, + for (const [index, item] of source.entries()) { + if (destination[index] === undefined) { + destination[index] = options.cloneUnlessOtherwiseSpecified(item, options); + } else if (options.isMergeableObject(item)) { + destination[index] = merge(target[index], item, options); + } else if (!target.includes(item)) { + destination.push(item); + } + } + + return destination; +}; + +function merge( + destination: any, + source: any, + // eslint-disable-next-line unicorn/no-object-as-default-parameter + options: Options = { arrayMerge: combineMerge }, ): any[] { - return deepmerge(destination, source, options) + return deepmerge(destination, source, options); } + +export { merge, stringify }; diff --git a/tsconfig.eslint.json b/tsconfig.eslint.json index f824125..12ae9b0 100644 --- a/tsconfig.eslint.json +++ b/tsconfig.eslint.json @@ -1,11 +1,11 @@ { - "compilerOptions": { - "noEmit": true, - "allowJs": true - }, - "extends": "./tsconfig.json", + "compilerOptions": { + "noEmit": true, + "allowJs": true + }, + "extends": "./tsconfig.json", - /* Also lint config files. */ - "include": ["**/*", "**/**.*"], - "exclude": ["dist/", "bin/"] + /* Also lint config files. */ + "include": ["**/*", "**/**.*"], + "exclude": ["dist/", "bin/"] } diff --git a/tsconfig.json b/tsconfig.json index d89c576..e194ff8 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,26 +1,30 @@ { - "compilerOptions": { - "target": "ES2020", - "useDefineForClassFields": true, - "lib": ["ES2022", "DOM", "DOM.Iterable"], - "module": "ESNext", - "skipLibCheck": true, - "noEmit": true, - "noErrorTruncation": true, + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2022", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + "noEmit": true, + "noErrorTruncation": true, - /* Bundler mode */ - "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - "resolveJsonModule": true, - "isolatedModules": true, + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, - /* Linting */ - "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true - }, + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, - "include": ["**/*"], - "exclude": ["dist/", "bin/"] + "paths": { + "$root/*": ["./*"] + } + }, + + "include": ["**/*"], + "exclude": ["dist/", "bin/"] } From 5958831a5f93d9bfdd553c4252f4751569ab92f9 Mon Sep 17 00:00:00 2001 From: Liam Rella Date: Tue, 10 Sep 2024 14:12:38 +0930 Subject: [PATCH 09/23] format repo --- .cspell.json | 8 +- .mdatrc.ts | 8 +- .prettierrc.js | 24 +- .stylelintrc.cjs | 6 +- package.json | 148 +++++------ packages/cspell-config/cspell.config.json | 176 ++++++------ packages/cspell-config/init/.cspell.json | 8 +- .../init/.vscode/extensions.json | 2 +- .../cspell-config/init/.vscode/settings.json | 4 +- packages/cspell-config/package.json | 116 ++++---- packages/cspell-config/src/cli.ts | 30 +-- packages/eslint-config/eslint.config.js | 250 +++++++++--------- .../init/.vscode/extensions.json | 2 +- .../eslint-config/init/.vscode/settings.json | 14 +- .../eslint-config/init/tsconfig.eslint.json | 16 +- packages/eslint-config/init/tsconfig.json | 42 +-- packages/eslint-config/package.json | 132 ++++----- packages/eslint-config/src/cli.ts | 49 ++-- packages/eslint-config/tsconfig.eslint.json | 2 +- packages/mdat-config/init/.mdatrc.ts | 8 +- packages/mdat-config/mdat.config.ts | 12 +- packages/mdat-config/package.json | 116 ++++---- packages/mdat-config/src/cli.ts | 28 +- packages/mdat-config/tsconfig.json | 16 +- packages/prettier-config/init/.prettierignore | 16 +- .../init/.vscode/extensions.json | 2 +- .../init/.vscode/settings.json | 45 ++-- packages/prettier-config/package.json | 1 - .../init/.github/workflows/github-release.yml | 140 +++++----- .../init/.github/workflows/sync-metadata.yml | 80 +++--- packages/repo-config/init/.gitignore | 13 +- .../repo-config/init/.vscode/extensions.json | 2 +- .../repo-config/init/.vscode/settings.json | 14 +- packages/repo-config/package.json | 98 +++---- packages/repo-config/readme.md | 6 +- packages/repo-config/src/cli.ts | 80 +++--- packages/shared-config/package.json | 130 ++++----- .../scripts/capability-generator.ts | 88 +++--- packages/shared-config/src/cli.ts | 126 ++++----- .../stylelint-config/init/.stylelintrc.cjs | 7 - .../init/.vscode/extensions.json | 2 +- .../init/.vscode/settings.json | 10 +- .../stylelint-config/init/stylelint.config.js | 5 + packages/stylelint-config/package.json | 112 ++++---- packages/stylelint-config/src/cli.ts | 56 ++-- .../stylelint-config/stylelint.config.cjs | 64 ++--- pnpm-lock.yaml | 4 +- 47 files changed, 1146 insertions(+), 1172 deletions(-) delete mode 100644 packages/stylelint-config/init/.stylelintrc.cjs create mode 100644 packages/stylelint-config/init/stylelint.config.js diff --git a/.cspell.json b/.cspell.json index 52e6326..55ce7cb 100644 --- a/.cspell.json +++ b/.cspell.json @@ -1,6 +1,6 @@ { - "$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json", - "import": "@envsa/cspell-config", - "ignorePaths": ["/packages/*/init/*.json", "/packages/*/bin"], - "words": [] + "$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json", + "import": "@envsa/cspell-config", + "ignorePaths": ["/packages/*/init/*.json", "/packages/*/bin"], + "words": [] } diff --git a/.mdatrc.ts b/.mdatrc.ts index 9893a18..03cca6c 100644 --- a/.mdatrc.ts +++ b/.mdatrc.ts @@ -1,6 +1,6 @@ -import mdatConfig from '@envsa/mdat-config' -import { mergeConfigs } from 'mdat' +import mdatConfig from '@envsa/mdat-config'; +import { mergeConfigs } from 'mdat'; export default mergeConfigs(mdatConfig, { - // Custom mdat config goes here -}) + // Custom mdat config goes here +}); diff --git a/.prettierrc.js b/.prettierrc.js index c3c1a26..0687905 100644 --- a/.prettierrc.js +++ b/.prettierrc.js @@ -1,16 +1,16 @@ -import sharedConfig from '@envsa/prettier-config' +import sharedConfig from '@envsa/prettier-config'; /** @type {import("prettier").Config} */ const localConfig = { - // Config overrides - // overrides: [ - // ...sharedConfig.overrides, - // { - // // Per-file overrides overrides - // }, - // ], -} + // Config overrides + // overrides: [ + // ...sharedConfig.overrides, + // { + // // Per-file overrides overrides + // }, + // ], +}; export default { - ...sharedConfig, - ...localConfig, -} + ...sharedConfig, + ...localConfig, +}; diff --git a/.stylelintrc.cjs b/.stylelintrc.cjs index 8ec9ddb..544a83c 100644 --- a/.stylelintrc.cjs +++ b/.stylelintrc.cjs @@ -1,4 +1,4 @@ module.exports = { - extends: ['@envsa/stylelint-config'], - // Overrides -} + extends: ['@envsa/stylelint-config'], + // Overrides +}; diff --git a/package.json b/package.json index a975c81..9b027b6 100644 --- a/package.json +++ b/package.json @@ -1,76 +1,76 @@ { - "name": "root", - "version": "1.0.0", - "type": "module", - "description": "A single dependency and single command to configure and run various code linters and tools.", - "repository": { - "type": "git", - "url": "git@github.com:envsa/shared-config.git" - }, - "homepage": "https://github.com/envsa/shared-config", - "bugs": { - "url": "https://github.com/envsa/shared-config/issues", - "email": "DEW.ICTWebServices@sa.gov.au" - }, - "author": { - "name": "Liam Rella", - "email": "DEW.ICTWebServices@sa.gov.au", - "url": "https://github.com/rellafella" - }, - "license": "MIT", - "private": true, - "packageManager": "pnpm@9.9.0", - "engines": { - "node": ">=18.0.0", - "pnpm": ">=8.0.0" - }, - "keywords": [ - "shared-config", - "eslint-config", - "stylelint-config", - "prettier-config", - "github-actions", - "cspell", - "mdat", - "cli", - "npm-package" - ], - "scripts": { - "bin-ignore": "git ls-files | grep cli.js | xargs -I {} git update-index --skip-worktree {}", - "bin-restore": "pnpm run bin-unignore && git ls-files | grep cli.js | xargs -I {} git restore --source HEAD -- {} && pnpm run bin-ignore", - "bin-unignore": "git ls-files | grep cli.js | xargs -I {} git update-index --no-skip-worktree {}", - "build": "pnpm run build:stand-alone && pnpm run build:shared && cp ./packages/shared-config/readme.md ./readme.md ", - "build:shared": "pnpm --filter=shared-config build", - "build:stand-alone": "pnpm --filter=!shared-config build", - "clean": "pnpm run bin-restore && git clean -fdXq && rm ./pnpm-lock.yaml", - "fix": "pnpm shared-config --fix", - "lint": "pnpm shared-config --lint", - "merge-ignores": "ksdiff --merge ./packages/eslint-config/.eslintignore ./packages/stylelint-config/.stylelintignore", - "prepublishOnly": "pnpm run build", - "release": "pnpm bumpp -r --commit 'Release: %s' --tag 'v%s' && pnpm -r publish --otp $(op read 'op://Personal/Npmjs/one-time password?attribute=otp')" - }, - "devDependencies": { - "@envsa/cspell-config": "workspace:*", - "@envsa/eslint-config": "workspace:*", - "@envsa/mdat-config": "workspace:*", - "@envsa/prettier-config": "workspace:*", - "@envsa/repo-config": "workspace:*", - "@envsa/shared-config": "workspace:*", - "@envsa/stylelint-config": "workspace:*", - "@pinojs/json-colorizer": "^4.0.0", - "@types/fs-extra": "^11.0.4", - "@types/node": "^20.16.5", - "bumpp": "^9.5.2", - "chalk": "^5.3.0", - "cosmiconfig": "^9.0.0", - "deepmerge": "^4.3.1", - "esbuild": "^0.23.1", - "execa": "^8.0.1", - "fs-extra": "^11.2.0", - "json-stringify-pretty-compact": "^4.0.0", - "meow": "^13.2.0", - "package-up": "^5.0.0", - "tsx": "^4.19.0", - "typescript": "~5.5.4" - } + "name": "root", + "version": "1.0.0", + "type": "module", + "description": "A single dependency and single command to configure and run various code linters and tools.", + "repository": { + "type": "git", + "url": "git@github.com:envsa/shared-config.git" + }, + "homepage": "https://github.com/envsa/shared-config", + "bugs": { + "url": "https://github.com/envsa/shared-config/issues", + "email": "DEW.ICTWebServices@sa.gov.au" + }, + "author": { + "name": "Liam Rella", + "email": "DEW.ICTWebServices@sa.gov.au", + "url": "https://github.com/rellafella" + }, + "license": "MIT", + "private": true, + "packageManager": "pnpm@9.9.0", + "engines": { + "node": ">=18.0.0", + "pnpm": ">=8.0.0" + }, + "keywords": [ + "shared-config", + "eslint-config", + "stylelint-config", + "prettier-config", + "github-actions", + "cspell", + "mdat", + "cli", + "npm-package" + ], + "scripts": { + "bin-ignore": "git ls-files | grep cli.js | xargs -I {} git update-index --skip-worktree {}", + "bin-restore": "pnpm run bin-unignore && git ls-files | grep cli.js | xargs -I {} git restore --source HEAD -- {} && pnpm run bin-ignore", + "bin-unignore": "git ls-files | grep cli.js | xargs -I {} git update-index --no-skip-worktree {}", + "build": "pnpm run build:stand-alone && pnpm run build:shared && cp ./packages/shared-config/readme.md ./readme.md ", + "build:shared": "pnpm --filter=shared-config build", + "build:stand-alone": "pnpm --filter=!shared-config build", + "clean": "pnpm run bin-restore && git clean -fdXq && rm ./pnpm-lock.yaml", + "fix": "pnpm shared-config --fix", + "lint": "pnpm shared-config --lint", + "merge-ignores": "ksdiff --merge ./packages/eslint-config/.eslintignore ./packages/stylelint-config/.stylelintignore", + "prepublishOnly": "pnpm run build", + "release": "pnpm bumpp -r --commit 'Release: %s' --tag 'v%s' && pnpm -r publish --otp $(op read 'op://Personal/Npmjs/one-time password?attribute=otp')" + }, + "devDependencies": { + "@envsa/cspell-config": "workspace:*", + "@envsa/eslint-config": "workspace:*", + "@envsa/mdat-config": "workspace:*", + "@envsa/prettier-config": "workspace:*", + "@envsa/repo-config": "workspace:*", + "@envsa/shared-config": "workspace:*", + "@envsa/stylelint-config": "workspace:*", + "@pinojs/json-colorizer": "^4.0.0", + "@types/fs-extra": "^11.0.4", + "@types/node": "^20.16.5", + "bumpp": "^9.5.2", + "chalk": "^5.3.0", + "cosmiconfig": "^9.0.0", + "deepmerge": "^4.3.1", + "esbuild": "^0.23.1", + "execa": "^8.0.1", + "fs-extra": "^11.2.0", + "json-stringify-pretty-compact": "^4.0.0", + "meow": "^13.2.0", + "package-up": "^5.0.0", + "tsx": "^4.19.0", + "typescript": "~5.5.4" + } } diff --git a/packages/cspell-config/cspell.config.json b/packages/cspell-config/cspell.config.json index 2e8d125..325d485 100644 --- a/packages/cspell-config/cspell.config.json +++ b/packages/cspell-config/cspell.config.json @@ -1,90 +1,90 @@ { - "$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json", - "enabled": true, - "enableGlobDot": false, - "dictionaryDefinitions": [ - { - "name": "envsa-acronyms", - "path": "./dictionaries/envsa-acronyms.txt", - "addWords": true - }, - { - "name": "envsa-files", - "path": "./dictionaries/envsa-files.txt", - "addWords": true - }, - { - "name": "envsa-misc", - "path": "./dictionaries/envsa-misc.txt", - "addWords": true - }, - { - "name": "envsa-names", - "path": "./dictionaries/envsa-names.txt", - "addWords": true - }, - { - "name": "envsa-tech", - "path": "./dictionaries/envsa-tech.txt", - "addWords": true - } - ], - "dictionaries": [ - "lorem-ipsum", - "git", - "npm", - "fullstack", - "softwareTerms", - "envsa-acronyms", - "envsa-brands", - "envsa-files", - "envsa-misc", - "envsa-names", - "envsa-tech" - ], - "languageSettings": [ - { - "languageId": "markdown", - "ignoreRegExpList": [ - "/^```(?:.|\\s)+?^```/mig" // Code fences - ] - } - ], - "globRoot": "/", - "ignorePaths": [ - "__snapshots__", - "*.app", - "*.avif", - "*.m4a", - "*.m4v", - "*.mp3", - "*.mp4", - "*.patch", - "*.scpt", - "*.svg", - "*.tif", - "*.tldr", - "*.3gp", - "*.aac", - "*.avi", - "*.flac", - "*.flv", - "*.mkv", - "*.mpeg", - "*.oga", - "*.ogg", - "*.ogv", - "*.ogx", - "*.opus", - "*.spx", - "*.swf", - "*.wav", - "package.json", - "patches/", - "pnpm-lock.yaml" - ], - "ignoreRegExpList": ["tp-.+", "tweakpane-plugin-.+", "v2_c_\\w{21}"], - "language": "en,en-AU", - "useGitignore": true, - "version": "0.2" + "$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json", + "enabled": true, + "enableGlobDot": false, + "dictionaryDefinitions": [ + { + "name": "envsa-acronyms", + "path": "./dictionaries/envsa-acronyms.txt", + "addWords": true + }, + { + "name": "envsa-files", + "path": "./dictionaries/envsa-files.txt", + "addWords": true + }, + { + "name": "envsa-misc", + "path": "./dictionaries/envsa-misc.txt", + "addWords": true + }, + { + "name": "envsa-names", + "path": "./dictionaries/envsa-names.txt", + "addWords": true + }, + { + "name": "envsa-tech", + "path": "./dictionaries/envsa-tech.txt", + "addWords": true + } + ], + "dictionaries": [ + "lorem-ipsum", + "git", + "npm", + "fullstack", + "softwareTerms", + "envsa-acronyms", + "envsa-brands", + "envsa-files", + "envsa-misc", + "envsa-names", + "envsa-tech" + ], + "languageSettings": [ + { + "languageId": "markdown", + "ignoreRegExpList": [ + "/^```(?:.|\\s)+?^```/mig" // Code fences + ] + } + ], + "globRoot": "/", + "ignorePaths": [ + "__snapshots__", + "*.app", + "*.avif", + "*.m4a", + "*.m4v", + "*.mp3", + "*.mp4", + "*.patch", + "*.scpt", + "*.svg", + "*.tif", + "*.tldr", + "*.3gp", + "*.aac", + "*.avi", + "*.flac", + "*.flv", + "*.mkv", + "*.mpeg", + "*.oga", + "*.ogg", + "*.ogv", + "*.ogx", + "*.opus", + "*.spx", + "*.swf", + "*.wav", + "package.json", + "patches/", + "pnpm-lock.yaml" + ], + "ignoreRegExpList": ["tp-.+", "tweakpane-plugin-.+", "v2_c_\\w{21}"], + "language": "en,en-AU", + "useGitignore": true, + "version": "0.2" } diff --git a/packages/cspell-config/init/.cspell.json b/packages/cspell-config/init/.cspell.json index c9f6022..bada7ac 100644 --- a/packages/cspell-config/init/.cspell.json +++ b/packages/cspell-config/init/.cspell.json @@ -1,6 +1,6 @@ { - "$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json", - "import": "@envsa/cspell-config", - "ignorePaths": [], - "words": [] + "$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json", + "import": "@envsa/cspell-config", + "ignorePaths": [], + "words": [] } diff --git a/packages/cspell-config/init/.vscode/extensions.json b/packages/cspell-config/init/.vscode/extensions.json index cd59864..ff1b97a 100644 --- a/packages/cspell-config/init/.vscode/extensions.json +++ b/packages/cspell-config/init/.vscode/extensions.json @@ -1,3 +1,3 @@ { - "recommendations": ["streetsidesoftware.code-spell-checker"] + "recommendations": ["streetsidesoftware.code-spell-checker"] } diff --git a/packages/cspell-config/init/.vscode/settings.json b/packages/cspell-config/init/.vscode/settings.json index cd83a08..e979c28 100644 --- a/packages/cspell-config/init/.vscode/settings.json +++ b/packages/cspell-config/init/.vscode/settings.json @@ -1,4 +1,4 @@ { - "cSpell.enabled": true, - "cSpell.workspaceRootPath": "." + "cSpell.enabled": true, + "cSpell.workspaceRootPath": "." } diff --git a/packages/cspell-config/package.json b/packages/cspell-config/package.json index bf68eba..55dc818 100644 --- a/packages/cspell-config/package.json +++ b/packages/cspell-config/package.json @@ -1,60 +1,60 @@ { - "name": "@envsa/cspell-config", - "version": "1.0.0", - "type": "module", - "description": "CSpell configuration for @envsa/shared-config.", - "repository": { - "type": "git", - "url": "git@github.com:envsa/shared-config.git", - "directory": "packages/cspell-config" - }, - "bugs": { - "url": "https://github.com/envsa/shared-config/issues", - "email": "DEW.ICTWebServices@sa.gov.au" - }, - "author": { - "name": "Liam Rella", - "email": "DEW.ICTWebServices@sa.gov.au", - "url": "https://github.com/rellafella" - }, - "license": "MIT", - "engines": { - "node": ">=18.0.0", - "pnpm": ">=8.0.0" - }, - "bin": { - "cspell-config": "bin/cli.js" - }, - "main": "./cspell.config.json", - "files": [ - "bin/*", - "dictionaries/*", - "init/*" - ], - "keywords": [ - "shared-config", - "cspell-config", - "cspell", - "cli" - ], - "scripts": { - "build": "../../scripts/build.ts && mdat readme", - "cli": "node ./bin/cli.js", - "find-duplicates": "cat ./dictionaries/*.txt | sort -f | uniq -i -d", - "list-words": "cat ./dictionaries/*.txt", - "prepublishOnly": "pnpm run build", - "sort-dictionaries": "find ./dictionaries -name '*.txt' -execdir sort -f -o {} {} \\;" - }, - "peerDependencies": { - "cspell": "^8.8.4" - }, - "dependencies": { - "@pinojs/json-colorizer": "^4.0.0", - "cosmiconfig": "^9.0.0", - "execa": "^8.0.1", - "fs-extra": "^11.2.0" - }, - "publishConfig": { - "access": "public" - } + "name": "@envsa/cspell-config", + "version": "1.0.0", + "type": "module", + "description": "CSpell configuration for @envsa/shared-config.", + "repository": { + "type": "git", + "url": "git@github.com:envsa/shared-config.git", + "directory": "packages/cspell-config" + }, + "bugs": { + "url": "https://github.com/envsa/shared-config/issues", + "email": "DEW.ICTWebServices@sa.gov.au" + }, + "author": { + "name": "Liam Rella", + "email": "DEW.ICTWebServices@sa.gov.au", + "url": "https://github.com/rellafella" + }, + "license": "MIT", + "engines": { + "node": ">=18.0.0", + "pnpm": ">=8.0.0" + }, + "bin": { + "cspell-config": "bin/cli.js" + }, + "main": "./cspell.config.json", + "files": [ + "bin/*", + "dictionaries/*", + "init/*" + ], + "keywords": [ + "shared-config", + "cspell-config", + "cspell", + "cli" + ], + "scripts": { + "build": "../../scripts/build.ts && mdat readme", + "cli": "node ./bin/cli.js", + "find-duplicates": "cat ./dictionaries/*.txt | sort -f | uniq -i -d", + "list-words": "cat ./dictionaries/*.txt", + "prepublishOnly": "pnpm run build", + "sort-dictionaries": "find ./dictionaries -name '*.txt' -execdir sort -f -o {} {} \\;" + }, + "peerDependencies": { + "cspell": "^8.8.4" + }, + "dependencies": { + "@pinojs/json-colorizer": "^4.0.0", + "cosmiconfig": "^9.0.0", + "execa": "^8.0.1", + "fs-extra": "^11.2.0" + }, + "publishConfig": { + "access": "public" + } } diff --git a/packages/cspell-config/src/cli.ts b/packages/cspell-config/src/cli.ts index bea860f..88bf267 100755 --- a/packages/cspell-config/src/cli.ts +++ b/packages/cspell-config/src/cli.ts @@ -1,18 +1,18 @@ #!/usr/bin/env node -import { buildCommands } from '../../../src/command-builder.js' +import { buildCommands } from '$root/src/command-builder.ts'; await buildCommands('cspell-config', '[CSpell]', 'cyan', { - check: { - command: 'cspell', - defaultArguments: ['.'], - options: ['--quiet'], - }, - init: {}, - printConfig: { - // Doesn't work with executeJsonOutput - // because of json parsing errors (regex related) - command: 'cspell', - defaultArguments: ['.'], - options: ['--debug', '--no-exit-code', '--no-color'], - }, -}) + check: { + command: 'cspell', + defaultArguments: ['.'], + options: ['--quiet'], + }, + init: {}, + printConfig: { + // Doesn't work with executeJsonOutput + // because of json parsing errors (regex related) + command: 'cspell', + defaultArguments: ['.'], + options: ['--debug', '--no-exit-code', '--no-color'], + }, +}); diff --git a/packages/eslint-config/eslint.config.js b/packages/eslint-config/eslint.config.js index 268bad7..9a468d5 100644 --- a/packages/eslint-config/eslint.config.js +++ b/packages/eslint-config/eslint.config.js @@ -1,128 +1,128 @@ -import pluginCspell from '@cspell/eslint-plugin' -import { includeIgnoreFile } from '@eslint/compat' -import eslint from '@eslint/js' -import pluginImportX from 'eslint-plugin-import-x' -import pluginPrettierRecommended from 'eslint-plugin-prettier/recommended' -import pluginUnicorn from 'eslint-plugin-unicorn' -import globals from 'globals' -import fs from 'node:fs' -import path from 'node:path' -import typescriptEslint from 'typescript-eslint' +import pluginCspell from '@cspell/eslint-plugin'; +import { includeIgnoreFile } from '@eslint/compat'; +import eslint from '@eslint/js'; +import pluginImportX from 'eslint-plugin-import-x'; +import pluginPrettierRecommended from 'eslint-plugin-prettier/recommended'; +import pluginUnicorn from 'eslint-plugin-unicorn'; +import globals from 'globals'; +import fs from 'node:fs'; +import path from 'node:path'; +import typescriptEslint from 'typescript-eslint'; -const gitignorePath = path.join(process.cwd(), '.gitignore') +const gitignorePath = path.join(process.cwd(), '.gitignore'); export default typescriptEslint.config( - // Use project .gitignore file for a basis of ignored files - { - ignores: fs.existsSync(gitignorePath) ? includeIgnoreFile(gitignorePath)?.ignores : [], - }, - // 1st party eslint config - eslint.configs.recommended, - // Unicorn config - pluginUnicorn.configs['flat/recommended'], - // ImportX config - pluginImportX.flatConfigs.recommended, - // Enable cspell plugin - { - name: 'CSpell config', - plugins: { - '@cspell': pluginCspell, - }, - rules: { - '@cspell/spellchecker': 1, - }, - }, - // Typescript config - { - name: 'Typescript config', - files: ['**/*.ts'], - extends: [ - ...typescriptEslint.configs.recommendedTypeChecked, - ...typescriptEslint.configs.stylisticTypeChecked, - pluginImportX.flatConfigs.typescript, - ], - languageOptions: { - parserOptions: { - project: ['tsconfig.eslint.json'], - }, - }, - }, - // Primary config - { - name: 'Primary config', - files: ['**/*.{js,mjs,cjs,ts}'], - languageOptions: { - parserOptions: { - requireConfigFile: false, - ecmaVersion: 2024, - sourceType: 'module', - }, - globals: { - ...globals.browser, - ...globals.node, - }, - }, - settings: { - 'import-x/resolver': { - node: { - extensions: ['.js', '.mjs', '.cjs', '.ts'], - }, - typescript: { - alwaysTryTypes: true, - }, - }, - }, - rules: { - // ImportX rule overrides - 'import-x/exports-last': 'error', - 'import-x/first': 'error', - 'import-x/extensions': ['error', 'ignorePackages'], - 'import-x/newline-after-import': 'error', - 'import-x/no-extraneous-dependencies': [ - 'error', - { - devDependencies: [ - './*.{mjs,cjs,js,ts}', // Any root project files - '**/dev/**/', // Any files in a 'dev/' dir - '**/dev.{mjs,cjs,js,ts}', // Any file named dev - '**/*.{test}.{mjs,cjs,js,ts}', // Any test files - '**/{test,tests,__tests__}/**/', // Any files in common test dirs - ], - }, - ], - 'import-x/no-absolute-path': 'error', - 'import-x/no-amd': 'error', - 'import-x/no-dynamic-require': 'error', - 'import-x/no-import-module-exports': 'error', - 'import-x/no-mutable-exports': 'error', - 'import-x/no-named-default': 'error', - 'import-x/no-relative-packages': 'error', - 'import-x/no-self-import': 'error', - 'import-x/no-useless-path-segments': 'error', - 'import-x/no-webpack-loader-syntax': 'error', - // Unicorn rule overrides - 'unicorn/no-array-reduce': 'off', - 'unicorn/no-object-as-default-parameter': 'off', - 'unicorn/prefer-top-level-await': 'off', - 'unicorn/prevent-abbreviations': [ - 'error', - { - allowList: { - dev: true, - useDevServer: true, - args: true, - }, - }, - ], - }, - }, - // Prettier must come last - // Prettier config - pluginPrettierRecommended, - { - name: 'Prettier config', - rules: { - 'prettier/prettier': 'error', - }, - }, -) + // Use project .gitignore file for a basis of ignored files + { + ignores: fs.existsSync(gitignorePath) ? includeIgnoreFile(gitignorePath)?.ignores : [], + }, + // 1st party eslint config + eslint.configs.recommended, + // Unicorn config + pluginUnicorn.configs['flat/recommended'], + // ImportX config + pluginImportX.flatConfigs.recommended, + // Enable cspell plugin + { + name: 'CSpell config', + plugins: { + '@cspell': pluginCspell, + }, + rules: { + '@cspell/spellchecker': 1, + }, + }, + // Typescript config + { + name: 'Typescript config', + files: ['**/*.ts'], + extends: [ + ...typescriptEslint.configs.recommendedTypeChecked, + ...typescriptEslint.configs.stylisticTypeChecked, + pluginImportX.flatConfigs.typescript, + ], + languageOptions: { + parserOptions: { + project: ['tsconfig.eslint.json'], + }, + }, + }, + // Primary config + { + name: 'Primary config', + files: ['**/*.{js,mjs,cjs,ts}'], + languageOptions: { + parserOptions: { + requireConfigFile: false, + ecmaVersion: 2024, + sourceType: 'module', + }, + globals: { + ...globals.browser, + ...globals.node, + }, + }, + settings: { + 'import-x/resolver': { + node: { + extensions: ['.js', '.mjs', '.cjs', '.ts'], + }, + typescript: { + alwaysTryTypes: true, + }, + }, + }, + rules: { + // ImportX rule overrides + 'import-x/exports-last': 'error', + 'import-x/first': 'error', + 'import-x/extensions': ['error', 'ignorePackages'], + 'import-x/newline-after-import': 'error', + 'import-x/no-extraneous-dependencies': [ + 'error', + { + devDependencies: [ + './*.{mjs,cjs,js,ts}', // Any root project files + '**/dev/**/', // Any files in a 'dev/' dir + '**/dev.{mjs,cjs,js,ts}', // Any file named dev + '**/*.{test}.{mjs,cjs,js,ts}', // Any test files + '**/{test,tests,__tests__}/**/', // Any files in common test dirs + ], + }, + ], + 'import-x/no-absolute-path': 'error', + 'import-x/no-amd': 'error', + 'import-x/no-dynamic-require': 'error', + 'import-x/no-import-module-exports': 'error', + 'import-x/no-mutable-exports': 'error', + 'import-x/no-named-default': 'error', + 'import-x/no-relative-packages': 'error', + 'import-x/no-self-import': 'error', + 'import-x/no-useless-path-segments': 'error', + 'import-x/no-webpack-loader-syntax': 'error', + // Unicorn rule overrides + 'unicorn/no-array-reduce': 'off', + 'unicorn/no-object-as-default-parameter': 'off', + 'unicorn/prefer-top-level-await': 'off', + 'unicorn/prevent-abbreviations': [ + 'error', + { + allowList: { + dev: true, + useDevServer: true, + args: true, + }, + }, + ], + }, + }, + // Prettier must come last + // Prettier config + pluginPrettierRecommended, + { + name: 'Prettier config', + rules: { + 'prettier/prettier': 'error', + }, + }, +); diff --git a/packages/eslint-config/init/.vscode/extensions.json b/packages/eslint-config/init/.vscode/extensions.json index e6cd984..940260d 100644 --- a/packages/eslint-config/init/.vscode/extensions.json +++ b/packages/eslint-config/init/.vscode/extensions.json @@ -1,3 +1,3 @@ { - "recommendations": ["dbaeumer.vscode-eslint"] + "recommendations": ["dbaeumer.vscode-eslint"] } diff --git a/packages/eslint-config/init/.vscode/settings.json b/packages/eslint-config/init/.vscode/settings.json index 403886f..55796b8 100644 --- a/packages/eslint-config/init/.vscode/settings.json +++ b/packages/eslint-config/init/.vscode/settings.json @@ -1,9 +1,9 @@ { - "editor.codeActionsOnSave": { - "source.fixAll": "explicit" - }, - "eslint.enable": true, - "eslint.useFlatConfig": true, - "eslint.validate": ["html", "javascript", "markdown", "svelte", "typescript", "twig"], - "typescript.tsdk": "node_modules/typescript/lib" + "editor.codeActionsOnSave": { + "source.fixAll": "explicit" + }, + "eslint.enable": true, + "eslint.useFlatConfig": true, + "eslint.validate": ["html", "javascript", "markdown", "svelte", "typescript", "twig"], + "typescript.tsdk": "node_modules/typescript/lib" } diff --git a/packages/eslint-config/init/tsconfig.eslint.json b/packages/eslint-config/init/tsconfig.eslint.json index f824125..12ae9b0 100644 --- a/packages/eslint-config/init/tsconfig.eslint.json +++ b/packages/eslint-config/init/tsconfig.eslint.json @@ -1,11 +1,11 @@ { - "compilerOptions": { - "noEmit": true, - "allowJs": true - }, - "extends": "./tsconfig.json", + "compilerOptions": { + "noEmit": true, + "allowJs": true + }, + "extends": "./tsconfig.json", - /* Also lint config files. */ - "include": ["**/*", "**/**.*"], - "exclude": ["dist/", "bin/"] + /* Also lint config files. */ + "include": ["**/*", "**/**.*"], + "exclude": ["dist/", "bin/"] } diff --git a/packages/eslint-config/init/tsconfig.json b/packages/eslint-config/init/tsconfig.json index d89c576..88e17bb 100644 --- a/packages/eslint-config/init/tsconfig.json +++ b/packages/eslint-config/init/tsconfig.json @@ -1,26 +1,26 @@ { - "compilerOptions": { - "target": "ES2020", - "useDefineForClassFields": true, - "lib": ["ES2022", "DOM", "DOM.Iterable"], - "module": "ESNext", - "skipLibCheck": true, - "noEmit": true, - "noErrorTruncation": true, + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2022", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + "noEmit": true, + "noErrorTruncation": true, - /* Bundler mode */ - "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - "resolveJsonModule": true, - "isolatedModules": true, + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, - /* Linting */ - "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true - }, + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, - "include": ["**/*"], - "exclude": ["dist/", "bin/"] + "include": ["**/*"], + "exclude": ["dist/", "bin/"] } diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index 497601c..52f598e 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -1,68 +1,68 @@ { - "name": "@envsa/eslint-config", - "version": "1.0.0", - "type": "module", - "description": "ESLint configuration for @envsa/shared-config.", - "repository": { - "type": "git", - "url": "git@github.com:envsa/shared-config.git", - "directory": "packages/eslint-config" - }, - "bugs": { - "url": "https://github.com/envsa/shared-config/issues", - "email": "DEW.ICTWebServices@sa.gov.au" - }, - "author": { - "name": "Liam Rella", - "email": "DEW.ICTWebServices@sa.gov.au", - "url": "https://github.com/rellafella" - }, - "license": "MIT", - "engines": { - "node": ">=18.0.0", - "pnpm": ">=8.0.0" - }, - "bin": { - "eslint-config": "bin/cli.js" - }, - "main": "./eslint.config.js", - "files": [ - "bin/*", - "init/*" - ], - "keywords": [ - "shared-config", - "eslint-config", - "eslint", - "cli" - ], - "scripts": { - "build": "../../scripts/build.ts && mdat readme", - "cli": "node ./bin/cli.js", - "prepublishOnly": "pnpm run build" - }, - "peerDependencies": { - "eslint": "^8.0.0" - }, - "dependencies": { - "@cspell/eslint-plugin": "^8.14.2", - "@eslint/compat": "^1.1.1", - "@eslint/js": "^9.10.0", - "@pinojs/json-colorizer": "^4.0.0", - "cosmiconfig": "^9.0.0", - "eslint-config-prettier": "^9.1.0", - "eslint-import-resolver-alias": "^1.1.2", - "eslint-import-resolver-typescript": "^3.6.3", - "eslint-plugin-import-x": "^4.2.1", - "eslint-plugin-prettier": "^5.2.1", - "eslint-plugin-svelte": "^2.43.0", - "eslint-plugin-unicorn": "^55.0.0", - "execa": "^8.0.1", - "fs-extra": "^11.2.0", - "globals": "^15.9.0", - "typescript-eslint": "^8.4.0" - }, - "publishConfig": { - "access": "public" - } + "name": "@envsa/eslint-config", + "version": "1.0.0", + "type": "module", + "description": "ESLint configuration for @envsa/shared-config.", + "repository": { + "type": "git", + "url": "git@github.com:envsa/shared-config.git", + "directory": "packages/eslint-config" + }, + "bugs": { + "url": "https://github.com/envsa/shared-config/issues", + "email": "DEW.ICTWebServices@sa.gov.au" + }, + "author": { + "name": "Liam Rella", + "email": "DEW.ICTWebServices@sa.gov.au", + "url": "https://github.com/rellafella" + }, + "license": "MIT", + "engines": { + "node": ">=18.0.0", + "pnpm": ">=8.0.0" + }, + "bin": { + "eslint-config": "bin/cli.js" + }, + "main": "./eslint.config.js", + "files": [ + "bin/*", + "init/*" + ], + "keywords": [ + "shared-config", + "eslint-config", + "eslint", + "cli" + ], + "scripts": { + "build": "../../scripts/build.ts && mdat readme", + "cli": "node ./bin/cli.js", + "prepublishOnly": "pnpm run build" + }, + "peerDependencies": { + "eslint": "^8.0.0" + }, + "dependencies": { + "@cspell/eslint-plugin": "^8.14.2", + "@eslint/compat": "^1.1.1", + "@eslint/js": "^9.10.0", + "@pinojs/json-colorizer": "^4.0.0", + "cosmiconfig": "^9.0.0", + "eslint-config-prettier": "^9.1.0", + "eslint-import-resolver-alias": "^1.1.2", + "eslint-import-resolver-typescript": "^3.6.3", + "eslint-plugin-import-x": "^4.2.1", + "eslint-plugin-prettier": "^5.2.1", + "eslint-plugin-svelte": "^2.43.0", + "eslint-plugin-unicorn": "^55.0.0", + "execa": "^8.0.1", + "fs-extra": "^11.2.0", + "globals": "^15.9.0", + "typescript-eslint": "^8.4.0" + }, + "publishConfig": { + "access": "public" + } } diff --git a/packages/eslint-config/src/cli.ts b/packages/eslint-config/src/cli.ts index f6fcf8c..dfc022e 100755 --- a/packages/eslint-config/src/cli.ts +++ b/packages/eslint-config/src/cli.ts @@ -1,27 +1,28 @@ #!/usr/bin/env node -import { buildCommands, executeJsonOutput } from '../../../src/command-builder.js' +// eslint-disable-next-line import-x/no-relative-packages +import { buildCommands, executeJsonOutput } from '../../../src/command-builder.ts'; await buildCommands('eslint-config', `[ESLint]`, 'magenta', { - check: { - command: 'eslint', - defaultArguments: ['.'], - }, - fix: { - command: 'eslint', - defaultArguments: ['.'], - options: ['--fix'], - }, - init: {}, - printConfig: { - async command(logStream, args) { - return executeJsonOutput( - logStream, - { - command: 'eslint', - options: ['--print-config'], - }, - args, - ) - }, - }, -}) + check: { + command: 'eslint', + defaultArguments: ['.'], + }, + fix: { + command: 'eslint', + defaultArguments: ['.'], + options: ['--fix'], + }, + init: {}, + printConfig: { + async command(logStream, args) { + return executeJsonOutput( + logStream, + { + command: 'eslint', + options: ['--print-config'], + }, + args, + ); + }, + }, +}); diff --git a/packages/eslint-config/tsconfig.eslint.json b/packages/eslint-config/tsconfig.eslint.json index 1864d58..4082f16 100644 --- a/packages/eslint-config/tsconfig.eslint.json +++ b/packages/eslint-config/tsconfig.eslint.json @@ -1,3 +1,3 @@ { - "extends": "../../tsconfig.json" + "extends": "../../tsconfig.json" } diff --git a/packages/mdat-config/init/.mdatrc.ts b/packages/mdat-config/init/.mdatrc.ts index 9893a18..03cca6c 100644 --- a/packages/mdat-config/init/.mdatrc.ts +++ b/packages/mdat-config/init/.mdatrc.ts @@ -1,6 +1,6 @@ -import mdatConfig from '@envsa/mdat-config' -import { mergeConfigs } from 'mdat' +import mdatConfig from '@envsa/mdat-config'; +import { mergeConfigs } from 'mdat'; export default mergeConfigs(mdatConfig, { - // Custom mdat config goes here -}) + // Custom mdat config goes here +}); diff --git a/packages/mdat-config/mdat.config.ts b/packages/mdat-config/mdat.config.ts index 00c8976..663656e 100644 --- a/packages/mdat-config/mdat.config.ts +++ b/packages/mdat-config/mdat.config.ts @@ -1,8 +1,8 @@ -import { type Config } from 'mdat' +import { type Config } from 'mdat'; export default { - rules: { - 'shared-config': - '## Project configuration\n\nThis project uses [@envsa/shared-config](https://github.com/envsa/shared-config) to consolidate various linting and formatting tool configurations under a single dependency and command. (ESLint, Prettier, CSpell, etc.)', - }, -} satisfies Config + rules: { + 'shared-config': + '## Project configuration\n\nThis project uses [@envsa/shared-config](https://github.com/envsa/shared-config) to consolidate various linting and formatting tool configurations under a single dependency and command. (ESLint, Prettier, CSpell, etc.)', + }, +} satisfies Config; diff --git a/packages/mdat-config/package.json b/packages/mdat-config/package.json index 6771cd3..26da9f5 100644 --- a/packages/mdat-config/package.json +++ b/packages/mdat-config/package.json @@ -1,60 +1,60 @@ { - "name": "@envsa/mdat-config", - "version": "1.0.0", - "type": "module", - "description": "MDAT configuration for @envsa/shared-config.", - "repository": { - "type": "git", - "url": "git@github.com:envsa/shared-config.git", - "directory": "packages/mdat-config" - }, - "bugs": { - "url": "https://github.com/envsa/shared-config/issues", - "email": "DEW.ICTWebServices@sa.gov.au" - }, - "author": { - "name": "Liam Rella", - "email": "DEW.ICTWebServices@sa.gov.au", - "url": "https://github.com/rellafella" - }, - "license": "MIT", - "engines": { - "node": ">=18.0.0", - "pnpm": ">=8.0.0" - }, - "bin": { - "mdat-config": "bin/cli.js" - }, - "main": "dist/mdat.config.js", - "types": "dist/mdat.config.d.ts", - "files": [ - "bin/*", - "dist/*", - "init/*" - ], - "keywords": [ - "shared-config", - "mdat-config", - "markdown", - "readme", - "mdat", - "cli" - ], - "scripts": { - "build": "tsc && ../../scripts/build.ts && mdat readme", - "cli": "node ./bin/cli.js", - "prepublishOnly": "pnpm run build" - }, - "peerDependencies": { - "mdat": "^0.7.1" - }, - "dependencies": { - "@pinojs/json-colorizer": "^4.0.0", - "cosmiconfig": "^9.0.0", - "execa": "^8.0.1", - "fs-extra": "^11.2.0" - }, - "publishConfig": { - "access": "public" - } + "name": "@envsa/mdat-config", + "version": "1.0.0", + "type": "module", + "description": "MDAT configuration for @envsa/shared-config.", + "repository": { + "type": "git", + "url": "git@github.com:envsa/shared-config.git", + "directory": "packages/mdat-config" + }, + "bugs": { + "url": "https://github.com/envsa/shared-config/issues", + "email": "DEW.ICTWebServices@sa.gov.au" + }, + "author": { + "name": "Liam Rella", + "email": "DEW.ICTWebServices@sa.gov.au", + "url": "https://github.com/rellafella" + }, + "license": "MIT", + "engines": { + "node": ">=18.0.0", + "pnpm": ">=8.0.0" + }, + "bin": { + "mdat-config": "bin/cli.js" + }, + "main": "dist/mdat.config.js", + "types": "dist/mdat.config.d.ts", + "files": [ + "bin/*", + "dist/*", + "init/*" + ], + "keywords": [ + "shared-config", + "mdat-config", + "markdown", + "readme", + "mdat", + "cli" + ], + "scripts": { + "build": "tsc && ../../scripts/build.ts && mdat readme", + "cli": "node ./bin/cli.js", + "prepublishOnly": "pnpm run build" + }, + "peerDependencies": { + "mdat": "^0.7.1" + }, + "dependencies": { + "@pinojs/json-colorizer": "^4.0.0", + "cosmiconfig": "^9.0.0", + "execa": "^8.0.1", + "fs-extra": "^11.2.0" + }, + "publishConfig": { + "access": "public" + } } diff --git a/packages/mdat-config/src/cli.ts b/packages/mdat-config/src/cli.ts index 562eb3a..ae4bae5 100644 --- a/packages/mdat-config/src/cli.ts +++ b/packages/mdat-config/src/cli.ts @@ -1,17 +1,17 @@ #!/usr/bin/env node -import { buildCommands } from '../../../src/command-builder.js' +import { buildCommands } from '$root/src/command-builder.ts'; await buildCommands('mdat-config', '[Mdat Config]', 'green', { - check: { - command: 'mdat', - defaultArguments: ['readme.md'], - options: ['readme', 'check'], - }, - fix: { - command: 'mdat', - defaultArguments: ['readme.md'], - options: ['readme', 'expand'], - }, - init: {}, - printConfig: {}, -}) + check: { + command: 'mdat', + defaultArguments: ['readme.md'], + options: ['readme', 'check'], + }, + fix: { + command: 'mdat', + defaultArguments: ['readme.md'], + options: ['readme', 'expand'], + }, + init: {}, + printConfig: {}, +}); diff --git a/packages/mdat-config/tsconfig.json b/packages/mdat-config/tsconfig.json index 80bc619..8e25154 100644 --- a/packages/mdat-config/tsconfig.json +++ b/packages/mdat-config/tsconfig.json @@ -1,10 +1,10 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "noEmit": false, - "declaration": true, - "allowImportingTsExtensions": false, - "outDir": "dist" - }, - "include": ["mdat.config.ts"] + "extends": "../../tsconfig.json", + "compilerOptions": { + "noEmit": false, + "declaration": true, + "allowImportingTsExtensions": false, + "outDir": "dist" + }, + "include": ["mdat.config.ts"] } diff --git a/packages/prettier-config/init/.prettierignore b/packages/prettier-config/init/.prettierignore index c701c62..699a878 100644 --- a/packages/prettier-config/init/.prettierignore +++ b/packages/prettier-config/init/.prettierignore @@ -2,18 +2,18 @@ # Does not inherit from .gitignore # @envsa/repo-config boilerplate -.astro/ .DS_Store -.svelte-kit/ -{tmp,temp}/ -**/*.min.js -/scratch/ -bower_components/ +.ddev/ +.env +.env.* +!.env.example +node_modules/ +vendor/ build/ coverage/ dist/ -node_modules/ -vendor/ +**/*.min.js +{tmp,temp,_junk}/ # @envsa/prettier-config boilerplate pnpm-lock.yaml diff --git a/packages/prettier-config/init/.vscode/extensions.json b/packages/prettier-config/init/.vscode/extensions.json index 64dbfec..c83e263 100644 --- a/packages/prettier-config/init/.vscode/extensions.json +++ b/packages/prettier-config/init/.vscode/extensions.json @@ -1,3 +1,3 @@ { - "recommendations": ["esbenp.prettier-vscode"] + "recommendations": ["esbenp.prettier-vscode"] } diff --git a/packages/prettier-config/init/.vscode/settings.json b/packages/prettier-config/init/.vscode/settings.json index 3cfd86b..0d0e5b8 100644 --- a/packages/prettier-config/init/.vscode/settings.json +++ b/packages/prettier-config/init/.vscode/settings.json @@ -1,29 +1,20 @@ { - "[astro]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[gitignore]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[ruby]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[shellscript]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[svelte]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "editor.defaultFormatter": "esbenp.prettier-vscode", - "editor.formatOnSave": true, - "prettier.documentSelectors": [ - "**/.eslintignore", - "**/.node-version", - "**/.npmrc", - "**/.prettierignore", - "**/*.astro", - "**/*.rb", - "**/*.svelte" - ], - "prettier.enable": true + "[gitignore]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[shellscript]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[svelte]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "editor.defaultFormatter": "esbenp.prettier-vscode", + "editor.formatOnSave": true, + "prettier.documentSelectors": [ + "**/.node-version", + "**/.npmrc", + "**/.prettierignore", + "**/*.svelte" + ], + "prettier.enable": true } diff --git a/packages/prettier-config/package.json b/packages/prettier-config/package.json index 3a4df3c..1245147 100644 --- a/packages/prettier-config/package.json +++ b/packages/prettier-config/package.json @@ -51,7 +51,6 @@ "cosmiconfig": "^9.0.0", "execa": "^8.0.1", "fs-extra": "^11.2.0", - "prettier-plugin-organize-imports": "^4.0.0", "prettier-plugin-pkg": "^0.18.1", "prettier-plugin-sh": "^0.14.0", "prettier-plugin-svelte": "^3.2.4", diff --git a/packages/repo-config/init/.github/workflows/github-release.yml b/packages/repo-config/init/.github/workflows/github-release.yml index fdb8cb0..5d9c882 100644 --- a/packages/repo-config/init/.github/workflows/github-release.yml +++ b/packages/repo-config/init/.github/workflows/github-release.yml @@ -1,81 +1,81 @@ name: Create GitHub Release on: - push: - tags: - - 'v[0-9]*' + push: + tags: + - "v[0-9]*" jobs: - build: - name: Create Release - runs-on: ubuntu-latest - env: - ACCESS_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN || secrets.GITHUB_TOKEN }} - IS_VALID_COMMIT: false - TAG_NAME: '' + build: + name: Create Release + runs-on: ubuntu-latest + env: + ACCESS_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN || secrets.GITHUB_TOKEN }} + IS_VALID_COMMIT: false + TAG_NAME: "" - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 - - name: Log Token Type - run: | - if [ ${{ env.ACCESS_TOKEN }} == ${{ secrets.GITHUB_TOKEN }} ]; then - echo "🗝️ Authenticated with GitHub Token" - else - echo "🔑 Authenticated with Personal Access token" - fi + - name: Log Token Type + run: | + if [ ${{ env.ACCESS_TOKEN }} == ${{ secrets.GITHUB_TOKEN }} ]; then + echo "🗝️ Authenticated with GitHub Token" + else + echo "🔑 Authenticated with Personal Access token" + fi - - name: Validate Tag and Branch - id: validation - run: | - TAG=$(git tag --contains HEAD | grep '^v[0-9]' | head -n 1) - echo "🏷️ Tag for commit is: $TAG" - BRANCH=$(git branch -r --contains tags/${GITHUB_REF_NAME} | grep 'origin/main' | xargs) - if [[ -z "$BRANCH" ]]; then - echo "🚨 Tag is not on main branch" - else - echo "🕊️ Current branch is: $BRANCH" - fi - if [[ -z "$TAG" || -z "$BRANCH" ]]; then - echo "IS_VALID_COMMIT=false" >> $GITHUB_ENV - echo "TAG_NAME=''" >> $GITHUB_ENV - else - echo "IS_VALID_COMMIT=true" >> $GITHUB_ENV - echo "TAG_NAME=$TAG" >> $GITHUB_ENV - fi + - name: Validate Tag and Branch + id: validation + run: | + TAG=$(git tag --contains HEAD | grep '^v[0-9]' | head -n 1) + echo "🏷️ Tag for commit is: $TAG" + BRANCH=$(git branch -r --contains tags/${GITHUB_REF_NAME} | grep 'origin/main' | xargs) + if [[ -z "$BRANCH" ]]; then + echo "🚨 Tag is not on main branch" + else + echo "🕊️ Current branch is: $BRANCH" + fi + if [[ -z "$TAG" || -z "$BRANCH" ]]; then + echo "IS_VALID_COMMIT=false" >> $GITHUB_ENV + echo "TAG_NAME=''" >> $GITHUB_ENV + else + echo "IS_VALID_COMMIT=true" >> $GITHUB_ENV + echo "TAG_NAME=$TAG" >> $GITHUB_ENV + fi - - name: Release Notes - if: env.IS_VALID_COMMIT == 'true' - id: release-notes - uses: kitschpatrol/github-action-release-changelog@v2 + - name: Release Notes + if: env.IS_VALID_COMMIT == 'true' + id: release-notes + uses: kitschpatrol/github-action-release-changelog@v2 - - name: Release - if: env.IS_VALID_COMMIT == 'true' - id: release - uses: kitschpatrol/github-action-release@v2 - with: - token: ${{ env.ACCESS_TOKEN }} - draft: false - prerelease: false - name: ${{ env.TAG_NAME }} - tag_name: ${{ env.TAG_NAME }} - body: | - ${{ steps.release-notes.outputs.changelog }} - files: | - readme.md - README.md - LICENSE - license.txt - CHANGELOG - CHANGELOG.md - changelog.md + - name: Release + if: env.IS_VALID_COMMIT == 'true' + id: release + uses: kitschpatrol/github-action-release@v2 + with: + token: ${{ env.ACCESS_TOKEN }} + draft: false + prerelease: false + name: ${{ env.TAG_NAME }} + tag_name: ${{ env.TAG_NAME }} + body: | + ${{ steps.release-notes.outputs.changelog }} + files: | + readme.md + README.md + LICENSE + license.txt + CHANGELOG + CHANGELOG.md + changelog.md - - name: Log Release Details - if: env.IS_VALID_COMMIT == 'true' - run: | - echo "📦 Successfully released: ${{ env.TAG_NAME }}" - echo "🔗 Release URL: ${{ steps.release.outputs.url }}" - echo "🪪 Release ID: ${{ steps.release.outputs.id }}" + - name: Log Release Details + if: env.IS_VALID_COMMIT == 'true' + run: | + echo "📦 Successfully released: ${{ env.TAG_NAME }}" + echo "🔗 Release URL: ${{ steps.release.outputs.url }}" + echo "🪪 Release ID: ${{ steps.release.outputs.id }}" diff --git a/packages/repo-config/init/.github/workflows/sync-metadata.yml b/packages/repo-config/init/.github/workflows/sync-metadata.yml index 4ab3e89..ca97dd1 100644 --- a/packages/repo-config/init/.github/workflows/sync-metadata.yml +++ b/packages/repo-config/init/.github/workflows/sync-metadata.yml @@ -1,48 +1,48 @@ name: Overwrite GitHub repo metadata with info from package.json on: - push: - branches: [main] - workflow_dispatch: + push: + branches: [main] + workflow_dispatch: jobs: - build: - name: Sync Metadata - runs-on: ubuntu-latest - env: - IS_VALID_TOKEN: false - HAS_PACKAGE: false + build: + name: Sync Metadata + runs-on: ubuntu-latest + env: + IS_VALID_TOKEN: false + HAS_PACKAGE: false - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 - - name: Check for package.json - run: | - if [ -f package.json ]; then - echo "📦 Found package.json" - echo "HAS_PACKAGE=true" >> $GITHUB_ENV - else - echo "❌ This action requires a package.json to run" - echo "HAS_PACKAGE=false" >> $GITHUB_ENV - fi + - name: Check for package.json + run: | + if [ -f package.json ]; then + echo "📦 Found package.json" + echo "HAS_PACKAGE=true" >> $GITHUB_ENV + else + echo "❌ This action requires a package.json to run" + echo "HAS_PACKAGE=false" >> $GITHUB_ENV + fi - - name: Validate Access Token - if: env.HAS_PACKAGE == 'true' - run: | - if [ -z ${{ secrets.PERSONAL_ACCESS_TOKEN }} ]; then - echo "❌ This action requires a Personal Access token to run" - echo "IS_VALID_TOKEN=false" >> $GITHUB_ENV - else - echo "🔑 Authenticated with Personal Access token" - echo "IS_VALID_TOKEN=true" >> $GITHUB_ENV - fi + - name: Validate Access Token + if: env.HAS_PACKAGE == 'true' + run: | + if [ -z ${{ secrets.PERSONAL_ACCESS_TOKEN }} ]; then + echo "❌ This action requires a Personal Access token to run" + echo "IS_VALID_TOKEN=false" >> $GITHUB_ENV + else + echo "🔑 Authenticated with Personal Access token" + echo "IS_VALID_TOKEN=true" >> $GITHUB_ENV + fi - - name: Sync Package info to GitHub - if: env.IS_VALID_TOKEN == 'true' && env.HAS_PACKAGE == 'true' - uses: kitschpatrol/github-action-repo-sync@v2 - with: - TYPE: npm - PATH: package.json - TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }} + - name: Sync Package info to GitHub + if: env.IS_VALID_TOKEN == 'true' && env.HAS_PACKAGE == 'true' + uses: kitschpatrol/github-action-repo-sync@v2 + with: + TYPE: npm + PATH: package.json + TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }} diff --git a/packages/repo-config/init/.gitignore b/packages/repo-config/init/.gitignore index b46b936..6ce93af 100644 --- a/packages/repo-config/init/.gitignore +++ b/packages/repo-config/init/.gitignore @@ -2,20 +2,17 @@ # Also used by CSpell and Stylelint # @envsa/repo-config boilerplate -.astro/ .DS_Store +.ddev/ .env .env.* !.env.example -.svelte-kit/ -{tmp,temp}/ -**/*.min.js -/scratch/ -bower_components/ +node_modules/ +vendor/ build/ coverage/ dist/ -node_modules/ -vendor/ +**/*.min.js +{tmp,temp,_junk}/ # Customizations diff --git a/packages/repo-config/init/.vscode/extensions.json b/packages/repo-config/init/.vscode/extensions.json index 6552887..bdef820 100644 --- a/packages/repo-config/init/.vscode/extensions.json +++ b/packages/repo-config/init/.vscode/extensions.json @@ -1,3 +1,3 @@ { - "recommendations": ["astro-build.astro-vscode", "svelte.svelte-vscode"] + "recommendations": ["svelte.svelte-vscode"] } diff --git a/packages/repo-config/init/.vscode/settings.json b/packages/repo-config/init/.vscode/settings.json index 49885c3..5c98c49 100644 --- a/packages/repo-config/init/.vscode/settings.json +++ b/packages/repo-config/init/.vscode/settings.json @@ -1,9 +1,9 @@ { - "explorer.fileNesting.enabled": true, - "explorer.fileNesting.expand": false, - "explorer.fileNesting.patterns": { - ".env": ".env.*", - "package.json": ".*.cjs, .*.js, .*.json, .*.mjs, .*.toml, .*.ts, .*.yaml, .*.yml, .*ignore, .*rc, *config.cjs, *config.js, *config.json, *config.mjs, *config.toml, *config.ts, *config.yaml, *config.yml, lerna.json, netlify.toml, package-lock.json, , pnpm*, turbo.json, vercel.json, workspace*, wrangler.toml, yarn.lock, yarn*", - "readme.md": "authors*, backers*, changelog*, citation*, code_of_conduct*, contributing*, contributors*, copying*, credits*, governance*, history*, license*, maintainers*, release_notes*, security*, sponsors*" - } + "explorer.fileNesting.enabled": true, + "explorer.fileNesting.expand": false, + "explorer.fileNesting.patterns": { + ".env": ".env.*", + "package.json": ".*.cjs, .*.js, .*.json, .*.mjs, .*.toml, .*.ts, .*.yaml, .*.yml, .*ignore, .*rc, *config.cjs, *config.js, *config.json, *config.mjs, *config.toml, *config.ts, *config.yaml, *config.yml, lerna.json, netlify.toml, package-lock.json, , pnpm*, turbo.json, vercel.json, workspace*, wrangler.toml, yarn.lock, yarn*", + "readme.md": "authors*, backers*, changelog*, citation*, code_of_conduct*, contributing*, contributors*, copying*, credits*, governance*, history*, license*, maintainers*, release_notes*, security*, sponsors*" + } } diff --git a/packages/repo-config/package.json b/packages/repo-config/package.json index 248092c..b948d9d 100644 --- a/packages/repo-config/package.json +++ b/packages/repo-config/package.json @@ -1,51 +1,51 @@ { - "name": "@envsa/repo-config", - "version": "1.0.0", - "type": "module", - "description": "Repository configuration and GitHub workflows for @envsa/shared-config.", - "repository": { - "type": "git", - "url": "git@github.com:envsa/shared-config.git", - "directory": "packages/repo-config" - }, - "bugs": { - "url": "https://github.com/envsa/shared-config/issues", - "email": "DEW.ICTWebServices@sa.gov.au" - }, - "author": { - "name": "Liam Rella", - "email": "DEW.ICTWebServices@sa.gov.au", - "url": "https://github.com/rellafella" - }, - "license": "MIT", - "engines": { - "node": ">=18.0.0", - "pnpm": ">=8.0.0" - }, - "bin": { - "repo-config": "bin/cli.js" - }, - "files": [ - "bin/*", - "init/*" - ], - "keywords": [ - "shared-config", - "github-actions", - "cli" - ], - "scripts": { - "build": "../../scripts/build.ts && mdat readme", - "cli": "node ./bin/cli.js", - "prepublishOnly": "pnpm run build" - }, - "dependencies": { - "@pinojs/json-colorizer": "^4.0.0", - "cosmiconfig": "^9.0.0", - "execa": "^8.0.1", - "fs-extra": "^11.2.0" - }, - "publishConfig": { - "access": "public" - } + "name": "@envsa/repo-config", + "version": "1.0.0", + "type": "module", + "description": "Repository configuration and GitHub workflows for @envsa/shared-config.", + "repository": { + "type": "git", + "url": "git@github.com:envsa/shared-config.git", + "directory": "packages/repo-config" + }, + "bugs": { + "url": "https://github.com/envsa/shared-config/issues", + "email": "DEW.ICTWebServices@sa.gov.au" + }, + "author": { + "name": "Liam Rella", + "email": "DEW.ICTWebServices@sa.gov.au", + "url": "https://github.com/rellafella" + }, + "license": "MIT", + "engines": { + "node": ">=18.0.0", + "pnpm": ">=8.0.0" + }, + "bin": { + "repo-config": "bin/cli.js" + }, + "files": [ + "bin/*", + "init/*" + ], + "keywords": [ + "shared-config", + "github-actions", + "cli" + ], + "scripts": { + "build": "../../scripts/build.ts && mdat readme", + "cli": "node ./bin/cli.js", + "prepublishOnly": "pnpm run build" + }, + "dependencies": { + "@pinojs/json-colorizer": "^4.0.0", + "cosmiconfig": "^9.0.0", + "execa": "^8.0.1", + "fs-extra": "^11.2.0" + }, + "publishConfig": { + "access": "public" + } } diff --git a/packages/repo-config/readme.md b/packages/repo-config/readme.md index 58043f0..23b8135 100644 --- a/packages/repo-config/readme.md +++ b/packages/repo-config/readme.md @@ -90,9 +90,9 @@ Note: Action dependencies have been forked. | Original | Fork | Modifications | | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | ------------- | -| [bullrich/generate-release-changelog](https://github.com/bullrich/generate-release-changelog) | [kitschpatrol/github-action-release-changelog](https://github.com/kitschpatrol/github-action-release-changelog) | ❌ | -| [softprops/action-gh-release](https://github.com/softprops/action-gh-release) | [kitschpatrol/github-action-release](https://github.com/kitschpatrol/github-action-release) | ❌ | -| [kbrashears5/github-action-repo-sync](https://github.com/kbrashears5/github-action-repo-sync) | [kitschpatrol/github-action-repo-sync](https://github.com/kitschpatrol/github-action-repo-sync) | ✅ | +| [bullrich/generate-release-changelog](https://github.com/bullrich/generate-release-changelog) | [kitschpatrol/github-action-release-changelog](https://github.com/kitschpatrol/github-action-release-changelog) | ❌ | +| [softprops/action-gh-release](https://github.com/softprops/action-gh-release) | [kitschpatrol/github-action-release](https://github.com/kitschpatrol/github-action-release) | ❌ | +| [kbrashears5/github-action-repo-sync](https://github.com/kbrashears5/github-action-repo-sync) | [kitschpatrol/github-action-repo-sync](https://github.com/kitschpatrol/github-action-repo-sync) | ✅ | ## Usage diff --git a/packages/repo-config/src/cli.ts b/packages/repo-config/src/cli.ts index c15a0a2..1892e0e 100644 --- a/packages/repo-config/src/cli.ts +++ b/packages/repo-config/src/cli.ts @@ -1,49 +1,49 @@ #!/usr/bin/env node -import fse from 'fs-extra' -import path from 'node:path' -import { fileURLToPath } from 'node:url' -import { packageUp } from 'package-up' -import { buildCommands } from '../../../src/command-builder.js' +import { buildCommands } from '$root/src/command-builder.js'; +import fse from 'fs-extra'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { packageUp } from 'package-up'; await buildCommands('repo-config', '[Repo Config]', 'gray', { - init: {}, - printConfig: { - async command(logStream) { - const destinationPackage = await packageUp() - if (destinationPackage === undefined) { - logStream.write( - 'Error: The `--print-config` flag must be used in a directory with a package.json file somewhere above it\n', - ) - return 1 - } + init: {}, + printConfig: { + async command(logStream) { + const destinationPackage = await packageUp(); + if (destinationPackage === undefined) { + logStream.write( + 'Error: The `--print-config` flag must be used in a directory with a package.json file somewhere above it\n', + ); + return 1; + } - const sourcePackage = await packageUp({ cwd: fileURLToPath(import.meta.url) }) - if (sourcePackage === undefined) { - logStream.write('Error: The script being called was not in a package, weird.\n') - return 1 - } + const sourcePackage = await packageUp({ cwd: fileURLToPath(import.meta.url) }); + if (sourcePackage === undefined) { + logStream.write('Error: The script being called was not in a package, weird.\n'); + return 1; + } - const sourceDirectory = path.join(path.dirname(sourcePackage), 'init/') - const destinationDirectory = path.dirname(destinationPackage) + const sourceDirectory = path.join(path.dirname(sourcePackage), 'init/'); + const destinationDirectory = path.dirname(destinationPackage); - let exitCode = 0 + let exitCode = 0; - for (const file of await fse.readdir(sourceDirectory)) { - const destinationPath = path.join(destinationDirectory, file) + for (const file of await fse.readdir(sourceDirectory)) { + const destinationPath = path.join(destinationDirectory, file); - // Merge with existing, if present - if (await fse.exists(destinationPath)) { - const fileContent = await fse.readFile(destinationPath, 'utf8') - logStream.write(`💾 Contents of "${file}":\n`) - logStream.write(fileContent) - logStream.write('\n') - } else { - logStream.write(`Error: Could not find ${file}\n`) - exitCode = 1 - } - } + // Merge with existing, if present + if (await fse.exists(destinationPath)) { + const fileContent = await fse.readFile(destinationPath, 'utf8'); + logStream.write(`💾 Contents of "${file}":\n`); + logStream.write(fileContent); + logStream.write('\n'); + } else { + logStream.write(`Error: Could not find ${file}\n`); + exitCode = 1; + } + } - return exitCode - }, - }, -}) + return exitCode; + }, + }, +}); diff --git a/packages/shared-config/package.json b/packages/shared-config/package.json index 391e840..3ff57ad 100644 --- a/packages/shared-config/package.json +++ b/packages/shared-config/package.json @@ -1,67 +1,67 @@ { - "name": "@envsa/shared-config", - "version": "1.0.0", - "type": "module", - "description": "A collection of shared configurations for various linters and formatting tools. All managed as a single dependency, and invoked via a single command.", - "repository": { - "type": "git", - "url": "git@github.com:envsa/shared-config.git", - "directory": "packages/shared-config" - }, - "bugs": { - "url": "https://github.com/envsa/shared-config/issues", - "email": "DEW.ICTWebServices@sa.gov.au" - }, - "author": { - "name": "Liam Rella", - "email": "DEW.ICTWebServices@sa.gov.au", - "url": "https://github.com/rellafella" - }, - "license": "MIT", - "engines": { - "node": ">=18.0.0", - "pnpm": ">=8.0.0" - }, - "bin": { - "shared-config": "bin/cli.js" - }, - "files": [ - "bin/*" - ], - "keywords": [ - "shared-config", - "eslint-config", - "stylelint-config", - "prettier-config", - "github-actions", - "cspell", - "mdat", - "cli" - ], - "scripts": { - "build": "./scripts/capability-generator.ts && ../../scripts/build.ts && mdat readme", - "clean": "pnpm run bin-restore && git clean -fdX", - "cli": "node ./bin/cli.js", - "prepublishOnly": "pnpm run build" - }, - "dependencies": { - "@envsa/cspell-config": "workspace:*", - "@envsa/eslint-config": "workspace:*", - "@envsa/mdat-config": "workspace:*", - "@envsa/prettier-config": "workspace:*", - "@envsa/repo-config": "workspace:*", - "@envsa/stylelint-config": "workspace:*", - "@pinojs/json-colorizer": "^4.0.0", - "cosmiconfig": "^9.0.0", - "execa": "^8.0.1", - "fs-extra": "^11.2.0" - }, - "devDependencies": { - "camelcase": "^8.0.0", - "chalk": "^5.3.0", - "globby": "^14.0.2" - }, - "publishConfig": { - "access": "public" - } + "name": "@envsa/shared-config", + "version": "1.0.0", + "type": "module", + "description": "A collection of shared configurations for various linters and formatting tools. All managed as a single dependency, and invoked via a single command.", + "repository": { + "type": "git", + "url": "git@github.com:envsa/shared-config.git", + "directory": "packages/shared-config" + }, + "bugs": { + "url": "https://github.com/envsa/shared-config/issues", + "email": "DEW.ICTWebServices@sa.gov.au" + }, + "author": { + "name": "Liam Rella", + "email": "DEW.ICTWebServices@sa.gov.au", + "url": "https://github.com/rellafella" + }, + "license": "MIT", + "engines": { + "node": ">=18.0.0", + "pnpm": ">=8.0.0" + }, + "bin": { + "shared-config": "bin/cli.js" + }, + "files": [ + "bin/*" + ], + "keywords": [ + "shared-config", + "eslint-config", + "stylelint-config", + "prettier-config", + "github-actions", + "cspell", + "mdat", + "cli" + ], + "scripts": { + "build": "./scripts/capability-generator.ts && ../../scripts/build.ts && mdat readme", + "clean": "pnpm run bin-restore && git clean -fdX", + "cli": "node ./bin/cli.js", + "prepublishOnly": "pnpm run build" + }, + "dependencies": { + "@envsa/cspell-config": "workspace:*", + "@envsa/eslint-config": "workspace:*", + "@envsa/mdat-config": "workspace:*", + "@envsa/prettier-config": "workspace:*", + "@envsa/repo-config": "workspace:*", + "@envsa/stylelint-config": "workspace:*", + "@pinojs/json-colorizer": "^4.0.0", + "cosmiconfig": "^9.0.0", + "execa": "^8.0.1", + "fs-extra": "^11.2.0" + }, + "devDependencies": { + "camelcase": "^8.0.0", + "chalk": "^5.3.0", + "globby": "^14.0.2" + }, + "publishConfig": { + "access": "public" + } } diff --git a/packages/shared-config/scripts/capability-generator.ts b/packages/shared-config/scripts/capability-generator.ts index 8d202d2..0214ebc 100755 --- a/packages/shared-config/scripts/capability-generator.ts +++ b/packages/shared-config/scripts/capability-generator.ts @@ -1,61 +1,61 @@ #!/usr/bin/env tsx -import camelCase from 'camelcase' -import { execa } from 'execa' -import fse from 'fs-extra' -import { globby } from 'globby' +import camelCase from 'camelcase'; +import { execa } from 'execa'; +import fse from 'fs-extra'; +import { globby } from 'globby'; async function getBinNames(): Promise { - const paths = await globby('../*/package.json', { ignore: ['../shared-config/package.json'] }) - - // Add the bin names for each package (except shared-) - const names: string[] = [] - for (const path of paths) { - const packageJson = (await fse.readJSON(path)) as Record - const bin = packageJson.bin as Record | undefined - - if (bin) { - for (const name of Object.keys(bin)) { - names.push(name) - } - } else { - console.error(`No bin key found in package.json for ${path}`) - process.exit(1) - } - } - - return names + const paths = await globby('../*/package.json', { ignore: ['../shared-config/package.json'] }); + + // Add the bin names for each package (except shared-) + const names: string[] = []; + for (const path of paths) { + const packageJson = (await fse.readJSON(path)) as Record; + const bin = packageJson.bin as Record | undefined; + + if (bin) { + for (const name of Object.keys(bin)) { + names.push(name); + } + } else { + console.error(`No bin key found in package.json for ${path}`); + process.exit(1); + } + } + + return names; } async function getCapabilities(binName: string): Promise { - const helpText = await execa(binName, ['--help']) + const helpText = await execa(binName, ['--help']); - if (helpText.exitCode !== 0 || helpText.stdout === undefined || helpText.stdout.length === 0) { - console.error(`Error getting capabilities for ${binName}`) - process.exit(1) - } + if (helpText.exitCode !== 0 || helpText.stdout === undefined || helpText.stdout.length === 0) { + console.error(`Error getting capabilities for ${binName}`); + process.exit(1); + } - const capabilities: string[] = [] - for (const match of helpText.stdout.matchAll(/--([a-z-]+)/g)) { - capabilities.push(camelCase(match[1])) - } + const capabilities: string[] = []; + for (const match of helpText.stdout.matchAll(/--([a-z-]+)/g)) { + capabilities.push(camelCase(match[1])); + } - return capabilities + return capabilities; } -type Capabilities = Record +type Capabilities = Record; -const capabilities: Capabilities = {} +const capabilities: Capabilities = {}; for (const binName of await getBinNames()) { - for (const capability of await getCapabilities(binName)) { - capabilities[capability] = [...(capabilities[capability] ?? []), binName] - } + for (const capability of await getCapabilities(binName)) { + capabilities[capability] = [...(capabilities[capability] ?? []), binName]; + } } const capabilitiesModule = `// Generated by capability-generator.ts\nexport const capabilities = ${JSON.stringify( - capabilities, - undefined, - 2, -)};` + capabilities, + undefined, + 2, +)};`; -await fse.mkdir('./build', { recursive: true }) -await fse.writeFile('./build/capabilities.ts', capabilitiesModule) +await fse.mkdir('./build', { recursive: true }); +await fse.writeFile('./build/capabilities.ts', capabilitiesModule); diff --git a/packages/shared-config/src/cli.ts b/packages/shared-config/src/cli.ts index 1abb81c..0ce348a 100644 --- a/packages/shared-config/src/cli.ts +++ b/packages/shared-config/src/cli.ts @@ -1,82 +1,82 @@ #!/usr/bin/env node -import chalk from 'chalk' -import { buildCommands, execute, type OptionCommands } from '../../../src/command-builder.js' -import { capabilities } from '../build/capabilities.js' +import { buildCommands, execute, type OptionCommands } from '$root/src/command-builder.ts'; +import { capabilities } from '../build/capabilities.ts'; +import chalk from 'chalk'; function kebabCase(text: string): string { - return text.replaceAll(/[A-Z\u00C0-\u00D6\u00D8-\u00DE]/g, (match) => '-' + match.toLowerCase()) + return text.replaceAll(/[A-Z\u00C0-\u00D6\u00D8-\u00DE]/g, (match) => '-' + match.toLowerCase()); } function pluralize(text: string, count: number): string { - return count === 1 ? text : text + 's' + return count === 1 ? text : text + 's'; } async function executeCommands( - logStream: NodeJS.WritableStream, - commands: string[], - options: string[], - args: string[], + logStream: NodeJS.WritableStream, + commands: string[], + options: string[], + args: string[], ): Promise { - const successfulCommands: string[] = [] - const failedCommands: string[] = [] + const successfulCommands: string[] = []; + const failedCommands: string[] = []; - for (const command of commands) { - logStream.write(`Running "${command}${args.join(' ')} ${options.join(' ')}"\n`) + for (const command of commands) { + logStream.write(`Running "${command}${args.join(' ')} ${options.join(' ')}"\n`); - const exitCode = await execute( - logStream, - { - command, - options, - }, - args, - ) + const exitCode = await execute( + logStream, + { + command, + options, + }, + args, + ); - if (exitCode === 0) { - successfulCommands.push(command) - } else { - failedCommands.push(command) - } - } + if (exitCode === 0) { + successfulCommands.push(command); + } else { + failedCommands.push(command); + } + } - if (successfulCommands.length > 0) { - logStream.write( - `✅ ${chalk.green.bold( - `${successfulCommands.length} Successful ${pluralize( - 'command', - successfulCommands.length, - )}:`, - )} ${successfulCommands.join(', ')}\n`, - ) - } + if (successfulCommands.length > 0) { + logStream.write( + `✅ ${chalk.green.bold( + `${successfulCommands.length} Successful ${pluralize( + 'command', + successfulCommands.length, + )}:`, + )} ${successfulCommands.join(', ')}\n`, + ); + } - if (failedCommands.length > 0) { - logStream.write( - `❌ ${chalk.green.bold( - `${failedCommands.length} Failed ${pluralize('command', failedCommands.length)}:`, - )} ${failedCommands.join(', ')}\n`, - ) - } + if (failedCommands.length > 0) { + logStream.write( + `❌ ${chalk.green.bold( + `${failedCommands.length} Failed ${pluralize('command', failedCommands.length)}:`, + )} ${failedCommands.join(', ')}\n`, + ); + } - return failedCommands.length > 0 ? 1 : 0 + return failedCommands.length > 0 ? 1 : 0; } await buildCommands( - 'shared-config', - '🔬', - 'yellow', - Object.keys(capabilities).reduce((acc, capability) => { - acc[capability as keyof OptionCommands] = { - async command(logStream, args) { - return executeCommands( - logStream, - capabilities[capability as keyof typeof capabilities], - [`--${kebabCase(capability)}`], - args, - ) - }, - defaultArguments: [], - } - return acc - }, {}), -) + 'shared-config', + '🔬', + 'yellow', + Object.keys(capabilities).reduce((accumulator, capability) => { + accumulator[capability as keyof OptionCommands] = { + async command(logStream, args) { + return executeCommands( + logStream, + capabilities[capability as keyof typeof capabilities], + [`--${kebabCase(capability)}`], + args, + ); + }, + defaultArguments: [], + }; + return accumulator; + }, {}), +); diff --git a/packages/stylelint-config/init/.stylelintrc.cjs b/packages/stylelint-config/init/.stylelintrc.cjs deleted file mode 100644 index ae5d147..0000000 --- a/packages/stylelint-config/init/.stylelintrc.cjs +++ /dev/null @@ -1,7 +0,0 @@ -/* eslint-disable perfectionist/sort-objects */ - -/** @type {import("stylelint").Config} */ -module.exports = { - extends: ['@envsa/stylelint-config'], - // Overrides -} diff --git a/packages/stylelint-config/init/.vscode/extensions.json b/packages/stylelint-config/init/.vscode/extensions.json index 0aef949..494eea3 100644 --- a/packages/stylelint-config/init/.vscode/extensions.json +++ b/packages/stylelint-config/init/.vscode/extensions.json @@ -1,3 +1,3 @@ { - "recommendations": ["stylelint.vscode-stylelint"] + "recommendations": ["stylelint.vscode-stylelint"] } diff --git a/packages/stylelint-config/init/.vscode/settings.json b/packages/stylelint-config/init/.vscode/settings.json index d8dc416..4b3187b 100644 --- a/packages/stylelint-config/init/.vscode/settings.json +++ b/packages/stylelint-config/init/.vscode/settings.json @@ -1,7 +1,7 @@ { - "stylelint.enable": true, - "stylelint.validate": ["css", "html", "svelte", "astro"], - "editor.codeActionsOnSave": { - "source.fixAll": "explicit" - } + "stylelint.enable": true, + "stylelint.validate": ["css", "html", "svelte", "astro"], + "editor.codeActionsOnSave": { + "source.fixAll": "explicit" + } } diff --git a/packages/stylelint-config/init/stylelint.config.js b/packages/stylelint-config/init/stylelint.config.js new file mode 100644 index 0000000..8fa52d1 --- /dev/null +++ b/packages/stylelint-config/init/stylelint.config.js @@ -0,0 +1,5 @@ +/** @type {import("stylelint").Config} */ +export default { + extends: ['@envsa/stylelint-config'], + // Overrides +}; diff --git a/packages/stylelint-config/package.json b/packages/stylelint-config/package.json index 75b98c8..6ab40ac 100644 --- a/packages/stylelint-config/package.json +++ b/packages/stylelint-config/package.json @@ -1,58 +1,58 @@ { - "name": "@envsa/stylelint-config", - "version": "1.0.0", - "type": "module", - "description": "Stylelint configuration for @envsa/shared-config.", - "repository": { - "type": "git", - "url": "git@github.com:envsa/shared-config.git", - "directory": "packages/stylelint-config" - }, - "bugs": { - "url": "https://github.com/envsa/shared-config/issues", - "email": "DEW.ICTWebServices@sa.gov.au" - }, - "author": { - "name": "Liam Rella", - "email": "DEW.ICTWebServices@sa.gov.au", - "url": "https://github.com/rellafella" - }, - "license": "MIT", - "engines": { - "node": ">=18.0.0", - "pnpm": ">=8.0.0" - }, - "bin": { - "stylelint-config": "bin/cli.js" - }, - "main": "stylelint.config.cjs", - "files": [ - "bin/*", - "init/*" - ], - "keywords": [ - "stylelint-config", - "stylelint", - "cli" - ], - "scripts": { - "build": "../../scripts/build.ts && mdat readme", - "cli": "node ./bin/cli.js", - "prepublishOnly": "pnpm run build" - }, - "peerDependencies": { - "stylelint": "^16.6.1" - }, - "dependencies": { - "@pinojs/json-colorizer": "^4.0.0", - "cosmiconfig": "^9.0.0", - "execa": "^8.0.1", - "fs-extra": "^11.2.0", - "stylelint-config-clean-order": "^6.1.0", - "stylelint-config-html": "^1.1.0", - "stylelint-config-standard": "^36.0.1" - }, - "publishConfig": { - "access": "public" - } + "name": "@envsa/stylelint-config", + "version": "1.0.0", + "type": "module", + "description": "Stylelint configuration for @envsa/shared-config.", + "repository": { + "type": "git", + "url": "git@github.com:envsa/shared-config.git", + "directory": "packages/stylelint-config" + }, + "bugs": { + "url": "https://github.com/envsa/shared-config/issues", + "email": "DEW.ICTWebServices@sa.gov.au" + }, + "author": { + "name": "Liam Rella", + "email": "DEW.ICTWebServices@sa.gov.au", + "url": "https://github.com/rellafella" + }, + "license": "MIT", + "engines": { + "node": ">=18.0.0", + "pnpm": ">=8.0.0" + }, + "bin": { + "stylelint-config": "bin/cli.js" + }, + "main": "stylelint.config.cjs", + "files": [ + "bin/*", + "init/*" + ], + "keywords": [ + "stylelint-config", + "stylelint", + "cli" + ], + "scripts": { + "build": "../../scripts/build.ts && mdat readme", + "cli": "node ./bin/cli.js", + "prepublishOnly": "pnpm run build" + }, + "peerDependencies": { + "stylelint": "^16.6.1" + }, + "dependencies": { + "@pinojs/json-colorizer": "^4.0.0", + "cosmiconfig": "^9.0.0", + "execa": "^8.0.1", + "fs-extra": "^11.2.0", + "stylelint-config-clean-order": "^6.1.0", + "stylelint-config-html": "^1.1.0", + "stylelint-config-standard": "^36.0.1" + }, + "publishConfig": { + "access": "public" + } } diff --git a/packages/stylelint-config/src/cli.ts b/packages/stylelint-config/src/cli.ts index 9ef0155..150b50c 100644 --- a/packages/stylelint-config/src/cli.ts +++ b/packages/stylelint-config/src/cli.ts @@ -1,32 +1,32 @@ #!/usr/bin/env node -import { buildCommands, executeJsonOutput } from '../../../src/command-builder.js' +import { buildCommands, executeJsonOutput } from '$root/src/command-builder.js'; -const sharedOptions = ['--ignore-path', '.gitignore', '--allow-empty-input'] -const sharedDefaultArguments = ['**/*.{css,scss,sass,svelte,html,astro}'] +const sharedOptions = ['--ignore-path', '.gitignore', '--allow-empty-input']; +const sharedDefaultArguments = ['**/*.{css,scss,sass,svelte,html}']; await buildCommands('stylelint-config', '[Stylelint]', 'greenBright', { - check: { - command: 'stylelint', - defaultArguments: sharedDefaultArguments, - options: sharedOptions, - }, - fix: { - command: 'stylelint', - defaultArguments: sharedDefaultArguments, - options: [...sharedOptions, '--fix'], - }, - init: {}, - printConfig: { - async command(logStream, args) { - return executeJsonOutput( - logStream, - { - command: 'stylelint', - options: ['--print-config'], - }, - args, - ) - }, - defaultArguments: ['.'], - }, -}) + check: { + command: 'stylelint', + defaultArguments: sharedDefaultArguments, + options: sharedOptions, + }, + fix: { + command: 'stylelint', + defaultArguments: sharedDefaultArguments, + options: [...sharedOptions, '--fix'], + }, + init: {}, + printConfig: { + async command(logStream, args) { + return executeJsonOutput( + logStream, + { + command: 'stylelint', + options: ['--print-config'], + }, + args, + ); + }, + defaultArguments: ['.'], + }, +}); diff --git a/packages/stylelint-config/stylelint.config.cjs b/packages/stylelint-config/stylelint.config.cjs index 845dd12..4061188 100644 --- a/packages/stylelint-config/stylelint.config.cjs +++ b/packages/stylelint-config/stylelint.config.cjs @@ -1,43 +1,33 @@ -/* eslint-disable perfectionist/sort-objects */ /* eslint-disable unicorn/no-null */ -const { propertyGroups } = require('stylelint-config-clean-order') +const { propertyGroups } = require('stylelint-config-clean-order'); const propertiesOrder = propertyGroups.map((properties) => ({ - emptyLineBefore: 'never', // Don't add empty lines between order groups. - noEmptyLineBetween: true, - properties, -})) + emptyLineBefore: 'never', // Don't add empty lines between order groups. + noEmptyLineBetween: true, + properties, +})); /** @type {import("stylelint").Config} */ module.exports = { - extends: ['stylelint-config-standard', 'stylelint-config-clean-order', 'stylelint-config-html'], - rules: { - 'color-hex-length': null, - 'comment-empty-line-before': null, - 'declaration-empty-line-before': null, - // 'at-rule-empty-line-before': 'never', - 'order/properties-order': [ - propertiesOrder, - { - severity: 'error', - unspecified: 'bottomAlphabetical', - }, - ], - 'selector-class-pattern': null, - 'selector-pseudo-class-no-unknown': [ - true, - { - ignorePseudoClasses: ['global'], - }, - ], - }, - overrides: [ - { - // Not unusual to have empty style tags in an Astro template - files: ['*.astro'], - rules: { - 'no-empty-source': null, - }, - }, - ], -} + extends: ['stylelint-config-standard', 'stylelint-config-clean-order', 'stylelint-config-html'], + rules: { + 'color-hex-length': null, + 'comment-empty-line-before': null, + 'declaration-empty-line-before': null, + // 'at-rule-empty-line-before': 'never', + 'order/properties-order': [ + propertiesOrder, + { + severity: 'error', + unspecified: 'bottomAlphabetical', + }, + ], + 'selector-class-pattern': null, + 'selector-pseudo-class-no-unknown': [ + true, + { + ignorePseudoClasses: ['global'], + }, + ], + }, +}; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dd8c178..4a50e34 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -188,9 +188,6 @@ importers: prettier: specifier: ^3.3.1 version: 3.3.3 - prettier-plugin-organize-imports: - specifier: ^4.0.0 - version: 4.0.0(prettier@3.3.3)(typescript@5.5.4) prettier-plugin-pkg: specifier: ^0.18.1 version: 0.18.1(prettier@3.3.3) @@ -5853,6 +5850,7 @@ snapshots: dependencies: prettier: 3.3.3 typescript: 5.5.4 + optional: true prettier-plugin-pkg@0.18.1(prettier@3.3.3): dependencies: From b64561daaa5ad12f519a864b715df86902dea55d Mon Sep 17 00:00:00 2001 From: Liam Rella Date: Wed, 11 Sep 2024 21:20:04 +0930 Subject: [PATCH 10/23] force eslint to use root config --- .vscode/settings.json | 1 + 1 file changed, 1 insertion(+) diff --git a/.vscode/settings.json b/.vscode/settings.json index b357291..43b5950 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -22,6 +22,7 @@ "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.formatOnSave": true, "eslint.enable": true, + "eslint.workingDirectories": ["./"], // Make sure vscode is getting config from root dir "eslint.validate": [ "javascript", "javascriptreact", From 08a5cbb9998e00f00edc6b7a8f750691beb338f8 Mon Sep 17 00:00:00 2001 From: Liam Rella Date: Wed, 11 Sep 2024 21:27:05 +0930 Subject: [PATCH 11/23] linting --- packages/cspell-config/dictionaries/envsa-misc.txt | 3 ++- packages/cspell-config/dictionaries/envsa-tech.txt | 4 ++++ packages/eslint-config/src/cli.ts | 2 +- packages/mdat-config/src/cli.ts | 2 +- packages/prettier-config/readme.md | 12 ------------ packages/repo-config/readme.md | 6 +++--- packages/shared-config/readme.md | 2 +- packages/stylelint-config/src/cli.ts | 2 +- readme.md | 2 +- 9 files changed, 14 insertions(+), 21 deletions(-) diff --git a/packages/cspell-config/dictionaries/envsa-misc.txt b/packages/cspell-config/dictionaries/envsa-misc.txt index 174e45b..d408b11 100644 --- a/packages/cspell-config/dictionaries/envsa-misc.txt +++ b/packages/cspell-config/dictionaries/envsa-misc.txt @@ -1,5 +1,6 @@ adelaidegaol adelaidenationalparkcity +Autophagic bgset botanicgardens carbonneutraladelaide @@ -23,4 +24,4 @@ scpt startdate stateflora tldr -webroot \ No newline at end of file +webroot diff --git a/packages/cspell-config/dictionaries/envsa-tech.txt b/packages/cspell-config/dictionaries/envsa-tech.txt index 1394401..71e6ed9 100644 --- a/packages/cspell-config/dictionaries/envsa-tech.txt +++ b/packages/cspell-config/dictionaries/envsa-tech.txt @@ -1,3 +1,4 @@ +bullrich ddev deepmerge dewnrger @@ -6,13 +7,16 @@ execa formie glightbox grecaptcha +kbrashears lazysizes mdat +mdatrc openforms pcss pinojs redactoranchors seomatic +softprops solspace stylelintrc tailwindcss diff --git a/packages/eslint-config/src/cli.ts b/packages/eslint-config/src/cli.ts index dfc022e..83833f4 100755 --- a/packages/eslint-config/src/cli.ts +++ b/packages/eslint-config/src/cli.ts @@ -1,6 +1,6 @@ #!/usr/bin/env node // eslint-disable-next-line import-x/no-relative-packages -import { buildCommands, executeJsonOutput } from '../../../src/command-builder.ts'; +import { buildCommands, executeJsonOutput } from '$root/src/command-builder.ts'; await buildCommands('eslint-config', `[ESLint]`, 'magenta', { check: { diff --git a/packages/mdat-config/src/cli.ts b/packages/mdat-config/src/cli.ts index ae4bae5..cdd8a74 100644 --- a/packages/mdat-config/src/cli.ts +++ b/packages/mdat-config/src/cli.ts @@ -1,5 +1,5 @@ #!/usr/bin/env node -import { buildCommands } from '$root/src/command-builder.ts'; +import { buildCommands } from '$root/src/command-builder.js'; await buildCommands('mdat-config', '[Mdat Config]', 'green', { check: { diff --git a/packages/prettier-config/readme.md b/packages/prettier-config/readme.md index 930729b..1a3b125 100644 --- a/packages/prettier-config/readme.md +++ b/packages/prettier-config/readme.md @@ -89,18 +89,6 @@ prettier-config [ ...] -## Ruby support - -Ruby formatting Expects a global Ruby install >=2.7 via `rbenv` at `~/.rbenv/shims/ruby` with the following gems: - -- `bundler` -- `prettier_print` -- `syntax_tree` -- `syntax_tree-haml` -- `syntax_tree-rbs` - -Note: Do _not_ add `plugins: ['prettier-plugin-ruby']` to the per-file scope, it must be global. - ## Credits [Eric Mika](https://github.com/kitschpatrol) is the author of the original [@kitschpatrol/shared-config](https://github.com/kitschpatrol/shared-config) project on which this is based. diff --git a/packages/repo-config/readme.md b/packages/repo-config/readme.md index 23b8135..58043f0 100644 --- a/packages/repo-config/readme.md +++ b/packages/repo-config/readme.md @@ -90,9 +90,9 @@ Note: Action dependencies have been forked. | Original | Fork | Modifications | | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | ------------- | -| [bullrich/generate-release-changelog](https://github.com/bullrich/generate-release-changelog) | [kitschpatrol/github-action-release-changelog](https://github.com/kitschpatrol/github-action-release-changelog) | ❌ | -| [softprops/action-gh-release](https://github.com/softprops/action-gh-release) | [kitschpatrol/github-action-release](https://github.com/kitschpatrol/github-action-release) | ❌ | -| [kbrashears5/github-action-repo-sync](https://github.com/kbrashears5/github-action-repo-sync) | [kitschpatrol/github-action-repo-sync](https://github.com/kitschpatrol/github-action-repo-sync) | ✅ | +| [bullrich/generate-release-changelog](https://github.com/bullrich/generate-release-changelog) | [kitschpatrol/github-action-release-changelog](https://github.com/kitschpatrol/github-action-release-changelog) | ❌ | +| [softprops/action-gh-release](https://github.com/softprops/action-gh-release) | [kitschpatrol/github-action-release](https://github.com/kitschpatrol/github-action-release) | ❌ | +| [kbrashears5/github-action-repo-sync](https://github.com/kbrashears5/github-action-repo-sync) | [kitschpatrol/github-action-repo-sync](https://github.com/kitschpatrol/github-action-repo-sync) | ✅ | ## Usage diff --git a/packages/shared-config/readme.md b/packages/shared-config/readme.md index fe7803f..14a1036 100644 --- a/packages/shared-config/readme.md +++ b/packages/shared-config/readme.md @@ -42,7 +42,7 @@ This project attempts to consolidate most of the configuration and tooling share It takes care of dependencies and configurations for the following tools: - [CSpell](https://cspell.org) -- [ESLint](https://eslint.org) (including Svelte, Astro, and TypeScript support) +- [ESLint](https://eslint.org) (including Svelte, and TypeScript support) - [mdat](https://github.com/kitschpatrol/mdat) - [Prettier](https://prettier.io) (including a bunch of extra plugins) - [Stylelint](https://stylelint.io) diff --git a/packages/stylelint-config/src/cli.ts b/packages/stylelint-config/src/cli.ts index 150b50c..dfbfa7e 100644 --- a/packages/stylelint-config/src/cli.ts +++ b/packages/stylelint-config/src/cli.ts @@ -1,5 +1,5 @@ #!/usr/bin/env node -import { buildCommands, executeJsonOutput } from '$root/src/command-builder.js'; +import { buildCommands, executeJsonOutput } from '$root/src/command-builder.ts'; const sharedOptions = ['--ignore-path', '.gitignore', '--allow-empty-input']; const sharedDefaultArguments = ['**/*.{css,scss,sass,svelte,html}']; diff --git a/readme.md b/readme.md index fe7803f..14a1036 100644 --- a/readme.md +++ b/readme.md @@ -42,7 +42,7 @@ This project attempts to consolidate most of the configuration and tooling share It takes care of dependencies and configurations for the following tools: - [CSpell](https://cspell.org) -- [ESLint](https://eslint.org) (including Svelte, Astro, and TypeScript support) +- [ESLint](https://eslint.org) (including Svelte, and TypeScript support) - [mdat](https://github.com/kitschpatrol/mdat) - [Prettier](https://prettier.io) (including a bunch of extra plugins) - [Stylelint](https://stylelint.io) From af5dcd9d9d6348075e651ba8ab36cd007947bb5e Mon Sep 17 00:00:00 2001 From: Liam Rella Date: Wed, 11 Sep 2024 21:41:36 +0930 Subject: [PATCH 12/23] separate ignores from eslint config --- eslint.config.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/eslint.config.js b/eslint.config.js index 55f7e66..60ad046 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -5,6 +5,8 @@ export default [ ...configEnvsa, { ignores: ['**/bin/cli.js'], + }, + { settings: { 'import/resolver': { alias: { From 813bc7886b454aecb949d916c707c927e465e0c5 Mon Sep 17 00:00:00 2001 From: Liam Rella Date: Wed, 11 Sep 2024 22:12:46 +0930 Subject: [PATCH 13/23] use gitignore from repo-config --- .gitignore | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index b46b936..6ce93af 100644 --- a/.gitignore +++ b/.gitignore @@ -2,20 +2,17 @@ # Also used by CSpell and Stylelint # @envsa/repo-config boilerplate -.astro/ .DS_Store +.ddev/ .env .env.* !.env.example -.svelte-kit/ -{tmp,temp}/ -**/*.min.js -/scratch/ -bower_components/ +node_modules/ +vendor/ build/ coverage/ dist/ -node_modules/ -vendor/ +**/*.min.js +{tmp,temp,_junk}/ # Customizations From af6091064d29e2928eb571e867e5d5f7fad91571 Mon Sep 17 00:00:00 2001 From: Liam Rella Date: Wed, 11 Sep 2024 22:12:53 +0930 Subject: [PATCH 14/23] update dictionary --- packages/cspell-config/dictionaries/envsa-misc.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/cspell-config/dictionaries/envsa-misc.txt b/packages/cspell-config/dictionaries/envsa-misc.txt index d408b11..e87495c 100644 --- a/packages/cspell-config/dictionaries/envsa-misc.txt +++ b/packages/cspell-config/dictionaries/envsa-misc.txt @@ -3,6 +3,7 @@ adelaidenationalparkcity Autophagic bgset botanicgardens +camelcase carbonneutraladelaide clelandwildlifepark contentmigrations From f6c956990965c812c326d8086ad613aa9721b0b6 Mon Sep 17 00:00:00 2001 From: Liam Rella Date: Wed, 11 Sep 2024 22:13:01 +0930 Subject: [PATCH 15/23] fix linting issues --- packages/mdat-config/src/cli.ts | 3 ++- packages/repo-config/src/cli.ts | 4 ++-- packages/shared-config/scripts/capability-generator.ts | 2 +- src/command-builder.ts | 4 ++-- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/mdat-config/src/cli.ts b/packages/mdat-config/src/cli.ts index cdd8a74..82702b4 100644 --- a/packages/mdat-config/src/cli.ts +++ b/packages/mdat-config/src/cli.ts @@ -1,5 +1,6 @@ #!/usr/bin/env node -import { buildCommands } from '$root/src/command-builder.js'; +// eslint-disable-next-line import-x/extensions, import-x/no-relative-packages +import { buildCommands } from '../../../src/command-builder.js'; await buildCommands('mdat-config', '[Mdat Config]', 'green', { check: { diff --git a/packages/repo-config/src/cli.ts b/packages/repo-config/src/cli.ts index 1892e0e..3d13771 100644 --- a/packages/repo-config/src/cli.ts +++ b/packages/repo-config/src/cli.ts @@ -1,6 +1,6 @@ #!/usr/bin/env node -import { buildCommands } from '$root/src/command-builder.js'; -import fse from 'fs-extra'; +import { buildCommands } from '$root/src/command-builder.ts'; +import * as fse from 'fs-extra'; import path from 'node:path'; import { fileURLToPath } from 'node:url'; import { packageUp } from 'package-up'; diff --git a/packages/shared-config/scripts/capability-generator.ts b/packages/shared-config/scripts/capability-generator.ts index 0214ebc..fea9f86 100755 --- a/packages/shared-config/scripts/capability-generator.ts +++ b/packages/shared-config/scripts/capability-generator.ts @@ -1,7 +1,7 @@ #!/usr/bin/env tsx import camelCase from 'camelcase'; import { execa } from 'execa'; -import fse from 'fs-extra'; +import * as fse from 'fs-extra'; import { globby } from 'globby'; async function getBinNames(): Promise { diff --git a/src/command-builder.ts b/src/command-builder.ts index 9fffa3c..df3a083 100644 --- a/src/command-builder.ts +++ b/src/command-builder.ts @@ -1,4 +1,5 @@ #!/usr/bin/env node +/* eslint-disable import-x/namespace */ /* eslint-disable complexity */ // Creates cli bin files for each package @@ -9,8 +10,7 @@ import type { Flag } from 'meow'; import chalk, { type foregroundColorNames } from 'chalk'; import { cosmiconfig } from 'cosmiconfig'; import { execa, type ExecaError } from 'execa'; -// eslint-disable-next-line import-x/default -import fse from 'fs-extra'; +import * as fse from 'fs-extra'; import meow from 'meow'; import path from 'node:path'; import { PassThrough, Transform, type Stream } from 'node:stream'; From cc064c6e3be57224d0aa8890ecd5a1eb885d3758 Mon Sep 17 00:00:00 2001 From: Liam Rella Date: Wed, 11 Sep 2024 22:26:07 +0930 Subject: [PATCH 16/23] update stylelint config --- packages/stylelint-config/package.json | 4 +- .../stylelint-config/stylelint.config.cjs | 33 ----- packages/stylelint-config/stylelint.config.js | 63 +++++++++ pnpm-lock.yaml | 130 ++++++++---------- 4 files changed, 122 insertions(+), 108 deletions(-) delete mode 100644 packages/stylelint-config/stylelint.config.cjs create mode 100644 packages/stylelint-config/stylelint.config.js diff --git a/packages/stylelint-config/package.json b/packages/stylelint-config/package.json index 6ab40ac..6d29f85 100644 --- a/packages/stylelint-config/package.json +++ b/packages/stylelint-config/package.json @@ -49,8 +49,8 @@ "execa": "^8.0.1", "fs-extra": "^11.2.0", "stylelint-config-clean-order": "^6.1.0", - "stylelint-config-html": "^1.1.0", - "stylelint-config-standard": "^36.0.1" + "stylelint-config-standard": "^36.0.1", + "stylelint-config-standard-scss": "^13.1.0" }, "publishConfig": { "access": "public" diff --git a/packages/stylelint-config/stylelint.config.cjs b/packages/stylelint-config/stylelint.config.cjs deleted file mode 100644 index 4061188..0000000 --- a/packages/stylelint-config/stylelint.config.cjs +++ /dev/null @@ -1,33 +0,0 @@ -/* eslint-disable unicorn/no-null */ -const { propertyGroups } = require('stylelint-config-clean-order'); - -const propertiesOrder = propertyGroups.map((properties) => ({ - emptyLineBefore: 'never', // Don't add empty lines between order groups. - noEmptyLineBetween: true, - properties, -})); - -/** @type {import("stylelint").Config} */ -module.exports = { - extends: ['stylelint-config-standard', 'stylelint-config-clean-order', 'stylelint-config-html'], - rules: { - 'color-hex-length': null, - 'comment-empty-line-before': null, - 'declaration-empty-line-before': null, - // 'at-rule-empty-line-before': 'never', - 'order/properties-order': [ - propertiesOrder, - { - severity: 'error', - unspecified: 'bottomAlphabetical', - }, - ], - 'selector-class-pattern': null, - 'selector-pseudo-class-no-unknown': [ - true, - { - ignorePseudoClasses: ['global'], - }, - ], - }, -}; diff --git a/packages/stylelint-config/stylelint.config.js b/packages/stylelint-config/stylelint.config.js new file mode 100644 index 0000000..27452d7 --- /dev/null +++ b/packages/stylelint-config/stylelint.config.js @@ -0,0 +1,63 @@ +/* eslint-disable unicorn/no-null */ +import { propertyGroups } from 'stylelint-config-clean-order'; + +const propertiesOrder = propertyGroups.map((properties) => ({ + emptyLineBefore: 'never', // Don't add empty lines between order groups. + noEmptyLineBetween: true, + properties, +})); + +/** @type {import("stylelint").Config} */ +export default { + extends: ['stylelint-config-standard-scss'], + ignoreFiles: ['./vendor/**/*'], + rules: { + 'at-rule-empty-line-before': [ + 'always', + { + ignore: ['after-comment', 'first-nested', 'blockless-after-same-name-blockless'], + ignoreAtRules: ['else', 'apply'], + }, + ], + 'declaration-empty-line-before': 'never', + 'import-notation': 'string', + 'no-descending-specificity': [true, { ignore: ['selectors-within-list'] }], + 'no-invalid-position-at-import-rule': [true, { ignoreAtRules: ['tailwind'] }], + 'order/properties-order': [ + propertiesOrder, + { + severity: 'error', + unspecified: 'bottomAlphabetical', + }, + ], + /** Selector class pattern must match [BEM CSS](https://en.bem.info/methodology/css) - [Regex](https://regexr.com/3apms) */ + 'selector-class-pattern': [ + '^[a-z]([-]?[a-z0-9]+)*(__[a-z0-9]([-]?[a-z0-9]+)*)?(--[a-z0-9]([-]?[a-z0-9]+)*)?$', + { + /** This option will resolve nested selectors with & interpolation. - https://stylelint.io/user-guide/rules/selector-class-pattern/#resolvenestedselectors-true--false-default-false */ + resolveNestedSelectors: true, + /** Custom message */ + message: function expected(selectorValue) { + return `Expected class selector "${selectorValue}" to match BEM CSS pattern https://en.bem.info/methodology/css. Selector validation tool: https://regexr.com/3apms`; + }, + }, + ], + 'value-keyword-case': ['lower', { camelCaseSvgKeywords: true }], + }, + 'scss/at-rule-no-unknown': [ + true, + { + ignoreAtRules: [ + /* Tailwind */ + 'tailwind', + 'apply', + 'layer', + 'config', + 'variants', + 'responsive', + 'screen', + ], + }, + ], + 'scss/load-partial-extension': 'never', +}; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4a50e34..64c8507 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -279,12 +279,12 @@ importers: stylelint-config-clean-order: specifier: ^6.1.0 version: 6.1.0(stylelint@16.9.0(typescript@5.5.4)) - stylelint-config-html: - specifier: ^1.1.0 - version: 1.1.0(postcss-html@1.7.0)(stylelint@16.9.0(typescript@5.5.4)) stylelint-config-standard: specifier: ^36.0.1 version: 36.0.1(stylelint@16.9.0(typescript@5.5.4)) + stylelint-config-standard-scss: + specifier: ^13.1.0 + version: 13.1.0(postcss@8.4.45)(stylelint@16.9.0(typescript@5.5.4)) packages: @@ -1397,19 +1397,6 @@ packages: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} - dom-serializer@2.0.0: - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} - - domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - - domhandler@5.0.3: - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} - engines: {node: '>= 4'} - - domutils@3.1.0: - resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} - dotenv@16.4.5: resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} engines: {node: '>=12'} @@ -1434,10 +1421,6 @@ packages: resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} engines: {node: '>=10.13.0'} - entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} - env-paths@2.2.1: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} @@ -1924,9 +1907,6 @@ packages: resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} engines: {node: '>=8'} - htmlparser2@8.0.2: - resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} - http-errors@2.0.0: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} @@ -2135,9 +2115,6 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - js-tokens@9.0.0: - resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==} - js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true @@ -2540,10 +2517,6 @@ packages: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} engines: {node: '>= 0.4'} - postcss-html@1.7.0: - resolution: {integrity: sha512-MfcMpSUIaR/nNgeVS8AyvyDugXlADjN9AcV7e5rDfrF1wduIAGSkL4q2+wgrZgA3sHVAHLDO9FuauHhZYW2nBw==} - engines: {node: ^12 || >=14} - postcss-load-config@3.1.4: resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} engines: {node: '>= 10'} @@ -2556,6 +2529,9 @@ packages: ts-node: optional: true + postcss-media-query-parser@0.2.3: + resolution: {integrity: sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==} + postcss-resolve-nested-selector@0.1.6: resolution: {integrity: sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==} @@ -3010,12 +2986,15 @@ packages: peerDependencies: stylelint: '>=14' - stylelint-config-html@1.1.0: - resolution: {integrity: sha512-IZv4IVESjKLumUGi+HWeb7skgO6/g4VMuAYrJdlqQFndgbj6WJAXPhaysvBiXefX79upBdQVumgYcdd17gCpjQ==} - engines: {node: ^12 || >=14} + stylelint-config-recommended-scss@14.1.0: + resolution: {integrity: sha512-bhaMhh1u5dQqSsf6ri2GVWWQW5iUjBYgcHkh7SgDDn92ijoItC/cfO/W+fpXshgTQWhwFkP1rVcewcv4jaftRg==} + engines: {node: '>=18.12.0'} peerDependencies: - postcss-html: ^1.0.0 - stylelint: '>=14.0.0' + postcss: ^8.3.3 + stylelint: ^16.6.1 + peerDependenciesMeta: + postcss: + optional: true stylelint-config-recommended@14.0.1: resolution: {integrity: sha512-bLvc1WOz/14aPImu/cufKAZYfXs/A/owZfSMZ4N+16WGXLoX5lOir53M6odBxvhgmgdxCVnNySJmZKx73T93cg==} @@ -3023,6 +3002,16 @@ packages: peerDependencies: stylelint: ^16.1.0 + stylelint-config-standard-scss@13.1.0: + resolution: {integrity: sha512-Eo5w7/XvwGHWkeGLtdm2FZLOMYoZl1omP2/jgFCXyl2x5yNz7/8vv4Tj6slHvMSSUNTaGoam/GAZ0ZhukvalfA==} + engines: {node: '>=18.12.0'} + peerDependencies: + postcss: ^8.3.3 + stylelint: ^16.3.1 + peerDependenciesMeta: + postcss: + optional: true + stylelint-config-standard@36.0.1: resolution: {integrity: sha512-8aX8mTzJ6cuO8mmD5yon61CWuIM4UD8Q5aBcWKGSf6kg+EC3uhB+iOywpTK4ca6ZL7B49en8yanOFtUW0qNzyw==} engines: {node: '>=18.12.0'} @@ -3034,6 +3023,12 @@ packages: peerDependencies: stylelint: ^14.0.0 || ^15.0.0 || ^16.0.1 + stylelint-scss@6.5.1: + resolution: {integrity: sha512-ZLqdqihm6uDYkrsOeD6YWb+stZI8Wn92kUNDhE4M+g9g1aCnRv0JlOrttFiAJJwaNzpdQgX3YJb5vDQXVuO9Ww==} + engines: {node: '>=18.12.0'} + peerDependencies: + stylelint: ^16.0.2 + stylelint@16.9.0: resolution: {integrity: sha512-31Nm3WjxGOBGpQqF43o3wO9L5AC36TPIe6030Lnm13H3vDMTcS21DrLh69bMX+DBilKqMMVLian4iG6ybBoNRQ==} engines: {node: '>=18.12.0'} @@ -4493,24 +4488,6 @@ snapshots: dependencies: esutils: 2.0.3 - dom-serializer@2.0.0: - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - entities: 4.5.0 - - domelementtype@2.3.0: {} - - domhandler@5.0.3: - dependencies: - domelementtype: 2.3.0 - - domutils@3.1.0: - dependencies: - dom-serializer: 2.0.0 - domelementtype: 2.3.0 - domhandler: 5.0.3 - dotenv@16.4.5: {} ee-first@1.1.1: {} @@ -4530,8 +4507,6 @@ snapshots: graceful-fs: 4.2.11 tapable: 2.2.1 - entities@4.5.0: {} - env-paths@2.2.1: {} env-paths@3.0.0: {} @@ -5228,13 +5203,6 @@ snapshots: html-tags@3.3.1: {} - htmlparser2@8.0.2: - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.1.0 - entities: 4.5.0 - http-errors@2.0.0: dependencies: depd: 2.0.0 @@ -5415,8 +5383,6 @@ snapshots: js-tokens@4.0.0: {} - js-tokens@9.0.0: {} - js-yaml@4.1.0: dependencies: argparse: 2.0.1 @@ -5788,13 +5754,6 @@ snapshots: possible-typed-array-names@1.0.0: {} - postcss-html@1.7.0: - dependencies: - htmlparser2: 8.0.2 - js-tokens: 9.0.0 - postcss: 8.4.45 - postcss-safe-parser: 6.0.0(postcss@8.4.45) - postcss-load-config@3.1.4(postcss@8.4.45): dependencies: lilconfig: 2.1.0 @@ -5802,6 +5761,8 @@ snapshots: optionalDependencies: postcss: 8.4.45 + postcss-media-query-parser@0.2.3: {} + postcss-resolve-nested-selector@0.1.6: {} postcss-safe-parser@6.0.0(postcss@8.4.45): @@ -6239,15 +6200,27 @@ snapshots: stylelint: 16.9.0(typescript@5.5.4) stylelint-order: 6.0.4(stylelint@16.9.0(typescript@5.5.4)) - stylelint-config-html@1.1.0(postcss-html@1.7.0)(stylelint@16.9.0(typescript@5.5.4)): + stylelint-config-recommended-scss@14.1.0(postcss@8.4.45)(stylelint@16.9.0(typescript@5.5.4)): dependencies: - postcss-html: 1.7.0 + postcss-scss: 4.0.9(postcss@8.4.45) stylelint: 16.9.0(typescript@5.5.4) + stylelint-config-recommended: 14.0.1(stylelint@16.9.0(typescript@5.5.4)) + stylelint-scss: 6.5.1(stylelint@16.9.0(typescript@5.5.4)) + optionalDependencies: + postcss: 8.4.45 stylelint-config-recommended@14.0.1(stylelint@16.9.0(typescript@5.5.4)): dependencies: stylelint: 16.9.0(typescript@5.5.4) + stylelint-config-standard-scss@13.1.0(postcss@8.4.45)(stylelint@16.9.0(typescript@5.5.4)): + dependencies: + stylelint: 16.9.0(typescript@5.5.4) + stylelint-config-recommended-scss: 14.1.0(postcss@8.4.45)(stylelint@16.9.0(typescript@5.5.4)) + stylelint-config-standard: 36.0.1(stylelint@16.9.0(typescript@5.5.4)) + optionalDependencies: + postcss: 8.4.45 + stylelint-config-standard@36.0.1(stylelint@16.9.0(typescript@5.5.4)): dependencies: stylelint: 16.9.0(typescript@5.5.4) @@ -6259,6 +6232,17 @@ snapshots: postcss-sorting: 8.0.2(postcss@8.4.45) stylelint: 16.9.0(typescript@5.5.4) + stylelint-scss@6.5.1(stylelint@16.9.0(typescript@5.5.4)): + dependencies: + css-tree: 2.3.1 + is-plain-object: 5.0.0 + known-css-properties: 0.34.0 + postcss-media-query-parser: 0.2.3 + postcss-resolve-nested-selector: 0.1.6 + postcss-selector-parser: 6.1.2 + postcss-value-parser: 4.2.0 + stylelint: 16.9.0(typescript@5.5.4) + stylelint@16.9.0(typescript@5.5.4): dependencies: '@csstools/css-parser-algorithms': 3.0.1(@csstools/css-tokenizer@3.0.1) From 06b50c3b68a0db4a5e0a21192e81607f0de4c4c8 Mon Sep 17 00:00:00 2001 From: Liam Rella Date: Wed, 11 Sep 2024 22:29:32 +0930 Subject: [PATCH 17/23] update recommended extensions --- .vscode/extensions.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/.vscode/extensions.json b/.vscode/extensions.json index beb5899..ee0c777 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -2,10 +2,8 @@ "recommendations": [ "dbaeumer.vscode-eslint", "svelte.svelte-vscode", - "astro-build.astro-vscode", "streetsidesoftware.code-spell-checker", "esbenp.prettier-vscode", - "unifiedjs.vscode-mdx", "stylelint.vscode-stylelint", "usernamehw.errorlens", "antfu.where-am-i", From a1cfc896c390fa1ca1562d246dd0e2555c01dcf8 Mon Sep 17 00:00:00 2001 From: Liam Rella Date: Wed, 11 Sep 2024 22:32:14 +0930 Subject: [PATCH 18/23] format readme --- packages/repo-config/readme.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/repo-config/readme.md b/packages/repo-config/readme.md index 58043f0..23b8135 100644 --- a/packages/repo-config/readme.md +++ b/packages/repo-config/readme.md @@ -90,9 +90,9 @@ Note: Action dependencies have been forked. | Original | Fork | Modifications | | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | ------------- | -| [bullrich/generate-release-changelog](https://github.com/bullrich/generate-release-changelog) | [kitschpatrol/github-action-release-changelog](https://github.com/kitschpatrol/github-action-release-changelog) | ❌ | -| [softprops/action-gh-release](https://github.com/softprops/action-gh-release) | [kitschpatrol/github-action-release](https://github.com/kitschpatrol/github-action-release) | ❌ | -| [kbrashears5/github-action-repo-sync](https://github.com/kbrashears5/github-action-repo-sync) | [kitschpatrol/github-action-repo-sync](https://github.com/kitschpatrol/github-action-repo-sync) | ✅ | +| [bullrich/generate-release-changelog](https://github.com/bullrich/generate-release-changelog) | [kitschpatrol/github-action-release-changelog](https://github.com/kitschpatrol/github-action-release-changelog) | ❌ | +| [softprops/action-gh-release](https://github.com/softprops/action-gh-release) | [kitschpatrol/github-action-release](https://github.com/kitschpatrol/github-action-release) | ❌ | +| [kbrashears5/github-action-repo-sync](https://github.com/kbrashears5/github-action-repo-sync) | [kitschpatrol/github-action-repo-sync](https://github.com/kitschpatrol/github-action-repo-sync) | ✅ | ## Usage From b8dc4917038ef2f37b6b35fb333ffb75702c5467 Mon Sep 17 00:00:00 2001 From: Liam Rella Date: Wed, 11 Sep 2024 22:44:16 +0930 Subject: [PATCH 19/23] fix linting issues --- packages/shared-config/scripts/capability-generator.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/shared-config/scripts/capability-generator.ts b/packages/shared-config/scripts/capability-generator.ts index fea9f86..92441da 100755 --- a/packages/shared-config/scripts/capability-generator.ts +++ b/packages/shared-config/scripts/capability-generator.ts @@ -1,7 +1,9 @@ #!/usr/bin/env tsx +/* eslint-disable import-x/no-named-as-default-member */ import camelCase from 'camelcase'; import { execa } from 'execa'; -import * as fse from 'fs-extra'; +// eslint-disable-next-line import-x/default +import fse from 'fs-extra'; import { globby } from 'globby'; async function getBinNames(): Promise { From 0430303c0ba669d5963f8b284900fe322473e7ad Mon Sep 17 00:00:00 2001 From: Liam Rella Date: Thu, 12 Sep 2024 09:01:28 +0930 Subject: [PATCH 20/23] update readme --- packages/shared-config/readme.md | 3 --- readme.md | 3 --- 2 files changed, 6 deletions(-) diff --git a/packages/shared-config/readme.md b/packages/shared-config/readme.md index 14a1036..c452349 100644 --- a/packages/shared-config/readme.md +++ b/packages/shared-config/readme.md @@ -117,9 +117,6 @@ pnpm dlx @envsa/repo-config --init && pnpm i && pnpm add -D @envsa/shared-config } ``` - > \[!NOTE]\ - > Prettier formatting for Ruby requires some extra legwork to configure, see [`the @envsa/prettier-config` package readme](https://github.com/kitschpatrol/shared-config/blob/main/packages/prettier-config/readme.md) for more details. - ## Usage Various VS Code plugins should "just work". diff --git a/readme.md b/readme.md index 14a1036..c452349 100644 --- a/readme.md +++ b/readme.md @@ -117,9 +117,6 @@ pnpm dlx @envsa/repo-config --init && pnpm i && pnpm add -D @envsa/shared-config } ``` - > \[!NOTE]\ - > Prettier formatting for Ruby requires some extra legwork to configure, see [`the @envsa/prettier-config` package readme](https://github.com/kitschpatrol/shared-config/blob/main/packages/prettier-config/readme.md) for more details. - ## Usage Various VS Code plugins should "just work". From 689d26de46beb8a00d3debd4905880c25d0e219a Mon Sep 17 00:00:00 2001 From: Liam Rella Date: Thu, 12 Sep 2024 09:10:43 +0930 Subject: [PATCH 21/23] updates --- .prettierignore | 13 +- .vscode/settings.json | 23 +-- package.json | 1 + .../init/.vscode/settings.json | 2 +- pnpm-lock.yaml | 189 ++++++++++++++++++ 5 files changed, 198 insertions(+), 30 deletions(-) diff --git a/.prettierignore b/.prettierignore index 7bc25f7..1acfd6f 100644 --- a/.prettierignore +++ b/.prettierignore @@ -2,21 +2,18 @@ # Does not inherit from .gitignore # @envsa/repo-config boilerplate -.astro/ .DS_Store +.ddev/ .env .env.* !.env.example -.svelte-kit/ -{tmp,temp}/ -**/*.min.js -/scratch/ -bower_components/ +node_modules/ +vendor/ build/ coverage/ dist/ -node_modules/ -vendor/ +**/*.min.js +{tmp,temp,_junk}/ # @envsa/prettier-config boilerplate pnpm-lock.yaml diff --git a/.vscode/settings.json b/.vscode/settings.json index 43b5950..4426353 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,13 +1,7 @@ { - "[astro]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, "[gitignore]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, - "[ruby]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, "[shellscript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, @@ -23,18 +17,7 @@ "editor.formatOnSave": true, "eslint.enable": true, "eslint.workingDirectories": ["./"], // Make sure vscode is getting config from root dir - "eslint.validate": [ - "javascript", - "javascriptreact", - "typescript", - "typescriptreact", - "svelte", - "astro", - "markdown", - "mdx", - "html", - "twig" - ], + "eslint.validate": ["javascript", "typescript", "svelte", "markdown", "html", "twig"], "explorer.fileNesting.enabled": true, "explorer.fileNesting.expand": false, "explorer.fileNesting.patterns": { @@ -43,8 +26,6 @@ "readme.md": "authors*, backers*, changelog*, citation*, code_of_conduct*, contributing*, contributors*, copying*, credits*, governance*, history*, license*, maintainers*, release_notes*, security*, sponsors*" }, "prettier.documentSelectors": [ - "**/*.rb", - "**/*.astro", "**/*.svelte", "**/.prettierignore", "**/.npmrc", @@ -53,7 +34,7 @@ ], "prettier.enable": true, "stylelint.enable": true, - "stylelint.validate": ["css", "html", "svelte", "astro"], + "stylelint.validate": ["css", "html", "svelte"], "typescript.tsdk": "node_modules/typescript/lib", "eslint.useFlatConfig": true } diff --git a/package.json b/package.json index 9b027b6..f3d8c60 100644 --- a/package.json +++ b/package.json @@ -68,6 +68,7 @@ "execa": "^8.0.1", "fs-extra": "^11.2.0", "json-stringify-pretty-compact": "^4.0.0", + "mdat": "^0.7.4", "meow": "^13.2.0", "package-up": "^5.0.0", "tsx": "^4.19.0", diff --git a/packages/stylelint-config/init/.vscode/settings.json b/packages/stylelint-config/init/.vscode/settings.json index 4b3187b..f160be7 100644 --- a/packages/stylelint-config/init/.vscode/settings.json +++ b/packages/stylelint-config/init/.vscode/settings.json @@ -1,6 +1,6 @@ { "stylelint.enable": true, - "stylelint.validate": ["css", "html", "svelte", "astro"], + "stylelint.validate": ["css", "html", "svelte"], "editor.codeActionsOnSave": { "source.fixAll": "explicit" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 64c8507..3391545 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,6 +7,10 @@ settings: importers: .: + dependencies: + mdat: + specifier: ^0.7.4 + version: 0.7.4(typescript@5.5.4) devDependencies: '@envsa/cspell-config': specifier: workspace:* @@ -719,6 +723,9 @@ packages: '@fontsource/inter@5.0.20': resolution: {integrity: sha512-rtw2F7xfM7rJmmnncXnR4ADr5wXsp4GyN1O1jmQJ1PMjAK+bm620/ZkQkeOYOkGoa09OksGinOeMA+Mkt6K9PQ==} + '@fontsource/inter@5.0.21': + resolution: {integrity: sha512-Y4Ph0bYD5IfW8r9PSeiNjLvM6D/Bh5+YT9jOKiBqW3YS+AEBlmy8v74TpTNeZAvL3zHmikHCnzaKw7ob8LZiKQ==} + '@humanwhocodes/config-array@0.11.14': resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} @@ -759,6 +766,11 @@ packages: engines: {node: '>=18.0.0', pnpm: '>=9.0.0'} hasBin: true + '@kitschpatrol/tldraw-cli@4.6.14': + resolution: {integrity: sha512-ln3O8w/0ePXMZO9c2/fdepDbiYf3ZPdk8e+F9l4V77NA8tIH9z5IjEeRtwPrZwO8iE+RvsjOyTAsGvhB5GxbCQ==} + engines: {node: '>=18.0.0', pnpm: '>=9.0.0'} + hasBin: true + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -1055,6 +1067,10 @@ packages: resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + body-parser@1.20.3: + resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} @@ -1414,6 +1430,10 @@ packages: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} @@ -1642,6 +1662,10 @@ packages: resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} engines: {node: '>= 0.10.0'} + express@4.21.0: + resolution: {integrity: sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==} + engines: {node: '>= 0.10.0'} + extract-zip@2.0.1: resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} engines: {node: '>= 10.17.0'} @@ -1703,6 +1727,10 @@ packages: resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} engines: {node: '>= 0.8'} + finalhandler@1.3.1: + resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} + engines: {node: '>= 0.8'} + find-up-simple@1.0.0: resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==} engines: {node: '>=18'} @@ -2222,6 +2250,11 @@ packages: engines: {node: ^18.19.0 || >=20.5.0, pnpm: '>=9.0.0'} hasBin: true + mdat@0.7.4: + resolution: {integrity: sha512-CFfBLoKIUWO4yg69l/+dEMcMMBbSsPkNbmKhRNhaYHjhws9EtmSOTstFE8lxzPrRDvkf2ixdJ08tm2fVCZmG/w==} + engines: {node: ^18.19.0 || >=20.5.0, pnpm: '>=9.0.0'} + hasBin: true + mdn-data@2.0.30: resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} @@ -2236,6 +2269,9 @@ packages: merge-descriptors@1.0.1: resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + merge-descriptors@1.0.3: + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} + merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -2473,6 +2509,9 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + path-to-regexp@0.1.10: + resolution: {integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==} + path-to-regexp@0.1.7: resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} @@ -2715,6 +2754,10 @@ packages: resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} engines: {node: '>=0.6'} + qs@6.13.0: + resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} + engines: {node: '>=0.6'} + queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -2839,10 +2882,18 @@ packages: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} + send@0.19.0: + resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} + engines: {node: '>= 0.8.0'} + serve-static@1.15.0: resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} engines: {node: '>= 0.8.0'} + serve-static@1.16.2: + resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} + engines: {node: '>= 0.8.0'} + set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} @@ -3687,6 +3738,8 @@ snapshots: '@fontsource/inter@5.0.20': {} + '@fontsource/inter@5.0.21': {} + '@humanwhocodes/config-array@0.11.14': dependencies: '@humanwhocodes/object-schema': 2.0.3 @@ -3736,6 +3789,19 @@ snapshots: - typescript - utf-8-validate + '@kitschpatrol/tldraw-cli@4.6.14(typescript@5.5.4)': + dependencies: + '@fontsource/inter': 5.0.21 + express: 4.21.0 + puppeteer: 23.3.0(typescript@5.5.4) + uint8array-extras: 1.4.0 + yargs: 17.7.2 + transitivePeerDependencies: + - bufferutil + - supports-color + - typescript + - utf-8-validate + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -4092,6 +4158,23 @@ snapshots: transitivePeerDependencies: - supports-color + body-parser@1.20.3: + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.13.0 + raw-body: 2.5.2 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + brace-expansion@1.1.11: dependencies: balanced-match: 1.0.2 @@ -4498,6 +4581,8 @@ snapshots: encodeurl@1.0.2: {} + encodeurl@2.0.0: {} + end-of-stream@1.4.4: dependencies: once: 1.4.0 @@ -4917,6 +5002,42 @@ snapshots: transitivePeerDependencies: - supports-color + express@4.21.0: + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.3 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.6.0 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.3.1 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.3 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.10 + proxy-addr: 2.0.7 + qs: 6.13.0 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.19.0 + serve-static: 1.16.2 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + extract-zip@2.0.1: dependencies: debug: 4.3.7 @@ -4987,6 +5108,18 @@ snapshots: transitivePeerDependencies: - supports-color + finalhandler@1.3.1: + dependencies: + debug: 2.6.9 + encodeurl: 2.0.0 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.1 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + find-up-simple@1.0.0: {} find-up@4.1.0: @@ -5483,6 +5616,27 @@ snapshots: - typescript - utf-8-validate + mdat@0.7.4(typescript@5.5.4): + dependencies: + '@clack/prompts': 0.7.0 + '@kitschpatrol/tldraw-cli': 4.6.14(typescript@5.5.4) + '@types/mdast': 4.0.4 + '@types/node': 18.19.0 + '@types/unist': 3.0.3 + '@types/which': 3.0.4 + '@types/yargs': 17.0.33 + cosmiconfig: 9.0.0(typescript@5.5.4) + cosmiconfig-typescript-loader: 5.0.0(@types/node@18.19.0)(cosmiconfig@9.0.0(typescript@5.5.4))(typescript@5.5.4) + execa: 9.3.1 + globby: 14.0.2 + read-pkg: 9.0.1 + which: 4.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - typescript + - utf-8-validate + mdn-data@2.0.30: {} media-typer@0.3.0: {} @@ -5491,6 +5645,8 @@ snapshots: merge-descriptors@1.0.1: {} + merge-descriptors@1.0.3: {} + merge-stream@2.0.0: {} merge2@1.4.1: {} @@ -5720,6 +5876,8 @@ snapshots: path-parse@1.0.7: {} + path-to-regexp@0.1.10: {} + path-to-regexp@0.1.7: {} path-type@4.0.0: {} @@ -5907,6 +6065,10 @@ snapshots: dependencies: side-channel: 1.0.6 + qs@6.13.0: + dependencies: + side-channel: 1.0.6 + queue-microtask@1.2.3: {} queue-tick@1.0.1: {} @@ -6042,6 +6204,24 @@ snapshots: transitivePeerDependencies: - supports-color + send@0.19.0: + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + serve-static@1.15.0: dependencies: encodeurl: 1.0.2 @@ -6051,6 +6231,15 @@ snapshots: transitivePeerDependencies: - supports-color + serve-static@1.16.2: + dependencies: + encodeurl: 2.0.0 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.19.0 + transitivePeerDependencies: + - supports-color + set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 From dc722fb4646db3f35ae5d4e32bc19eb0a4ecb9d4 Mon Sep 17 00:00:00 2001 From: Liam Rella Date: Thu, 12 Sep 2024 10:31:55 +0930 Subject: [PATCH 22/23] updates --- .gitignore | 4 +- .prettierignore | 4 +- package.json | 1 + packages/prettier-config/init/.prettierignore | 4 +- packages/repo-config/init/.gitignore | 4 +- pnpm-lock.yaml | 466 +++++------------- 6 files changed, 126 insertions(+), 357 deletions(-) diff --git a/.gitignore b/.gitignore index 6ce93af..e224d55 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,8 @@ build/ coverage/ dist/ **/*.min.js -{tmp,temp,_junk}/ +tmp/ +temp/ +_junk/ # Customizations diff --git a/.prettierignore b/.prettierignore index 1acfd6f..e676370 100644 --- a/.prettierignore +++ b/.prettierignore @@ -13,7 +13,9 @@ build/ coverage/ dist/ **/*.min.js -{tmp,temp,_junk}/ +tmp/ +temp/ +_junk/ # @envsa/prettier-config boilerplate pnpm-lock.yaml diff --git a/package.json b/package.json index f3d8c60..8ac8468 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,7 @@ "fix": "pnpm shared-config --fix", "lint": "pnpm shared-config --lint", "merge-ignores": "ksdiff --merge ./packages/eslint-config/.eslintignore ./packages/stylelint-config/.stylelintignore", + "nuke": "rm -rf node_modules packages/*/node_modules pnpm-lock.yaml && pnpm install", "prepublishOnly": "pnpm run build", "release": "pnpm bumpp -r --commit 'Release: %s' --tag 'v%s' && pnpm -r publish --otp $(op read 'op://Personal/Npmjs/one-time password?attribute=otp')" }, diff --git a/packages/prettier-config/init/.prettierignore b/packages/prettier-config/init/.prettierignore index 699a878..cf355c0 100644 --- a/packages/prettier-config/init/.prettierignore +++ b/packages/prettier-config/init/.prettierignore @@ -13,7 +13,9 @@ build/ coverage/ dist/ **/*.min.js -{tmp,temp,_junk}/ +tmp/ +temp/ +_junk/ # @envsa/prettier-config boilerplate pnpm-lock.yaml diff --git a/packages/repo-config/init/.gitignore b/packages/repo-config/init/.gitignore index 6ce93af..e224d55 100644 --- a/packages/repo-config/init/.gitignore +++ b/packages/repo-config/init/.gitignore @@ -13,6 +13,8 @@ build/ coverage/ dist/ **/*.min.js -{tmp,temp,_junk}/ +tmp/ +temp/ +_junk/ # Customizations diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3391545..355a27e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,10 +7,6 @@ settings: importers: .: - dependencies: - mdat: - specifier: ^0.7.4 - version: 0.7.4(typescript@5.5.4) devDependencies: '@envsa/cspell-config': specifier: workspace:* @@ -66,6 +62,9 @@ importers: json-stringify-pretty-compact: specifier: ^4.0.0 version: 4.0.0 + mdat: + specifier: ^0.7.4 + version: 0.7.4(typescript@5.5.4) meow: specifier: ^13.2.0 version: 13.2.0 @@ -122,10 +121,10 @@ importers: version: 9.1.0(eslint@8.57.0) eslint-import-resolver-alias: specifier: ^1.1.2 - version: 1.1.2(eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0)) + version: 1.1.2(eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0)) eslint-import-resolver-typescript: specifier: ^3.6.3 - version: 3.6.3(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import-x@4.2.1(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.30.0)(eslint@8.57.0) + version: 3.6.3(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import-x@4.2.1(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.30.0)(eslint@8.57.0) eslint-plugin-import-x: specifier: ^4.2.1 version: 4.2.1(eslint@8.57.0)(typescript@5.5.4) @@ -149,7 +148,7 @@ importers: version: 15.9.0 typescript-eslint: specifier: ^8.4.0 - version: 8.4.0(eslint@8.57.0)(typescript@5.5.4) + version: 8.5.0(eslint@8.57.0)(typescript@5.5.4) packages/mdat-config: dependencies: @@ -167,7 +166,7 @@ importers: version: 11.2.0 mdat: specifier: ^0.7.1 - version: 0.7.3(typescript@5.5.4) + version: 0.7.4(typescript@5.5.4) packages/prettier-config: dependencies: @@ -203,7 +202,7 @@ importers: version: 3.2.6(prettier@3.3.3)(svelte@4.2.19) prettier-plugin-tailwindcss: specifier: ^0.6.2 - version: 0.6.6(prettier-plugin-astro@0.14.1)(prettier-plugin-organize-imports@4.0.0(prettier@3.3.3)(typescript@5.5.4))(prettier-plugin-svelte@3.2.6(prettier@3.3.3)(svelte@4.2.19))(prettier@3.3.3) + version: 0.6.6(prettier-plugin-svelte@3.2.6(prettier@3.3.3)(svelte@4.2.19))(prettier@3.3.3) packages/repo-config: dependencies: @@ -296,9 +295,6 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@astrojs/compiler@2.10.3': - resolution: {integrity: sha512-bL/O7YBxsFt55YHU021oL+xz+B/9HvGNId3F9xURN16aeqDK9juHGktdkCSXz+U4nqFACq6ZFvWomOzhV+zfPw==} - '@babel/code-frame@7.24.7': resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} @@ -720,9 +716,6 @@ packages: resolution: {integrity: sha512-fuXtbiP5GWIn8Fz+LWoOMVf/Jxm+aajZYkhi6CuEm4SxymFM+eUWzbO9qXT+L0iCkL5+KGYMCSGxo686H19S1g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@fontsource/inter@5.0.20': - resolution: {integrity: sha512-rtw2F7xfM7rJmmnncXnR4ADr5wXsp4GyN1O1jmQJ1PMjAK+bm620/ZkQkeOYOkGoa09OksGinOeMA+Mkt6K9PQ==} - '@fontsource/inter@5.0.21': resolution: {integrity: sha512-Y4Ph0bYD5IfW8r9PSeiNjLvM6D/Bh5+YT9jOKiBqW3YS+AEBlmy8v74TpTNeZAvL3zHmikHCnzaKw7ob8LZiKQ==} @@ -761,11 +754,6 @@ packages: resolution: {integrity: sha512-f5DRIOZf7wxogefH03RjMPMdBF7ADTWUMoOs9kaJo06EfwF+aFhMZMDZxHg/Xe12hptN9xoZjGso2fdjapBRIA==} engines: {node: '>=10'} - '@kitschpatrol/tldraw-cli@4.6.12': - resolution: {integrity: sha512-qI2Qm2C7JtvXrOn/QDcm0+jbILmcc0R3heiWqTqN6COPQqMfQ+eILSPiaymfAL2Ho2guJMF3lpbrdN96A2T56w==} - engines: {node: '>=18.0.0', pnpm: '>=9.0.0'} - hasBin: true - '@kitschpatrol/tldraw-cli@4.6.14': resolution: {integrity: sha512-ln3O8w/0ePXMZO9c2/fdepDbiYf3ZPdk8e+F9l4V77NA8tIH9z5IjEeRtwPrZwO8iE+RvsjOyTAsGvhB5GxbCQ==} engines: {node: '>=18.0.0', pnpm: '>=9.0.0'} @@ -865,8 +853,8 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@8.4.0': - resolution: {integrity: sha512-rg8LGdv7ri3oAlenMACk9e+AR4wUV0yrrG+XKsGKOK0EVgeEDqurkXMPILG2836fW4ibokTB5v4b6Z9+GYQDEw==} + '@typescript-eslint/eslint-plugin@8.5.0': + resolution: {integrity: sha512-lHS5hvz33iUFQKuPFGheAB84LwcJ60G8vKnEhnfcK1l8kGVLro2SFYW6K0/tj8FUhRJ0VHyg1oAfg50QGbPPHw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 @@ -876,8 +864,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@8.4.0': - resolution: {integrity: sha512-NHgWmKSgJk5K9N16GIhQ4jSobBoJwrmURaLErad0qlLjrpP5bECYg+wxVTGlGZmJbU03jj/dfnb6V9bw+5icsA==} + '@typescript-eslint/parser@8.5.0': + resolution: {integrity: sha512-gF77eNv0Xz2UJg/NbpWJ0kqAm35UMsvZf1GHj8D9MRFTj/V3tAciIWXfmPLsAAF/vUlpWPvUDyH1jjsr0cMVWw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -886,12 +874,12 @@ packages: typescript: optional: true - '@typescript-eslint/scope-manager@8.4.0': - resolution: {integrity: sha512-n2jFxLeY0JmKfUqy3P70rs6vdoPjHK8P/w+zJcV3fk0b0BwRXC/zxRTEnAsgYT7MwdQDt/ZEbtdzdVC+hcpF0A==} + '@typescript-eslint/scope-manager@8.5.0': + resolution: {integrity: sha512-06JOQ9Qgj33yvBEx6tpC8ecP9o860rsR22hWMEd12WcTRrfaFgHr2RB/CA/B+7BMhHkXT4chg2MyboGdFGawYg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.4.0': - resolution: {integrity: sha512-pu2PAmNrl9KX6TtirVOrbLPLwDmASpZhK/XU7WvoKoCUkdtq9zF7qQ7gna0GBZFN0hci0vHaSusiL2WpsQk37A==} + '@typescript-eslint/type-utils@8.5.0': + resolution: {integrity: sha512-N1K8Ix+lUM+cIDhL2uekVn/ZD7TZW+9/rwz8DclQpcQ9rk4sIL5CAlBC0CugWKREmDjBzI/kQqU4wkg46jWLYA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -899,12 +887,12 @@ packages: typescript: optional: true - '@typescript-eslint/types@8.4.0': - resolution: {integrity: sha512-T1RB3KQdskh9t3v/qv7niK6P8yvn7ja1mS7QK7XfRVL6wtZ8/mFs/FHf4fKvTA0rKnqnYxl/uHFNbnEt0phgbw==} + '@typescript-eslint/types@8.5.0': + resolution: {integrity: sha512-qjkormnQS5wF9pjSi6q60bKUHH44j2APxfh9TQRXK8wbYVeDYYdYJGIROL87LGZZ2gz3Rbmjc736qyL8deVtdw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.4.0': - resolution: {integrity: sha512-kJ2OIP4dQw5gdI4uXsaxUZHRwWAGpREJ9Zq6D5L0BweyOrWsL6Sz0YcAZGWhvKnH7fm1J5YFE1JrQL0c9dd53A==} + '@typescript-eslint/typescript-estree@8.5.0': + resolution: {integrity: sha512-vEG2Sf9P8BPQ+d0pxdfndw3xIXaoSjliG0/Ejk7UggByZPKXmJmw3GW5jV2gHNQNawBUyfahoSiCFVov0Ruf7Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -912,14 +900,14 @@ packages: typescript: optional: true - '@typescript-eslint/utils@8.4.0': - resolution: {integrity: sha512-swULW8n1IKLjRAgciCkTCafyTHHfwVQFt8DovmaF69sKbOxTSFMmIZaSHjqO9i/RV0wIblaawhzvtva8Nmm7lQ==} + '@typescript-eslint/utils@8.5.0': + resolution: {integrity: sha512-6yyGYVL0e+VzGYp60wvkBHiqDWOpT63pdMV2CVG4LVDd5uR6q1qQN/7LafBZtAtNIn/mqXjsSeS5ggv/P0iECw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - '@typescript-eslint/visitor-keys@8.4.0': - resolution: {integrity: sha512-zTQD6WLNTre1hj5wp09nBIDiOc2U5r/qmzo7wxPn4ZgAjHql09EofqhF9WF+fZHzL5aCyaIpPcT2hyxl73kr9A==} + '@typescript-eslint/visitor-keys@8.5.0': + resolution: {integrity: sha512-yTPqMnbAZJNy2Xq2XU8AdtOW9tJIr+UQb64aXB9f3B1498Zx9JorVgFJcZpEc9UBuCCrdzKID2RGAMkYcDtZOw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.2.0': @@ -956,8 +944,8 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} engines: {node: '>=12'} ansi-styles@3.2.1: @@ -1040,17 +1028,17 @@ packages: bare-events@2.4.2: resolution: {integrity: sha512-qMKFd2qG/36aA4GwvKq8MxnPgCQAmBWmSyLWsJcbn8v03wvIPQ/hG1Ms8bPzndZxMDoHpxez5VOS+gC9Yi24/Q==} - bare-fs@2.3.3: - resolution: {integrity: sha512-7RYKL+vZVCyAsMLi5SPu7QGauGGT8avnP/HO571ndEuV4MYdGXvLhtW67FuLPeEI8EiIY7zbbRR9x7x7HU0kgw==} + bare-fs@2.3.4: + resolution: {integrity: sha512-7YyxitZEq0ey5loOF5gdo1fZQFF7290GziT+VbAJ+JbYTJYaPZwuEz2r/Nq23sm4fjyTgUf2uJI2gkT3xAuSYA==} - bare-os@2.4.2: - resolution: {integrity: sha512-HZoJwzC+rZ9lqEemTMiO0luOePoGYNBgsLLgegKR/cljiJvcDNhDZQkzC+NC5Oh0aHbdBNSOHpghwMuB5tqhjg==} + bare-os@2.4.3: + resolution: {integrity: sha512-FjkNiU3AwTQNQkcxFOmDcCfoN1LjjtU+ofGJh5DymZZLTqdw2i/CzV7G0h3snvh6G8jrWtdmNSgZPH4L2VOAsQ==} bare-path@2.1.3: resolution: {integrity: sha512-lh/eITfU8hrj9Ru5quUp0Io1kJWIk1bTjzo7JH1P5dWmQ2EL4hFUlfI8FonAhSlgIfhn63p84CDY/x+PisgcXA==} - bare-stream@2.2.1: - resolution: {integrity: sha512-YTB47kHwBW9zSG8LD77MIBAAQXjU2WjAkMHeeb7hUplVs6+IoM5I7uEVQNPMB7lj9r8I76UMdoMkGnCodHOLqg==} + bare-stream@2.3.0: + resolution: {integrity: sha512-pVRWciewGUeCyKEuRxwv06M079r+fRjAQjBEK2P6OYGrO43O+Z0LrPZZEjlc4mB6C2RpZ9AxJ1s7NLEtOHO6eA==} base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} @@ -1063,10 +1051,6 @@ packages: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - body-parser@1.20.2: - resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - body-parser@1.20.3: resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -1132,8 +1116,8 @@ packages: resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} engines: {node: '>=16'} - caniuse-lite@1.0.30001658: - resolution: {integrity: sha512-N2YVqWbJELVdrnsW5p+apoQyYt51aBMSsBZki1XZEfeBCexcM/sf4xiAHcXQBkuOwJBXtWF7aW1sYX6tKebPHw==} + caniuse-lite@1.0.30001660: + resolution: {integrity: sha512-GacvNTTuATm26qC74pt+ad1fW15mlQ/zuTzzY1ZoIzECTP8HURDfF43kNxPgf7H1jmelCBQTTbBNxdSXOA7Bqg==} chalk-template@1.1.0: resolution: {integrity: sha512-T2VJbcDuZQ0Tb2EWwSotMPJjgpy1/tGee1BTpUNsGZ/qgNjV2t7Mvu+d4600U564nbLesN1x2dPL+xii174Ekg==} @@ -1420,8 +1404,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.18: - resolution: {integrity: sha512-1OfuVACu+zKlmjsNdcJuVQuVE61sZOLbNM4JAQ1Rvh6EOj0/EUKhMJjRH73InPlXSh8HIJk1cVZ8pyOV/FMdUQ==} + electron-to-chromium@1.5.20: + resolution: {integrity: sha512-74mdl6Fs1HHzK9SUX4CKFxAtAe3nUns48y79TskHNAG6fGOlLfyKA4j855x+0b5u8rWJIrlaG9tcTPstMlwjIw==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -1658,10 +1642,6 @@ packages: resolution: {integrity: sha512-gdhefCCNy/8tpH/2+ajP9IQc14vXchNdd0weyzSJEFURhRMGncQ+zKFxwjAufIewPEJm9BPOaJnvg2UtlH2gPQ==} engines: {node: ^18.19.0 || >=20.5.0} - express@4.19.2: - resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} - engines: {node: '>= 0.10.0'} - express@4.21.0: resolution: {integrity: sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==} engines: {node: '>= 0.10.0'} @@ -1723,10 +1703,6 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - finalhandler@1.2.0: - resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} - engines: {node: '>= 0.8'} - finalhandler@1.3.1: resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} engines: {node: '>= 0.8'} @@ -2119,8 +2095,8 @@ packages: resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} engines: {node: '>= 0.4'} - is-unicode-supported@2.0.0: - resolution: {integrity: sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==} + is-unicode-supported@2.1.0: + resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} engines: {node: '>=18'} is-weakref@1.0.2: @@ -2245,11 +2221,6 @@ packages: mathml-tag-names@2.1.3: resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==} - mdat@0.7.3: - resolution: {integrity: sha512-RhLaVgYiOBsqaHtW9PfNS9Wgnws8rNFHc77ptSRnFK3989OAHCd1R7tMBMIV93+ThJGW7J+P/RoSwUvOj9rm9w==} - engines: {node: ^18.19.0 || >=20.5.0, pnpm: '>=9.0.0'} - hasBin: true - mdat@0.7.4: resolution: {integrity: sha512-CFfBLoKIUWO4yg69l/+dEMcMMBbSsPkNbmKhRNhaYHjhws9EtmSOTstFE8lxzPrRDvkf2ixdJ08tm2fVCZmG/w==} engines: {node: ^18.19.0 || >=20.5.0, pnpm: '>=9.0.0'} @@ -2266,9 +2237,6 @@ packages: resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} engines: {node: '>=18'} - merge-descriptors@1.0.1: - resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} - merge-descriptors@1.0.3: resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} @@ -2512,9 +2480,6 @@ packages: path-to-regexp@0.1.10: resolution: {integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==} - path-to-regexp@0.1.7: - resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} - path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} @@ -2616,23 +2581,6 @@ packages: resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} engines: {node: '>=6.0.0'} - prettier-plugin-astro@0.14.1: - resolution: {integrity: sha512-RiBETaaP9veVstE4vUwSIcdATj6dKmXljouXc/DDNwBSPTp8FRkLGDSGFClKsAFeeg+13SB0Z1JZvbD76bigJw==} - engines: {node: ^14.15.0 || >=16.0.0} - - prettier-plugin-organize-imports@4.0.0: - resolution: {integrity: sha512-vnKSdgv9aOlqKeEFGhf9SCBsTyzDSyScy1k7E0R1Uo4L0cTcOV7c1XQaT7jfXIOc/p08WLBfN2QUQA9zDSZMxA==} - peerDependencies: - '@vue/language-plugin-pug': ^2.0.24 - prettier: '>=2.0' - typescript: '>=2.9' - vue-tsc: ^2.0.24 - peerDependenciesMeta: - '@vue/language-plugin-pug': - optional: true - vue-tsc: - optional: true - prettier-plugin-pkg@0.18.1: resolution: {integrity: sha512-FuUxvsYZR/8rsLH8s/jbPQmgYvv0yxW8LoIHCy6+Q7p4FBjjdP3DNKx8fMTOsc0SlEB1skB4o1LcahRceIh87A==} engines: {node: ^14.18.0 || >=16.0.0} @@ -2734,8 +2682,8 @@ packages: proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + pump@3.0.2: + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} @@ -2750,10 +2698,6 @@ packages: engines: {node: '>=18'} hasBin: true - qs@6.11.0: - resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} - engines: {node: '>=0.6'} - qs@6.13.0: resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} engines: {node: '>=0.6'} @@ -2845,9 +2789,6 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - s.color@0.0.15: - resolution: {integrity: sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA==} - safe-array-concat@1.1.2: resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} engines: {node: '>=0.4'} @@ -2862,9 +2803,6 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sass-formatter@0.7.9: - resolution: {integrity: sha512-CWZ8XiSim+fJVG0cFLStwDvft1VI7uvXdCNJYXhDvowiv+DsbD1nXLiQ4zrE5UBvj5DWZJ93cwN0NX5PMsr1Pw==} - semver@5.7.2: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true @@ -2878,18 +2816,10 @@ packages: engines: {node: '>=10'} hasBin: true - send@0.18.0: - resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} - engines: {node: '>= 0.8.0'} - send@0.19.0: resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} engines: {node: '>= 0.8.0'} - serve-static@1.15.0: - resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} - engines: {node: '>= 0.8.0'} - serve-static@1.16.2: resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} engines: {node: '>= 0.8.0'} @@ -2952,8 +2882,8 @@ packages: resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} - source-map-js@1.2.0: - resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} source-map@0.6.1: @@ -3085,9 +3015,6 @@ packages: engines: {node: '>=18.12.0'} hasBin: true - suf-log@2.5.3: - resolution: {integrity: sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==} - supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -3196,8 +3123,8 @@ packages: resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} engines: {node: '>=8'} - type-fest@4.26.0: - resolution: {integrity: sha512-OduNjVJsFbifKb57UqZ2EMP1i4u64Xwow3NYXUtBbD4vIwJdQd4+xl8YDou1dlm4DVrtwT/7Ky8z8WyCULVfxw==} + type-fest@4.26.1: + resolution: {integrity: sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==} engines: {node: '>=16'} type-is@1.6.18: @@ -3223,8 +3150,8 @@ packages: typed-query-selector@2.12.0: resolution: {integrity: sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg==} - typescript-eslint@8.4.0: - resolution: {integrity: sha512-67qoc3zQZe3CAkO0ua17+7aCLI0dU+sSQd1eKPGq06QE4rfQjstVXR6woHO5qQvGUa550NfGckT4tzh3b3c8Pw==} + typescript-eslint@8.5.0: + resolution: {integrity: sha512-uD+XxEoSIvqtm4KE97etm32Tn5MfaZWgWfMMREStLxR6JzvHkc2Tkj7zhTEK5XmtpTmKHNnG8Sot6qDfhHtR1Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -3397,9 +3324,6 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - '@astrojs/compiler@2.10.3': - optional: true - '@babel/code-frame@7.24.7': dependencies: '@babel/highlight': 7.24.7 @@ -3736,8 +3660,6 @@ snapshots: '@eslint/js@9.10.0': {} - '@fontsource/inter@5.0.20': {} - '@fontsource/inter@5.0.21': {} '@humanwhocodes/config-array@0.11.14': @@ -3776,19 +3698,6 @@ snapshots: string-argv: 0.3.2 type-detect: 4.1.0 - '@kitschpatrol/tldraw-cli@4.6.12(typescript@5.5.4)': - dependencies: - '@fontsource/inter': 5.0.20 - express: 4.19.2 - puppeteer: 23.3.0(typescript@5.5.4) - uint8array-extras: 1.4.0 - yargs: 17.7.2 - transitivePeerDependencies: - - bufferutil - - supports-color - - typescript - - utf-8-validate - '@kitschpatrol/tldraw-cli@4.6.14(typescript@5.5.4)': dependencies: '@fontsource/inter': 5.0.21 @@ -3898,14 +3807,14 @@ snapshots: '@types/node': 20.16.5 optional: true - '@typescript-eslint/eslint-plugin@8.4.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/eslint-plugin@8.5.0(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4)': dependencies: '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 8.4.0(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/scope-manager': 8.4.0 - '@typescript-eslint/type-utils': 8.4.0(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/utils': 8.4.0(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/visitor-keys': 8.4.0 + '@typescript-eslint/parser': 8.5.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/scope-manager': 8.5.0 + '@typescript-eslint/type-utils': 8.5.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/utils': 8.5.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 8.5.0 eslint: 8.57.0 graphemer: 1.4.0 ignore: 5.3.2 @@ -3916,12 +3825,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4)': dependencies: - '@typescript-eslint/scope-manager': 8.4.0 - '@typescript-eslint/types': 8.4.0 - '@typescript-eslint/typescript-estree': 8.4.0(typescript@5.5.4) - '@typescript-eslint/visitor-keys': 8.4.0 + '@typescript-eslint/scope-manager': 8.5.0 + '@typescript-eslint/types': 8.5.0 + '@typescript-eslint/typescript-estree': 8.5.0(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 8.5.0 debug: 4.3.7 eslint: 8.57.0 optionalDependencies: @@ -3929,15 +3838,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.4.0': + '@typescript-eslint/scope-manager@8.5.0': dependencies: - '@typescript-eslint/types': 8.4.0 - '@typescript-eslint/visitor-keys': 8.4.0 + '@typescript-eslint/types': 8.5.0 + '@typescript-eslint/visitor-keys': 8.5.0 - '@typescript-eslint/type-utils@8.4.0(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/type-utils@8.5.0(eslint@8.57.0)(typescript@5.5.4)': dependencies: - '@typescript-eslint/typescript-estree': 8.4.0(typescript@5.5.4) - '@typescript-eslint/utils': 8.4.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/typescript-estree': 8.5.0(typescript@5.5.4) + '@typescript-eslint/utils': 8.5.0(eslint@8.57.0)(typescript@5.5.4) debug: 4.3.7 ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: @@ -3946,12 +3855,12 @@ snapshots: - eslint - supports-color - '@typescript-eslint/types@8.4.0': {} + '@typescript-eslint/types@8.5.0': {} - '@typescript-eslint/typescript-estree@8.4.0(typescript@5.5.4)': + '@typescript-eslint/typescript-estree@8.5.0(typescript@5.5.4)': dependencies: - '@typescript-eslint/types': 8.4.0 - '@typescript-eslint/visitor-keys': 8.4.0 + '@typescript-eslint/types': 8.5.0 + '@typescript-eslint/visitor-keys': 8.5.0 debug: 4.3.7 fast-glob: 3.3.2 is-glob: 4.0.3 @@ -3963,20 +3872,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.4.0(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/utils@8.5.0(eslint@8.57.0)(typescript@5.5.4)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@typescript-eslint/scope-manager': 8.4.0 - '@typescript-eslint/types': 8.4.0 - '@typescript-eslint/typescript-estree': 8.4.0(typescript@5.5.4) + '@typescript-eslint/scope-manager': 8.5.0 + '@typescript-eslint/types': 8.5.0 + '@typescript-eslint/typescript-estree': 8.5.0(typescript@5.5.4) eslint: 8.57.0 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/visitor-keys@8.4.0': + '@typescript-eslint/visitor-keys@8.5.0': dependencies: - '@typescript-eslint/types': 8.4.0 + '@typescript-eslint/types': 8.5.0 eslint-visitor-keys: 3.4.3 '@ungap/structured-clone@1.2.0': {} @@ -4018,7 +3927,7 @@ snapshots: ansi-regex@5.0.1: {} - ansi-regex@6.0.1: {} + ansi-regex@6.1.0: {} ansi-styles@3.2.1: dependencies: @@ -4114,22 +4023,22 @@ snapshots: bare-events@2.4.2: optional: true - bare-fs@2.3.3: + bare-fs@2.3.4: dependencies: bare-events: 2.4.2 bare-path: 2.1.3 - bare-stream: 2.2.1 + bare-stream: 2.3.0 optional: true - bare-os@2.4.2: + bare-os@2.4.3: optional: true bare-path@2.1.3: dependencies: - bare-os: 2.4.2 + bare-os: 2.4.3 optional: true - bare-stream@2.2.1: + bare-stream@2.3.0: dependencies: b4a: 1.6.6 streamx: 2.20.0 @@ -4141,23 +4050,6 @@ snapshots: binary-extensions@2.3.0: {} - body-parser@1.20.2: - dependencies: - bytes: 3.1.2 - content-type: 1.0.5 - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - on-finished: 2.4.1 - qs: 6.11.0 - raw-body: 2.5.2 - type-is: 1.6.18 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - body-parser@1.20.3: dependencies: bytes: 3.1.2 @@ -4190,8 +4082,8 @@ snapshots: browserslist@4.23.3: dependencies: - caniuse-lite: 1.0.30001658 - electron-to-chromium: 1.5.18 + caniuse-lite: 1.0.30001660 + electron-to-chromium: 1.5.20 node-releases: 2.0.18 update-browserslist-db: 1.1.0(browserslist@4.23.3) @@ -4251,7 +4143,7 @@ snapshots: camelcase@8.0.0: {} - caniuse-lite@1.0.30001658: {} + caniuse-lite@1.0.30001660: {} chalk-template@1.1.0: dependencies: @@ -4489,7 +4381,7 @@ snapshots: css-tree@2.3.1: dependencies: mdn-data: 2.0.30 - source-map-js: 1.2.0 + source-map-js: 1.2.1 cssesc@3.0.0: {} @@ -4575,7 +4467,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.18: {} + electron-to-chromium@1.5.20: {} emoji-regex@8.0.0: {} @@ -4727,9 +4619,9 @@ snapshots: dependencies: eslint: 8.57.0 - eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0)): + eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0)): dependencies: - eslint-plugin-import: 2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0) + eslint-plugin-import: 2.30.0(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0) eslint-import-resolver-node@0.3.9: dependencies: @@ -4739,19 +4631,19 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import-x@4.2.1(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.30.0)(eslint@8.57.0): + eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import-x@4.2.1(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.30.0)(eslint@8.57.0): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.3.7 enhanced-resolve: 5.17.1 eslint: 8.57.0 - eslint-module-utils: 2.11.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import-x@4.2.1(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.30.0)(eslint@8.57.0))(eslint@8.57.0) + eslint-module-utils: 2.11.0(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import-x@4.2.1(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.30.0)(eslint@8.57.0))(eslint@8.57.0) fast-glob: 3.3.2 get-tsconfig: 4.8.0 is-bun-module: 1.2.1 is-glob: 4.0.3 optionalDependencies: - eslint-plugin-import: 2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0) + eslint-plugin-import: 2.30.0(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0) eslint-plugin-import-x: 4.2.1(eslint@8.57.0)(typescript@5.5.4) transitivePeerDependencies: - '@typescript-eslint/parser' @@ -4759,20 +4651,20 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-module-utils@2.11.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import-x@4.2.1(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.30.0)(eslint@8.57.0))(eslint@8.57.0): + eslint-module-utils@2.11.0(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import-x@4.2.1(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.30.0)(eslint@8.57.0))(eslint@8.57.0): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.4.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/parser': 8.5.0(eslint@8.57.0)(typescript@5.5.4) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import-x@4.2.1(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.30.0)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import-x@4.2.1(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.30.0)(eslint@8.57.0) transitivePeerDependencies: - supports-color eslint-plugin-import-x@4.2.1(eslint@8.57.0)(typescript@5.5.4): dependencies: - '@typescript-eslint/utils': 8.4.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/utils': 8.5.0(eslint@8.57.0)(typescript@5.5.4) debug: 4.3.7 doctrine: 3.0.0 eslint: 8.57.0 @@ -4787,7 +4679,7 @@ snapshots: - supports-color - typescript - eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0): + eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -4798,7 +4690,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.11.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import-x@4.2.1(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.30.0)(eslint@8.57.0))(eslint@8.57.0) + eslint-module-utils: 2.11.0(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import-x@4.2.1(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.30.0)(eslint@8.57.0))(eslint@8.57.0) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -4809,7 +4701,7 @@ snapshots: semver: 6.3.1 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.4.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/parser': 8.5.0(eslint@8.57.0)(typescript@5.5.4) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -4966,42 +4858,6 @@ snapshots: strip-final-newline: 4.0.0 yoctocolors: 2.1.1 - express@4.19.2: - dependencies: - accepts: 1.3.8 - array-flatten: 1.1.1 - body-parser: 1.20.2 - content-disposition: 0.5.4 - content-type: 1.0.5 - cookie: 0.6.0 - cookie-signature: 1.0.6 - debug: 2.6.9 - depd: 2.0.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 1.2.0 - fresh: 0.5.2 - http-errors: 2.0.0 - merge-descriptors: 1.0.1 - methods: 1.1.2 - on-finished: 2.4.1 - parseurl: 1.3.3 - path-to-regexp: 0.1.7 - proxy-addr: 2.0.7 - qs: 6.11.0 - range-parser: 1.2.1 - safe-buffer: 5.2.1 - send: 0.18.0 - serve-static: 1.15.0 - setprototypeof: 1.2.0 - statuses: 2.0.1 - type-is: 1.6.18 - utils-merge: 1.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - express@4.21.0: dependencies: accepts: 1.3.8 @@ -5082,7 +4938,7 @@ snapshots: figures@6.1.0: dependencies: - is-unicode-supported: 2.0.0 + is-unicode-supported: 2.1.0 file-entry-cache@6.0.1: dependencies: @@ -5096,18 +4952,6 @@ snapshots: dependencies: to-regex-range: 5.0.1 - finalhandler@1.2.0: - dependencies: - debug: 2.6.9 - encodeurl: 1.0.2 - escape-html: 1.0.3 - on-finished: 2.4.1 - parseurl: 1.3.3 - statuses: 2.0.1 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - finalhandler@1.3.1: dependencies: debug: 2.6.9 @@ -5195,7 +5039,7 @@ snapshots: get-stream@5.2.0: dependencies: - pump: 3.0.0 + pump: 3.0.2 get-stream@8.0.1: {} @@ -5500,7 +5344,7 @@ snapshots: dependencies: which-typed-array: 1.1.15 - is-unicode-supported@2.0.0: {} + is-unicode-supported@2.1.0: {} is-weakref@1.0.2: dependencies: @@ -5595,27 +5439,6 @@ snapshots: mathml-tag-names@2.1.3: {} - mdat@0.7.3(typescript@5.5.4): - dependencies: - '@clack/prompts': 0.7.0 - '@kitschpatrol/tldraw-cli': 4.6.12(typescript@5.5.4) - '@types/mdast': 4.0.4 - '@types/node': 18.19.0 - '@types/unist': 3.0.3 - '@types/which': 3.0.4 - '@types/yargs': 17.0.33 - cosmiconfig: 9.0.0(typescript@5.5.4) - cosmiconfig-typescript-loader: 5.0.0(@types/node@18.19.0)(cosmiconfig@9.0.0(typescript@5.5.4))(typescript@5.5.4) - execa: 9.3.1 - globby: 14.0.2 - read-pkg: 9.0.1 - which: 4.0.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - typescript - - utf-8-validate - mdat@0.7.4(typescript@5.5.4): dependencies: '@clack/prompts': 0.7.0 @@ -5643,8 +5466,6 @@ snapshots: meow@13.2.0: {} - merge-descriptors@1.0.1: {} - merge-descriptors@1.0.3: {} merge-stream@2.0.0: {} @@ -5860,7 +5681,7 @@ snapshots: dependencies: '@babel/code-frame': 7.24.7 index-to-position: 0.1.2 - type-fest: 4.26.0 + type-fest: 4.26.1 parse-ms@4.0.0: {} @@ -5878,8 +5699,6 @@ snapshots: path-to-regexp@0.1.10: {} - path-to-regexp@0.1.7: {} - path-type@4.0.0: {} path-type@5.0.0: {} @@ -5950,7 +5769,7 @@ snapshots: dependencies: nanoid: 3.3.7 picocolors: 1.1.0 - source-map-js: 1.2.0 + source-map-js: 1.2.1 prelude-ls@1.2.1: {} @@ -5958,19 +5777,6 @@ snapshots: dependencies: fast-diff: 1.3.0 - prettier-plugin-astro@0.14.1: - dependencies: - '@astrojs/compiler': 2.10.3 - prettier: 3.3.3 - sass-formatter: 0.7.9 - optional: true - - prettier-plugin-organize-imports@4.0.0(prettier@3.3.3)(typescript@5.5.4): - dependencies: - prettier: 3.3.3 - typescript: 5.5.4 - optional: true - prettier-plugin-pkg@0.18.1(prettier@3.3.3): dependencies: prettier: 3.3.3 @@ -5986,12 +5792,10 @@ snapshots: prettier: 3.3.3 svelte: 4.2.19 - prettier-plugin-tailwindcss@0.6.6(prettier-plugin-astro@0.14.1)(prettier-plugin-organize-imports@4.0.0(prettier@3.3.3)(typescript@5.5.4))(prettier-plugin-svelte@3.2.6(prettier@3.3.3)(svelte@4.2.19))(prettier@3.3.3): + prettier-plugin-tailwindcss@0.6.6(prettier-plugin-svelte@3.2.6(prettier@3.3.3)(svelte@4.2.19))(prettier@3.3.3): dependencies: prettier: 3.3.3 optionalDependencies: - prettier-plugin-astro: 0.14.1 - prettier-plugin-organize-imports: 4.0.0(prettier@3.3.3)(typescript@5.5.4) prettier-plugin-svelte: 3.2.6(prettier@3.3.3)(svelte@4.2.19) prettier@3.3.3: {} @@ -6027,7 +5831,7 @@ snapshots: proxy-from-env@1.1.0: {} - pump@3.0.0: + pump@3.0.2: dependencies: end-of-stream: 1.4.4 once: 1.4.0 @@ -6061,10 +5865,6 @@ snapshots: - typescript - utf-8-validate - qs@6.11.0: - dependencies: - side-channel: 1.0.6 - qs@6.13.0: dependencies: side-channel: 1.0.6 @@ -6105,7 +5905,7 @@ snapshots: '@types/normalize-package-data': 2.4.4 normalize-package-data: 6.0.2 parse-json: 8.1.0 - type-fest: 4.26.0 + type-fest: 4.26.1 unicorn-magic: 0.1.0 readdirp@3.6.0: @@ -6155,9 +5955,6 @@ snapshots: dependencies: queue-microtask: 1.2.3 - s.color@0.0.15: - optional: true - safe-array-concat@1.1.2: dependencies: call-bind: 1.0.7 @@ -6175,35 +5972,12 @@ snapshots: safer-buffer@2.1.2: {} - sass-formatter@0.7.9: - dependencies: - suf-log: 2.5.3 - optional: true - semver@5.7.2: {} semver@6.3.1: {} semver@7.6.3: {} - send@0.18.0: - dependencies: - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 0.5.2 - http-errors: 2.0.0 - mime: 1.6.0 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color - send@0.19.0: dependencies: debug: 2.6.9 @@ -6222,15 +5996,6 @@ snapshots: transitivePeerDependencies: - supports-color - serve-static@1.15.0: - dependencies: - encodeurl: 1.0.2 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 0.18.0 - transitivePeerDependencies: - - supports-color - serve-static@1.16.2: dependencies: encodeurl: 2.0.0 @@ -6304,7 +6069,7 @@ snapshots: ip-address: 9.0.5 smart-buffer: 4.2.0 - source-map-js@1.2.0: {} + source-map-js@1.2.1: {} source-map@0.6.1: optional: true @@ -6370,7 +6135,7 @@ snapshots: strip-ansi@7.1.0: dependencies: - ansi-regex: 6.0.1 + ansi-regex: 6.1.0 strip-bom@3.0.0: {} @@ -6477,11 +6242,6 @@ snapshots: - supports-color - typescript - suf-log@2.5.3: - dependencies: - s.color: 0.0.15 - optional: true - supports-color@5.5.0: dependencies: has-flag: 3.0.0 @@ -6543,10 +6303,10 @@ snapshots: tar-fs@3.0.6: dependencies: - pump: 3.0.0 + pump: 3.0.2 tar-stream: 3.1.7 optionalDependencies: - bare-fs: 2.3.3 + bare-fs: 2.3.4 bare-path: 2.1.3 tar-stream@3.1.7: @@ -6610,7 +6370,7 @@ snapshots: type-fest@0.8.1: {} - type-fest@4.26.0: {} + type-fest@4.26.1: {} type-is@1.6.18: dependencies: @@ -6651,11 +6411,11 @@ snapshots: typed-query-selector@2.12.0: {} - typescript-eslint@8.4.0(eslint@8.57.0)(typescript@5.5.4): + typescript-eslint@8.5.0(eslint@8.57.0)(typescript@5.5.4): dependencies: - '@typescript-eslint/eslint-plugin': 8.4.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/parser': 8.4.0(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/utils': 8.4.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/eslint-plugin': 8.5.0(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/parser': 8.5.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/utils': 8.5.0(eslint@8.57.0)(typescript@5.5.4) optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: From 54dfb62f2e0d4db144a6209e4dbbd909a1ecce9a Mon Sep 17 00:00:00 2001 From: Liam Rella Date: Thu, 12 Sep 2024 10:43:56 +0930 Subject: [PATCH 23/23] update recommended workspace extensions --- .vscode/extensions.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.vscode/extensions.json b/.vscode/extensions.json index ee0c777..fbe4433 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -6,8 +6,8 @@ "esbenp.prettier-vscode", "stylelint.vscode-stylelint", "usernamehw.errorlens", - "antfu.where-am-i", - "antfu.open-in-github-button", - "johnsoncodehk.vscode-tsconfig-helper" + "johnsoncodehk.vscode-tsconfig-helper", + "github.vscode-github-actions", + "yoavbls.pretty-ts-errors" ] }