2 Commits

Author SHA1 Message Date
acecb01a0a chore(deps): update dependency wrangler to v4.45.3
Some checks failed
renovate/stability-days Updates have met minimum release age requirement
CI/CD Pipeline / playwright (push) Successful in 4m37s
CI/CD Pipeline / build-and-deploy (push) Failing after 4m36s
2025-11-04 01:00:34 +08:00
严浩
5bbbf488fe feat(eslint): 添加 jsonc 插件并启用 JSON 文件键排序规则
Some checks failed
CI/CD Pipeline / playwright (push) Successful in 2m54s
CI/CD Pipeline / build-and-deploy (push) Failing after 4m9s
新增 `eslint-plugin-jsonc` 插件,并在 `.json` 文件中启用 `jsonc/sort-keys` 规则,
以确保本地化文件中的键名按字母顺序排列。此举有助于减少多人协作时的合并冲突,
同时提升代码一致性和可维护性。

此外,调整了 VS Code 配置项顺序以优化读写逻辑,并更新相关依赖版本。
2025-11-04 00:52:22 +08:00
6 changed files with 113 additions and 38 deletions

View File

@@ -6,22 +6,23 @@
"source.fixAll.oxc": "explicit", "source.fixAll.oxc": "explicit",
"source.organizeImports": "never" "source.organizeImports": "never"
}, },
"eslint.enable": true,
"stylelint.enable": true,
"oxc.enable": true,
"editor.formatOnSave": true, "editor.formatOnSave": true,
"stylelint.enable": true,
"stylelint.validate": ["css", "less", "postcss", "scss", "vue"], "stylelint.validate": ["css", "less", "postcss", "scss", "vue"],
"scss.lint.unknownAtRules": "ignore", "scss.lint.unknownAtRules": "ignore",
"css.lint.unknownAtRules": "ignore", "css.lint.unknownAtRules": "ignore",
"less.lint.unknownAtRules": "ignore", "less.lint.unknownAtRules": "ignore",
"eslint.enable": true,
"oxc.enable": true,
"[vue]": { "[vue]": {
"editor.defaultFormatter": "esbenp.prettier-vscode" "editor.defaultFormatter": "esbenp.prettier-vscode"
}, },
"editor.defaultFormatter": "esbenp.prettier-vscode", "editor.defaultFormatter": "esbenp.prettier-vscode",
// >>>>> // >>>>>
"i18n-ally.readonly": true,
"i18n-ally.namespace": false /* @intlify/unplugin-vue-i18n */, "i18n-ally.namespace": false /* @intlify/unplugin-vue-i18n */,
"i18n-ally.localesPaths": ["src/locales/demo", "src/locales"], "i18n-ally.localesPaths": ["src/locales/demo", "src/locales"],
// https://github.com/lokalise/i18n-ally/wiki/Path-Matcher // https://github.com/lokalise/i18n-ally/wiki/Path-Matcher

View File

