From 7fe208c73fa48c79d27430c20541a5e722c58b8c Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Mon, 11 Nov 2024 16:46:34 +0800 Subject: [PATCH 01/10] workflow: setup automated release with provenance --- .github/MAINTENANCE.md | 10 ++++++++++ .github/workflows/publish.yml | 24 ++++++++++++++++++++++++ package.json | 3 ++- 3 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 .github/MAINTENANCE.md create mode 100644 .github/workflows/publish.yml diff --git a/.github/MAINTENANCE.md b/.github/MAINTENANCE.md new file mode 100644 index 0000000..326983c --- /dev/null +++ b/.github/MAINTENANCE.md @@ -0,0 +1,10 @@ +This document explains how to perform the project's maintenance tasks. + +### Creating a new release + +Anyone with write access to the repository can request a new release. To do so, follow these steps: + +1. Run `pnpm version ` locally to bump the version number and create a new commit / tag. +2. Push the commit and tag to the repository by running `git push --follow-tags`. +3. The release will be automatically published to npm by GitHub Actions once approved by an administrator. +4. Go to and create a new release with the tag that was just created. Describe the notable changes in the release notes. diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..a7b7170 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,24 @@ +name: Release + +on: + push: + tags: + - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10 + +jobs: + release: + # Use Publish environment for deployment protection + environment: Publish + runs-on: ubuntu-latest + permissions: + contents: read + id-token: write + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 'lts/*' + registry-url: 'https://registry.npmjs.org' + - run: npm publish + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/package.json b/package.json index 4a57d9f..23a59e5 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,8 @@ }, "homepage": "https://github.com/vuejs/create-eslint-config#readme", "publishConfig": { - "access": "public" + "access": "public", + "provenance": true }, "dependencies": { "ejs": "^3.1.10", From 4ed74c91e4a24e200879e9f6781543dd050e19ba Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Tue, 12 Nov 2024 01:39:31 +0800 Subject: [PATCH 02/10] fix: when using prettier, enforce line endings and max line length in EditorConfig too Fixes #36 --- index.js | 1 + templates/_editorconfig.ejs | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/index.js b/index.js index 424b75b..e4d995d 100644 --- a/index.js +++ b/index.js @@ -106,6 +106,7 @@ export default function createConfig({ const templateData = { styleGuide, + needsPrettier, fileExtensions, configsBeforeVuePlugin, configsAfterVuePlugin, diff --git a/templates/_editorconfig.ejs b/templates/_editorconfig.ejs index 9cdd5ec..f72a9a2 100644 --- a/templates/_editorconfig.ejs +++ b/templates/_editorconfig.ejs @@ -4,12 +4,13 @@ indent_size = 2 indent_style = space insert_final_newline = true trim_trailing_whitespace = true -<%_ if (styleGuide === 'airbnb') { _%> -<%# // standard doesn't have an opinion on line endings +<%_ if (styleGuide !== 'standard' || needsPrettier) { _%> +<%# +// standard doesn't have an opinion on line endings // https://github.com/standard/standard/issues/140 // or maximum line length // https://github.com/standard/standard/issues/1559 -// so we only configure them for airbnb style +// Prettier enforces these things, though. %> end_of_line = lf max_line_length = 100 From 37e0c6235a07840d822157717c758cd48c7b42a8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 9 Jan 2025 15:26:14 +0800 Subject: [PATCH 03/10] chore(deps): update dependency typescript to ~5.7.0 (#40) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 72 +++++++++++++++++++++++++------------------------- 2 files changed, 37 insertions(+), 37 deletions(-) diff --git a/package.json b/package.json index 23a59e5..fb4ea5c 100644 --- a/package.json +++ b/package.json @@ -49,6 +49,6 @@ "npm-run-all2": "^7.0.1", "oxlint": "^0.11.0", "prettier": "^3.3.3", - "typescript": "~5.6.0" + "typescript": "~5.7.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index efcbcc9..7a88ad7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -29,7 +29,7 @@ importers: version: 10.1.0(eslint@9.14.0)(prettier@3.3.3) '@vue/eslint-config-typescript': specifier: ^14.1.3 - version: 14.1.3(@typescript-eslint/parser@8.8.1(eslint@9.14.0)(typescript@5.6.3))(eslint-plugin-vue@9.30.0(eslint@9.14.0))(eslint@9.14.0)(typescript@5.6.3) + version: 14.1.3(@typescript-eslint/parser@8.8.1(eslint@9.14.0)(typescript@5.7.2))(eslint-plugin-vue@9.30.0(eslint@9.14.0))(eslint@9.14.0)(typescript@5.7.2) eslint: specifier: ^9.14.0 version: 9.14.0 @@ -49,8 +49,8 @@ importers: specifier: ^3.3.3 version: 3.3.3 typescript: - specifier: ~5.6.0 - version: 5.6.3 + specifier: ~5.7.0 + version: 5.7.2 packages: @@ -761,8 +761,8 @@ packages: typescript: optional: true - typescript@5.6.3: - resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} + typescript@5.7.2: + resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} engines: {node: '>=14.17'} hasBin: true @@ -905,34 +905,34 @@ snapshots: dependencies: undici-types: 6.19.8 - '@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@9.14.0)(typescript@5.6.3))(eslint@9.14.0)(typescript@5.6.3)': + '@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@9.14.0)(typescript@5.7.2))(eslint@9.14.0)(typescript@5.7.2)': dependencies: '@eslint-community/regexpp': 4.11.1 - '@typescript-eslint/parser': 8.8.1(eslint@9.14.0)(typescript@5.6.3) + '@typescript-eslint/parser': 8.8.1(eslint@9.14.0)(typescript@5.7.2) '@typescript-eslint/scope-manager': 8.8.1 - '@typescript-eslint/type-utils': 8.8.1(eslint@9.14.0)(typescript@5.6.3) - '@typescript-eslint/utils': 8.8.1(eslint@9.14.0)(typescript@5.6.3) + '@typescript-eslint/type-utils': 8.8.1(eslint@9.14.0)(typescript@5.7.2) + '@typescript-eslint/utils': 8.8.1(eslint@9.14.0)(typescript@5.7.2) '@typescript-eslint/visitor-keys': 8.8.1 eslint: 9.14.0 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 1.3.0(typescript@5.6.3) + ts-api-utils: 1.3.0(typescript@5.7.2) optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.8.1(eslint@9.14.0)(typescript@5.6.3)': + '@typescript-eslint/parser@8.8.1(eslint@9.14.0)(typescript@5.7.2)': dependencies: '@typescript-eslint/scope-manager': 8.8.1 '@typescript-eslint/types': 8.8.1 - '@typescript-eslint/typescript-estree': 8.8.1(typescript@5.6.3) + '@typescript-eslint/typescript-estree': 8.8.1(typescript@5.7.2) '@typescript-eslint/visitor-keys': 8.8.1 debug: 4.3.7 eslint: 9.14.0 optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 transitivePeerDependencies: - supports-color @@ -941,21 +941,21 @@ snapshots: '@typescript-eslint/types': 8.8.1 '@typescript-eslint/visitor-keys': 8.8.1 - '@typescript-eslint/type-utils@8.8.1(eslint@9.14.0)(typescript@5.6.3)': + '@typescript-eslint/type-utils@8.8.1(eslint@9.14.0)(typescript@5.7.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.8.1(typescript@5.6.3) - '@typescript-eslint/utils': 8.8.1(eslint@9.14.0)(typescript@5.6.3) + '@typescript-eslint/typescript-estree': 8.8.1(typescript@5.7.2) + '@typescript-eslint/utils': 8.8.1(eslint@9.14.0)(typescript@5.7.2) debug: 4.3.7 - ts-api-utils: 1.3.0(typescript@5.6.3) + ts-api-utils: 1.3.0(typescript@5.7.2) optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 transitivePeerDependencies: - eslint - supports-color '@typescript-eslint/types@8.8.1': {} - '@typescript-eslint/typescript-estree@8.8.1(typescript@5.6.3)': + '@typescript-eslint/typescript-estree@8.8.1(typescript@5.7.2)': dependencies: '@typescript-eslint/types': 8.8.1 '@typescript-eslint/visitor-keys': 8.8.1 @@ -964,18 +964,18 @@ snapshots: is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.6.3) + ts-api-utils: 1.3.0(typescript@5.7.2) optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.8.1(eslint@9.14.0)(typescript@5.6.3)': + '@typescript-eslint/utils@8.8.1(eslint@9.14.0)(typescript@5.7.2)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.14.0) '@typescript-eslint/scope-manager': 8.8.1 '@typescript-eslint/types': 8.8.1 - '@typescript-eslint/typescript-estree': 8.8.1(typescript@5.6.3) + '@typescript-eslint/typescript-estree': 8.8.1(typescript@5.7.2) eslint: 9.14.0 transitivePeerDependencies: - supports-color @@ -995,16 +995,16 @@ snapshots: transitivePeerDependencies: - '@types/eslint' - '@vue/eslint-config-typescript@14.1.3(@typescript-eslint/parser@8.8.1(eslint@9.14.0)(typescript@5.6.3))(eslint-plugin-vue@9.30.0(eslint@9.14.0))(eslint@9.14.0)(typescript@5.6.3)': + '@vue/eslint-config-typescript@14.1.3(@typescript-eslint/parser@8.8.1(eslint@9.14.0)(typescript@5.7.2))(eslint-plugin-vue@9.30.0(eslint@9.14.0))(eslint@9.14.0)(typescript@5.7.2)': dependencies: - '@typescript-eslint/eslint-plugin': 8.8.1(@typescript-eslint/parser@8.8.1(eslint@9.14.0)(typescript@5.6.3))(eslint@9.14.0)(typescript@5.6.3) + '@typescript-eslint/eslint-plugin': 8.8.1(@typescript-eslint/parser@8.8.1(eslint@9.14.0)(typescript@5.7.2))(eslint@9.14.0)(typescript@5.7.2) eslint: 9.14.0 eslint-plugin-vue: 9.30.0(eslint@9.14.0) fast-glob: 3.3.2 - typescript-eslint: 8.8.1(eslint@9.14.0)(typescript@5.6.3) + typescript-eslint: 8.8.1(eslint@9.14.0)(typescript@5.7.2) vue-eslint-parser: 9.4.3(eslint@9.14.0) optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 transitivePeerDependencies: - '@typescript-eslint/parser' - supports-color @@ -1474,9 +1474,9 @@ snapshots: dependencies: is-number: 7.0.0 - ts-api-utils@1.3.0(typescript@5.6.3): + ts-api-utils@1.3.0(typescript@5.7.2): dependencies: - typescript: 5.6.3 + typescript: 5.7.2 tslib@2.7.0: {} @@ -1486,18 +1486,18 @@ snapshots: type-fest@0.20.2: {} - typescript-eslint@8.8.1(eslint@9.14.0)(typescript@5.6.3): + typescript-eslint@8.8.1(eslint@9.14.0)(typescript@5.7.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.8.1(@typescript-eslint/parser@8.8.1(eslint@9.14.0)(typescript@5.6.3))(eslint@9.14.0)(typescript@5.6.3) - '@typescript-eslint/parser': 8.8.1(eslint@9.14.0)(typescript@5.6.3) - '@typescript-eslint/utils': 8.8.1(eslint@9.14.0)(typescript@5.6.3) + '@typescript-eslint/eslint-plugin': 8.8.1(@typescript-eslint/parser@8.8.1(eslint@9.14.0)(typescript@5.7.2))(eslint@9.14.0)(typescript@5.7.2) + '@typescript-eslint/parser': 8.8.1(eslint@9.14.0)(typescript@5.7.2) + '@typescript-eslint/utils': 8.8.1(eslint@9.14.0)(typescript@5.7.2) optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 transitivePeerDependencies: - eslint - supports-color - typescript@5.6.3: {} + typescript@5.7.2: {} undici-types@6.19.8: {} From 0513ff524507acdc88c1e52a98f7966c4c7d0cb6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 9 Jan 2025 15:56:04 +0800 Subject: [PATCH 04/10] chore(deps): update all non-major dependencies (#38) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 18 +- pnpm-lock.yaml | 466 ++++++++++++++++++++++--------------------------- 2 files changed, 222 insertions(+), 262 deletions(-) diff --git a/package.json b/package.json index fb4ea5c..1d676d7 100644 --- a/package.json +++ b/package.json @@ -39,16 +39,16 @@ "kolorist": "^1.8.0" }, "devDependencies": { - "@eslint/js": "^9.14.0", - "@types/node": "^22.8.7", + "@eslint/js": "^9.17.0", + "@types/node": "^22.10.5", "@vue/eslint-config-prettier": "^10.1.0", - "@vue/eslint-config-typescript": "^14.1.3", - "eslint": "^9.14.0", - "eslint-plugin-oxlint": "^0.11.0", - "eslint-plugin-vue": "^9.30.0", - "npm-run-all2": "^7.0.1", - "oxlint": "^0.11.0", - "prettier": "^3.3.3", + "@vue/eslint-config-typescript": "^14.2.0", + "eslint": "^9.17.0", + "eslint-plugin-oxlint": "^0.15.5", + "eslint-plugin-vue": "^9.32.0", + "npm-run-all2": "^7.0.2", + "oxlint": "^0.15.5", + "prettier": "^3.4.2", "typescript": "~5.7.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7a88ad7..f324e66 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,35 +19,35 @@ importers: version: 1.8.0 devDependencies: '@eslint/js': - specifier: ^9.14.0 - version: 9.14.0 + specifier: ^9.17.0 + version: 9.17.0 '@types/node': - specifier: ^22.8.7 - version: 22.8.7 + specifier: ^22.10.5 + version: 22.10.5 '@vue/eslint-config-prettier': specifier: ^10.1.0 - version: 10.1.0(eslint@9.14.0)(prettier@3.3.3) + version: 10.1.0(eslint@9.17.0)(prettier@3.4.2) '@vue/eslint-config-typescript': - specifier: ^14.1.3 - version: 14.1.3(@typescript-eslint/parser@8.8.1(eslint@9.14.0)(typescript@5.7.2))(eslint-plugin-vue@9.30.0(eslint@9.14.0))(eslint@9.14.0)(typescript@5.7.2) + specifier: ^14.2.0 + version: 14.2.0(eslint-plugin-vue@9.32.0(eslint@9.17.0))(eslint@9.17.0)(typescript@5.7.2) eslint: - specifier: ^9.14.0 - version: 9.14.0 + specifier: ^9.17.0 + version: 9.17.0 eslint-plugin-oxlint: - specifier: ^0.11.0 - version: 0.11.0 + specifier: ^0.15.5 + version: 0.15.5 eslint-plugin-vue: - specifier: ^9.30.0 - version: 9.30.0(eslint@9.14.0) + specifier: ^9.32.0 + version: 9.32.0(eslint@9.17.0) npm-run-all2: - specifier: ^7.0.1 - version: 7.0.1 + specifier: ^7.0.2 + version: 7.0.2 oxlint: - specifier: ^0.11.0 - version: 0.11.0 + specifier: ^0.15.5 + version: 0.15.5 prettier: - specifier: ^3.3.3 - version: 3.3.3 + specifier: ^3.4.2 + version: 3.4.2 typescript: specifier: ~5.7.0 version: 5.7.2 @@ -60,36 +60,32 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.11.1': - resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint-community/regexpp@4.12.1': resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/config-array@0.18.0': - resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==} + '@eslint/config-array@0.19.1': + resolution: {integrity: sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@0.7.0': - resolution: {integrity: sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==} + '@eslint/core@0.9.1': + resolution: {integrity: sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/eslintrc@3.1.0': - resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} + '@eslint/eslintrc@3.2.0': + resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.14.0': - resolution: {integrity: sha512-pFoEtFWCPyDOl+C6Ift+wC7Ro89otjigCf5vcuWqWgqNSQbRrpjSvdeE6ofLz4dHmyxD5f7gIdGT4+p36L6Twg==} + '@eslint/js@9.17.0': + resolution: {integrity: sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/object-schema@2.1.4': - resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} + '@eslint/object-schema@2.1.5': + resolution: {integrity: sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.2.0': - resolution: {integrity: sha512-vH9PiIMMwvhCx31Af3HiGzsVNULDbyVkHXwlemn/B0TFj/00ho3y55efXrUZTfQipxoHC5u4xq6zblww1zm1Ig==} + '@eslint/plugin-kit@0.2.4': + resolution: {integrity: sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@humanfs/core@0.19.1': @@ -108,8 +104,8 @@ packages: resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} engines: {node: '>=18.18'} - '@humanwhocodes/retry@0.4.0': - resolution: {integrity: sha512-xnRgu9DxZbkWak/te3fcytNyp8MTbuiZIaueg2rgEvBuN55n04nwLYLU9TX/VVlusc9L2ZNXi99nUFNkHXtr5g==} + '@humanwhocodes/retry@0.4.1': + resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} engines: {node: '>=18.18'} '@nodelib/fs.scandir@2.1.5': @@ -124,43 +120,43 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@oxlint/darwin-arm64@0.11.0': - resolution: {integrity: sha512-qQ1C5yvRYECp+FP8DCOSqNX4+e72xXyApJ2O8QyIeYFuGGF2MoDVQz3NYJEOjOfArZ9YXGsELwM3UFtjTGIZVg==} + '@oxlint/darwin-arm64@0.15.5': + resolution: {integrity: sha512-LqUh/+iRwj2mIDMqiYOjf2nx/BjpMVY+2PQvpOgSd2mNXrudD02KUTNCVSTAhUuGe86SYQblFgBz2cYfbTUa9A==} cpu: [arm64] os: [darwin] - '@oxlint/darwin-x64@0.11.0': - resolution: {integrity: sha512-pAqp6/6+mAIPr8WBndzmEuRbcXW8WNdn80hd8fLeR9teJI8eMpTkYL6kQIU7VjJ3NxpmzBLO7nh979/bwmmuBQ==} + '@oxlint/darwin-x64@0.15.5': + resolution: {integrity: sha512-3AdgAKrZsZ1Tk4XW5GosNKfRk5tdAzYgZl/9lJSCJr2I5mN6hrTn/WTIJv4tJrLlQbFsD++5R5HCQblp9vfFNg==} cpu: [x64] os: [darwin] - '@oxlint/linux-arm64-gnu@0.11.0': - resolution: {integrity: sha512-RmpjCWjX0RJ1MdIcqGQsOlXh9WgXnVgVolZLCs8MHqNuYtaIA+0VOxOhJOr7CQ0HmwV+ysPTAiQ2SVSI2tVJQQ==} + '@oxlint/linux-arm64-gnu@0.15.5': + resolution: {integrity: sha512-iKqoRSn+aIYqku99xBFzhZFaRXTIpFhFIh37MFjzhPvvVN5qQjxBzvePfuI1eTVuttviELKP5eR5sSUP2aDKxw==} cpu: [arm64] os: [linux] - '@oxlint/linux-arm64-musl@0.11.0': - resolution: {integrity: sha512-totBeaOeZlblKRpSZi3svVWpJjFlhxR7Xzrh3nhPTgHMM3696qjzyb80Yg0K8gAlOrIDlBblLG0JnaxvdM2yjg==} + '@oxlint/linux-arm64-musl@0.15.5': + resolution: {integrity: sha512-pYNCI9iqPcma8hIuJb/v40mOjuWtJjYaOxbDvSecjtKb9EFqZu9A9WDhgg766S+8o1Iit72LLtSq7q0cyh7+ww==} cpu: [arm64] os: [linux] - '@oxlint/linux-x64-gnu@0.11.0': - resolution: {integrity: sha512-tXiJ97WH4vwTIkGMnXYPx5NqwQiYLW9MbmnGkKkm5Xv/wpAaN761PkHRJT0zsYoAgoU3nZVp3qhit9MpHq1SQg==} + '@oxlint/linux-x64-gnu@0.15.5': + resolution: {integrity: sha512-jDrA5vSdEhKov1aMFvWLzFpuGneVhryLXTqcbqdUzZOe1Ss1S2XhRabHwLlhDRemCA4Id7fdgZ5qCNrzhUsTdQ==} cpu: [x64] os: [linux] - '@oxlint/linux-x64-musl@0.11.0': - resolution: {integrity: sha512-LgjgD80fiz37g31t/jMm9kyDM31WPjcTkXXXU702WQsdhujXVUZDWid9/QeVvi51EVufyyekaTYgNR8REVVZZg==} + '@oxlint/linux-x64-musl@0.15.5': + resolution: {integrity: sha512-eS4ANgxQCNnGG1aeQ28cUTr/3iitFF9TBK1BfTn3+WW3Nvkfcxo+u2L5tKEq+cxytHuu9hqEpTn1AvNyAH3MQw==} cpu: [x64] os: [linux] - '@oxlint/win32-arm64@0.11.0': - resolution: {integrity: sha512-lfANFSWt0vU6x9JQYeMEy6uy8wniZGYQt0nT45P3BwXIMhAJbEC3yEX+bP5x8eTQrgkDu4dwIDURGCeeUL/NdA==} + '@oxlint/win32-arm64@0.15.5': + resolution: {integrity: sha512-oJPS+dTlwgVoSb6ieH/4MP+LPxZUMPsUr5k0YLpisMEEfccGXLaGzWKfzgi5dzlOsN6EUr2NgcFaqpa8tRiq8w==} cpu: [arm64] os: [win32] - '@oxlint/win32-x64@0.11.0': - resolution: {integrity: sha512-5CHtAp82xbv0jnh/HGi3QE0ANBr3+R338MA0wgZXc7477Vuri0aSK0T9oRU+K/pVloPVJaWKSDCCZoiZIYckzg==} + '@oxlint/win32-x64@0.15.5': + resolution: {integrity: sha512-rvk3CN0U37w7OlLvkD1TqqcLvoQdWVtTAF5KckuASOeYo/0cuzNFIvo/7cHYmvewQXuYULxvUHGTzxWYSmVPjQ==} cpu: [x64] os: [win32] @@ -174,64 +170,54 @@ packages: '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@types/node@22.8.7': - resolution: {integrity: sha512-LidcG+2UeYIWcMuMUpBKOnryBWG/rnmOHQR5apjn8myTQcx3rinFRn7DcIFhMnS0PPFSC6OafdIKEad0lj6U0Q==} + '@types/node@22.10.5': + resolution: {integrity: sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==} - '@typescript-eslint/eslint-plugin@8.8.1': - resolution: {integrity: sha512-xfvdgA8AP/vxHgtgU310+WBnLB4uJQ9XdyP17RebG26rLtDrQJV3ZYrcopX91GrHmMoH8bdSwMRh2a//TiJ1jQ==} + '@typescript-eslint/eslint-plugin@8.19.1': + resolution: {integrity: sha512-tJzcVyvvb9h/PB96g30MpxACd9IrunT7GF9wfA9/0TJ1LxGOJx1TdPzSbBBnNED7K9Ka8ybJsnEpiXPktolTLg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 eslint: ^8.57.0 || ^9.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/parser@8.8.1': - resolution: {integrity: sha512-hQUVn2Lij2NAxVFEdvIGxT9gP1tq2yM83m+by3whWFsWC+1y8pxxxHUFE1UqDu2VsGi2i6RLcv4QvouM84U+ow==} + '@typescript-eslint/parser@8.19.1': + resolution: {integrity: sha512-67gbfv8rAwawjYx3fYArwldTQKoYfezNUT4D5ioWetr/xCrxXxvleo3uuiFuKfejipvq+og7mjz3b0G2bVyUCw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/scope-manager@8.8.1': - resolution: {integrity: sha512-X4JdU+66Mazev/J0gfXlcC/dV6JI37h+93W9BRYXrSn0hrE64IoWgVkO9MSJgEzoWkxONgaQpICWg8vAN74wlA==} + '@typescript-eslint/scope-manager@8.19.1': + resolution: {integrity: sha512-60L9KIuN/xgmsINzonOcMDSB8p82h95hoBfSBtXuO4jlR1R9L1xSkmVZKgCPVfavDlXihh4ARNjXhh1gGnLC7Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.8.1': - resolution: {integrity: sha512-qSVnpcbLP8CALORf0za+vjLYj1Wp8HSoiI8zYU5tHxRVj30702Z1Yw4cLwfNKhTPWp5+P+k1pjmD5Zd1nhxiZA==} + '@typescript-eslint/type-utils@8.19.1': + resolution: {integrity: sha512-Rp7k9lhDKBMRJB/nM9Ksp1zs4796wVNyihG9/TU9R6KCJDNkQbc2EOKjrBtLYh3396ZdpXLtr/MkaSEmNMtykw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/types@8.8.1': - resolution: {integrity: sha512-WCcTP4SDXzMd23N27u66zTKMuEevH4uzU8C9jf0RO4E04yVHgQgW+r+TeVTNnO1KIfrL8ebgVVYYMMO3+jC55Q==} + '@typescript-eslint/types@8.19.1': + resolution: {integrity: sha512-JBVHMLj7B1K1v1051ZaMMgLW4Q/jre5qGK0Ew6UgXz1Rqh+/xPzV1aW581OM00X6iOfyr1be+QyW8LOUf19BbA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.8.1': - resolution: {integrity: sha512-A5d1R9p+X+1js4JogdNilDuuq+EHZdsH9MjTVxXOdVFfTJXunKJR/v+fNNyO4TnoOn5HqobzfRlc70NC6HTcdg==} + '@typescript-eslint/typescript-estree@8.19.1': + resolution: {integrity: sha512-jk/TZwSMJlxlNnqhy0Eod1PNEvCkpY6MXOXE/WLlblZ6ibb32i2We4uByoKPv1d0OD2xebDv4hbs3fm11SMw8Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/utils@8.8.1': - resolution: {integrity: sha512-/QkNJDbV0bdL7H7d0/y0qBbV2HTtf0TIyjSDTvvmQEzeVx8jEImEbLuOA4EsvE8gIgqMitns0ifb5uQhMj8d9w==} + '@typescript-eslint/utils@8.19.1': + resolution: {integrity: sha512-IxG5gLO0Ne+KaUc8iW1A+XuKLd63o4wlbI1Zp692n1xojCl/THvgIKXJXBZixTh5dd5+yTJ/VXH7GJaaw21qXA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/visitor-keys@8.8.1': - resolution: {integrity: sha512-0/TdC3aeRAsW7MDvYRwEc1Uwm0TIBfzjPFgg60UU2Haj5qsCs9cc3zNgY71edqE3LbWfF/WoZQd3lJoDXFQpag==} + '@typescript-eslint/visitor-keys@8.19.1': + resolution: {integrity: sha512-fzmjU8CHK853V/avYZAvuVut3ZTfwN5YtMaoi+X9Y9MA9keaWNHC3zEQ9zvyX/7Hj+5JkNyK1l7TOR2hevHB6Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@vue/eslint-config-prettier@10.1.0': @@ -240,8 +226,8 @@ packages: eslint: '>= 8.21.0' prettier: '>= 3.0.0' - '@vue/eslint-config-typescript@14.1.3': - resolution: {integrity: sha512-L4NUJQz/0We2QYtrNwRAGRy4KfpOagl5V3MpZZ+rQ51a+bKjlKYYrugi7lp7PIX8LolRgu06ZwDoswnSGWnAmA==} + '@vue/eslint-config-typescript@14.2.0': + resolution: {integrity: sha512-JJ4wHuTJa2faQsBOUeWzuHOSFizVS7RWG2eH2noABk2LcT4wVcTOMZKM/lFobKBcgwADIPAKVRGFHVKooXImoA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^9.10.0 @@ -256,11 +242,6 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn@8.12.1: - resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} - engines: {node: '>=0.4.0'} - hasBin: true - acorn@8.14.0: resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} engines: {node: '>=0.4.0'} @@ -325,8 +306,8 @@ packages: concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} cssesc@3.0.0: @@ -365,8 +346,8 @@ packages: peerDependencies: eslint: '>=7.0.0' - eslint-plugin-oxlint@0.11.0: - resolution: {integrity: sha512-9CHYh1eLt2Z83ShLbvj79G6lqC2qLJBfsd7baGWOwDmLM2GXu2COi1r4tMMS2OI8gfB4s2uOgS8ZiYzHhN8uzQ==} + eslint-plugin-oxlint@0.15.5: + resolution: {integrity: sha512-oPkAGZ2ZJfHmHPiVa+aMN7Sotw1Hh/ZKJnxWnrlhVTQzgOBox9lXG0rHvYeyeewSLjuL/hyT67+IZ64nw8k55g==} eslint-plugin-prettier@5.2.1: resolution: {integrity: sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==} @@ -382,8 +363,8 @@ packages: eslint-config-prettier: optional: true - eslint-plugin-vue@9.30.0: - resolution: {integrity: sha512-CyqlRgShvljFkOeYK8wN5frh/OGTvkj1S7wlr2Q2pUvwq+X5VYiLd6ZjujpgSgLnys2W8qrBLkXQ41SUYaoPIQ==} + eslint-plugin-vue@9.32.0: + resolution: {integrity: sha512-b/Y05HYmnB/32wqVcjxjHZzNpwxj1onBOvqW89W+V+XNG1dRuaFbNd3vT9CLbr2LXjEoq+3vn8DanWf7XU22Ug==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 @@ -404,8 +385,8 @@ packages: resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.14.0: - resolution: {integrity: sha512-c2FHsVBr87lnUtjP4Yhvk4yEhKrQavGafRA/Se1ouse8PfbfC/Qh9Mxa00yWsZRlqeUB9raXip0aiiUZkgnr9g==} + eslint@9.17.0: + resolution: {integrity: sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -611,8 +592,8 @@ packages: resolution: {integrity: sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==} engines: {node: ^18.17.0 || >=20.5.0} - npm-run-all2@7.0.1: - resolution: {integrity: sha512-Adbv+bJQ8UTAM03rRODqrO5cx0YU5KCG2CvHtSURiadvdTjjgGJXdbc1oQ9CXBh9dnGfHSoSB1Web/0Dzp6kOQ==} + npm-run-all2@7.0.2: + resolution: {integrity: sha512-7tXR+r9hzRNOPNTvXegM+QzCuMjzUIIq66VDunL6j60O4RrExx32XUhlrS7UK4VcdGw5/Wxzb3kfNcFix9JKDA==} engines: {node: ^18.17.0 || >=20.5.0, npm: '>= 9'} hasBin: true @@ -623,8 +604,8 @@ packages: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} - oxlint@0.11.0: - resolution: {integrity: sha512-uY6/R4k5bECwJBR+y8CqGRcUb5hxNReziBjt5+pk6DKxj46DqMd6HwEk090KnaH1czVf23r8mcEsJYGowMWeIA==} + oxlint@0.15.5: + resolution: {integrity: sha512-hpckVhX+oiDyxYk7rwHqxZAmtOAQxQbkvxGM9NTQ3dTQC8X/5zcoBA9cZdrjVENA2TXrjg7l2qmkkzX7seteoQ==} engines: {node: '>=14.*'} hasBin: true @@ -669,8 +650,8 @@ packages: resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} engines: {node: '>=6.0.0'} - prettier@3.3.3: - resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} + prettier@3.4.2: + resolution: {integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==} engines: {node: '>=14'} hasBin: true @@ -728,18 +709,15 @@ packages: resolution: {integrity: sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==} engines: {node: ^14.18.0 || >=16.0.0} - text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - ts-api-utils@1.3.0: - resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} - engines: {node: '>=16'} + ts-api-utils@2.0.0: + resolution: {integrity: sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==} + engines: {node: '>=18.12'} peerDependencies: - typescript: '>=4.2.0' + typescript: '>=4.8.4' tslib@2.7.0: resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} @@ -752,22 +730,20 @@ packages: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} - typescript-eslint@8.8.1: - resolution: {integrity: sha512-R0dsXFt6t4SAFjUSKFjMh4pXDtq04SsFKCVGDP3ZOzNP7itF0jBcZYU4fMsZr4y7O7V7Nc751dDeESbe4PbQMQ==} + typescript-eslint@8.19.1: + resolution: {integrity: sha512-LKPUQpdEMVOeKluHi8md7rwLcoXHhwvWp3x+sJkMuq3gGm9yaYJtPo8sRZSblMFJ5pcOGCAak/scKf1mvZDlQw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' typescript@5.7.2: resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} engines: {node: '>=14.17'} hasBin: true - undici-types@6.19.8: - resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + undici-types@6.20.0: + resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} @@ -805,26 +781,26 @@ packages: snapshots: - '@eslint-community/eslint-utils@4.4.0(eslint@9.14.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@9.17.0)': dependencies: - eslint: 9.14.0 + eslint: 9.17.0 eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.11.1': {} - '@eslint-community/regexpp@4.12.1': {} - '@eslint/config-array@0.18.0': + '@eslint/config-array@0.19.1': dependencies: - '@eslint/object-schema': 2.1.4 + '@eslint/object-schema': 2.1.5 debug: 4.3.7 minimatch: 3.1.2 transitivePeerDependencies: - supports-color - '@eslint/core@0.7.0': {} + '@eslint/core@0.9.1': + dependencies: + '@types/json-schema': 7.0.15 - '@eslint/eslintrc@3.1.0': + '@eslint/eslintrc@3.2.0': dependencies: ajv: 6.12.6 debug: 4.3.7 @@ -838,11 +814,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.14.0': {} + '@eslint/js@9.17.0': {} - '@eslint/object-schema@2.1.4': {} + '@eslint/object-schema@2.1.5': {} - '@eslint/plugin-kit@0.2.0': + '@eslint/plugin-kit@0.2.4': dependencies: levn: 0.4.1 @@ -857,7 +833,7 @@ snapshots: '@humanwhocodes/retry@0.3.1': {} - '@humanwhocodes/retry@0.4.0': {} + '@humanwhocodes/retry@0.4.1': {} '@nodelib/fs.scandir@2.1.5': dependencies: @@ -871,28 +847,28 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - '@oxlint/darwin-arm64@0.11.0': + '@oxlint/darwin-arm64@0.15.5': optional: true - '@oxlint/darwin-x64@0.11.0': + '@oxlint/darwin-x64@0.15.5': optional: true - '@oxlint/linux-arm64-gnu@0.11.0': + '@oxlint/linux-arm64-gnu@0.15.5': optional: true - '@oxlint/linux-arm64-musl@0.11.0': + '@oxlint/linux-arm64-musl@0.15.5': optional: true - '@oxlint/linux-x64-gnu@0.11.0': + '@oxlint/linux-x64-gnu@0.15.5': optional: true - '@oxlint/linux-x64-musl@0.11.0': + '@oxlint/linux-x64-musl@0.15.5': optional: true - '@oxlint/win32-arm64@0.11.0': + '@oxlint/win32-arm64@0.15.5': optional: true - '@oxlint/win32-x64@0.11.0': + '@oxlint/win32-x64@0.15.5': optional: true '@pkgr/core@0.1.1': {} @@ -901,124 +877,112 @@ snapshots: '@types/json-schema@7.0.15': {} - '@types/node@22.8.7': + '@types/node@22.10.5': dependencies: - undici-types: 6.19.8 + undici-types: 6.20.0 - '@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@9.14.0)(typescript@5.7.2))(eslint@9.14.0)(typescript@5.7.2)': + '@typescript-eslint/eslint-plugin@8.19.1(@typescript-eslint/parser@8.19.1(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2)': dependencies: - '@eslint-community/regexpp': 4.11.1 - '@typescript-eslint/parser': 8.8.1(eslint@9.14.0)(typescript@5.7.2) - '@typescript-eslint/scope-manager': 8.8.1 - '@typescript-eslint/type-utils': 8.8.1(eslint@9.14.0)(typescript@5.7.2) - '@typescript-eslint/utils': 8.8.1(eslint@9.14.0)(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.8.1 - eslint: 9.14.0 + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.19.1(eslint@9.17.0)(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.19.1 + '@typescript-eslint/type-utils': 8.19.1(eslint@9.17.0)(typescript@5.7.2) + '@typescript-eslint/utils': 8.19.1(eslint@9.17.0)(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.19.1 + eslint: 9.17.0 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 1.3.0(typescript@5.7.2) - optionalDependencies: + ts-api-utils: 2.0.0(typescript@5.7.2) typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.8.1(eslint@9.14.0)(typescript@5.7.2)': + '@typescript-eslint/parser@8.19.1(eslint@9.17.0)(typescript@5.7.2)': dependencies: - '@typescript-eslint/scope-manager': 8.8.1 - '@typescript-eslint/types': 8.8.1 - '@typescript-eslint/typescript-estree': 8.8.1(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.8.1 + '@typescript-eslint/scope-manager': 8.19.1 + '@typescript-eslint/types': 8.19.1 + '@typescript-eslint/typescript-estree': 8.19.1(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.19.1 debug: 4.3.7 - eslint: 9.14.0 - optionalDependencies: + eslint: 9.17.0 typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.8.1': + '@typescript-eslint/scope-manager@8.19.1': dependencies: - '@typescript-eslint/types': 8.8.1 - '@typescript-eslint/visitor-keys': 8.8.1 + '@typescript-eslint/types': 8.19.1 + '@typescript-eslint/visitor-keys': 8.19.1 - '@typescript-eslint/type-utils@8.8.1(eslint@9.14.0)(typescript@5.7.2)': + '@typescript-eslint/type-utils@8.19.1(eslint@9.17.0)(typescript@5.7.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.8.1(typescript@5.7.2) - '@typescript-eslint/utils': 8.8.1(eslint@9.14.0)(typescript@5.7.2) + '@typescript-eslint/typescript-estree': 8.19.1(typescript@5.7.2) + '@typescript-eslint/utils': 8.19.1(eslint@9.17.0)(typescript@5.7.2) debug: 4.3.7 - ts-api-utils: 1.3.0(typescript@5.7.2) - optionalDependencies: + eslint: 9.17.0 + ts-api-utils: 2.0.0(typescript@5.7.2) typescript: 5.7.2 transitivePeerDependencies: - - eslint - supports-color - '@typescript-eslint/types@8.8.1': {} + '@typescript-eslint/types@8.19.1': {} - '@typescript-eslint/typescript-estree@8.8.1(typescript@5.7.2)': + '@typescript-eslint/typescript-estree@8.19.1(typescript@5.7.2)': dependencies: - '@typescript-eslint/types': 8.8.1 - '@typescript-eslint/visitor-keys': 8.8.1 + '@typescript-eslint/types': 8.19.1 + '@typescript-eslint/visitor-keys': 8.19.1 debug: 4.3.7 fast-glob: 3.3.2 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.7.2) - optionalDependencies: + ts-api-utils: 2.0.0(typescript@5.7.2) typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.8.1(eslint@9.14.0)(typescript@5.7.2)': + '@typescript-eslint/utils@8.19.1(eslint@9.17.0)(typescript@5.7.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.14.0) - '@typescript-eslint/scope-manager': 8.8.1 - '@typescript-eslint/types': 8.8.1 - '@typescript-eslint/typescript-estree': 8.8.1(typescript@5.7.2) - eslint: 9.14.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.17.0) + '@typescript-eslint/scope-manager': 8.19.1 + '@typescript-eslint/types': 8.19.1 + '@typescript-eslint/typescript-estree': 8.19.1(typescript@5.7.2) + eslint: 9.17.0 + typescript: 5.7.2 transitivePeerDependencies: - supports-color - - typescript - '@typescript-eslint/visitor-keys@8.8.1': + '@typescript-eslint/visitor-keys@8.19.1': dependencies: - '@typescript-eslint/types': 8.8.1 - eslint-visitor-keys: 3.4.3 + '@typescript-eslint/types': 8.19.1 + eslint-visitor-keys: 4.2.0 - '@vue/eslint-config-prettier@10.1.0(eslint@9.14.0)(prettier@3.3.3)': + '@vue/eslint-config-prettier@10.1.0(eslint@9.17.0)(prettier@3.4.2)': dependencies: - eslint: 9.14.0 - eslint-config-prettier: 9.1.0(eslint@9.14.0) - eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0(eslint@9.14.0))(eslint@9.14.0)(prettier@3.3.3) - prettier: 3.3.3 + eslint: 9.17.0 + eslint-config-prettier: 9.1.0(eslint@9.17.0) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0(eslint@9.17.0))(eslint@9.17.0)(prettier@3.4.2) + prettier: 3.4.2 transitivePeerDependencies: - '@types/eslint' - '@vue/eslint-config-typescript@14.1.3(@typescript-eslint/parser@8.8.1(eslint@9.14.0)(typescript@5.7.2))(eslint-plugin-vue@9.30.0(eslint@9.14.0))(eslint@9.14.0)(typescript@5.7.2)': + '@vue/eslint-config-typescript@14.2.0(eslint-plugin-vue@9.32.0(eslint@9.17.0))(eslint@9.17.0)(typescript@5.7.2)': dependencies: - '@typescript-eslint/eslint-plugin': 8.8.1(@typescript-eslint/parser@8.8.1(eslint@9.14.0)(typescript@5.7.2))(eslint@9.14.0)(typescript@5.7.2) - eslint: 9.14.0 - eslint-plugin-vue: 9.30.0(eslint@9.14.0) + eslint: 9.17.0 + eslint-plugin-vue: 9.32.0(eslint@9.17.0) fast-glob: 3.3.2 - typescript-eslint: 8.8.1(eslint@9.14.0)(typescript@5.7.2) - vue-eslint-parser: 9.4.3(eslint@9.14.0) + typescript-eslint: 8.19.1(eslint@9.17.0)(typescript@5.7.2) + vue-eslint-parser: 9.4.3(eslint@9.17.0) optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: - - '@typescript-eslint/parser' - supports-color - acorn-jsx@5.3.2(acorn@8.12.1): - dependencies: - acorn: 8.12.1 - acorn-jsx@5.3.2(acorn@8.14.0): dependencies: acorn: 8.14.0 - acorn@8.12.1: {} - acorn@8.14.0: {} ajv@6.12.6: @@ -1074,7 +1038,7 @@ snapshots: concat-map@0.0.1: {} - cross-spawn@7.0.3: + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 @@ -1099,33 +1063,33 @@ snapshots: escape-string-regexp@4.0.0: {} - eslint-config-prettier@9.1.0(eslint@9.14.0): + eslint-config-prettier@9.1.0(eslint@9.17.0): dependencies: - eslint: 9.14.0 + eslint: 9.17.0 - eslint-plugin-oxlint@0.11.0: + eslint-plugin-oxlint@0.15.5: dependencies: jsonc-parser: 3.3.1 - eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@9.14.0))(eslint@9.14.0)(prettier@3.3.3): + eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@9.17.0))(eslint@9.17.0)(prettier@3.4.2): dependencies: - eslint: 9.14.0 - prettier: 3.3.3 + eslint: 9.17.0 + prettier: 3.4.2 prettier-linter-helpers: 1.0.0 synckit: 0.9.1 optionalDependencies: - eslint-config-prettier: 9.1.0(eslint@9.14.0) + eslint-config-prettier: 9.1.0(eslint@9.17.0) - eslint-plugin-vue@9.30.0(eslint@9.14.0): + eslint-plugin-vue@9.32.0(eslint@9.17.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.14.0) - eslint: 9.14.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.17.0) + eslint: 9.17.0 globals: 13.24.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.1.2 semver: 7.6.3 - vue-eslint-parser: 9.4.3(eslint@9.14.0) + vue-eslint-parser: 9.4.3(eslint@9.17.0) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color @@ -1144,23 +1108,23 @@ snapshots: eslint-visitor-keys@4.2.0: {} - eslint@9.14.0: + eslint@9.17.0: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.14.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.17.0) '@eslint-community/regexpp': 4.12.1 - '@eslint/config-array': 0.18.0 - '@eslint/core': 0.7.0 - '@eslint/eslintrc': 3.1.0 - '@eslint/js': 9.14.0 - '@eslint/plugin-kit': 0.2.0 + '@eslint/config-array': 0.19.1 + '@eslint/core': 0.9.1 + '@eslint/eslintrc': 3.2.0 + '@eslint/js': 9.17.0 + '@eslint/plugin-kit': 0.2.4 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.4.0 + '@humanwhocodes/retry': 0.4.1 '@types/estree': 1.0.6 '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 debug: 4.3.7 escape-string-regexp: 4.0.0 eslint-scope: 8.2.0 @@ -1180,7 +1144,6 @@ snapshots: minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 - text-table: 0.2.0 transitivePeerDependencies: - supports-color @@ -1192,8 +1155,8 @@ snapshots: espree@9.6.1: dependencies: - acorn: 8.12.1 - acorn-jsx: 5.3.2(acorn@8.12.1) + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) eslint-visitor-keys: 3.4.3 esquery@1.6.0: @@ -1358,10 +1321,10 @@ snapshots: npm-normalize-package-bin@4.0.0: {} - npm-run-all2@7.0.1: + npm-run-all2@7.0.2: dependencies: ansi-styles: 6.2.1 - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 memorystream: 0.3.1 minimatch: 9.0.5 pidtree: 0.6.0 @@ -1382,16 +1345,16 @@ snapshots: type-check: 0.4.0 word-wrap: 1.2.5 - oxlint@0.11.0: + oxlint@0.15.5: optionalDependencies: - '@oxlint/darwin-arm64': 0.11.0 - '@oxlint/darwin-x64': 0.11.0 - '@oxlint/linux-arm64-gnu': 0.11.0 - '@oxlint/linux-arm64-musl': 0.11.0 - '@oxlint/linux-x64-gnu': 0.11.0 - '@oxlint/linux-x64-musl': 0.11.0 - '@oxlint/win32-arm64': 0.11.0 - '@oxlint/win32-x64': 0.11.0 + '@oxlint/darwin-arm64': 0.15.5 + '@oxlint/darwin-x64': 0.15.5 + '@oxlint/linux-arm64-gnu': 0.15.5 + '@oxlint/linux-arm64-musl': 0.15.5 + '@oxlint/linux-x64-gnu': 0.15.5 + '@oxlint/linux-x64-musl': 0.15.5 + '@oxlint/win32-arm64': 0.15.5 + '@oxlint/win32-x64': 0.15.5 p-limit@3.1.0: dependencies: @@ -1424,7 +1387,7 @@ snapshots: dependencies: fast-diff: 1.3.0 - prettier@3.3.3: {} + prettier@3.4.2: {} punycode@2.3.1: {} @@ -1468,13 +1431,11 @@ snapshots: '@pkgr/core': 0.1.1 tslib: 2.7.0 - text-table@0.2.0: {} - to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - ts-api-utils@1.3.0(typescript@5.7.2): + ts-api-utils@2.0.0(typescript@5.7.2): dependencies: typescript: 5.7.2 @@ -1486,20 +1447,19 @@ snapshots: type-fest@0.20.2: {} - typescript-eslint@8.8.1(eslint@9.14.0)(typescript@5.7.2): + typescript-eslint@8.19.1(eslint@9.17.0)(typescript@5.7.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.8.1(@typescript-eslint/parser@8.8.1(eslint@9.14.0)(typescript@5.7.2))(eslint@9.14.0)(typescript@5.7.2) - '@typescript-eslint/parser': 8.8.1(eslint@9.14.0)(typescript@5.7.2) - '@typescript-eslint/utils': 8.8.1(eslint@9.14.0)(typescript@5.7.2) - optionalDependencies: + '@typescript-eslint/eslint-plugin': 8.19.1(@typescript-eslint/parser@8.19.1(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2) + '@typescript-eslint/parser': 8.19.1(eslint@9.17.0)(typescript@5.7.2) + '@typescript-eslint/utils': 8.19.1(eslint@9.17.0)(typescript@5.7.2) + eslint: 9.17.0 typescript: 5.7.2 transitivePeerDependencies: - - eslint - supports-color typescript@5.7.2: {} - undici-types@6.19.8: {} + undici-types@6.20.0: {} uri-js@4.4.1: dependencies: @@ -1507,10 +1467,10 @@ snapshots: util-deprecate@1.0.2: {} - vue-eslint-parser@9.4.3(eslint@9.14.0): + vue-eslint-parser@9.4.3(eslint@9.17.0): dependencies: debug: 4.3.7 - eslint: 9.14.0 + eslint: 9.17.0 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 From f8ff835b2c86e3aef5520827f899ea247397fe77 Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Tue, 14 Jan 2025 22:31:44 +0800 Subject: [PATCH 05/10] chore: rename the workflow to Publish to be consistent with other projects in the org --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index a7b7170..8d51132 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,4 +1,4 @@ -name: Release +name: Publish on: push: From b3c65dd9ecb89487cdc4044d237b2e03164db701 Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Tue, 14 Jan 2025 22:32:39 +0800 Subject: [PATCH 06/10] chore: fix indentation --- templates/eslint.config.js.ejs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/templates/eslint.config.js.ejs b/templates/eslint.config.js.ejs index b56c6ff..8924865 100644 --- a/templates/eslint.config.js.ejs +++ b/templates/eslint.config.js.ejs @@ -17,11 +17,11 @@ export default [ ignores: ['**/dist/**', '**/dist-ssr/**', '**/coverage/**'], }, - <%_ for (const { content } of configsBeforeVuePlugin) { _%> +<%_ for (const { content } of configsBeforeVuePlugin) { _%> <%- content %><%# TODO: auto-indent if content's multi-line %> - <%_ } _%> +<%_ } _%> ...pluginVue.configs['flat/essential'], - <%_ for (const { content } of configsAfterVuePlugin) { _%> +<%_ for (const { content } of configsAfterVuePlugin) { _%> <%- content %><%# TODO: auto-indent if content's multi-line %> - <%_ } _%> +<%_ } _%> ] From 193923af0a81eefaff9f294ad298f7ce31f33b63 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 14 Jan 2025 22:42:41 +0800 Subject: [PATCH 07/10] chore(deps): update all non-major dependencies (#41) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 12 +- pnpm-lock.yaml | 312 +++++++++++++++++++++++++------------------------ 2 files changed, 163 insertions(+), 161 deletions(-) diff --git a/package.json b/package.json index 1d676d7..fb44544 100644 --- a/package.json +++ b/package.json @@ -39,15 +39,15 @@ "kolorist": "^1.8.0" }, "devDependencies": { - "@eslint/js": "^9.17.0", - "@types/node": "^22.10.5", + "@eslint/js": "^9.18.0", + "@types/node": "^22.10.6", "@vue/eslint-config-prettier": "^10.1.0", - "@vue/eslint-config-typescript": "^14.2.0", - "eslint": "^9.17.0", - "eslint-plugin-oxlint": "^0.15.5", + "@vue/eslint-config-typescript": "^14.3.0", + "eslint": "^9.18.0", + "eslint-plugin-oxlint": "^0.15.6", "eslint-plugin-vue": "^9.32.0", "npm-run-all2": "^7.0.2", - "oxlint": "^0.15.5", + "oxlint": "^0.15.6", "prettier": "^3.4.2", "typescript": "~5.7.0" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f324e66..c2bf632 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,32 +19,32 @@ importers: version: 1.8.0 devDependencies: '@eslint/js': - specifier: ^9.17.0 - version: 9.17.0 + specifier: ^9.18.0 + version: 9.18.0 '@types/node': - specifier: ^22.10.5 - version: 22.10.5 + specifier: ^22.10.6 + version: 22.10.6 '@vue/eslint-config-prettier': specifier: ^10.1.0 - version: 10.1.0(eslint@9.17.0)(prettier@3.4.2) + version: 10.1.0(eslint@9.18.0)(prettier@3.4.2) '@vue/eslint-config-typescript': - specifier: ^14.2.0 - version: 14.2.0(eslint-plugin-vue@9.32.0(eslint@9.17.0))(eslint@9.17.0)(typescript@5.7.2) + specifier: ^14.3.0 + version: 14.3.0(eslint-plugin-vue@9.32.0(eslint@9.18.0))(eslint@9.18.0)(typescript@5.7.2) eslint: - specifier: ^9.17.0 - version: 9.17.0 + specifier: ^9.18.0 + version: 9.18.0 eslint-plugin-oxlint: - specifier: ^0.15.5 - version: 0.15.5 + specifier: ^0.15.6 + version: 0.15.6 eslint-plugin-vue: specifier: ^9.32.0 - version: 9.32.0(eslint@9.17.0) + version: 9.32.0(eslint@9.18.0) npm-run-all2: specifier: ^7.0.2 version: 7.0.2 oxlint: - specifier: ^0.15.5 - version: 0.15.5 + specifier: ^0.15.6 + version: 0.15.6 prettier: specifier: ^3.4.2 version: 3.4.2 @@ -68,24 +68,24 @@ packages: resolution: {integrity: sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@0.9.1': - resolution: {integrity: sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==} + '@eslint/core@0.10.0': + resolution: {integrity: sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/eslintrc@3.2.0': resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.17.0': - resolution: {integrity: sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==} + '@eslint/js@9.18.0': + resolution: {integrity: sha512-fK6L7rxcq6/z+AaQMtiFTkvbHkBLNlwyRxHpKawP0x3u9+NC6MQTnFW+AdpwC6gfHTW0051cokQgtTN2FqlxQA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.5': resolution: {integrity: sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.2.4': - resolution: {integrity: sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==} + '@eslint/plugin-kit@0.2.5': + resolution: {integrity: sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@humanfs/core@0.19.1': @@ -120,43 +120,43 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@oxlint/darwin-arm64@0.15.5': - resolution: {integrity: sha512-LqUh/+iRwj2mIDMqiYOjf2nx/BjpMVY+2PQvpOgSd2mNXrudD02KUTNCVSTAhUuGe86SYQblFgBz2cYfbTUa9A==} + '@oxlint/darwin-arm64@0.15.6': + resolution: {integrity: sha512-Oyx21zpBMttAykoL3VSXM4ScfO0OygKAVFJlRFzh14CF4pnMQRcQ8fIH38BXy6wdE3YyZ9ml1ZspsCwguqb/3A==} cpu: [arm64] os: [darwin] - '@oxlint/darwin-x64@0.15.5': - resolution: {integrity: sha512-3AdgAKrZsZ1Tk4XW5GosNKfRk5tdAzYgZl/9lJSCJr2I5mN6hrTn/WTIJv4tJrLlQbFsD++5R5HCQblp9vfFNg==} + '@oxlint/darwin-x64@0.15.6': + resolution: {integrity: sha512-fNjxp7MBflKYyvvYgvjvAaCnVdYE3QZkscNhd8ygMko4yFErzPnvPong04QhvNN/cSxrL74nowMHrijPxZbm6Q==} cpu: [x64] os: [darwin] - '@oxlint/linux-arm64-gnu@0.15.5': - resolution: {integrity: sha512-iKqoRSn+aIYqku99xBFzhZFaRXTIpFhFIh37MFjzhPvvVN5qQjxBzvePfuI1eTVuttviELKP5eR5sSUP2aDKxw==} + '@oxlint/linux-arm64-gnu@0.15.6': + resolution: {integrity: sha512-/yLShYUGVQV/lCxKDEKaZr5+QQm68NKuFkLcB3z0Qcd45BVdpa/0HGoOpOL7mexo+zxZkRQSGn7x2idVYv2Tng==} cpu: [arm64] os: [linux] - '@oxlint/linux-arm64-musl@0.15.5': - resolution: {integrity: sha512-pYNCI9iqPcma8hIuJb/v40mOjuWtJjYaOxbDvSecjtKb9EFqZu9A9WDhgg766S+8o1Iit72LLtSq7q0cyh7+ww==} + '@oxlint/linux-arm64-musl@0.15.6': + resolution: {integrity: sha512-S0i/xb/TEep2CjZ11D4BxifsaX2a1LyuxW1hFcREMebtXJjpZMFfCNR7Cnwk7tp6eWiXLo3DJ/6iPLkxV6iivg==} cpu: [arm64] os: [linux] - '@oxlint/linux-x64-gnu@0.15.5': - resolution: {integrity: sha512-jDrA5vSdEhKov1aMFvWLzFpuGneVhryLXTqcbqdUzZOe1Ss1S2XhRabHwLlhDRemCA4Id7fdgZ5qCNrzhUsTdQ==} + '@oxlint/linux-x64-gnu@0.15.6': + resolution: {integrity: sha512-BNSRAn2SMF2/TVpQ/Y/Sg4emXia3Kfihu2apVFLyRj2h2lJCB0g/Us3gjRux2AoD4KkdlMJiqY/Tnaz2xMq49w==} cpu: [x64] os: [linux] - '@oxlint/linux-x64-musl@0.15.5': - resolution: {integrity: sha512-eS4ANgxQCNnGG1aeQ28cUTr/3iitFF9TBK1BfTn3+WW3Nvkfcxo+u2L5tKEq+cxytHuu9hqEpTn1AvNyAH3MQw==} + '@oxlint/linux-x64-musl@0.15.6': + resolution: {integrity: sha512-BUv/dJIBXeinL2vgy1CvzwqbvnDfydU10urbofOF8XXob6AmDewZSIr3ctDvd5qJisR7oEhAuxH4+rPkKnmjEw==} cpu: [x64] os: [linux] - '@oxlint/win32-arm64@0.15.5': - resolution: {integrity: sha512-oJPS+dTlwgVoSb6ieH/4MP+LPxZUMPsUr5k0YLpisMEEfccGXLaGzWKfzgi5dzlOsN6EUr2NgcFaqpa8tRiq8w==} + '@oxlint/win32-arm64@0.15.6': + resolution: {integrity: sha512-keVVbVxWBZ4myHlokg1JDQ0Fw2+iXMJSwbM3yr5SXXtMm7UgNaO3fGVAFA4Kv9OovhVCpfeqZy63gIgSv/w3oA==} cpu: [arm64] os: [win32] - '@oxlint/win32-x64@0.15.5': - resolution: {integrity: sha512-rvk3CN0U37w7OlLvkD1TqqcLvoQdWVtTAF5KckuASOeYo/0cuzNFIvo/7cHYmvewQXuYULxvUHGTzxWYSmVPjQ==} + '@oxlint/win32-x64@0.15.6': + resolution: {integrity: sha512-onKba1QPlcX6sVBMp8KqsAmjgZfaanFZcYGYl6o6q6dzuZSLuKWCPyn/OeJ1PYryYVsbDKZYaCzLoBLrY13MqQ==} cpu: [x64] os: [win32] @@ -170,54 +170,54 @@ packages: '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@types/node@22.10.5': - resolution: {integrity: sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==} + '@types/node@22.10.6': + resolution: {integrity: sha512-qNiuwC4ZDAUNcY47xgaSuS92cjf8JbSUoaKS77bmLG1rU7MlATVSiw/IlrjtIyyskXBZ8KkNfjK/P5na7rgXbQ==} - '@typescript-eslint/eslint-plugin@8.19.1': - resolution: {integrity: sha512-tJzcVyvvb9h/PB96g30MpxACd9IrunT7GF9wfA9/0TJ1LxGOJx1TdPzSbBBnNED7K9Ka8ybJsnEpiXPktolTLg==} + '@typescript-eslint/eslint-plugin@8.20.0': + resolution: {integrity: sha512-naduuphVw5StFfqp4Gq4WhIBE2gN1GEmMUExpJYknZJdRnc+2gDzB8Z3+5+/Kv33hPQRDGzQO/0opHE72lZZ6A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/parser@8.19.1': - resolution: {integrity: sha512-67gbfv8rAwawjYx3fYArwldTQKoYfezNUT4D5ioWetr/xCrxXxvleo3uuiFuKfejipvq+og7mjz3b0G2bVyUCw==} + '@typescript-eslint/parser@8.20.0': + resolution: {integrity: sha512-gKXG7A5HMyjDIedBi6bUrDcun8GIjnI8qOwVLiY3rx6T/sHP/19XLJOnIq/FgQvWLHja5JN/LSE7eklNBr612g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/scope-manager@8.19.1': - resolution: {integrity: sha512-60L9KIuN/xgmsINzonOcMDSB8p82h95hoBfSBtXuO4jlR1R9L1xSkmVZKgCPVfavDlXihh4ARNjXhh1gGnLC7Q==} + '@typescript-eslint/scope-manager@8.20.0': + resolution: {integrity: sha512-J7+VkpeGzhOt3FeG1+SzhiMj9NzGD/M6KoGn9f4dbz3YzK9hvbhVTmLj/HiTp9DazIzJ8B4XcM80LrR9Dm1rJw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.19.1': - resolution: {integrity: sha512-Rp7k9lhDKBMRJB/nM9Ksp1zs4796wVNyihG9/TU9R6KCJDNkQbc2EOKjrBtLYh3396ZdpXLtr/MkaSEmNMtykw==} + '@typescript-eslint/type-utils@8.20.0': + resolution: {integrity: sha512-bPC+j71GGvA7rVNAHAtOjbVXbLN5PkwqMvy1cwGeaxUoRQXVuKCebRoLzm+IPW/NtFFpstn1ummSIasD5t60GA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/types@8.19.1': - resolution: {integrity: sha512-JBVHMLj7B1K1v1051ZaMMgLW4Q/jre5qGK0Ew6UgXz1Rqh+/xPzV1aW581OM00X6iOfyr1be+QyW8LOUf19BbA==} + '@typescript-eslint/types@8.20.0': + resolution: {integrity: sha512-cqaMiY72CkP+2xZRrFt3ExRBu0WmVitN/rYPZErA80mHjHx/Svgp8yfbzkJmDoQ/whcytOPO9/IZXnOc+wigRA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.19.1': - resolution: {integrity: sha512-jk/TZwSMJlxlNnqhy0Eod1PNEvCkpY6MXOXE/WLlblZ6ibb32i2We4uByoKPv1d0OD2xebDv4hbs3fm11SMw8Q==} + '@typescript-eslint/typescript-estree@8.20.0': + resolution: {integrity: sha512-Y7ncuy78bJqHI35NwzWol8E0X7XkRVS4K4P4TCyzWkOJih5NDvtoRDW4Ba9YJJoB2igm9yXDdYI/+fkiiAxPzA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/utils@8.19.1': - resolution: {integrity: sha512-IxG5gLO0Ne+KaUc8iW1A+XuKLd63o4wlbI1Zp692n1xojCl/THvgIKXJXBZixTh5dd5+yTJ/VXH7GJaaw21qXA==} + '@typescript-eslint/utils@8.20.0': + resolution: {integrity: sha512-dq70RUw6UK9ei7vxc4KQtBRk7qkHZv447OUZ6RPQMQl71I3NZxQJX/f32Smr+iqWrB02pHKn2yAdHBb0KNrRMA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/visitor-keys@8.19.1': - resolution: {integrity: sha512-fzmjU8CHK853V/avYZAvuVut3ZTfwN5YtMaoi+X9Y9MA9keaWNHC3zEQ9zvyX/7Hj+5JkNyK1l7TOR2hevHB6Q==} + '@typescript-eslint/visitor-keys@8.20.0': + resolution: {integrity: sha512-v/BpkeeYAsPkKCkR8BDwcno0llhzWVqPOamQrAEMdpZav2Y9OVjd9dwJyBLJWwf335B5DmlifECIkZRJCaGaHA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@vue/eslint-config-prettier@10.1.0': @@ -226,8 +226,8 @@ packages: eslint: '>= 8.21.0' prettier: '>= 3.0.0' - '@vue/eslint-config-typescript@14.2.0': - resolution: {integrity: sha512-JJ4wHuTJa2faQsBOUeWzuHOSFizVS7RWG2eH2noABk2LcT4wVcTOMZKM/lFobKBcgwADIPAKVRGFHVKooXImoA==} + '@vue/eslint-config-typescript@14.3.0': + resolution: {integrity: sha512-bOreIxlSC/xsUdhDdKIHb1grwJah+IokNeJ50LqA1StdOHeSPUxSIPNxyKgRx4YdjhyzC6TKtrCf6yYK99x3Uw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^9.10.0 @@ -346,8 +346,8 @@ packages: peerDependencies: eslint: '>=7.0.0' - eslint-plugin-oxlint@0.15.5: - resolution: {integrity: sha512-oPkAGZ2ZJfHmHPiVa+aMN7Sotw1Hh/ZKJnxWnrlhVTQzgOBox9lXG0rHvYeyeewSLjuL/hyT67+IZ64nw8k55g==} + eslint-plugin-oxlint@0.15.6: + resolution: {integrity: sha512-NqaqORy2nUt3Zj9hiblxajiAWLoGMUPUIpuEMLJQmWJceTvB4Hu7R7zihWoXRuu+3/M6QZuMEYJe3sZaL9HKMQ==} eslint-plugin-prettier@5.2.1: resolution: {integrity: sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==} @@ -385,8 +385,8 @@ packages: resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.17.0: - resolution: {integrity: sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==} + eslint@9.18.0: + resolution: {integrity: sha512-+waTfRWQlSbpt3KWE+CjrPPYnbq9kfZIYUqapc0uBXyjTp8aYXZDsUH16m39Ryq3NjAVP4tjuF7KaukeqoCoaA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -425,8 +425,8 @@ packages: fast-diff@1.3.0: resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} - fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} engines: {node: '>=8.6.0'} fast-json-stable-stringify@2.1.0: @@ -604,8 +604,8 @@ packages: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} - oxlint@0.15.5: - resolution: {integrity: sha512-hpckVhX+oiDyxYk7rwHqxZAmtOAQxQbkvxGM9NTQ3dTQC8X/5zcoBA9cZdrjVENA2TXrjg7l2qmkkzX7seteoQ==} + oxlint@0.15.6: + resolution: {integrity: sha512-LiDI0mIzvnL/oQq7AyAganWAKtk/RaiOKdACnzeJDe64gWp7c+0y3T554IvfWd/9kVt5awlvyg5eRRp67PaxNA==} engines: {node: '>=14.*'} hasBin: true @@ -730,8 +730,8 @@ packages: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} - typescript-eslint@8.19.1: - resolution: {integrity: sha512-LKPUQpdEMVOeKluHi8md7rwLcoXHhwvWp3x+sJkMuq3gGm9yaYJtPo8sRZSblMFJ5pcOGCAak/scKf1mvZDlQw==} + typescript-eslint@8.20.0: + resolution: {integrity: sha512-Kxz2QRFsgbWj6Xcftlw3Dd154b3cEPFqQC+qMZrMypSijPd4UanKKvoKDrJ4o8AIfZFKAF+7sMaEIR8mTElozA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -781,9 +781,9 @@ packages: snapshots: - '@eslint-community/eslint-utils@4.4.0(eslint@9.17.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@9.18.0)': dependencies: - eslint: 9.17.0 + eslint: 9.18.0 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} @@ -796,7 +796,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/core@0.9.1': + '@eslint/core@0.10.0': dependencies: '@types/json-schema': 7.0.15 @@ -814,12 +814,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.17.0': {} + '@eslint/js@9.18.0': {} '@eslint/object-schema@2.1.5': {} - '@eslint/plugin-kit@0.2.4': + '@eslint/plugin-kit@0.2.5': dependencies: + '@eslint/core': 0.10.0 levn: 0.4.1 '@humanfs/core@0.19.1': {} @@ -847,28 +848,28 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - '@oxlint/darwin-arm64@0.15.5': + '@oxlint/darwin-arm64@0.15.6': optional: true - '@oxlint/darwin-x64@0.15.5': + '@oxlint/darwin-x64@0.15.6': optional: true - '@oxlint/linux-arm64-gnu@0.15.5': + '@oxlint/linux-arm64-gnu@0.15.6': optional: true - '@oxlint/linux-arm64-musl@0.15.5': + '@oxlint/linux-arm64-musl@0.15.6': optional: true - '@oxlint/linux-x64-gnu@0.15.5': + '@oxlint/linux-x64-gnu@0.15.6': optional: true - '@oxlint/linux-x64-musl@0.15.5': + '@oxlint/linux-x64-musl@0.15.6': optional: true - '@oxlint/win32-arm64@0.15.5': + '@oxlint/win32-arm64@0.15.6': optional: true - '@oxlint/win32-x64@0.15.5': + '@oxlint/win32-x64@0.15.6': optional: true '@pkgr/core@0.1.1': {} @@ -877,19 +878,19 @@ snapshots: '@types/json-schema@7.0.15': {} - '@types/node@22.10.5': + '@types/node@22.10.6': dependencies: undici-types: 6.20.0 - '@typescript-eslint/eslint-plugin@8.19.1(@typescript-eslint/parser@8.19.1(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2)': + '@typescript-eslint/eslint-plugin@8.20.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0)(typescript@5.7.2))(eslint@9.18.0)(typescript@5.7.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.19.1(eslint@9.17.0)(typescript@5.7.2) - '@typescript-eslint/scope-manager': 8.19.1 - '@typescript-eslint/type-utils': 8.19.1(eslint@9.17.0)(typescript@5.7.2) - '@typescript-eslint/utils': 8.19.1(eslint@9.17.0)(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.19.1 - eslint: 9.17.0 + '@typescript-eslint/parser': 8.20.0(eslint@9.18.0)(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.20.0 + '@typescript-eslint/type-utils': 8.20.0(eslint@9.18.0)(typescript@5.7.2) + '@typescript-eslint/utils': 8.20.0(eslint@9.18.0)(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.20.0 + eslint: 9.18.0 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -898,42 +899,42 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.19.1(eslint@9.17.0)(typescript@5.7.2)': + '@typescript-eslint/parser@8.20.0(eslint@9.18.0)(typescript@5.7.2)': dependencies: - '@typescript-eslint/scope-manager': 8.19.1 - '@typescript-eslint/types': 8.19.1 - '@typescript-eslint/typescript-estree': 8.19.1(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.19.1 + '@typescript-eslint/scope-manager': 8.20.0 + '@typescript-eslint/types': 8.20.0 + '@typescript-eslint/typescript-estree': 8.20.0(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.20.0 debug: 4.3.7 - eslint: 9.17.0 + eslint: 9.18.0 typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.19.1': + '@typescript-eslint/scope-manager@8.20.0': dependencies: - '@typescript-eslint/types': 8.19.1 - '@typescript-eslint/visitor-keys': 8.19.1 + '@typescript-eslint/types': 8.20.0 + '@typescript-eslint/visitor-keys': 8.20.0 - '@typescript-eslint/type-utils@8.19.1(eslint@9.17.0)(typescript@5.7.2)': + '@typescript-eslint/type-utils@8.20.0(eslint@9.18.0)(typescript@5.7.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.19.1(typescript@5.7.2) - '@typescript-eslint/utils': 8.19.1(eslint@9.17.0)(typescript@5.7.2) + '@typescript-eslint/typescript-estree': 8.20.0(typescript@5.7.2) + '@typescript-eslint/utils': 8.20.0(eslint@9.18.0)(typescript@5.7.2) debug: 4.3.7 - eslint: 9.17.0 + eslint: 9.18.0 ts-api-utils: 2.0.0(typescript@5.7.2) typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.19.1': {} + '@typescript-eslint/types@8.20.0': {} - '@typescript-eslint/typescript-estree@8.19.1(typescript@5.7.2)': + '@typescript-eslint/typescript-estree@8.20.0(typescript@5.7.2)': dependencies: - '@typescript-eslint/types': 8.19.1 - '@typescript-eslint/visitor-keys': 8.19.1 + '@typescript-eslint/types': 8.20.0 + '@typescript-eslint/visitor-keys': 8.20.0 debug: 4.3.7 - fast-glob: 3.3.2 + fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 @@ -942,38 +943,39 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.19.1(eslint@9.17.0)(typescript@5.7.2)': + '@typescript-eslint/utils@8.20.0(eslint@9.18.0)(typescript@5.7.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.17.0) - '@typescript-eslint/scope-manager': 8.19.1 - '@typescript-eslint/types': 8.19.1 - '@typescript-eslint/typescript-estree': 8.19.1(typescript@5.7.2) - eslint: 9.17.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.18.0) + '@typescript-eslint/scope-manager': 8.20.0 + '@typescript-eslint/types': 8.20.0 + '@typescript-eslint/typescript-estree': 8.20.0(typescript@5.7.2) + eslint: 9.18.0 typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.19.1': + '@typescript-eslint/visitor-keys@8.20.0': dependencies: - '@typescript-eslint/types': 8.19.1 + '@typescript-eslint/types': 8.20.0 eslint-visitor-keys: 4.2.0 - '@vue/eslint-config-prettier@10.1.0(eslint@9.17.0)(prettier@3.4.2)': + '@vue/eslint-config-prettier@10.1.0(eslint@9.18.0)(prettier@3.4.2)': dependencies: - eslint: 9.17.0 - eslint-config-prettier: 9.1.0(eslint@9.17.0) - eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0(eslint@9.17.0))(eslint@9.17.0)(prettier@3.4.2) + eslint: 9.18.0 + eslint-config-prettier: 9.1.0(eslint@9.18.0) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0(eslint@9.18.0))(eslint@9.18.0)(prettier@3.4.2) prettier: 3.4.2 transitivePeerDependencies: - '@types/eslint' - '@vue/eslint-config-typescript@14.2.0(eslint-plugin-vue@9.32.0(eslint@9.17.0))(eslint@9.17.0)(typescript@5.7.2)': + '@vue/eslint-config-typescript@14.3.0(eslint-plugin-vue@9.32.0(eslint@9.18.0))(eslint@9.18.0)(typescript@5.7.2)': dependencies: - eslint: 9.17.0 - eslint-plugin-vue: 9.32.0(eslint@9.17.0) - fast-glob: 3.3.2 - typescript-eslint: 8.19.1(eslint@9.17.0)(typescript@5.7.2) - vue-eslint-parser: 9.4.3(eslint@9.17.0) + '@typescript-eslint/utils': 8.20.0(eslint@9.18.0)(typescript@5.7.2) + eslint: 9.18.0 + eslint-plugin-vue: 9.32.0(eslint@9.18.0) + fast-glob: 3.3.3 + typescript-eslint: 8.20.0(eslint@9.18.0)(typescript@5.7.2) + vue-eslint-parser: 9.4.3(eslint@9.18.0) optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: @@ -1063,33 +1065,33 @@ snapshots: escape-string-regexp@4.0.0: {} - eslint-config-prettier@9.1.0(eslint@9.17.0): + eslint-config-prettier@9.1.0(eslint@9.18.0): dependencies: - eslint: 9.17.0 + eslint: 9.18.0 - eslint-plugin-oxlint@0.15.5: + eslint-plugin-oxlint@0.15.6: dependencies: jsonc-parser: 3.3.1 - eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@9.17.0))(eslint@9.17.0)(prettier@3.4.2): + eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@9.18.0))(eslint@9.18.0)(prettier@3.4.2): dependencies: - eslint: 9.17.0 + eslint: 9.18.0 prettier: 3.4.2 prettier-linter-helpers: 1.0.0 synckit: 0.9.1 optionalDependencies: - eslint-config-prettier: 9.1.0(eslint@9.17.0) + eslint-config-prettier: 9.1.0(eslint@9.18.0) - eslint-plugin-vue@9.32.0(eslint@9.17.0): + eslint-plugin-vue@9.32.0(eslint@9.18.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.17.0) - eslint: 9.17.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.18.0) + eslint: 9.18.0 globals: 13.24.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.1.2 semver: 7.6.3 - vue-eslint-parser: 9.4.3(eslint@9.17.0) + vue-eslint-parser: 9.4.3(eslint@9.18.0) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color @@ -1108,15 +1110,15 @@ snapshots: eslint-visitor-keys@4.2.0: {} - eslint@9.17.0: + eslint@9.18.0: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.17.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.18.0) '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.19.1 - '@eslint/core': 0.9.1 + '@eslint/core': 0.10.0 '@eslint/eslintrc': 3.2.0 - '@eslint/js': 9.17.0 - '@eslint/plugin-kit': 0.2.4 + '@eslint/js': 9.18.0 + '@eslint/plugin-kit': 0.2.5 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.1 @@ -1175,7 +1177,7 @@ snapshots: fast-diff@1.3.0: {} - fast-glob@3.3.2: + fast-glob@3.3.3: dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 @@ -1345,16 +1347,16 @@ snapshots: type-check: 0.4.0 word-wrap: 1.2.5 - oxlint@0.15.5: + oxlint@0.15.6: optionalDependencies: - '@oxlint/darwin-arm64': 0.15.5 - '@oxlint/darwin-x64': 0.15.5 - '@oxlint/linux-arm64-gnu': 0.15.5 - '@oxlint/linux-arm64-musl': 0.15.5 - '@oxlint/linux-x64-gnu': 0.15.5 - '@oxlint/linux-x64-musl': 0.15.5 - '@oxlint/win32-arm64': 0.15.5 - '@oxlint/win32-x64': 0.15.5 + '@oxlint/darwin-arm64': 0.15.6 + '@oxlint/darwin-x64': 0.15.6 + '@oxlint/linux-arm64-gnu': 0.15.6 + '@oxlint/linux-arm64-musl': 0.15.6 + '@oxlint/linux-x64-gnu': 0.15.6 + '@oxlint/linux-x64-musl': 0.15.6 + '@oxlint/win32-arm64': 0.15.6 + '@oxlint/win32-x64': 0.15.6 p-limit@3.1.0: dependencies: @@ -1447,12 +1449,12 @@ snapshots: type-fest@0.20.2: {} - typescript-eslint@8.19.1(eslint@9.17.0)(typescript@5.7.2): + typescript-eslint@8.20.0(eslint@9.18.0)(typescript@5.7.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.19.1(@typescript-eslint/parser@8.19.1(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2) - '@typescript-eslint/parser': 8.19.1(eslint@9.17.0)(typescript@5.7.2) - '@typescript-eslint/utils': 8.19.1(eslint@9.17.0)(typescript@5.7.2) - eslint: 9.17.0 + '@typescript-eslint/eslint-plugin': 8.20.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0)(typescript@5.7.2))(eslint@9.18.0)(typescript@5.7.2) + '@typescript-eslint/parser': 8.20.0(eslint@9.18.0)(typescript@5.7.2) + '@typescript-eslint/utils': 8.20.0(eslint@9.18.0)(typescript@5.7.2) + eslint: 9.18.0 typescript: 5.7.2 transitivePeerDependencies: - supports-color @@ -1467,10 +1469,10 @@ snapshots: util-deprecate@1.0.2: {} - vue-eslint-parser@9.4.3(eslint@9.17.0): + vue-eslint-parser@9.4.3(eslint@9.18.0): dependencies: debug: 4.3.7 - eslint: 9.17.0 + eslint: 9.18.0 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 From 3fbbc469b4c2f1fc909e82aec7309c233d22e3f1 Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Tue, 14 Jan 2025 22:58:10 +0800 Subject: [PATCH 08/10] feat: use @vue/eslint-config-typescript 14.3 API & eslint.config.ts `eslint.config.ts` support is unflagged in ESLint 9.18 and requires jiti https://eslint.org/blog/2025/01/eslint-v9.18.0-released/#stable-typescript-configuration-file-support --- bin/create-eslint-config.js | 2 +- index.js | 33 ++++------- package.json | 1 + pnpm-lock.yaml | 105 ++++++++++++++++++--------------- templates/eslint.config.js.ejs | 2 + templates/eslint.config.ts.ejs | 32 ++++++++++ 6 files changed, 107 insertions(+), 68 deletions(-) create mode 100644 templates/eslint.config.ts.ejs diff --git a/bin/create-eslint-config.js b/bin/create-eslint-config.js index da4595a..46e4a0e 100644 --- a/bin/create-eslint-config.js +++ b/bin/create-eslint-config.js @@ -234,7 +234,7 @@ const lintCommand = console.info( '\n' + - `${bold(yellow('package.json'))} and ${bold(blue('eslint.config.js'))} have been updated.\n` + + `${bold(yellow('package.json'))} and ${bold(blue(`eslint.config.${hasTypeScript ? 'ts' : 'js'}`))} have been updated.\n` + `Now please run ${bold(green(installCommand))} to re-install the dependencies.\n` + `Then you can run ${bold(green(lintCommand))} to lint your files.`, ) diff --git a/index.js b/index.js index e4d995d..cd5c855 100644 --- a/index.js +++ b/index.js @@ -28,28 +28,13 @@ export default function createConfig({ if (hasTypeScript) { // TODO: allowJs option fileExtensions.unshift('ts', 'mts', 'tsx') - additionalConfigs.unshift({ - devDependencies: pickDependencies(['@vue/eslint-config-typescript']), - afterVuePlugin: [ - { - importer: - "import vueTsEslintConfig from '@vue/eslint-config-typescript'", - // TODO: supportedScriptLangs - content: '...vueTsEslintConfig(),', - }, - ], + devDependencies: pickDependencies(['@vue/eslint-config-typescript', 'jiti']), }) } else { fileExtensions.unshift('js', 'mjs', 'jsx') additionalConfigs.unshift({ devDependencies: pickDependencies(['@eslint/js']), - beforeVuePlugin: [ - { - importer: "import js from '@eslint/js'", - content: 'js.configs.recommended,', - }, - ], }) } @@ -113,16 +98,24 @@ export default function createConfig({ } const files = { - 'eslint.config.js': renderEjsFile( - './templates/eslint.config.js.ejs', - templateData, - ), '.editorconfig': renderEjsFile( './templates/_editorconfig.ejs', templateData, ), } + if (hasTypeScript) { + files['eslint.config.ts'] = renderEjsFile( + './templates/eslint.config.ts.ejs', + templateData, + ) + } else { + files['eslint.config.js'] = renderEjsFile( + './templates/eslint.config.js.ejs', + templateData, + ) + } + // .editorconfig & .prettierrc.json if (needsPrettier) { // Prettier recommends an explicit configuration file to let the editor know that it's used. diff --git a/package.json b/package.json index fb44544..83f5947 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,7 @@ "eslint": "^9.18.0", "eslint-plugin-oxlint": "^0.15.6", "eslint-plugin-vue": "^9.32.0", + "jiti": "^2.4.2", "npm-run-all2": "^7.0.2", "oxlint": "^0.15.6", "prettier": "^3.4.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c2bf632..1c7a024 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -26,19 +26,22 @@ importers: version: 22.10.6 '@vue/eslint-config-prettier': specifier: ^10.1.0 - version: 10.1.0(eslint@9.18.0)(prettier@3.4.2) + version: 10.1.0(eslint@9.18.0(jiti@2.4.2))(prettier@3.4.2) '@vue/eslint-config-typescript': specifier: ^14.3.0 - version: 14.3.0(eslint-plugin-vue@9.32.0(eslint@9.18.0))(eslint@9.18.0)(typescript@5.7.2) + version: 14.3.0(eslint-plugin-vue@9.32.0(eslint@9.18.0(jiti@2.4.2)))(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.2) eslint: specifier: ^9.18.0 - version: 9.18.0 + version: 9.18.0(jiti@2.4.2) eslint-plugin-oxlint: specifier: ^0.15.6 version: 0.15.6 eslint-plugin-vue: specifier: ^9.32.0 - version: 9.32.0(eslint@9.18.0) + version: 9.32.0(eslint@9.18.0(jiti@2.4.2)) + jiti: + specifier: ^2.4.2 + version: 2.4.2 npm-run-all2: specifier: ^7.0.2 version: 7.0.2 @@ -519,6 +522,10 @@ packages: engines: {node: '>=10'} hasBin: true + jiti@2.4.2: + resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} + hasBin: true + js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true @@ -781,9 +788,9 @@ packages: snapshots: - '@eslint-community/eslint-utils@4.4.0(eslint@9.18.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@9.18.0(jiti@2.4.2))': dependencies: - eslint: 9.18.0 + eslint: 9.18.0(jiti@2.4.2) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} @@ -882,15 +889,15 @@ snapshots: dependencies: undici-types: 6.20.0 - '@typescript-eslint/eslint-plugin@8.20.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0)(typescript@5.7.2))(eslint@9.18.0)(typescript@5.7.2)': + '@typescript-eslint/eslint-plugin@8.20.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.20.0(eslint@9.18.0)(typescript@5.7.2) + '@typescript-eslint/parser': 8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.2) '@typescript-eslint/scope-manager': 8.20.0 - '@typescript-eslint/type-utils': 8.20.0(eslint@9.18.0)(typescript@5.7.2) - '@typescript-eslint/utils': 8.20.0(eslint@9.18.0)(typescript@5.7.2) + '@typescript-eslint/type-utils': 8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.2) + '@typescript-eslint/utils': 8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.2) '@typescript-eslint/visitor-keys': 8.20.0 - eslint: 9.18.0 + eslint: 9.18.0(jiti@2.4.2) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -899,14 +906,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.20.0(eslint@9.18.0)(typescript@5.7.2)': + '@typescript-eslint/parser@8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.2)': dependencies: '@typescript-eslint/scope-manager': 8.20.0 '@typescript-eslint/types': 8.20.0 '@typescript-eslint/typescript-estree': 8.20.0(typescript@5.7.2) '@typescript-eslint/visitor-keys': 8.20.0 debug: 4.3.7 - eslint: 9.18.0 + eslint: 9.18.0(jiti@2.4.2) typescript: 5.7.2 transitivePeerDependencies: - supports-color @@ -916,12 +923,12 @@ snapshots: '@typescript-eslint/types': 8.20.0 '@typescript-eslint/visitor-keys': 8.20.0 - '@typescript-eslint/type-utils@8.20.0(eslint@9.18.0)(typescript@5.7.2)': + '@typescript-eslint/type-utils@8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.2)': dependencies: '@typescript-eslint/typescript-estree': 8.20.0(typescript@5.7.2) - '@typescript-eslint/utils': 8.20.0(eslint@9.18.0)(typescript@5.7.2) + '@typescript-eslint/utils': 8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.2) debug: 4.3.7 - eslint: 9.18.0 + eslint: 9.18.0(jiti@2.4.2) ts-api-utils: 2.0.0(typescript@5.7.2) typescript: 5.7.2 transitivePeerDependencies: @@ -943,13 +950,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.20.0(eslint@9.18.0)(typescript@5.7.2)': + '@typescript-eslint/utils@8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.18.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.18.0(jiti@2.4.2)) '@typescript-eslint/scope-manager': 8.20.0 '@typescript-eslint/types': 8.20.0 '@typescript-eslint/typescript-estree': 8.20.0(typescript@5.7.2) - eslint: 9.18.0 + eslint: 9.18.0(jiti@2.4.2) typescript: 5.7.2 transitivePeerDependencies: - supports-color @@ -959,23 +966,23 @@ snapshots: '@typescript-eslint/types': 8.20.0 eslint-visitor-keys: 4.2.0 - '@vue/eslint-config-prettier@10.1.0(eslint@9.18.0)(prettier@3.4.2)': + '@vue/eslint-config-prettier@10.1.0(eslint@9.18.0(jiti@2.4.2))(prettier@3.4.2)': dependencies: - eslint: 9.18.0 - eslint-config-prettier: 9.1.0(eslint@9.18.0) - eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0(eslint@9.18.0))(eslint@9.18.0)(prettier@3.4.2) + eslint: 9.18.0(jiti@2.4.2) + eslint-config-prettier: 9.1.0(eslint@9.18.0(jiti@2.4.2)) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0(eslint@9.18.0(jiti@2.4.2)))(eslint@9.18.0(jiti@2.4.2))(prettier@3.4.2) prettier: 3.4.2 transitivePeerDependencies: - '@types/eslint' - '@vue/eslint-config-typescript@14.3.0(eslint-plugin-vue@9.32.0(eslint@9.18.0))(eslint@9.18.0)(typescript@5.7.2)': + '@vue/eslint-config-typescript@14.3.0(eslint-plugin-vue@9.32.0(eslint@9.18.0(jiti@2.4.2)))(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.2)': dependencies: - '@typescript-eslint/utils': 8.20.0(eslint@9.18.0)(typescript@5.7.2) - eslint: 9.18.0 - eslint-plugin-vue: 9.32.0(eslint@9.18.0) + '@typescript-eslint/utils': 8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.2) + eslint: 9.18.0(jiti@2.4.2) + eslint-plugin-vue: 9.32.0(eslint@9.18.0(jiti@2.4.2)) fast-glob: 3.3.3 - typescript-eslint: 8.20.0(eslint@9.18.0)(typescript@5.7.2) - vue-eslint-parser: 9.4.3(eslint@9.18.0) + typescript-eslint: 8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.2) + vue-eslint-parser: 9.4.3(eslint@9.18.0(jiti@2.4.2)) optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: @@ -1065,33 +1072,33 @@ snapshots: escape-string-regexp@4.0.0: {} - eslint-config-prettier@9.1.0(eslint@9.18.0): + eslint-config-prettier@9.1.0(eslint@9.18.0(jiti@2.4.2)): dependencies: - eslint: 9.18.0 + eslint: 9.18.0(jiti@2.4.2) eslint-plugin-oxlint@0.15.6: dependencies: jsonc-parser: 3.3.1 - eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@9.18.0))(eslint@9.18.0)(prettier@3.4.2): + eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@9.18.0(jiti@2.4.2)))(eslint@9.18.0(jiti@2.4.2))(prettier@3.4.2): dependencies: - eslint: 9.18.0 + eslint: 9.18.0(jiti@2.4.2) prettier: 3.4.2 prettier-linter-helpers: 1.0.0 synckit: 0.9.1 optionalDependencies: - eslint-config-prettier: 9.1.0(eslint@9.18.0) + eslint-config-prettier: 9.1.0(eslint@9.18.0(jiti@2.4.2)) - eslint-plugin-vue@9.32.0(eslint@9.18.0): + eslint-plugin-vue@9.32.0(eslint@9.18.0(jiti@2.4.2)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.18.0) - eslint: 9.18.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.18.0(jiti@2.4.2)) + eslint: 9.18.0(jiti@2.4.2) globals: 13.24.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.1.2 semver: 7.6.3 - vue-eslint-parser: 9.4.3(eslint@9.18.0) + vue-eslint-parser: 9.4.3(eslint@9.18.0(jiti@2.4.2)) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color @@ -1110,9 +1117,9 @@ snapshots: eslint-visitor-keys@4.2.0: {} - eslint@9.18.0: + eslint@9.18.0(jiti@2.4.2): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.18.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.18.0(jiti@2.4.2)) '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.19.1 '@eslint/core': 0.10.0 @@ -1146,6 +1153,8 @@ snapshots: minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 + optionalDependencies: + jiti: 2.4.2 transitivePeerDependencies: - supports-color @@ -1263,6 +1272,8 @@ snapshots: filelist: 1.0.4 minimatch: 3.1.2 + jiti@2.4.2: {} + js-yaml@4.1.0: dependencies: argparse: 2.0.1 @@ -1449,12 +1460,12 @@ snapshots: type-fest@0.20.2: {} - typescript-eslint@8.20.0(eslint@9.18.0)(typescript@5.7.2): + typescript-eslint@8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.20.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0)(typescript@5.7.2))(eslint@9.18.0)(typescript@5.7.2) - '@typescript-eslint/parser': 8.20.0(eslint@9.18.0)(typescript@5.7.2) - '@typescript-eslint/utils': 8.20.0(eslint@9.18.0)(typescript@5.7.2) - eslint: 9.18.0 + '@typescript-eslint/eslint-plugin': 8.20.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.2) + '@typescript-eslint/parser': 8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.2) + '@typescript-eslint/utils': 8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.2) + eslint: 9.18.0(jiti@2.4.2) typescript: 5.7.2 transitivePeerDependencies: - supports-color @@ -1469,10 +1480,10 @@ snapshots: util-deprecate@1.0.2: {} - vue-eslint-parser@9.4.3(eslint@9.18.0): + vue-eslint-parser@9.4.3(eslint@9.18.0(jiti@2.4.2)): dependencies: debug: 4.3.7 - eslint: 9.18.0 + eslint: 9.18.0(jiti@2.4.2) eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 diff --git a/templates/eslint.config.js.ejs b/templates/eslint.config.js.ejs index 8924865..ff4e5fb 100644 --- a/templates/eslint.config.js.ejs +++ b/templates/eslint.config.js.ejs @@ -1,6 +1,7 @@ <%_ for (const { importer } of configsBeforeVuePlugin) { _%> <%- importer %> <%_ } _%> +import js from '@eslint/js' import pluginVue from 'eslint-plugin-vue' <%_ for (const { importer } of configsAfterVuePlugin) { _%> <%- importer %> @@ -20,6 +21,7 @@ export default [ <%_ for (const { content } of configsBeforeVuePlugin) { _%> <%- content %><%# TODO: auto-indent if content's multi-line %> <%_ } _%> + js.configs.recommended, ...pluginVue.configs['flat/essential'], <%_ for (const { content } of configsAfterVuePlugin) { _%> <%- content %><%# TODO: auto-indent if content's multi-line %> diff --git a/templates/eslint.config.ts.ejs b/templates/eslint.config.ts.ejs new file mode 100644 index 0000000..6efe9dc --- /dev/null +++ b/templates/eslint.config.ts.ejs @@ -0,0 +1,32 @@ +<%_ for (const { importer } of configsBeforeVuePlugin) { _%> +<%- importer %> +<%_ } _%> +import pluginVue from 'eslint-plugin-vue' +import { + defineConfigWithVueTs, + vueTsConfigs, +} from '@vue/eslint-config-typescript' +<%_ for (const { importer } of configsAfterVuePlugin) { _%> +<%- importer %> +<%_ } _%> + +export default defineConfigWithVueTs( + { + name: 'app/files-to-lint', + files: ['**/*.{<%= fileExtensions.join(',') %>}'], + }, + + { + name: 'app/files-to-ignore', + ignores: ['**/dist/**', '**/dist-ssr/**', '**/coverage/**'], + }, + +<%_ for (const { content } of configsBeforeVuePlugin) { _%> + <%- content %><%# TODO: auto-indent if content's multi-line %> +<%_ } _%> + pluginVue.configs['flat/essential'], + vueTsConfigs.recommended, +<%_ for (const { content } of configsAfterVuePlugin) { _%> + <%- content %><%# TODO: auto-indent if content's multi-line %> +<%_ } _%> +) From 3c0df25d5dc23da1c9d4d2c98de93bb454af9d1b Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Wed, 15 Jan 2025 02:51:56 +0800 Subject: [PATCH 09/10] fix: add .gitattributes to help with line endings, reducing Windows issues As recommended by Prettier. Fixes https://github.com/vuejs/create-eslint-config/issues/39 --- index.js | 8 ++++++++ templates/_gitattributes | 1 + 2 files changed, 9 insertions(+) create mode 100644 templates/_gitattributes diff --git a/index.js b/index.js index cd5c855..eafa1ff 100644 --- a/index.js +++ b/index.js @@ -125,6 +125,14 @@ export default function createConfig({ ) } + if (styleGuide !== 'standard' || needsPrettier) { + // TODO: + // I used renderEjsFile instead of readFileSync for simplicity and easier integration + // with create-vue. But it's ugly. + // Should refactor later, or move this project into create-vue. + files['.gitattributes'] = renderEjsFile('./templates/_gitattributes', {}) + } + return { pkg, files, diff --git a/templates/_gitattributes b/templates/_gitattributes new file mode 100644 index 0000000..6313b56 --- /dev/null +++ b/templates/_gitattributes @@ -0,0 +1 @@ +* text=auto eol=lf From c369a4b4d322141938c5481edaea49211916ddda Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Wed, 15 Jan 2025 02:54:12 +0800 Subject: [PATCH 10/10] 0.7.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 83f5947..a78c98a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@vue/create-eslint-config", - "version": "0.6.1", + "version": "0.7.0", "description": "Utility to setup ESLint in Vue.js projects.", "type": "module", "main": "index.js",