@@ -1,15 +1,17 @@
import pluginImport from 'eslint-plugin-import'; import pluginVitest from '@vitest/eslint-plugin';
import { globalIgnores } from 'eslint/config'; import skipFormatting from '@vue/eslint-config-prettier/skip-formatting';
import { import {
configureVueProject,
defineConfigWithVueTs, defineConfigWithVueTs,
vueTsConfigs, vueTsConfigs,
configureVueProject,
} from '@vue/eslint-config-typescript'; } from '@vue/eslint-config-typescript';
import pluginVue from 'eslint-plugin-vue'; import pluginImport from 'eslint-plugin-import';
import pluginVitest from '@vitest/eslint-plugin'; import pluginJsonc from 'eslint-plugin-jsonc';
import pluginPlaywright from 'eslint-plugin-playwright';
import pluginOxlint from 'eslint-plugin-oxlint'; import pluginOxlint from 'eslint-plugin-oxlint';
import skipFormatting from '@vue/eslint-config-prettier/skip-formatting'; import pluginPlaywright from 'eslint-plugin-playwright';
import pluginVue from 'eslint-plugin-vue';
import { globalIgnores } from 'eslint/config';
import jsoncParser from 'jsonc-eslint-parser';
configureVueProject({ scriptLangs: ['ts', 'tsx'] }); configureVueProject({ scriptLangs: ['ts', 'tsx'] });
// More info at https://github.com/vuejs/eslint-config-typescript/#advanced-setup // More info at https://github.com/vuejs/eslint-config-typescript/#advanced-setup
@@ -52,6 +54,19 @@ export default defineConfigWithVueTs(
}, },
}, },
{
/**
* 启用 sort-keys 规则以强制对象键按字母顺序排序
* 原因:
* 1. 减少多人协作时的合并冲突
* 2. 保持代码一致性,提高可维护性
*/
files: ['src/locales/**/*.json'],
languageOptions: { parser: jsoncParser },
plugins: { jsonc: pluginJsonc },
rules: { 'jsonc/sort-keys': 'error' },
},
{ {
rules: { rules: {
'@typescript-eslint/no-explicit-any': 'off', '@typescript-eslint/no-explicit-any': 'off',

View File

@@ -103,6 +103,7 @@
"consola": "^3.4.2", "consola": "^3.4.2",
"eslint": "^9.35.0", "eslint": "^9.35.0",
"eslint-plugin-import": "^2.32.0", "eslint-plugin-import": "^2.32.0",
"eslint-plugin-jsonc": "^2.21.0",
"eslint-plugin-oxlint": "~1.23.0", "eslint-plugin-oxlint": "~1.23.0",
"eslint-plugin-playwright": "^2.2.2", "eslint-plugin-playwright": "^2.2.2",
"eslint-plugin-vue": "~10.5.0", "eslint-plugin-vue": "~10.5.0",

102
pnpm-lock.yaml generated
View File

@@ -77,7 +77,7 @@ importers:
devDependencies: devDependencies:
'@cloudflare/vite-plugin': '@cloudflare/vite-plugin':
specifier: ^1.13.2 specifier: ^1.13.2
version: 1.13.13(vite@7.1.12(@types/node@22.18.13)(jiti@2.6.1)(lightningcss@1.30.1)(sass-embedded@1.93.2)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1))(workerd@1.20251011.0)(wrangler@4.45.2) version: 1.13.13(vite@7.1.12(@types/node@22.18.13)(jiti@2.6.1)(lightningcss@1.30.1)(sass-embedded@1.93.2)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1))(workerd@1.20251011.0)(wrangler@4.45.3)
'@commitlint/types': '@commitlint/types':
specifier: ^20.0.0 specifier: ^20.0.0
version: 20.0.0 version: 20.0.0
@@ -162,6 +162,9 @@ importers:
eslint-plugin-import: eslint-plugin-import:
specifier: ^2.32.0 specifier: ^2.32.0
version: 2.32.0(@typescript-eslint/parser@8.43.0(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.2))(eslint@9.38.0(jiti@2.6.1)) version: 2.32.0(@typescript-eslint/parser@8.43.0(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.2))(eslint@9.38.0(jiti@2.6.1))
eslint-plugin-jsonc:
specifier: ^2.21.0
version: 2.21.0(eslint@9.38.0(jiti@2.6.1))
eslint-plugin-oxlint: eslint-plugin-oxlint:
specifier: ~1.23.0 specifier: ~1.23.0
version: 1.23.0 version: 1.23.0
@@ -299,7 +302,7 @@ importers:
version: 3.1.1(typescript@5.9.2) version: 3.1.1(typescript@5.9.2)
wrangler: wrangler:
specifier: ^4.37.1 specifier: ^4.37.1
version: 4.45.2 version: 4.45.3
packages/materials: packages/materials:
dependencies: dependencies:
@@ -698,8 +701,8 @@ packages:
'@emnapi/core@1.5.0': '@emnapi/core@1.5.0':
resolution: {integrity: sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==} resolution: {integrity: sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==}
'@emnapi/runtime@1.6.0': '@emnapi/runtime@1.7.0':
resolution: {integrity: sha512-obtUmAHTMjll499P+D9A3axeJFlhdjOWdKUNs/U6QIGT7V5RjcUW1xToAzjvmgTSQhDbYn/NwfTRoJcQ2rNBxA==} resolution: {integrity: sha512-oAYoQnCYaQZKVS53Fq23ceWMRxq5EhQsE0x0RdQ55jT7wagMu5k+fS39v1fiSLrtrLQlXwVINenqhLMtTrV/1Q==}
'@emnapi/wasi-threads@1.1.0': '@emnapi/wasi-threads@1.1.0':
resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==} resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==}
@@ -1923,8 +1926,8 @@ packages:
'@poppinss/colors@4.1.5': '@poppinss/colors@4.1.5':
resolution: {integrity: sha512-FvdDqtcRCtz6hThExcFOgW0cWX+xwSMWcRuQe5ZEb2m7cVQOAVZOIMt+/v9RxGiD9/OY16qJBXK4CVKWAPalBw==} resolution: {integrity: sha512-FvdDqtcRCtz6hThExcFOgW0cWX+xwSMWcRuQe5ZEb2m7cVQOAVZOIMt+/v9RxGiD9/OY16qJBXK4CVKWAPalBw==}
'@poppinss/dumper@0.6.4': '@poppinss/dumper@0.6.5':
resolution: {integrity: sha512-iG0TIdqv8xJ3Lt9O8DrPRxw1MRLjNpoqiSGU03P/wNLP/s0ra0udPJ1J2Tx5M0J3H/cVyEgpbn8xUKRY9j59kQ==} resolution: {integrity: sha512-NBdYIb90J7LfOI32dOewKI1r7wnkiH6m920puQ3qHUeZkxNkQiFnXVWoE6YtFSv6QOiPPf7ys6i+HWWecDz7sw==}
'@poppinss/exception@1.2.2': '@poppinss/exception@1.2.2':
resolution: {integrity: sha512-m7bpKCD4QMlFCjA/nKTs23fuvoVFoA83brRKmObCUNmi/9tVu8Ve3w4YQAnJu4q3Tjf5fr685HYIC/IA2zHRSg==} resolution: {integrity: sha512-m7bpKCD4QMlFCjA/nKTs23fuvoVFoA83brRKmObCUNmi/9tVu8Ve3w4YQAnJu4q3Tjf5fr685HYIC/IA2zHRSg==}
@@ -2103,8 +2106,8 @@ packages:
resolution: {integrity: sha512-rO92VvpgMc3kfiTjGT52LEtJ8Yc5kCWhZjLQ3LwlA4pSgPpQO7bVpYXParOD8Jwf+cVQECJo3yP/4I8aZtUQTQ==} resolution: {integrity: sha512-rO92VvpgMc3kfiTjGT52LEtJ8Yc5kCWhZjLQ3LwlA4pSgPpQO7bVpYXParOD8Jwf+cVQECJo3yP/4I8aZtUQTQ==}
engines: {node: '>=18'} engines: {node: '>=18'}
'@speed-highlight/core@1.2.8': '@speed-highlight/core@1.2.10':
resolution: {integrity: sha512-IGytNtnUnPIobIbOq5Y6LIlqiHNX+vnToQIS7lj6L5819C+rA8TXRDkkG8vePsiBOGcoW9R6i+dp2YBUKdB09Q==} resolution: {integrity: sha512-WzAkyxhveUzsbtaOU4Ebxg4kWUTt5ADXvwSut/wV+cG7/RD6FYBq7NAFMdRH4irsKwjaQYahEv5nM0LZ73tTLg==}
'@stylelint-types/stylelint-order@7.0.0': '@stylelint-types/stylelint-order@7.0.0':
resolution: {integrity: sha512-bOdHx5HctF1zrMwpn6eniu+0B/EtFtxAXUtOpyAi4je937URLHSjm3yLoyXE2uuJV0hdUcNe2aUFsS3/AkuSwA==} resolution: {integrity: sha512-bOdHx5HctF1zrMwpn6eniu+0B/EtFtxAXUtOpyAi4je937URLHSjm3yLoyXE2uuJV0hdUcNe2aUFsS3/AkuSwA==}
@@ -3261,6 +3264,10 @@ packages:
resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
engines: {node: '>=8'} engines: {node: '>=8'}
diff-sequences@27.5.1:
resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
dir-glob@3.0.1: dir-glob@3.0.1:
resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
engines: {node: '>=8'} engines: {node: '>=8'}
@@ -3405,6 +3412,12 @@ packages:
engines: {node: '>=6.0'} engines: {node: '>=6.0'}
hasBin: true hasBin: true
eslint-compat-utils@0.6.5:
resolution: {integrity: sha512-vAUHYzue4YAa2hNACjB8HvUQj5yehAZgiClyFVVom9cP8z5NSFq3PwB/TtJslN2zAMgRX6FCFCjYBbQh71g5RQ==}
engines: {node: '>=12'}
peerDependencies:
eslint: '>=6.0.0'
eslint-config-prettier@10.1.8: eslint-config-prettier@10.1.8:
resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==} resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==}
hasBin: true hasBin: true
@@ -3414,6 +3427,17 @@ packages:
eslint-import-resolver-node@0.3.9: eslint-import-resolver-node@0.3.9:
resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
eslint-json-compat-utils@0.2.1:
resolution: {integrity: sha512-YzEodbDyW8DX8bImKhAcCeu/L31Dd/70Bidx2Qex9OFUtgzXLqtfWL4Hr5fM/aCCB8QUZLuJur0S9k6UfgFkfg==}
engines: {node: '>=12'}
peerDependencies:
'@eslint/json': '*'
eslint: '*'
jsonc-eslint-parser: ^2.4.0
peerDependenciesMeta:
'@eslint/json':
optional: true
eslint-module-utils@2.12.1: eslint-module-utils@2.12.1:
resolution: {integrity: sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==} resolution: {integrity: sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==}
engines: {node: '>=4'} engines: {node: '>=4'}
@@ -3445,6 +3469,12 @@ packages:
'@typescript-eslint/parser': '@typescript-eslint/parser':
optional: true optional: true
eslint-plugin-jsonc@2.21.0:
resolution: {integrity: sha512-HttlxdNG5ly3YjP1cFMP62R4qKLxJURfBZo2gnMY+yQojZxkLyOpY1H1KRTKBmvQeSG9pIpSGEhDjE17vvYosg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: '>=6.0.0'
eslint-plugin-oxlint@1.23.0: eslint-plugin-oxlint@1.23.0:
resolution: {integrity: sha512-YT/ObCQMluSHVEqDJPwrVLERkUUQnmcRYYQbB7h6t2P4243WE3Z1UmUcPy1Q6vSVP/U7vw5affptlGV2RizDuw==} resolution: {integrity: sha512-YT/ObCQMluSHVEqDJPwrVLERkUUQnmcRYYQbB7h6t2P4243WE3Z1UmUcPy1Q6vSVP/U7vw5affptlGV2RizDuw==}
@@ -6034,8 +6064,8 @@ packages:
engines: {node: '>=16'} engines: {node: '>=16'}
hasBin: true hasBin: true
wrangler@4.45.2: wrangler@4.45.3:
resolution: {integrity: sha512-+G24gD+Rh7iBus5QiVBhNgSLzyAiyuZSm+3Ih5li8+PEA+gosAXfDSZlNZwsVmXd8VJTjq+BR4vhUiruQRWgTw==} resolution: {integrity: sha512-0ddEA9t4HeBgSVTVTcqtBHl7Z5CorWZ8tGgTQCP5XuL+9E1TJRwS6t/zzG51Ruwjb17SZYCaLchoM8V629S8cw==}
engines: {node: '>=18.0.0'} engines: {node: '>=18.0.0'}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
@@ -6395,7 +6425,7 @@ snapshots:
optionalDependencies: optionalDependencies:
workerd: 1.20251011.0 workerd: 1.20251011.0
'@cloudflare/vite-plugin@1.13.13(vite@7.1.12(@types/node@22.18.13)(jiti@2.6.1)(lightningcss@1.30.1)(sass-embedded@1.93.2)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1))(workerd@1.20251011.0)(wrangler@4.45.2)': '@cloudflare/vite-plugin@1.13.13(vite@7.1.12(@types/node@22.18.13)(jiti@2.6.1)(lightningcss@1.30.1)(sass-embedded@1.93.2)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1))(workerd@1.20251011.0)(wrangler@4.45.3)':
dependencies: dependencies:
'@cloudflare/unenv-preset': 2.7.7(unenv@2.0.0-rc.21)(workerd@1.20251011.0) '@cloudflare/unenv-preset': 2.7.7(unenv@2.0.0-rc.21)(workerd@1.20251011.0)
'@remix-run/node-fetch-server': 0.8.1 '@remix-run/node-fetch-server': 0.8.1
@@ -6405,7 +6435,7 @@ snapshots:
tinyglobby: 0.2.15 tinyglobby: 0.2.15
unenv: 2.0.0-rc.21 unenv: 2.0.0-rc.21
vite: 7.1.12(@types/node@22.18.13)(jiti@2.6.1)(lightningcss@1.30.1)(sass-embedded@1.93.2)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1) vite: 7.1.12(@types/node@22.18.13)(jiti@2.6.1)(lightningcss@1.30.1)(sass-embedded@1.93.2)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1)
wrangler: 4.45.2 wrangler: 4.45.3
ws: 8.18.0 ws: 8.18.0
transitivePeerDependencies: transitivePeerDependencies:
- bufferutil - bufferutil
@@ -6603,7 +6633,7 @@ snapshots:
tslib: 2.8.1 tslib: 2.8.1
optional: true optional: true
'@emnapi/runtime@1.6.0': '@emnapi/runtime@1.7.0':
dependencies: dependencies:
tslib: 2.8.1 tslib: 2.8.1
optional: true optional: true
@@ -7073,12 +7103,12 @@ snapshots:
'@img/sharp-wasm32@0.33.5': '@img/sharp-wasm32@0.33.5':
dependencies: dependencies:
'@emnapi/runtime': 1.6.0 '@emnapi/runtime': 1.7.0
optional: true optional: true
'@img/sharp-wasm32@0.34.4': '@img/sharp-wasm32@0.34.4':
dependencies: dependencies:
'@emnapi/runtime': 1.6.0 '@emnapi/runtime': 1.7.0
optional: true optional: true
'@img/sharp-win32-arm64@0.34.4': '@img/sharp-win32-arm64@0.34.4':
@@ -7214,14 +7244,14 @@ snapshots:
'@napi-rs/wasm-runtime@0.2.12': '@napi-rs/wasm-runtime@0.2.12':
dependencies: dependencies:
'@emnapi/core': 1.5.0 '@emnapi/core': 1.5.0
'@emnapi/runtime': 1.6.0 '@emnapi/runtime': 1.7.0
'@tybys/wasm-util': 0.10.1 '@tybys/wasm-util': 0.10.1
optional: true optional: true
'@napi-rs/wasm-runtime@1.0.5': '@napi-rs/wasm-runtime@1.0.5':
dependencies: dependencies:
'@emnapi/core': 1.5.0 '@emnapi/core': 1.5.0
'@emnapi/runtime': 1.6.0 '@emnapi/runtime': 1.7.0
'@tybys/wasm-util': 0.10.1 '@tybys/wasm-util': 0.10.1
optional: true optional: true
@@ -7453,7 +7483,7 @@ snapshots:
dependencies: dependencies:
kleur: 4.1.5 kleur: 4.1.5
'@poppinss/dumper@0.6.4': '@poppinss/dumper@0.6.5':
dependencies: dependencies:
'@poppinss/colors': 4.1.5 '@poppinss/colors': 4.1.5
'@sindresorhus/is': 7.1.1 '@sindresorhus/is': 7.1.1
@@ -7586,7 +7616,7 @@ snapshots:
'@sindresorhus/is@7.1.1': {} '@sindresorhus/is@7.1.1': {}
'@speed-highlight/core@1.2.8': {} '@speed-highlight/core@1.2.10': {}
'@stylelint-types/stylelint-order@7.0.0(stylelint-define-config@16.24.0(stylelint@16.25.0(typescript@5.9.2)))(stylelint@16.25.0(typescript@5.9.2))': '@stylelint-types/stylelint-order@7.0.0(stylelint-define-config@16.24.0(stylelint@16.25.0(typescript@5.9.2)))(stylelint@16.25.0(typescript@5.9.2))':
dependencies: dependencies:
@@ -9006,6 +9036,8 @@ snapshots:
detect-libc@2.1.2: {} detect-libc@2.1.2: {}
diff-sequences@27.5.1: {}
dir-glob@3.0.1: dir-glob@3.0.1:
dependencies: dependencies:
path-type: 4.0.0 path-type: 4.0.0
@@ -9268,6 +9300,11 @@ snapshots:
optionalDependencies: optionalDependencies:
source-map: 0.6.1 source-map: 0.6.1
eslint-compat-utils@0.6.5(eslint@9.38.0(jiti@2.6.1)):
dependencies:
eslint: 9.38.0(jiti@2.6.1)
semver: 7.7.3
eslint-config-prettier@10.1.8(eslint@9.38.0(jiti@2.6.1)): eslint-config-prettier@10.1.8(eslint@9.38.0(jiti@2.6.1)):
dependencies: dependencies:
eslint: 9.38.0(jiti@2.6.1) eslint: 9.38.0(jiti@2.6.1)
@@ -9280,6 +9317,12 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
eslint-json-compat-utils@0.2.1(eslint@9.38.0(jiti@2.6.1))(jsonc-eslint-parser@2.4.0):
dependencies:
eslint: 9.38.0(jiti@2.6.1)
esquery: 1.6.0
jsonc-eslint-parser: 2.4.0
eslint-module-utils@2.12.1(@typescript-eslint/parser@8.43.0(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.38.0(jiti@2.6.1)): eslint-module-utils@2.12.1(@typescript-eslint/parser@8.43.0(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.38.0(jiti@2.6.1)):
dependencies: dependencies:
debug: 3.2.7 debug: 3.2.7
@@ -9319,6 +9362,21 @@ snapshots:
- eslint-import-resolver-webpack - eslint-import-resolver-webpack
- supports-color - supports-color
eslint-plugin-jsonc@2.21.0(eslint@9.38.0(jiti@2.6.1)):
dependencies:
'@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0(jiti@2.6.1))
diff-sequences: 27.5.1
eslint: 9.38.0(jiti@2.6.1)
eslint-compat-utils: 0.6.5(eslint@9.38.0(jiti@2.6.1))
eslint-json-compat-utils: 0.2.1(eslint@9.38.0(jiti@2.6.1))(jsonc-eslint-parser@2.4.0)
espree: 10.4.0
graphemer: 1.4.0
jsonc-eslint-parser: 2.4.0
natural-compare: 1.4.0
synckit: 0.11.11
transitivePeerDependencies:
- '@eslint/json'
eslint-plugin-oxlint@1.23.0: eslint-plugin-oxlint@1.23.0:
dependencies: dependencies:
jsonc-parser: 3.3.1 jsonc-parser: 3.3.1
@@ -12153,7 +12211,7 @@ snapshots:
'@cloudflare/workerd-linux-arm64': 1.20251011.0 '@cloudflare/workerd-linux-arm64': 1.20251011.0
'@cloudflare/workerd-windows-64': 1.20251011.0 '@cloudflare/workerd-windows-64': 1.20251011.0
wrangler@4.45.2: wrangler@4.45.3:
dependencies: dependencies:
'@cloudflare/kv-asset-handler': 0.4.0 '@cloudflare/kv-asset-handler': 0.4.0
'@cloudflare/unenv-preset': 2.7.8(unenv@2.0.0-rc.21)(workerd@1.20251011.0) '@cloudflare/unenv-preset': 2.7.8(unenv@2.0.0-rc.21)(workerd@1.20251011.0)
@@ -12243,8 +12301,8 @@ snapshots:
youch@4.1.0-beta.10: youch@4.1.0-beta.10:
dependencies: dependencies:
'@poppinss/colors': 4.1.5 '@poppinss/colors': 4.1.5
'@poppinss/dumper': 0.6.4 '@poppinss/dumper': 0.6.5
'@speed-highlight/core': 1.2.8 '@speed-highlight/core': 1.2.10
cookie: 1.0.2 cookie: 1.0.2
youch-core: 0.3.3 youch-core: 0.3.3

View File

@@ -1,10 +1,10 @@
{ {
"page": { "page": {
"i18n-demo": { "i18n-demo": {
"title": "Vue I18n Demo",
"current-language": "Current Language",
"change-language": "Change Language", "change-language": "Change Language",
"hello": "Hello, {name}!" "current-language": "Current Language",
"hello": "Hello, {name}!",
"title": "Vue I18n Demo"
} }
} }
} }

View File

@@ -1,10 +1,10 @@
{ {
"page": { "page": {
"i18n-demo": { "i18n-demo": {
"title": "Vue I18n 示例",
"current-language": "当前语言",
"change-language": "切换语言", "change-language": "切换语言",
"hello": "你好, {name}" "current-language": "当前语言",
"hello": "你好, {name}",
"title": "Vue I18n 示例"
} }
} }
} }