From 4e5dde04c50737369ef12070b5b13da5e4b53811 Mon Sep 17 00:00:00 2001 From: CoolPlayLin Date: Sun, 12 Nov 2023 09:22:29 +0800 Subject: [PATCH 01/25] feat: use vitest to make unitest --- package.json | 1 + pnpm-lock.yaml | 3 +++ 2 files changed, 4 insertions(+) diff --git a/package.json b/package.json index fa08202c..5197acbd 100644 --- a/package.json +++ b/package.json @@ -51,6 +51,7 @@ "npm-run-all2": "^6.1.1", "prettier": "^3.0.3", "prompts": "^2.4.2", + "vitest": "^0.34.6", "zx": "^7.2.3" }, "lint-staged": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d2ce8d75..0d53813a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -56,6 +56,9 @@ importers: prompts: specifier: ^2.4.2 version: 2.4.2 + vitest: + specifier: ^0.34.6 + version: 0.34.6(jsdom@22.1.0) zx: specifier: ^7.2.3 version: 7.2.3 From 25332c5db3763bebd2ff79f35239f3be5049a397 Mon Sep 17 00:00:00 2001 From: CoolPlayLin Date: Sun, 12 Nov 2023 10:13:46 +0800 Subject: [PATCH 02/25] add getCommand unittest --- __test__/getCommand.spec.ts | 19 +++++++++ package.json | 1 + pnpm-lock.yaml | 83 +++++++++++++++++++++++++++++++++++-- vitest.config.ts | 9 ++++ 4 files changed, 109 insertions(+), 3 deletions(-) create mode 100644 __test__/getCommand.spec.ts create mode 100644 vitest.config.ts diff --git a/__test__/getCommand.spec.ts b/__test__/getCommand.spec.ts new file mode 100644 index 00000000..6109d88f --- /dev/null +++ b/__test__/getCommand.spec.ts @@ -0,0 +1,19 @@ +import { it, describe, expect } from 'vitest' +import getCommand from '../utils/getCommand' + +describe("should generate correct command", () => { + const template = { + packageManager: ["pnpm", "yarn", "npm"], + commands: ["install", "dev", "build"], + correct: ["pnpm install", "pnpm dev", "pnpm build", "yarn", "yarn dev", "yarn build", "npm install", "npm run dev", "npm run build"] + } + template.packageManager.forEach((manager) => { + template.commands.forEach((command) => { + it(`packageManager: ${manager}, command: ${command}`, () => { + expect(getCommand(manager, command)).satisfy((generatedCommand) => { + return template.correct.includes(generatedCommand) + }) + }) + }) + }) +}) \ No newline at end of file diff --git a/package.json b/package.json index 5197acbd..5683f102 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "snapshot": "zx ./scripts/snapshot.mjs", "pretest": "run-s build snapshot", "test": "zx ./scripts/test.mjs", + "test:unit": "vitest run -u", "prepublishOnly": "zx ./scripts/prepublish.mjs" }, "repository": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0d53813a..5b96766e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -58,7 +58,7 @@ importers: version: 2.4.2 vitest: specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + version: 0.34.6 zx: specifier: ^7.2.3 version: 7.2.3 @@ -2209,6 +2209,18 @@ packages: ms: 2.1.2 dev: true + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + /debug@4.3.4(supports-color@8.1.1): resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} @@ -3723,7 +3735,7 @@ packages: dependencies: chalk: 5.3.0 commander: 11.1.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 execa: 8.0.1 lilconfig: 2.1.0 listr2: 7.0.2 @@ -5464,7 +5476,7 @@ packages: hasBin: true dependencies: cac: 6.7.14 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 mlly: 1.4.2 pathe: 1.1.1 picocolors: 1.0.0 @@ -5534,6 +5546,71 @@ packages: fsevents: 2.3.3 dev: true + /vitest@0.34.6: + resolution: {integrity: sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==} + engines: {node: '>=v14.18.0'} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@vitest/browser': '*' + '@vitest/ui': '*' + happy-dom: '*' + jsdom: '*' + playwright: '*' + safaridriver: '*' + webdriverio: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + playwright: + optional: true + safaridriver: + optional: true + webdriverio: + optional: true + dependencies: + '@types/chai': 4.3.9 + '@types/chai-subset': 1.3.4 + '@types/node': 18.18.8 + '@vitest/expect': 0.34.6 + '@vitest/runner': 0.34.6 + '@vitest/snapshot': 0.34.6 + '@vitest/spy': 0.34.6 + '@vitest/utils': 0.34.6 + acorn: 8.11.2 + acorn-walk: 8.3.0 + cac: 6.7.14 + chai: 4.3.10 + debug: 4.3.4 + local-pkg: 0.4.3 + magic-string: 0.30.5 + pathe: 1.1.1 + picocolors: 1.0.0 + std-env: 3.4.3 + strip-literal: 1.3.0 + tinybench: 2.5.1 + tinypool: 0.7.0 + vite: 4.5.0(@types/node@18.18.8) + vite-node: 0.34.6(@types/node@18.18.8) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + /vitest@0.34.6(jsdom@22.1.0): resolution: {integrity: sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==} engines: {node: '>=v14.18.0'} diff --git a/vitest.config.ts b/vitest.config.ts new file mode 100644 index 00000000..5a9c7e86 --- /dev/null +++ b/vitest.config.ts @@ -0,0 +1,9 @@ +import { defineConfig } from 'vitest/config' + +export default defineConfig({ + test: { + include: ['__test__/**.spec.ts'], + reporters: 'default', + environment: 'jsdom' + } +}) From 95d644a9ce6c7243f2d843b5f471395bf2ea92bb Mon Sep 17 00:00:00 2001 From: CoolPlayLin Date: Sun, 12 Nov 2023 10:16:21 +0800 Subject: [PATCH 03/25] add unittest to workflow --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5444e9c3..97f4f29e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,6 +27,7 @@ jobs: env: CYPRESS_INSTALL_BINARY: 0 - run: pnpm build + - run: pnpm test:unit # Use cache to share the output across different jobs # No need to cache node_modules because they are all bundled From b41d844779049e67bd9d3ddf3fff67ad18407918 Mon Sep 17 00:00:00 2001 From: CoolPlayLin Date: Sat, 18 Nov 2023 09:12:39 +0800 Subject: [PATCH 04/25] add verify locale(it fails I don't know why) --- __test__/getCommand.spec.ts | 27 ++++++------ __test__/locale.spec.ts | 83 +++++++++++++++++++++++++++++++++++++ __test__/untils.ts | 15 +++++++ package.json | 2 +- utils/getLanguage.ts | 2 +- vitest.config.ts | 4 +- 6 files changed, 115 insertions(+), 18 deletions(-) create mode 100644 __test__/locale.spec.ts create mode 100644 __test__/untils.ts diff --git a/__test__/getCommand.spec.ts b/__test__/getCommand.spec.ts index 6109d88f..dfedbea7 100644 --- a/__test__/getCommand.spec.ts +++ b/__test__/getCommand.spec.ts @@ -2,18 +2,19 @@ import { it, describe, expect } from 'vitest' import getCommand from '../utils/getCommand' describe("should generate correct command", () => { - const template = { - packageManager: ["pnpm", "yarn", "npm"], - commands: ["install", "dev", "build"], - correct: ["pnpm install", "pnpm dev", "pnpm build", "yarn", "yarn dev", "yarn build", "npm install", "npm run dev", "npm run build"] - } - template.packageManager.forEach((manager) => { - template.commands.forEach((command) => { - it(`packageManager: ${manager}, command: ${command}`, () => { - expect(getCommand(manager, command)).satisfy((generatedCommand) => { - return template.correct.includes(generatedCommand) - }) - }) - }) + it('for yarn', () => { + expect(getCommand('yarn', 'install')).toBe('yarn') + expect(getCommand('yarn', 'dev')).toBe('yarn dev') + expect(getCommand('yarn', 'build')).toBe('yarn build') + }) + it('for npm', () => { + expect(getCommand('npm', 'install')).toBe('npm install') + expect(getCommand('npm', 'dev')).toBe('npm run dev') + expect(getCommand('npm', 'build')).toBe('npm run build') + }) + it('for pnpm', () => { + expect(getCommand('pnpm', 'install')).toBe('pnpm install') + expect(getCommand('pnpm', 'dev')).toBe('pnpm dev') + expect(getCommand('pnpm', 'build')).toBe('pnpm build') }) }) \ No newline at end of file diff --git a/__test__/locale.spec.ts b/__test__/locale.spec.ts new file mode 100644 index 00000000..d5994c0e --- /dev/null +++ b/__test__/locale.spec.ts @@ -0,0 +1,83 @@ +import { describe, it, expect } from 'vitest' +import { resolve } from 'node:path' +import { readdirSync } from 'node:fs' +import { Language } from '../utils/getLanguage' +import { isValid } from './untils' + +const locales = readdirSync(resolve(__dirname, '../locales')) + +describe('should include full keys', () => { + const structure: Language = { + "projectName": { + "message": "string", + }, + "shouldOverwrite": { + "dirForPrompts": { + "current": "string", + "target": "string" + }, + "message": "string" + }, + "packageName": { + "message": "string", + "invalidMessage": "string", + }, + "needsTypeScript": { + "message": "string", + }, + "needsJsx": { + "message": "string", + }, + "needsRouter": { + "message": "string", + }, + "needsPinia": { + "message": "string", + }, + "needsVitest": { + "message": "string", + }, + "needsE2eTesting": { + "message": "string", + "hint": "string", + "selectOptions": { + "negative": { + "title": "string", + }, + "cypress": { + "title": "string", + "desc": "string", + }, + "nightwatch": { + "title": "string", + "desc": "string", + }, + "playwright": { + "title": "string", + } + } + }, + "needsEslint": { + "message": "string", + }, + "needsPrettier": { + "message": "string", + }, + "errors": { + "operationCancelled": "string", + }, + "defaultToggleOptions": { + "active": "string", + "inactive": "string", + }, + "infos": { + "scaffolding": "string", + "done": "string", + } + } + locales.forEach((locale) => { + it(`for ${locale}`, () => { + expect(isValid(require(`../locales/${locale}`), structure)).toBeTruthy() + }) + }) +}) \ No newline at end of file diff --git a/__test__/untils.ts b/__test__/untils.ts new file mode 100644 index 00000000..2d8d6dd8 --- /dev/null +++ b/__test__/untils.ts @@ -0,0 +1,15 @@ +export function isValid(obj: Object, schema: Object) { + for (let key in schema) { + if (!obj.hasOwnProperty(key)) { + return false + } + if (typeof schema[key] === 'object' && schema[key] !== null) { + if (!isValid(obj[key], schema[key])) { + return false + } else if (typeof obj[key] !== schema[key]) { + return false + } + } + } + return true +} diff --git a/package.json b/package.json index 5683f102..061c3caa 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "snapshot": "zx ./scripts/snapshot.mjs", "pretest": "run-s build snapshot", "test": "zx ./scripts/test.mjs", - "test:unit": "vitest run -u", + "test:unit": "vitest", "prepublishOnly": "zx ./scripts/prepublish.mjs" }, "repository": { diff --git a/utils/getLanguage.ts b/utils/getLanguage.ts index 31e85830..17c4d62a 100644 --- a/utils/getLanguage.ts +++ b/utils/getLanguage.ts @@ -18,7 +18,7 @@ interface LanguageItem { } } -interface Language { +export interface Language { projectName: LanguageItem shouldOverwrite: LanguageItem packageName: LanguageItem diff --git a/vitest.config.ts b/vitest.config.ts index 5a9c7e86..6a1eda40 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -2,8 +2,6 @@ import { defineConfig } from 'vitest/config' export default defineConfig({ test: { - include: ['__test__/**.spec.ts'], - reporters: 'default', - environment: 'jsdom' + include: ['__test__/**.spec.ts'] } }) From 4e5284ab7f75d59a96fcc624ace62cfa62f53be4 Mon Sep 17 00:00:00 2001 From: CoolPlayLin Date: Sat, 18 Nov 2023 14:51:44 +0800 Subject: [PATCH 05/25] fix typo --- __test__/locale.spec.ts | 2 +- __test__/{untils.ts => utils.ts} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename __test__/{untils.ts => utils.ts} (100%) diff --git a/__test__/locale.spec.ts b/__test__/locale.spec.ts index d5994c0e..ea8e043d 100644 --- a/__test__/locale.spec.ts +++ b/__test__/locale.spec.ts @@ -2,7 +2,7 @@ import { describe, it, expect } from 'vitest' import { resolve } from 'node:path' import { readdirSync } from 'node:fs' import { Language } from '../utils/getLanguage' -import { isValid } from './untils' +import { isValid } from './utils' const locales = readdirSync(resolve(__dirname, '../locales')) diff --git a/__test__/untils.ts b/__test__/utils.ts similarity index 100% rename from __test__/untils.ts rename to __test__/utils.ts From c340af23e437c7c689d940abb530b2519cf326a3 Mon Sep 17 00:00:00 2001 From: CoolPlayLin Date: Sat, 18 Nov 2023 15:13:42 +0800 Subject: [PATCH 06/25] bugfix for key-checking --- __test__/utils.ts | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/__test__/utils.ts b/__test__/utils.ts index 2d8d6dd8..cfb044d9 100644 --- a/__test__/utils.ts +++ b/__test__/utils.ts @@ -1,13 +1,23 @@ +/** + * + * @param obj object that needs to be validated + * @param schema template for validation + * @returns whether missed some keys + */ export function isValid(obj: Object, schema: Object) { for (let key in schema) { if (!obj.hasOwnProperty(key)) { return false } - if (typeof schema[key] === 'object' && schema[key] !== null) { - if (!isValid(obj[key], schema[key])) { - return false - } else if (typeof obj[key] !== schema[key]) { - return false + if (schema[key] !== null) { + if (typeof schema[key] === 'string') { + if (typeof obj[key] !== schema[key]) { + return false + } + } else if (typeof schema[key] === 'object') { + if (!isValid(obj[key], schema[key])) { + return false + } } } } From 5d2463ab42a709cf7be0710db3f7500e0db8d77e Mon Sep 17 00:00:00 2001 From: CoolPlayLin Date: Sat, 18 Nov 2023 15:33:11 +0800 Subject: [PATCH 07/25] fix --- package.json | 8 +- pnpm-lock.yaml | 367 +++++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 330 insertions(+), 45 deletions(-) diff --git a/package.json b/package.json index 061c3caa..923d1191 100644 --- a/package.json +++ b/package.json @@ -38,19 +38,19 @@ "devDependencies": { "@tsconfig/node18": "^18.2.2", "@types/eslint": "^8.44.7", - "@types/node": "^18.18.8", + "@types/node": "^20.9.1", "@types/prompts": "^2.4.8", "@vue/create-eslint-config": "^0.3.2", "@vue/tsconfig": "^0.4.0", "ejs": "^3.1.9", - "esbuild": "^0.18.20", + "esbuild": "^0.19.5", "esbuild-plugin-license": "^1.2.2", "husky": "^8.0.3", "kolorist": "^1.8.0", - "lint-staged": "^15.0.2", + "lint-staged": "^15.1.0", "minimist": "^1.2.8", "npm-run-all2": "^6.1.1", - "prettier": "^3.0.3", + "prettier": "^3.1.0", "prompts": "^2.4.2", "vitest": "^0.34.6", "zx": "^7.2.3" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5b96766e..999e1cc5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,8 +15,8 @@ importers: specifier: ^8.44.7 version: 8.44.7 '@types/node': - specifier: ^18.18.8 - version: 18.18.8 + specifier: ^20.9.1 + version: 20.9.1 '@types/prompts': specifier: ^2.4.8 version: 2.4.8 @@ -30,11 +30,11 @@ importers: specifier: ^3.1.9 version: 3.1.9 esbuild: - specifier: ^0.18.20 - version: 0.18.20 + specifier: ^0.19.5 + version: 0.19.5 esbuild-plugin-license: specifier: ^1.2.2 - version: 1.2.2(esbuild@0.18.20) + version: 1.2.2(esbuild@0.19.5) husky: specifier: ^8.0.3 version: 8.0.3 @@ -42,8 +42,8 @@ importers: specifier: ^1.8.0 version: 1.8.0 lint-staged: - specifier: ^15.0.2 - version: 15.0.2 + specifier: ^15.1.0 + version: 15.1.0 minimist: specifier: ^1.2.8 version: 1.2.8 @@ -51,8 +51,8 @@ importers: specifier: ^6.1.1 version: 6.1.1 prettier: - specifier: ^3.0.3 - version: 3.0.3 + specifier: ^3.1.0 + version: 3.1.0 prompts: specifier: ^2.4.2 version: 2.4.2 @@ -74,7 +74,7 @@ importers: version: 4.4.0(vite@4.5.0)(vue@3.3.8) vite: specifier: ^4.5.0 - version: 4.5.0(@types/node@18.18.8) + version: 4.5.0(@types/node@20.9.1) template/config/cypress: devDependencies: @@ -106,7 +106,7 @@ importers: version: 3.0.2(vite@4.5.0)(vue@3.3.8) vite: specifier: ^4.5.0 - version: 4.5.0(@types/node@18.18.8) + version: 4.5.0(@types/node@20.9.1) template/config/nightwatch: devDependencies: @@ -566,6 +566,15 @@ packages: dev: true optional: true + /@esbuild/android-arm64@0.19.5: + resolution: {integrity: sha512-5d1OkoJxnYQfmC+Zd8NBFjkhyCNYwM4n9ODrycTFY6Jk1IGiZ+tjVJDDSwDt77nK+tfpGP4T50iMtVi4dEGzhQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-arm@0.15.18: resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==} engines: {node: '>=12'} @@ -584,6 +593,15 @@ packages: dev: true optional: true + /@esbuild/android-arm@0.19.5: + resolution: {integrity: sha512-bhvbzWFF3CwMs5tbjf3ObfGqbl/17ict2/uwOSfr3wmxDE6VdS2GqY/FuzIPe0q0bdhj65zQsvqfArI9MY6+AA==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-x64@0.18.20: resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} engines: {node: '>=12'} @@ -593,6 +611,15 @@ packages: dev: true optional: true + /@esbuild/android-x64@0.19.5: + resolution: {integrity: sha512-9t+28jHGL7uBdkBjL90QFxe7DVA+KGqWlHCF8ChTKyaKO//VLuoBricQCgwhOjA1/qOczsw843Fy4cbs4H3DVA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/darwin-arm64@0.18.20: resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} engines: {node: '>=12'} @@ -602,6 +629,15 @@ packages: dev: true optional: true + /@esbuild/darwin-arm64@0.19.5: + resolution: {integrity: sha512-mvXGcKqqIqyKoxq26qEDPHJuBYUA5KizJncKOAf9eJQez+L9O+KfvNFu6nl7SCZ/gFb2QPaRqqmG0doSWlgkqw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@esbuild/darwin-x64@0.18.20: resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} engines: {node: '>=12'} @@ -611,6 +647,15 @@ packages: dev: true optional: true + /@esbuild/darwin-x64@0.19.5: + resolution: {integrity: sha512-Ly8cn6fGLNet19s0X4unjcniX24I0RqjPv+kurpXabZYSXGM4Pwpmf85WHJN3lAgB8GSth7s5A0r856S+4DyiA==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@esbuild/freebsd-arm64@0.18.20: resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} engines: {node: '>=12'} @@ -620,6 +665,15 @@ packages: dev: true optional: true + /@esbuild/freebsd-arm64@0.19.5: + resolution: {integrity: sha512-GGDNnPWTmWE+DMchq1W8Sd0mUkL+APvJg3b11klSGUDvRXh70JqLAO56tubmq1s2cgpVCSKYywEiKBfju8JztQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/freebsd-x64@0.18.20: resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} engines: {node: '>=12'} @@ -629,6 +683,15 @@ packages: dev: true optional: true + /@esbuild/freebsd-x64@0.19.5: + resolution: {integrity: sha512-1CCwDHnSSoA0HNwdfoNY0jLfJpd7ygaLAp5EHFos3VWJCRX9DMwWODf96s9TSse39Br7oOTLryRVmBoFwXbuuQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-arm64@0.18.20: resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} engines: {node: '>=12'} @@ -638,6 +701,15 @@ packages: dev: true optional: true + /@esbuild/linux-arm64@0.19.5: + resolution: {integrity: sha512-o3vYippBmSrjjQUCEEiTZ2l+4yC0pVJD/Dl57WfPwwlvFkrxoSO7rmBZFii6kQB3Wrn/6GwJUPLU5t52eq2meA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-arm@0.18.20: resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} engines: {node: '>=12'} @@ -647,6 +719,15 @@ packages: dev: true optional: true + /@esbuild/linux-arm@0.19.5: + resolution: {integrity: sha512-lrWXLY/vJBzCPC51QN0HM71uWgIEpGSjSZZADQhq7DKhPcI6NH1IdzjfHkDQws2oNpJKpR13kv7/pFHBbDQDwQ==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-ia32@0.18.20: resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} engines: {node: '>=12'} @@ -656,6 +737,15 @@ packages: dev: true optional: true + /@esbuild/linux-ia32@0.19.5: + resolution: {integrity: sha512-MkjHXS03AXAkNp1KKkhSKPOCYztRtK+KXDNkBa6P78F8Bw0ynknCSClO/ztGszILZtyO/lVKpa7MolbBZ6oJtQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-loong64@0.15.18: resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==} engines: {node: '>=12'} @@ -674,6 +764,15 @@ packages: dev: true optional: true + /@esbuild/linux-loong64@0.19.5: + resolution: {integrity: sha512-42GwZMm5oYOD/JHqHska3Jg0r+XFb/fdZRX+WjADm3nLWLcIsN27YKtqxzQmGNJgu0AyXg4HtcSK9HuOk3v1Dw==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-mips64el@0.18.20: resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} engines: {node: '>=12'} @@ -683,6 +782,15 @@ packages: dev: true optional: true + /@esbuild/linux-mips64el@0.19.5: + resolution: {integrity: sha512-kcjndCSMitUuPJobWCnwQ9lLjiLZUR3QLQmlgaBfMX23UEa7ZOrtufnRds+6WZtIS9HdTXqND4yH8NLoVVIkcg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-ppc64@0.18.20: resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} engines: {node: '>=12'} @@ -692,6 +800,15 @@ packages: dev: true optional: true + /@esbuild/linux-ppc64@0.19.5: + resolution: {integrity: sha512-yJAxJfHVm0ZbsiljbtFFP1BQKLc8kUF6+17tjQ78QjqjAQDnhULWiTA6u0FCDmYT1oOKS9PzZ2z0aBI+Mcyj7Q==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-riscv64@0.18.20: resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} engines: {node: '>=12'} @@ -701,6 +818,15 @@ packages: dev: true optional: true + /@esbuild/linux-riscv64@0.19.5: + resolution: {integrity: sha512-5u8cIR/t3gaD6ad3wNt1MNRstAZO+aNyBxu2We8X31bA8XUNyamTVQwLDA1SLoPCUehNCymhBhK3Qim1433Zag==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-s390x@0.18.20: resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} engines: {node: '>=12'} @@ -710,6 +836,15 @@ packages: dev: true optional: true + /@esbuild/linux-s390x@0.19.5: + resolution: {integrity: sha512-Z6JrMyEw/EmZBD/OFEFpb+gao9xJ59ATsoTNlj39jVBbXqoZm4Xntu6wVmGPB/OATi1uk/DB+yeDPv2E8PqZGw==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-x64@0.18.20: resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} engines: {node: '>=12'} @@ -719,6 +854,15 @@ packages: dev: true optional: true + /@esbuild/linux-x64@0.19.5: + resolution: {integrity: sha512-psagl+2RlK1z8zWZOmVdImisMtrUxvwereIdyJTmtmHahJTKb64pAcqoPlx6CewPdvGvUKe2Jw+0Z/0qhSbG1A==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/netbsd-x64@0.18.20: resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} engines: {node: '>=12'} @@ -728,6 +872,15 @@ packages: dev: true optional: true + /@esbuild/netbsd-x64@0.19.5: + resolution: {integrity: sha512-kL2l+xScnAy/E/3119OggX8SrWyBEcqAh8aOY1gr4gPvw76la2GlD4Ymf832UCVbmuWeTf2adkZDK+h0Z/fB4g==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/openbsd-x64@0.18.20: resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} engines: {node: '>=12'} @@ -737,6 +890,15 @@ packages: dev: true optional: true + /@esbuild/openbsd-x64@0.19.5: + resolution: {integrity: sha512-sPOfhtzFufQfTBgRnE1DIJjzsXukKSvZxloZbkJDG383q0awVAq600pc1nfqBcl0ice/WN9p4qLc39WhBShRTA==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/sunos-x64@0.18.20: resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} engines: {node: '>=12'} @@ -746,6 +908,15 @@ packages: dev: true optional: true + /@esbuild/sunos-x64@0.19.5: + resolution: {integrity: sha512-dGZkBXaafuKLpDSjKcB0ax0FL36YXCvJNnztjKV+6CO82tTYVDSH2lifitJ29jxRMoUhgkg9a+VA/B03WK5lcg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-arm64@0.18.20: resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} engines: {node: '>=12'} @@ -755,6 +926,15 @@ packages: dev: true optional: true + /@esbuild/win32-arm64@0.19.5: + resolution: {integrity: sha512-dWVjD9y03ilhdRQ6Xig1NWNgfLtf2o/STKTS+eZuF90fI2BhbwD6WlaiCGKptlqXlURVB5AUOxUj09LuwKGDTg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-ia32@0.18.20: resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} engines: {node: '>=12'} @@ -764,6 +944,15 @@ packages: dev: true optional: true + /@esbuild/win32-ia32@0.19.5: + resolution: {integrity: sha512-4liggWIA4oDgUxqpZwrDhmEfAH4d0iljanDOK7AnVU89T6CzHon/ony8C5LeOdfgx60x5cnQJFZwEydVlYx4iw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-x64@0.18.20: resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} engines: {node: '>=12'} @@ -773,6 +962,15 @@ packages: dev: true optional: true + /@esbuild/win32-x64@0.19.5: + resolution: {integrity: sha512-czTrygUsB/jlM8qEW5MD8bgYU2Xg14lo6kBDXW6HdxKjh8M5PzETGiSHaz9MtbXBYDloHNUAUW2tMiKW4KM9Mw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@hapi/hoek@9.3.0: resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} dev: true @@ -1019,7 +1217,7 @@ packages: resolution: {integrity: sha512-sF59BlXtUdzEAL1u0MSvuzWd7PdZvZEtnaVkzX5mjpdWTJ8brG0jUqve3jPCzSzvAKKMHTG8F8o/WMQLtleZdQ==} dependencies: '@types/jsonfile': 6.1.3 - '@types/node': 18.18.8 + '@types/node': 20.9.1 dev: true /@types/jsdom@21.1.5: @@ -1037,7 +1235,7 @@ packages: /@types/jsonfile@6.1.3: resolution: {integrity: sha512-/yqTk2SZ1wIezK0hiRZD7RuSf4B3whFxFamB1kGStv+8zlWScTMcHanzfc0XKWs5vA1TkHeckBlOyM8jxU8nHA==} dependencies: - '@types/node': 18.18.8 + '@types/node': 20.9.1 dev: true /@types/minimist@1.2.4: @@ -1058,6 +1256,12 @@ packages: undici-types: 5.26.5 dev: true + /@types/node@20.9.1: + resolution: {integrity: sha512-HhmzZh5LSJNS5O8jQKpJ/3ZcrrlG6L70hpGqMIAoM9YVD0YBRNWYsfwcXq8VnSjlNpCpgLzMXdiPo+dxcvSmiA==} + dependencies: + undici-types: 5.26.5 + dev: true + /@types/normalize-package-data@2.4.3: resolution: {integrity: sha512-ehPtgRgaULsFG8x0NeYJvmyH1hmlfsNLujHe9dQEia/7MAJYdzMSi19JtchUHjmBA6XC/75dK55mzZH+RyieSg==} dev: true @@ -1065,7 +1269,7 @@ packages: /@types/prompts@2.4.8: resolution: {integrity: sha512-fPOEzviubkEVCiLduO45h+zFHB0RZX8tFt3C783sO5cT7fUXf3EEECpD26djtYdh4Isa9Z9tasMQuZnYPtvYzw==} dependencies: - '@types/node': 18.18.8 + '@types/node': 20.9.1 kleur: 3.0.3 dev: true @@ -1119,7 +1323,7 @@ packages: '@babel/core': 7.23.2 '@babel/plugin-transform-typescript': 7.22.15(@babel/core@7.23.2) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.2) - vite: 4.5.0(@types/node@18.18.8) + vite: 4.5.0(@types/node@20.9.1) vue: 3.3.8(typescript@5.2.2) transitivePeerDependencies: - supports-color @@ -1132,7 +1336,7 @@ packages: vite: ^4.0.0 vue: ^3.2.25 dependencies: - vite: 4.5.0(@types/node@18.18.8) + vite: 4.5.0(@types/node@20.9.1) vue: 3.3.8(typescript@5.2.2) dev: true @@ -2209,18 +2413,6 @@ packages: ms: 2.1.2 dev: true - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - dev: true - /debug@4.3.4(supports-color@8.1.1): resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} @@ -2586,12 +2778,12 @@ packages: dev: true optional: true - /esbuild-plugin-license@1.2.2(esbuild@0.18.20): + /esbuild-plugin-license@1.2.2(esbuild@0.19.5): resolution: {integrity: sha512-sqa8V1pB6wr6L8lPQ+lD73ARTfi824H/smyUd4eBwvc+yGK0ZvfupXDqgmrFpP5zu6aTj8pMlnoowuDOjKGX5A==} peerDependencies: esbuild: '*' dependencies: - esbuild: 0.18.20 + esbuild: 0.19.5 dev: true /esbuild-sunos-64@0.15.18: @@ -2690,6 +2882,36 @@ packages: '@esbuild/win32-x64': 0.18.20 dev: true + /esbuild@0.19.5: + resolution: {integrity: sha512-bUxalY7b1g8vNhQKdB24QDmHeY4V4tw/s6Ak5z+jJX9laP5MoQseTOMemAr0gxssjNcH0MCViG8ONI2kksvfFQ==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.19.5 + '@esbuild/android-arm64': 0.19.5 + '@esbuild/android-x64': 0.19.5 + '@esbuild/darwin-arm64': 0.19.5 + '@esbuild/darwin-x64': 0.19.5 + '@esbuild/freebsd-arm64': 0.19.5 + '@esbuild/freebsd-x64': 0.19.5 + '@esbuild/linux-arm': 0.19.5 + '@esbuild/linux-arm64': 0.19.5 + '@esbuild/linux-ia32': 0.19.5 + '@esbuild/linux-loong64': 0.19.5 + '@esbuild/linux-mips64el': 0.19.5 + '@esbuild/linux-ppc64': 0.19.5 + '@esbuild/linux-riscv64': 0.19.5 + '@esbuild/linux-s390x': 0.19.5 + '@esbuild/linux-x64': 0.19.5 + '@esbuild/netbsd-x64': 0.19.5 + '@esbuild/openbsd-x64': 0.19.5 + '@esbuild/sunos-x64': 0.19.5 + '@esbuild/win32-arm64': 0.19.5 + '@esbuild/win32-ia32': 0.19.5 + '@esbuild/win32-x64': 0.19.5 + dev: true + /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} @@ -3728,21 +3950,21 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true - /lint-staged@15.0.2: - resolution: {integrity: sha512-vnEy7pFTHyVuDmCAIFKR5QDO8XLVlPFQQyujQ/STOxe40ICWqJ6knS2wSJ/ffX/Lw0rz83luRDh+ET7toN+rOw==} + /lint-staged@15.1.0: + resolution: {integrity: sha512-ZPKXWHVlL7uwVpy8OZ7YQjYDAuO5X4kMh0XgZvPNxLcCCngd0PO5jKQyy3+s4TL2EnHoIXIzP1422f/l3nZKMw==} engines: {node: '>=18.12.0'} hasBin: true dependencies: chalk: 5.3.0 commander: 11.1.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) execa: 8.0.1 lilconfig: 2.1.0 listr2: 7.0.2 micromatch: 4.0.5 pidtree: 0.6.0 string-argv: 0.3.2 - yaml: 2.3.3 + yaml: 2.3.4 transitivePeerDependencies: - supports-color dev: true @@ -4598,8 +4820,8 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 - /prettier@3.0.3: - resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==} + /prettier@3.1.0: + resolution: {integrity: sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==} engines: {node: '>=14'} hasBin: true dev: true @@ -5476,7 +5698,7 @@ packages: hasBin: true dependencies: cac: 6.7.14 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) mlly: 1.4.2 pathe: 1.1.1 picocolors: 1.0.0 @@ -5492,6 +5714,28 @@ packages: - terser dev: true + /vite-node@0.34.6(@types/node@20.9.1): + resolution: {integrity: sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==} + engines: {node: '>=v14.18.0'} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4(supports-color@8.1.1) + mlly: 1.4.2 + pathe: 1.1.1 + picocolors: 1.0.0 + vite: 4.5.0(@types/node@20.9.1) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + /vite-plugin-nightwatch@0.4.5(vue@3.3.8): resolution: {integrity: sha512-3yZ/S6dcFXbZWx4tzwxXKmoE8Z0A1ZJuWwT8/ltyI8JwFkf8p/x0NL1buZO1SdIRCeRTfQU6/i19hcl9YmEUQg==} dependencies: @@ -5546,6 +5790,42 @@ packages: fsevents: 2.3.3 dev: true + /vite@4.5.0(@types/node@20.9.1): + resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.9.1 + esbuild: 0.18.20 + postcss: 8.4.31 + rollup: 3.29.4 + optionalDependencies: + fsevents: 2.3.3 + dev: true + /vitest@0.34.6: resolution: {integrity: sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==} engines: {node: '>=v14.18.0'} @@ -5579,7 +5859,7 @@ packages: dependencies: '@types/chai': 4.3.9 '@types/chai-subset': 1.3.4 - '@types/node': 18.18.8 + '@types/node': 20.9.1 '@vitest/expect': 0.34.6 '@vitest/runner': 0.34.6 '@vitest/snapshot': 0.34.6 @@ -5589,7 +5869,7 @@ packages: acorn-walk: 8.3.0 cac: 6.7.14 chai: 4.3.10 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) local-pkg: 0.4.3 magic-string: 0.30.5 pathe: 1.1.1 @@ -5598,8 +5878,8 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.7.0 - vite: 4.5.0(@types/node@18.18.8) - vite-node: 0.34.6(@types/node@18.18.8) + vite: 4.5.0(@types/node@20.9.1) + vite-node: 0.34.6(@types/node@20.9.1) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -5921,6 +6201,11 @@ packages: engines: {node: '>= 14'} dev: true + /yaml@2.3.4: + resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} + engines: {node: '>= 14'} + dev: true + /yargs-parser@20.2.4: resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==} engines: {node: '>=10'} From 3f9af05817c808da3dddde861cece8431bcd9da9 Mon Sep 17 00:00:00 2001 From: CoolPlayLin Date: Sat, 18 Nov 2023 15:40:13 +0800 Subject: [PATCH 08/25] Revert "fix" This reverts commit 5d2463ab42a709cf7be0710db3f7500e0db8d77e. --- package.json | 8 +- pnpm-lock.yaml | 367 ++++++------------------------------------------- 2 files changed, 45 insertions(+), 330 deletions(-) diff --git a/package.json b/package.json index 923d1191..061c3caa 100644 --- a/package.json +++ b/package.json @@ -38,19 +38,19 @@ "devDependencies": { "@tsconfig/node18": "^18.2.2", "@types/eslint": "^8.44.7", - "@types/node": "^20.9.1", + "@types/node": "^18.18.8", "@types/prompts": "^2.4.8", "@vue/create-eslint-config": "^0.3.2", "@vue/tsconfig": "^0.4.0", "ejs": "^3.1.9", - "esbuild": "^0.19.5", + "esbuild": "^0.18.20", "esbuild-plugin-license": "^1.2.2", "husky": "^8.0.3", "kolorist": "^1.8.0", - "lint-staged": "^15.1.0", + "lint-staged": "^15.0.2", "minimist": "^1.2.8", "npm-run-all2": "^6.1.1", - "prettier": "^3.1.0", + "prettier": "^3.0.3", "prompts": "^2.4.2", "vitest": "^0.34.6", "zx": "^7.2.3" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 999e1cc5..5b96766e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,8 +15,8 @@ importers: specifier: ^8.44.7 version: 8.44.7 '@types/node': - specifier: ^20.9.1 - version: 20.9.1 + specifier: ^18.18.8 + version: 18.18.8 '@types/prompts': specifier: ^2.4.8 version: 2.4.8 @@ -30,11 +30,11 @@ importers: specifier: ^3.1.9 version: 3.1.9 esbuild: - specifier: ^0.19.5 - version: 0.19.5 + specifier: ^0.18.20 + version: 0.18.20 esbuild-plugin-license: specifier: ^1.2.2 - version: 1.2.2(esbuild@0.19.5) + version: 1.2.2(esbuild@0.18.20) husky: specifier: ^8.0.3 version: 8.0.3 @@ -42,8 +42,8 @@ importers: specifier: ^1.8.0 version: 1.8.0 lint-staged: - specifier: ^15.1.0 - version: 15.1.0 + specifier: ^15.0.2 + version: 15.0.2 minimist: specifier: ^1.2.8 version: 1.2.8 @@ -51,8 +51,8 @@ importers: specifier: ^6.1.1 version: 6.1.1 prettier: - specifier: ^3.1.0 - version: 3.1.0 + specifier: ^3.0.3 + version: 3.0.3 prompts: specifier: ^2.4.2 version: 2.4.2 @@ -74,7 +74,7 @@ importers: version: 4.4.0(vite@4.5.0)(vue@3.3.8) vite: specifier: ^4.5.0 - version: 4.5.0(@types/node@20.9.1) + version: 4.5.0(@types/node@18.18.8) template/config/cypress: devDependencies: @@ -106,7 +106,7 @@ importers: version: 3.0.2(vite@4.5.0)(vue@3.3.8) vite: specifier: ^4.5.0 - version: 4.5.0(@types/node@20.9.1) + version: 4.5.0(@types/node@18.18.8) template/config/nightwatch: devDependencies: @@ -566,15 +566,6 @@ packages: dev: true optional: true - /@esbuild/android-arm64@0.19.5: - resolution: {integrity: sha512-5d1OkoJxnYQfmC+Zd8NBFjkhyCNYwM4n9ODrycTFY6Jk1IGiZ+tjVJDDSwDt77nK+tfpGP4T50iMtVi4dEGzhQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm@0.15.18: resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==} engines: {node: '>=12'} @@ -593,15 +584,6 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.19.5: - resolution: {integrity: sha512-bhvbzWFF3CwMs5tbjf3ObfGqbl/17ict2/uwOSfr3wmxDE6VdS2GqY/FuzIPe0q0bdhj65zQsvqfArI9MY6+AA==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-x64@0.18.20: resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} engines: {node: '>=12'} @@ -611,15 +593,6 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.19.5: - resolution: {integrity: sha512-9t+28jHGL7uBdkBjL90QFxe7DVA+KGqWlHCF8ChTKyaKO//VLuoBricQCgwhOjA1/qOczsw843Fy4cbs4H3DVA==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-arm64@0.18.20: resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} engines: {node: '>=12'} @@ -629,15 +602,6 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.19.5: - resolution: {integrity: sha512-mvXGcKqqIqyKoxq26qEDPHJuBYUA5KizJncKOAf9eJQez+L9O+KfvNFu6nl7SCZ/gFb2QPaRqqmG0doSWlgkqw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-x64@0.18.20: resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} engines: {node: '>=12'} @@ -647,15 +611,6 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.19.5: - resolution: {integrity: sha512-Ly8cn6fGLNet19s0X4unjcniX24I0RqjPv+kurpXabZYSXGM4Pwpmf85WHJN3lAgB8GSth7s5A0r856S+4DyiA==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-arm64@0.18.20: resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} engines: {node: '>=12'} @@ -665,15 +620,6 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.19.5: - resolution: {integrity: sha512-GGDNnPWTmWE+DMchq1W8Sd0mUkL+APvJg3b11klSGUDvRXh70JqLAO56tubmq1s2cgpVCSKYywEiKBfju8JztQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-x64@0.18.20: resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} engines: {node: '>=12'} @@ -683,15 +629,6 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.19.5: - resolution: {integrity: sha512-1CCwDHnSSoA0HNwdfoNY0jLfJpd7ygaLAp5EHFos3VWJCRX9DMwWODf96s9TSse39Br7oOTLryRVmBoFwXbuuQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm64@0.18.20: resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} engines: {node: '>=12'} @@ -701,15 +638,6 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.19.5: - resolution: {integrity: sha512-o3vYippBmSrjjQUCEEiTZ2l+4yC0pVJD/Dl57WfPwwlvFkrxoSO7rmBZFii6kQB3Wrn/6GwJUPLU5t52eq2meA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm@0.18.20: resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} engines: {node: '>=12'} @@ -719,15 +647,6 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.19.5: - resolution: {integrity: sha512-lrWXLY/vJBzCPC51QN0HM71uWgIEpGSjSZZADQhq7DKhPcI6NH1IdzjfHkDQws2oNpJKpR13kv7/pFHBbDQDwQ==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ia32@0.18.20: resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} engines: {node: '>=12'} @@ -737,15 +656,6 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.19.5: - resolution: {integrity: sha512-MkjHXS03AXAkNp1KKkhSKPOCYztRtK+KXDNkBa6P78F8Bw0ynknCSClO/ztGszILZtyO/lVKpa7MolbBZ6oJtQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-loong64@0.15.18: resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==} engines: {node: '>=12'} @@ -764,15 +674,6 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.19.5: - resolution: {integrity: sha512-42GwZMm5oYOD/JHqHska3Jg0r+XFb/fdZRX+WjADm3nLWLcIsN27YKtqxzQmGNJgu0AyXg4HtcSK9HuOk3v1Dw==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-mips64el@0.18.20: resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} engines: {node: '>=12'} @@ -782,15 +683,6 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.19.5: - resolution: {integrity: sha512-kcjndCSMitUuPJobWCnwQ9lLjiLZUR3QLQmlgaBfMX23UEa7ZOrtufnRds+6WZtIS9HdTXqND4yH8NLoVVIkcg==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ppc64@0.18.20: resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} engines: {node: '>=12'} @@ -800,15 +692,6 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.19.5: - resolution: {integrity: sha512-yJAxJfHVm0ZbsiljbtFFP1BQKLc8kUF6+17tjQ78QjqjAQDnhULWiTA6u0FCDmYT1oOKS9PzZ2z0aBI+Mcyj7Q==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-riscv64@0.18.20: resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} engines: {node: '>=12'} @@ -818,15 +701,6 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.19.5: - resolution: {integrity: sha512-5u8cIR/t3gaD6ad3wNt1MNRstAZO+aNyBxu2We8X31bA8XUNyamTVQwLDA1SLoPCUehNCymhBhK3Qim1433Zag==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-s390x@0.18.20: resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} engines: {node: '>=12'} @@ -836,15 +710,6 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.19.5: - resolution: {integrity: sha512-Z6JrMyEw/EmZBD/OFEFpb+gao9xJ59ATsoTNlj39jVBbXqoZm4Xntu6wVmGPB/OATi1uk/DB+yeDPv2E8PqZGw==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-x64@0.18.20: resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} engines: {node: '>=12'} @@ -854,15 +719,6 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.19.5: - resolution: {integrity: sha512-psagl+2RlK1z8zWZOmVdImisMtrUxvwereIdyJTmtmHahJTKb64pAcqoPlx6CewPdvGvUKe2Jw+0Z/0qhSbG1A==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/netbsd-x64@0.18.20: resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} engines: {node: '>=12'} @@ -872,15 +728,6 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.19.5: - resolution: {integrity: sha512-kL2l+xScnAy/E/3119OggX8SrWyBEcqAh8aOY1gr4gPvw76la2GlD4Ymf832UCVbmuWeTf2adkZDK+h0Z/fB4g==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/openbsd-x64@0.18.20: resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} engines: {node: '>=12'} @@ -890,15 +737,6 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.19.5: - resolution: {integrity: sha512-sPOfhtzFufQfTBgRnE1DIJjzsXukKSvZxloZbkJDG383q0awVAq600pc1nfqBcl0ice/WN9p4qLc39WhBShRTA==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/sunos-x64@0.18.20: resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} engines: {node: '>=12'} @@ -908,15 +746,6 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.19.5: - resolution: {integrity: sha512-dGZkBXaafuKLpDSjKcB0ax0FL36YXCvJNnztjKV+6CO82tTYVDSH2lifitJ29jxRMoUhgkg9a+VA/B03WK5lcg==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-arm64@0.18.20: resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} engines: {node: '>=12'} @@ -926,15 +755,6 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.19.5: - resolution: {integrity: sha512-dWVjD9y03ilhdRQ6Xig1NWNgfLtf2o/STKTS+eZuF90fI2BhbwD6WlaiCGKptlqXlURVB5AUOxUj09LuwKGDTg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-ia32@0.18.20: resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} engines: {node: '>=12'} @@ -944,15 +764,6 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.19.5: - resolution: {integrity: sha512-4liggWIA4oDgUxqpZwrDhmEfAH4d0iljanDOK7AnVU89T6CzHon/ony8C5LeOdfgx60x5cnQJFZwEydVlYx4iw==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-x64@0.18.20: resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} engines: {node: '>=12'} @@ -962,15 +773,6 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.19.5: - resolution: {integrity: sha512-czTrygUsB/jlM8qEW5MD8bgYU2Xg14lo6kBDXW6HdxKjh8M5PzETGiSHaz9MtbXBYDloHNUAUW2tMiKW4KM9Mw==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@hapi/hoek@9.3.0: resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} dev: true @@ -1217,7 +1019,7 @@ packages: resolution: {integrity: sha512-sF59BlXtUdzEAL1u0MSvuzWd7PdZvZEtnaVkzX5mjpdWTJ8brG0jUqve3jPCzSzvAKKMHTG8F8o/WMQLtleZdQ==} dependencies: '@types/jsonfile': 6.1.3 - '@types/node': 20.9.1 + '@types/node': 18.18.8 dev: true /@types/jsdom@21.1.5: @@ -1235,7 +1037,7 @@ packages: /@types/jsonfile@6.1.3: resolution: {integrity: sha512-/yqTk2SZ1wIezK0hiRZD7RuSf4B3whFxFamB1kGStv+8zlWScTMcHanzfc0XKWs5vA1TkHeckBlOyM8jxU8nHA==} dependencies: - '@types/node': 20.9.1 + '@types/node': 18.18.8 dev: true /@types/minimist@1.2.4: @@ -1256,12 +1058,6 @@ packages: undici-types: 5.26.5 dev: true - /@types/node@20.9.1: - resolution: {integrity: sha512-HhmzZh5LSJNS5O8jQKpJ/3ZcrrlG6L70hpGqMIAoM9YVD0YBRNWYsfwcXq8VnSjlNpCpgLzMXdiPo+dxcvSmiA==} - dependencies: - undici-types: 5.26.5 - dev: true - /@types/normalize-package-data@2.4.3: resolution: {integrity: sha512-ehPtgRgaULsFG8x0NeYJvmyH1hmlfsNLujHe9dQEia/7MAJYdzMSi19JtchUHjmBA6XC/75dK55mzZH+RyieSg==} dev: true @@ -1269,7 +1065,7 @@ packages: /@types/prompts@2.4.8: resolution: {integrity: sha512-fPOEzviubkEVCiLduO45h+zFHB0RZX8tFt3C783sO5cT7fUXf3EEECpD26djtYdh4Isa9Z9tasMQuZnYPtvYzw==} dependencies: - '@types/node': 20.9.1 + '@types/node': 18.18.8 kleur: 3.0.3 dev: true @@ -1323,7 +1119,7 @@ packages: '@babel/core': 7.23.2 '@babel/plugin-transform-typescript': 7.22.15(@babel/core@7.23.2) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.2) - vite: 4.5.0(@types/node@20.9.1) + vite: 4.5.0(@types/node@18.18.8) vue: 3.3.8(typescript@5.2.2) transitivePeerDependencies: - supports-color @@ -1336,7 +1132,7 @@ packages: vite: ^4.0.0 vue: ^3.2.25 dependencies: - vite: 4.5.0(@types/node@20.9.1) + vite: 4.5.0(@types/node@18.18.8) vue: 3.3.8(typescript@5.2.2) dev: true @@ -2413,6 +2209,18 @@ packages: ms: 2.1.2 dev: true + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + /debug@4.3.4(supports-color@8.1.1): resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} @@ -2778,12 +2586,12 @@ packages: dev: true optional: true - /esbuild-plugin-license@1.2.2(esbuild@0.19.5): + /esbuild-plugin-license@1.2.2(esbuild@0.18.20): resolution: {integrity: sha512-sqa8V1pB6wr6L8lPQ+lD73ARTfi824H/smyUd4eBwvc+yGK0ZvfupXDqgmrFpP5zu6aTj8pMlnoowuDOjKGX5A==} peerDependencies: esbuild: '*' dependencies: - esbuild: 0.19.5 + esbuild: 0.18.20 dev: true /esbuild-sunos-64@0.15.18: @@ -2882,36 +2690,6 @@ packages: '@esbuild/win32-x64': 0.18.20 dev: true - /esbuild@0.19.5: - resolution: {integrity: sha512-bUxalY7b1g8vNhQKdB24QDmHeY4V4tw/s6Ak5z+jJX9laP5MoQseTOMemAr0gxssjNcH0MCViG8ONI2kksvfFQ==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.19.5 - '@esbuild/android-arm64': 0.19.5 - '@esbuild/android-x64': 0.19.5 - '@esbuild/darwin-arm64': 0.19.5 - '@esbuild/darwin-x64': 0.19.5 - '@esbuild/freebsd-arm64': 0.19.5 - '@esbuild/freebsd-x64': 0.19.5 - '@esbuild/linux-arm': 0.19.5 - '@esbuild/linux-arm64': 0.19.5 - '@esbuild/linux-ia32': 0.19.5 - '@esbuild/linux-loong64': 0.19.5 - '@esbuild/linux-mips64el': 0.19.5 - '@esbuild/linux-ppc64': 0.19.5 - '@esbuild/linux-riscv64': 0.19.5 - '@esbuild/linux-s390x': 0.19.5 - '@esbuild/linux-x64': 0.19.5 - '@esbuild/netbsd-x64': 0.19.5 - '@esbuild/openbsd-x64': 0.19.5 - '@esbuild/sunos-x64': 0.19.5 - '@esbuild/win32-arm64': 0.19.5 - '@esbuild/win32-ia32': 0.19.5 - '@esbuild/win32-x64': 0.19.5 - dev: true - /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} @@ -3950,21 +3728,21 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true - /lint-staged@15.1.0: - resolution: {integrity: sha512-ZPKXWHVlL7uwVpy8OZ7YQjYDAuO5X4kMh0XgZvPNxLcCCngd0PO5jKQyy3+s4TL2EnHoIXIzP1422f/l3nZKMw==} + /lint-staged@15.0.2: + resolution: {integrity: sha512-vnEy7pFTHyVuDmCAIFKR5QDO8XLVlPFQQyujQ/STOxe40ICWqJ6knS2wSJ/ffX/Lw0rz83luRDh+ET7toN+rOw==} engines: {node: '>=18.12.0'} hasBin: true dependencies: chalk: 5.3.0 commander: 11.1.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 execa: 8.0.1 lilconfig: 2.1.0 listr2: 7.0.2 micromatch: 4.0.5 pidtree: 0.6.0 string-argv: 0.3.2 - yaml: 2.3.4 + yaml: 2.3.3 transitivePeerDependencies: - supports-color dev: true @@ -4820,8 +4598,8 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 - /prettier@3.1.0: - resolution: {integrity: sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==} + /prettier@3.0.3: + resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==} engines: {node: '>=14'} hasBin: true dev: true @@ -5698,7 +5476,7 @@ packages: hasBin: true dependencies: cac: 6.7.14 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 mlly: 1.4.2 pathe: 1.1.1 picocolors: 1.0.0 @@ -5714,28 +5492,6 @@ packages: - terser dev: true - /vite-node@0.34.6(@types/node@20.9.1): - resolution: {integrity: sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==} - engines: {node: '>=v14.18.0'} - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4(supports-color@8.1.1) - mlly: 1.4.2 - pathe: 1.1.1 - picocolors: 1.0.0 - vite: 4.5.0(@types/node@20.9.1) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - /vite-plugin-nightwatch@0.4.5(vue@3.3.8): resolution: {integrity: sha512-3yZ/S6dcFXbZWx4tzwxXKmoE8Z0A1ZJuWwT8/ltyI8JwFkf8p/x0NL1buZO1SdIRCeRTfQU6/i19hcl9YmEUQg==} dependencies: @@ -5790,42 +5546,6 @@ packages: fsevents: 2.3.3 dev: true - /vite@4.5.0(@types/node@20.9.1): - resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==} - engines: {node: ^14.18.0 || >=16.0.0} - hasBin: true - peerDependencies: - '@types/node': '>= 14' - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 20.9.1 - esbuild: 0.18.20 - postcss: 8.4.31 - rollup: 3.29.4 - optionalDependencies: - fsevents: 2.3.3 - dev: true - /vitest@0.34.6: resolution: {integrity: sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==} engines: {node: '>=v14.18.0'} @@ -5859,7 +5579,7 @@ packages: dependencies: '@types/chai': 4.3.9 '@types/chai-subset': 1.3.4 - '@types/node': 20.9.1 + '@types/node': 18.18.8 '@vitest/expect': 0.34.6 '@vitest/runner': 0.34.6 '@vitest/snapshot': 0.34.6 @@ -5869,7 +5589,7 @@ packages: acorn-walk: 8.3.0 cac: 6.7.14 chai: 4.3.10 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 local-pkg: 0.4.3 magic-string: 0.30.5 pathe: 1.1.1 @@ -5878,8 +5598,8 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.7.0 - vite: 4.5.0(@types/node@20.9.1) - vite-node: 0.34.6(@types/node@20.9.1) + vite: 4.5.0(@types/node@18.18.8) + vite-node: 0.34.6(@types/node@18.18.8) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -6201,11 +5921,6 @@ packages: engines: {node: '>= 14'} dev: true - /yaml@2.3.4: - resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} - engines: {node: '>= 14'} - dev: true - /yargs-parser@20.2.4: resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==} engines: {node: '>=10'} From b4e75ba019f689983dcd11df8993779ce0ed6fc3 Mon Sep 17 00:00:00 2001 From: CoolPlayLin Date: Sat, 18 Nov 2023 15:42:27 +0800 Subject: [PATCH 09/25] Squashed commit of the following: commit 9289329899f81f64ea6cc2a47f158f8e7f88f334 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Thu Nov 16 17:14:44 2023 +0000 chore(deps): update all non-major dependencies --- package.json | 6 +- pnpm-lock.yaml | 702 +++++++++++++++++------- template/base/package.json | 2 +- template/config/cypress-ct/package.json | 2 +- template/config/cypress/package.json | 4 +- template/config/jsx/package.json | 2 +- template/config/nightwatch/package.json | 6 +- template/config/typescript/package.json | 2 +- template/config/vitest/package.json | 2 +- 9 files changed, 504 insertions(+), 224 deletions(-) diff --git a/package.json b/package.json index 061c3caa..60db4024 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "devDependencies": { "@tsconfig/node18": "^18.2.2", "@types/eslint": "^8.44.7", - "@types/node": "^18.18.8", + "@types/node": "^18.18.9", "@types/prompts": "^2.4.8", "@vue/create-eslint-config": "^0.3.2", "@vue/tsconfig": "^0.4.0", @@ -47,10 +47,10 @@ "esbuild-plugin-license": "^1.2.2", "husky": "^8.0.3", "kolorist": "^1.8.0", - "lint-staged": "^15.0.2", + "lint-staged": "^15.1.0", "minimist": "^1.2.8", "npm-run-all2": "^6.1.1", - "prettier": "^3.0.3", + "prettier": "^3.1.0", "prompts": "^2.4.2", "vitest": "^0.34.6", "zx": "^7.2.3" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5b96766e..ecc72901 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,8 +15,8 @@ importers: specifier: ^8.44.7 version: 8.44.7 '@types/node': - specifier: ^18.18.8 - version: 18.18.8 + specifier: ^18.18.9 + version: 18.18.9 '@types/prompts': specifier: ^2.4.8 version: 2.4.8 @@ -42,8 +42,8 @@ importers: specifier: ^1.8.0 version: 1.8.0 lint-staged: - specifier: ^15.0.2 - version: 15.0.2 + specifier: ^15.1.0 + version: 15.1.0 minimist: specifier: ^1.2.8 version: 1.2.8 @@ -51,8 +51,8 @@ importers: specifier: ^6.1.1 version: 6.1.1 prettier: - specifier: ^3.0.3 - version: 3.0.3 + specifier: ^3.1.0 + version: 3.1.0 prompts: specifier: ^2.4.2 version: 2.4.2 @@ -70,20 +70,20 @@ importers: version: 3.3.8(typescript@5.2.2) devDependencies: '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.8) + specifier: ^4.5.0 + version: 4.5.0(vite@4.5.0)(vue@3.3.8) vite: specifier: ^4.5.0 - version: 4.5.0(@types/node@18.18.8) + version: 4.5.0(@types/node@18.18.9) template/config/cypress: devDependencies: cypress: - specifier: ^13.4.0 - version: 13.4.0 + specifier: ^13.5.1 + version: 13.5.1 start-server-and-test: - specifier: ^2.0.2 - version: 2.0.2 + specifier: ^2.0.3 + version: 2.0.3 template/config/cypress-ct: dependencies: @@ -92,8 +92,8 @@ importers: version: 3.3.8(typescript@5.2.2) devDependencies: cypress: - specifier: ^13.4.0 - version: 13.4.0 + specifier: ^13.5.1 + version: 13.5.1 template/config/jsx: dependencies: @@ -102,23 +102,23 @@ importers: version: 3.3.8(typescript@5.2.2) devDependencies: '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.8) + specifier: ^3.1.0 + version: 3.1.0(vite@4.5.0)(vue@3.3.8) vite: specifier: ^4.5.0 - version: 4.5.0(@types/node@18.18.8) + version: 4.5.0(@types/node@18.18.9) template/config/nightwatch: devDependencies: '@nightwatch/vue': specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.8)(vue@3.3.8) + version: 0.4.5(@types/node@18.18.9)(vue@3.3.8) '@types/nightwatch': specifier: ^2.3.28 version: 2.3.28 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.8) + specifier: ^4.5.0 + version: 4.5.0(vite@4.5.0)(vue@3.3.8) chromedriver: specifier: ^119.0.0 version: 119.0.0 @@ -126,14 +126,14 @@ importers: specifier: ^4.2.1 version: 4.2.1 nightwatch: - specifier: ^3.3.0 - version: 3.3.0(chromedriver@119.0.0)(geckodriver@4.2.1) + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.0)(geckodriver@4.2.1) ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.8)(typescript@5.2.2) + version: 10.9.1(@types/node@18.18.9)(typescript@5.2.2) wait-on: - specifier: ^7.1.0 - version: 7.1.0(debug@4.3.4) + specifier: ^7.2.0 + version: 7.2.0(debug@4.3.4) template/config/nightwatch-ct: dependencies: @@ -168,8 +168,8 @@ importers: template/config/typescript: devDependencies: '@types/node': - specifier: ^18.18.8 - version: 18.18.8 + specifier: ^18.18.9 + version: 18.18.9 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 @@ -187,8 +187,8 @@ importers: version: 3.3.8(typescript@5.2.2) devDependencies: '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.8) + specifier: ^2.4.2 + version: 2.4.2(vue@3.3.8) jsdom: specifier: ^22.1.0 version: 22.1.0 @@ -263,6 +263,29 @@ packages: - supports-color dev: true + /@babel/core@7.23.3: + resolution: {integrity: sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.22.13 + '@babel/generator': 7.23.3 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) + '@babel/helpers': 7.23.2 + '@babel/parser': 7.23.3 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.3 + '@babel/types': 7.23.3 + convert-source-map: 2.0.0 + debug: 4.3.4(supports-color@8.1.1) + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/generator@7.23.0: resolution: {integrity: sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==} engines: {node: '>=6.9.0'} @@ -273,6 +296,16 @@ packages: jsesc: 2.5.2 dev: true + /@babel/generator@7.23.3: + resolution: {integrity: sha512-keeZWAV4LU3tW0qRi19HRpabC/ilM0HRBBzf9/k8FFiG4KVpiv0FIy4hHfLfFQZNhziCTPTmd59zoyv6DNISzg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.3 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.20 + jsesc: 2.5.2 + dev: true + /@babel/helper-annotate-as-pure@7.22.5: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} @@ -291,19 +324,19 @@ packages: semver: 6.3.1 dev: true - /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.23.2): + /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.23.3): resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.2) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.3) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 @@ -319,14 +352,14 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.15 - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 dev: true /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 dev: true /@babel/helper-member-expression-to-functions@7.23.0: @@ -357,6 +390,20 @@ packages: '@babel/helper-validator-identifier': 7.22.20 dev: true + /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + dev: true + /@babel/helper-optimise-call-expression@7.22.5: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} @@ -369,13 +416,13 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.2): + /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.3): resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 @@ -385,7 +432,7 @@ packages: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 dev: true /@babel/helper-skip-transparent-expression-wrappers@7.22.5: @@ -399,7 +446,7 @@ packages: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 dev: true /@babel/helper-string-parser@7.22.5: @@ -420,8 +467,8 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.15 - '@babel/traverse': 7.23.2 - '@babel/types': 7.23.0 + '@babel/traverse': 7.23.3 + '@babel/types': 7.23.3 transitivePeerDependencies: - supports-color dev: true @@ -442,37 +489,45 @@ packages: dependencies: '@babel/types': 7.23.0 - /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.23.2): + /@babel/parser@7.23.3: + resolution: {integrity: sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.23.3 + dev: true + + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.23.3): resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} + /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-typescript@7.22.15(@babel/core@7.23.2): - resolution: {integrity: sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==} + /@babel/plugin-transform-typescript@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-ogV0yWnq38CFwH20l2Afz0dfKuZBx9o/Y2Rmh5vuSS0YD1hswgEgTfyTzuSrT2q9btmHRSqYoSfwFUVaC1M1Jw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.2) + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.3) dev: true /@babel/template@7.22.15: @@ -480,8 +535,8 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.22.13 - '@babel/parser': 7.23.0 - '@babel/types': 7.23.0 + '@babel/parser': 7.23.3 + '@babel/types': 7.23.3 dev: true /@babel/traverse@7.23.2: @@ -502,6 +557,24 @@ packages: - supports-color dev: true + /@babel/traverse@7.23.3: + resolution: {integrity: sha512-+K0yF1/9yR0oHdE0StHuEj3uTPzwwbrLGfNOndVJVV2TqA5+j3oljJUb4nmB954FLGjNem976+B+eDuLIjesiQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.22.13 + '@babel/generator': 7.23.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.23.3 + '@babel/types': 7.23.3 + debug: 4.3.4(supports-color@8.1.1) + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/types@7.23.0: resolution: {integrity: sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==} engines: {node: '>=6.9.0'} @@ -510,6 +583,15 @@ packages: '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 + /@babel/types@7.23.3: + resolution: {integrity: sha512-OZnvoH2l8PK5eUvEcUyCt/sXgr/h+UWpVuBbOljwcrAgUl6lpchoQ++PHGyQy1AtYnVA6CEq3y5xeEI10brpXw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + dev: true + /@colors/colors@1.5.0: resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} engines: {node: '>=0.1.90'} @@ -860,14 +942,14 @@ packages: archiver: 5.3.2 dev: true - /@nightwatch/vue@0.4.5(@types/node@18.18.8)(vue@3.3.8): + /@nightwatch/vue@0.4.5(@types/node@18.18.9)(vue@3.3.8): resolution: {integrity: sha512-/1N4ytlyu3+5LkNCoqt3hGL16FZ2c9GiTEtSoMAQbivZZZSmrDSd2lJUg7CXiL1raCk2ju6x4vqc/z0e6zE9uQ==} dependencies: '@nightwatch/esbuild-utils': 0.2.1 '@types/nightwatch': 2.3.28 - '@vitejs/plugin-vue': 4.4.0(vite@4.5.0)(vue@3.3.8) + '@vitejs/plugin-vue': 4.5.0(vite@4.5.0)(vue@3.3.8) get-port: 5.1.1 - vite: 4.5.0(@types/node@18.18.8) + vite: 4.5.0(@types/node@18.18.9) vite-plugin-nightwatch: 0.4.5(vue@3.3.8) transitivePeerDependencies: - '@types/node' @@ -1019,13 +1101,13 @@ packages: resolution: {integrity: sha512-sF59BlXtUdzEAL1u0MSvuzWd7PdZvZEtnaVkzX5mjpdWTJ8brG0jUqve3jPCzSzvAKKMHTG8F8o/WMQLtleZdQ==} dependencies: '@types/jsonfile': 6.1.3 - '@types/node': 18.18.8 + '@types/node': 18.18.9 dev: true /@types/jsdom@21.1.5: resolution: {integrity: sha512-sBK/3YjS3uuPj+HzZyhB4GGTnFmk0mdyQfhzZ/sqs9ciyG41QJdZZdwcPa6OfW97OTNTwl5tBAsfEOm/dui9pQ==} dependencies: - '@types/node': 18.18.8 + '@types/node': 18.18.9 '@types/tough-cookie': 4.0.4 parse5: 7.1.2 dev: true @@ -1037,7 +1119,7 @@ packages: /@types/jsonfile@6.1.3: resolution: {integrity: sha512-/yqTk2SZ1wIezK0hiRZD7RuSf4B3whFxFamB1kGStv+8zlWScTMcHanzfc0XKWs5vA1TkHeckBlOyM8jxU8nHA==} dependencies: - '@types/node': 18.18.8 + '@types/node': 18.18.9 dev: true /@types/minimist@1.2.4: @@ -1052,8 +1134,8 @@ packages: devtools-protocol: 0.0.1025565 dev: true - /@types/node@18.18.8: - resolution: {integrity: sha512-OLGBaaK5V3VRBS1bAkMVP2/W9B+H8meUfl866OrMNQqt7wDgdpWPp5o6gmIc9pB+lIQHSq4ZL8ypeH1vPxcPaQ==} + /@types/node@18.18.9: + resolution: {integrity: sha512-0f5klcuImLnG4Qreu9hPj/rEfFq6YRc5n2mAjSsH+ec/mJL+3voBH0+8T7o8RpFjH7ovc+TRsL/c7OYIQsPTfQ==} dependencies: undici-types: 5.26.5 dev: true @@ -1065,7 +1147,7 @@ packages: /@types/prompts@2.4.8: resolution: {integrity: sha512-fPOEzviubkEVCiLduO45h+zFHB0RZX8tFt3C783sO5cT7fUXf3EEECpD26djtYdh4Isa9Z9tasMQuZnYPtvYzw==} dependencies: - '@types/node': 18.18.8 + '@types/node': 18.18.9 kleur: 3.0.3 dev: true @@ -1098,41 +1180,41 @@ packages: /@types/ws@8.5.8: resolution: {integrity: sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg==} dependencies: - '@types/node': 18.18.8 + '@types/node': 18.18.9 dev: true /@types/yauzl@2.10.2: resolution: {integrity: sha512-Km7XAtUIduROw7QPgvcft0lIupeG8a8rdKL8RiSyKvlE7dYY31fEn41HVuQsRFDuROA8tA4K2UVL+WdfFmErBA==} requiresBuild: true dependencies: - '@types/node': 18.18.8 + '@types/node': 18.18.9 dev: true optional: true - /@vitejs/plugin-vue-jsx@3.0.2(vite@4.5.0)(vue@3.3.8): - resolution: {integrity: sha512-obF26P2Z4Ogy3cPp07B4VaW6rpiu0ue4OT2Y15UxT5BZZ76haUY9guOsZV3uWh/I6xc+VeiW+ZVabRE82FyzWw==} + /@vitejs/plugin-vue-jsx@3.1.0(vite@4.5.0)(vue@3.3.8): + resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: ^4.0.0 + vite: ^4.0.0 || ^5.0.0 vue: ^3.0.0 dependencies: - '@babel/core': 7.23.2 - '@babel/plugin-transform-typescript': 7.22.15(@babel/core@7.23.2) - '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.2) - vite: 4.5.0(@types/node@18.18.8) + '@babel/core': 7.23.3 + '@babel/plugin-transform-typescript': 7.23.3(@babel/core@7.23.3) + '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.3) + vite: 4.5.0(@types/node@18.18.9) vue: 3.3.8(typescript@5.2.2) transitivePeerDependencies: - supports-color dev: true - /@vitejs/plugin-vue@4.4.0(vite@4.5.0)(vue@3.3.8): - resolution: {integrity: sha512-xdguqb+VUwiRpSg+nsc2HtbAUSGak25DXYvpQQi4RVU1Xq1uworyoH/md9Rfd8zMmPR/pSghr309QNcftUVseg==} + /@vitejs/plugin-vue@4.5.0(vite@4.5.0)(vue@3.3.8): + resolution: {integrity: sha512-a2WSpP8X8HTEww/U00bU4mX1QpLINNuz/2KMNpLsdu3BzOpak3AGI1CJYBTXcc4SPhaD0eNRUp7IyQK405L5dQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: ^4.0.0 + vite: ^4.0.0 || ^5.0.0 vue: ^3.2.25 dependencies: - vite: 4.5.0(@types/node@18.18.8) + vite: 4.5.0(@types/node@18.18.9) vue: 3.3.8(typescript@5.2.2) dev: true @@ -1197,14 +1279,14 @@ packages: resolution: {integrity: sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==} dev: true - /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.23.2): + /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.23.3): resolution: {integrity: sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-module-imports': 7.22.15 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.3) '@babel/template': 7.22.15 '@babel/traverse': 7.23.2 '@babel/types': 7.23.0 @@ -1342,8 +1424,8 @@ packages: /@vue/shared@3.3.8: resolution: {integrity: sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw==} - /@vue/test-utils@2.4.1(vue@3.3.8): - resolution: {integrity: sha512-VO8nragneNzUZUah6kOjiFmD/gwRjUauG9DROh6oaOeFwX1cZRUNHhdeogE8635cISigXFTtGLUQWx5KCb0xeg==} + /@vue/test-utils@2.4.2(vue@3.3.8): + resolution: {integrity: sha512-07lLjpG1o9tEBoWQfVOFhDT7+WFCdDeECoeSdzOuVgIi6nxb2JDLGNNOV6+3crPpyg/jMlIocj96UROcgomiGg==} peerDependencies: '@vue/server-renderer': ^3.0.1 vue: ^3.0.1 @@ -1353,7 +1435,7 @@ packages: dependencies: js-beautify: 1.14.9 vue: 3.3.8(typescript@5.2.2) - vue-component-type-helpers: 1.8.4 + vue-component-type-helpers: 1.8.22 dev: true /@vue/tsconfig@0.4.0: @@ -1563,10 +1645,17 @@ packages: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: true - /aria-query@5.3.0: - resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + /aria-query@5.1.3: + resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} dependencies: - dequal: 2.0.3 + deep-equal: 2.2.3 + dev: true + + /array-buffer-byte-length@1.0.0: + resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + dependencies: + call-bind: 1.0.5 + is-array-buffer: 3.0.2 dev: true /asn1@0.2.6: @@ -1602,6 +1691,11 @@ packages: engines: {node: '>= 4.0.0'} dev: true + /available-typed-arrays@1.0.5: + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} + dev: true + /aws-sign2@0.7.0: resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} dev: true @@ -1615,17 +1709,18 @@ packages: engines: {node: '>=4'} dev: true - /axios@0.27.2(debug@4.3.4): - resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==} + /axios@1.6.0: + resolution: {integrity: sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg==} dependencies: follow-redirects: 1.15.3(debug@4.3.4) form-data: 4.0.0 + proxy-from-env: 1.1.0 transitivePeerDependencies: - debug dev: true - /axios@1.6.0: - resolution: {integrity: sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg==} + /axios@1.6.2(debug@4.3.4): + resolution: {integrity: sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==} dependencies: follow-redirects: 1.15.3(debug@4.3.4) form-data: 4.0.0 @@ -2047,19 +2142,6 @@ packages: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} dev: true - /copyfiles@2.4.1: - resolution: {integrity: sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg==} - hasBin: true - dependencies: - glob: 7.2.3 - minimatch: 3.1.2 - mkdirp: 1.0.4 - noms: 0.0.0 - through2: 2.0.5 - untildify: 4.0.0 - yargs: 16.2.0 - dev: true - /core-util-is@1.0.2: resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} dev: true @@ -2105,15 +2187,15 @@ packages: /csstype@3.1.2: resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} - /cypress@13.4.0: - resolution: {integrity: sha512-KeWNC9xSHG/ewZURVbaQsBQg2mOKw4XhjJZFKjWbEjgZCdxpPXLpJnfq5Jns1Gvnjp6AlnIfpZfWFlDgVKXdWQ==} + /cypress@13.5.1: + resolution: {integrity: sha512-yqLViT0D/lPI8Kkm7ciF/x/DCK/H/DnogdGyiTnQgX4OVR2aM30PtK+kvklTOD1u3TuItiD9wUQAF8EYWtyZug==} engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} hasBin: true requiresBuild: true dependencies: '@cypress/request': 3.0.1 '@cypress/xvfb': 1.2.4(supports-color@8.1.1) - '@types/node': 18.18.8 + '@types/node': 18.18.9 '@types/sinonjs__fake-timers': 8.1.1 '@types/sizzle': 2.3.5 arch: 2.2.0 @@ -2262,6 +2344,30 @@ packages: type-detect: 4.0.8 dev: true + /deep-equal@2.2.3: + resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + call-bind: 1.0.5 + es-get-iterator: 1.1.3 + get-intrinsic: 1.2.2 + is-arguments: 1.1.1 + is-array-buffer: 3.0.2 + is-date-object: 1.0.5 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + isarray: 2.0.5 + object-is: 1.1.5 + object-keys: 1.1.1 + object.assign: 4.1.4 + regexp.prototype.flags: 1.5.1 + side-channel: 1.0.4 + which-boxed-primitive: 1.0.2 + which-collection: 1.0.1 + which-typed-array: 1.1.13 + dev: true + /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true @@ -2286,16 +2392,20 @@ packages: engines: {node: '>=8'} dev: true + /define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + has-property-descriptors: 1.0.1 + object-keys: 1.1.1 + dev: true + /delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} dev: true - /dequal@2.0.3: - resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} - engines: {node: '>=6'} - dev: true - /devtools-protocol@0.0.1025565: resolution: {integrity: sha512-0s5sbGQR/EfYQhd8EpZgphpndsv+CufTlaeUyA6vYXCA0H5kMAsHCS/cHtUFWoKJCO125hpoKicQCfpxRj4oqw==} dev: true @@ -2342,9 +2452,9 @@ packages: webidl-conversions: 7.0.0 dev: true - /dotenv@10.0.0: - resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==} - engines: {node: '>=10'} + /dotenv@16.3.1: + resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==} + engines: {node: '>=12'} dev: true /duplexer2@0.1.4: @@ -2430,8 +2540,8 @@ packages: engines: {node: '>=0.12'} dev: true - /envinfo@7.8.1: - resolution: {integrity: sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==} + /envinfo@7.11.0: + resolution: {integrity: sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg==} engines: {node: '>=4'} hasBin: true dev: true @@ -2442,6 +2552,20 @@ packages: is-arrayish: 0.2.1 dev: true + /es-get-iterator@1.1.3: + resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + has-symbols: 1.0.3 + is-arguments: 1.1.1 + is-map: 2.0.2 + is-set: 2.0.2 + is-string: 1.0.7 + isarray: 2.0.5 + stop-iteration-iterator: 1.0.0 + dev: true + /esbuild-android-64@0.15.18: resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==} engines: {node: '>=12'} @@ -2915,6 +3039,12 @@ packages: debug: 4.3.4(supports-color@8.1.1) dev: true + /for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + dependencies: + is-callable: 1.2.7 + dev: true + /forever-agent@0.6.1: resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} dev: true @@ -2952,15 +3082,6 @@ packages: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} dev: true - /fs-extra@10.1.0: - resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} - engines: {node: '>=12'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.0 - dev: true - /fs-extra@11.1.1: resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} engines: {node: '>=14.14'} @@ -3014,6 +3135,10 @@ packages: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} dev: true + /functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + dev: true + /fx@30.2.0: resolution: {integrity: sha512-rIYQBmx85Jfhd3pkSw06YPgvSvfTi022ZXTeFDkcCZGCs5nt3sjqFBGtcMFe1TR2S00RDz63be0ab5mhCiOLBw==} hasBin: true @@ -3167,6 +3292,10 @@ packages: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} dev: true + /has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + dev: true + /has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} @@ -3193,6 +3322,13 @@ packages: engines: {node: '>= 0.4'} dev: true + /has-tostringtag@1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + /hasown@2.0.0: resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} engines: {node: '>= 0.4'} @@ -3352,15 +3488,46 @@ packages: engines: {node: '>=10'} dev: true + /internal-slot@1.0.6: + resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + hasown: 2.0.0 + side-channel: 1.0.4 + dev: true + /ip-regex@4.3.0: resolution: {integrity: sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==} engines: {node: '>=8'} dev: true + /is-arguments@1.1.1: + resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + has-tostringtag: 1.0.0 + dev: true + + /is-array-buffer@3.0.2: + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-typed-array: 1.1.12 + dev: true + /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: true + /is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + dependencies: + has-bigints: 1.0.2 + dev: true + /is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} @@ -3368,6 +3535,19 @@ packages: binary-extensions: 2.2.0 dev: true + /is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + has-tostringtag: 1.0.0 + dev: true + + /is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + dev: true + /is-ci@3.0.1: resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} hasBin: true @@ -3381,6 +3561,13 @@ packages: hasown: 2.0.0 dev: true + /is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + /is-docker@2.2.1: resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} engines: {node: '>=8'} @@ -3422,6 +3609,17 @@ packages: engines: {node: '>=8'} dev: true + /is-map@2.0.2: + resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} + dev: true + + /is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -3441,6 +3639,24 @@ packages: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} dev: true + /is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + has-tostringtag: 1.0.0 + dev: true + + /is-set@2.0.2: + resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} + dev: true + + /is-shared-array-buffer@1.0.2: + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + dependencies: + call-bind: 1.0.5 + dev: true + /is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} @@ -3451,6 +3667,27 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true + /is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /is-typed-array@1.1.12: + resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + engines: {node: '>= 0.4'} + dependencies: + which-typed-array: 1.1.13 + dev: true + /is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} dev: true @@ -3464,6 +3701,17 @@ packages: resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} dev: true + /is-weakmap@2.0.1: + resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} + dev: true + + /is-weakset@2.0.2: + resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + dev: true + /is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} @@ -3488,6 +3736,10 @@ packages: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} dev: true + /isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + dev: true + /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true @@ -3728,8 +3980,8 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true - /lint-staged@15.0.2: - resolution: {integrity: sha512-vnEy7pFTHyVuDmCAIFKR5QDO8XLVlPFQQyujQ/STOxe40ICWqJ6knS2wSJ/ffX/Lw0rz83luRDh+ET7toN+rOw==} + /lint-staged@15.1.0: + resolution: {integrity: sha512-ZPKXWHVlL7uwVpy8OZ7YQjYDAuO5X4kMh0XgZvPNxLcCCngd0PO5jKQyy3+s4TL2EnHoIXIzP1422f/l3nZKMw==} engines: {node: '>=18.12.0'} hasBin: true dependencies: @@ -3742,7 +3994,7 @@ packages: micromatch: 4.0.5 pidtree: 0.6.0 string-argv: 0.3.2 - yaml: 2.3.3 + yaml: 2.3.4 transitivePeerDependencies: - supports-color dev: true @@ -4096,12 +4348,6 @@ packages: minimist: 1.2.8 dev: true - /mkdirp@1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} - hasBin: true - dev: true - /mkdirp@2.1.6: resolution: {integrity: sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==} engines: {node: '>=10'} @@ -4184,8 +4430,8 @@ packages: axe-core: 4.8.2 dev: true - /nightwatch@3.3.0(chromedriver@119.0.0)(geckodriver@4.2.1): - resolution: {integrity: sha512-9RzpEe6Y12tm26hzzbimU9WtoHmRjitWH23BdIb5rstuhyJe5d61vO74g/yhaNGdbgFYZla2Hy7YRJjGCeGeyg==} + /nightwatch@3.3.2(chromedriver@119.0.0)(geckodriver@4.2.1): + resolution: {integrity: sha512-qi/1glgvJjWrtHBm1vQJfLc4XocqfSqJ3E27Rlg8ofeYC5mLBnKqmJg4u268voIUg+4fQkMm0UYKDtF/0Es4Ag==} engines: {node: '>= 16'} hasBin: true peerDependencies: @@ -4206,7 +4452,7 @@ packages: '@types/chai': 4.3.9 '@types/selenium-webdriver': 4.1.19 ansi-to-html: 0.7.2 - aria-query: 5.3.0 + aria-query: 5.1.3 assertion-error: 1.1.0 boxen: 5.1.2 chai-nightwatch: 0.5.3 @@ -4214,13 +4460,11 @@ packages: chromedriver: 119.0.0 ci-info: 3.3.0 cli-table3: 0.6.3 - copyfiles: 2.4.1 devtools-protocol: 0.0.1140464 didyoumean: 1.2.2 - dotenv: 10.0.0 + dotenv: 16.3.1 ejs: 3.1.8 - envinfo: 7.8.1 - fs-extra: 10.1.0 + envinfo: 7.11.0 geckodriver: 4.2.1 glob: 7.2.3 jsdom: 21.1.2 @@ -4233,14 +4477,13 @@ packages: minimist: 1.2.6 mocha: 10.2.0 nightwatch-axe-verbose: 2.2.2 - open: 8.4.0 + open: 8.4.2 ora: 5.4.1 piscina: 3.2.0 selenium-webdriver: 4.14.0 - semver: 7.5.2 + semver: 7.5.4 stacktrace-parser: 0.1.10 strip-ansi: 6.0.1 - typescript: 4.9.5 untildify: 4.0.0 uuid: 8.3.2 transitivePeerDependencies: @@ -4300,13 +4543,6 @@ packages: resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} dev: true - /noms@0.0.0: - resolution: {integrity: sha512-lNDU9VJaOPxUmXcLb+HQFeUgQQPtMI24Gt6hgfuMHRJgMRHMF/qZ4HJD3GDru4sSw9IQl2jPjAYnQrdIeLbwow==} - dependencies: - inherits: 2.0.4 - readable-stream: 1.0.34 - dev: true - /nopt@6.0.0: resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} @@ -4366,6 +4602,29 @@ packages: resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} dev: true + /object-is@1.1.5: + resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + dev: true + + /object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + dev: true + + /object.assign@4.1.4: + resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 + dev: true + /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: @@ -4386,8 +4645,8 @@ packages: mimic-fn: 4.0.0 dev: true - /open@8.4.0: - resolution: {integrity: sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==} + /open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} dependencies: define-lazy-prop: 2.0.0 @@ -4598,8 +4857,8 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 - /prettier@3.0.3: - resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==} + /prettier@3.1.0: + resolution: {integrity: sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==} engines: {node: '>=14'} hasBin: true dev: true @@ -4710,15 +4969,6 @@ packages: type-fest: 4.6.0 dev: true - /readable-stream@1.0.34: - resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==} - dependencies: - core-util-is: 1.0.3 - inherits: 2.0.4 - isarray: 0.0.1 - string_decoder: 0.10.31 - dev: true - /readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} dependencies: @@ -4753,6 +5003,15 @@ packages: picomatch: 2.3.1 dev: true + /regexp.prototype.flags@1.5.1: + resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + set-function-name: 2.0.1 + dev: true + /request-progress@3.0.0: resolution: {integrity: sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==} dependencies: @@ -4867,14 +5126,6 @@ packages: hasBin: true dev: true - /semver@7.5.2: - resolution: {integrity: sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - /semver@7.5.4: resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} engines: {node: '>=10'} @@ -4899,6 +5150,15 @@ packages: has-property-descriptors: 1.0.1 dev: true + /set-function-name@2.0.1: + resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.1 + dev: true + /setimmediate@1.0.5: resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} dev: true @@ -5053,8 +5313,8 @@ packages: type-fest: 0.7.1 dev: true - /start-server-and-test@2.0.2: - resolution: {integrity: sha512-4sGS2QmETUwqeBUqtTLP7OqXp3PdDnevaWlPlrFQgn8+7uCgVg4Do7/H/ZhAAVyvnL3DqKyANhnLgcgxrjhrMA==} + /start-server-and-test@2.0.3: + resolution: {integrity: sha512-QsVObjfjFZKJE6CS6bSKNwWZCKBG6975/jKRPPGFfFh+yOQglSeGXiNWjzgQNXdphcBI9nXbyso9tPfX4YAUhg==} engines: {node: '>=16'} hasBin: true dependencies: @@ -5065,7 +5325,7 @@ packages: execa: 5.1.1 lazy-ass: 1.6.0 ps-tree: 1.2.0 - wait-on: 7.1.0(debug@4.3.4) + wait-on: 7.2.0(debug@4.3.4) transitivePeerDependencies: - supports-color dev: true @@ -5074,6 +5334,13 @@ packages: resolution: {integrity: sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==} dev: true + /stop-iteration-iterator@1.0.0: + resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} + engines: {node: '>= 0.4'} + dependencies: + internal-slot: 1.0.6 + dev: true + /stream-combiner@0.0.4: resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==} dependencies: @@ -5110,10 +5377,6 @@ packages: strip-ansi: 7.1.0 dev: true - /string_decoder@0.10.31: - resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} - dev: true - /string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: @@ -5230,13 +5493,6 @@ packages: resolution: {integrity: sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==} dev: true - /through2@2.0.5: - resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} - dependencies: - readable-stream: 2.3.8 - xtend: 4.0.2 - dev: true - /through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} dev: true @@ -5294,7 +5550,7 @@ packages: resolution: {integrity: sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==} dev: true - /ts-node@10.9.1(@types/node@18.18.8)(typescript@5.2.2): + /ts-node@10.9.1(@types/node@18.18.9)(typescript@5.2.2): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -5313,7 +5569,7 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 18.18.8 + '@types/node': 18.18.9 acorn: 8.11.2 acorn-walk: 8.3.0 arg: 4.1.3 @@ -5374,12 +5630,6 @@ packages: engines: {node: '>=16'} dev: true - /typescript@4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: true - /typescript@5.2.2: resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} engines: {node: '>=14.17'} @@ -5470,7 +5720,7 @@ packages: extsprintf: 1.3.0 dev: true - /vite-node@0.34.6(@types/node@18.18.8): + /vite-node@0.34.6(@types/node@18.18.9): resolution: {integrity: sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==} engines: {node: '>=v14.18.0'} hasBin: true @@ -5480,7 +5730,7 @@ packages: mlly: 1.4.2 pathe: 1.1.1 picocolors: 1.0.0 - vite: 4.5.0(@types/node@18.18.8) + vite: 4.5.0(@types/node@18.18.9) transitivePeerDependencies: - '@types/node' - less @@ -5497,7 +5747,7 @@ packages: dependencies: '@nightwatch/esbuild-utils': 0.2.1 '@types/nightwatch': 2.3.28 - '@vue/test-utils': 2.4.1(vue@3.3.8) + '@vue/test-utils': 2.4.2(vue@3.3.8) assertion-error: 1.1.0 mkdirp: 2.1.6 sinon: 15.2.0 @@ -5510,7 +5760,7 @@ packages: - vue dev: true - /vite@4.5.0(@types/node@18.18.8): + /vite@4.5.0(@types/node@18.18.9): resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -5538,7 +5788,7 @@ packages: terser: optional: true dependencies: - '@types/node': 18.18.8 + '@types/node': 18.18.9 esbuild: 0.18.20 postcss: 8.4.31 rollup: 3.29.4 @@ -5644,7 +5894,7 @@ packages: dependencies: '@types/chai': 4.3.9 '@types/chai-subset': 1.3.4 - '@types/node': 18.18.8 + '@types/node': 18.18.9 '@vitest/expect': 0.34.6 '@vitest/runner': 0.34.6 '@vitest/snapshot': 0.34.6 @@ -5664,8 +5914,8 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.7.0 - vite: 4.5.0(@types/node@18.18.8) - vite-node: 0.34.6(@types/node@18.18.8) + vite: 4.5.0(@types/node@18.18.9) + vite-node: 0.34.6(@types/node@18.18.9) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -5677,8 +5927,8 @@ packages: - terser dev: true - /vue-component-type-helpers@1.8.4: - resolution: {integrity: sha512-6bnLkn8O0JJyiFSIF0EfCogzeqNXpnjJ0vW/SZzNHfe6sPx30lTtTXlE5TFs2qhJlAtDFybStVNpL73cPe3OMQ==} + /vue-component-type-helpers@1.8.22: + resolution: {integrity: sha512-LK3wJHs3vJxHG292C8cnsRusgyC5SEZDCzDCD01mdE/AoREFMl2tzLRuzwyuEsOIz13tqgBcnvysN3Lxsa14Fw==} dev: true /vue-demi@0.14.6(vue@3.3.8): @@ -5746,12 +5996,12 @@ packages: xml-name-validator: 4.0.0 dev: true - /wait-on@7.1.0(debug@4.3.4): - resolution: {integrity: sha512-U7TF/OYYzAg+OoiT/B8opvN48UHt0QYMi4aD3PjRFpybQ+o6czQF8Ig3SKCCMJdxpBrCalIJ4O00FBof27Fu9Q==} + /wait-on@7.2.0(debug@4.3.4): + resolution: {integrity: sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==} engines: {node: '>=12.0.0'} hasBin: true dependencies: - axios: 0.27.2(debug@4.3.4) + axios: 1.6.2(debug@4.3.4) joi: 17.11.0 lodash: 4.17.21 minimist: 1.2.8 @@ -5801,6 +6051,36 @@ packages: webidl-conversions: 7.0.0 dev: true + /which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + dev: true + + /which-collection@1.0.1: + resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} + dependencies: + is-map: 2.0.2 + is-set: 2.0.2 + is-weakmap: 2.0.1 + is-weakset: 2.0.2 + dev: true + + /which-typed-array@1.1.13: + resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + dev: true + /which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -5898,11 +6178,6 @@ packages: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} dev: true - /xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - dev: true - /y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -5921,6 +6196,11 @@ packages: engines: {node: '>= 14'} dev: true + /yaml@2.3.4: + resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} + engines: {node: '>= 14'} + dev: true + /yargs-parser@20.2.4: resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==} engines: {node: '>=10'} @@ -5987,7 +6267,7 @@ packages: dependencies: '@types/fs-extra': 11.0.3 '@types/minimist': 1.2.4 - '@types/node': 18.18.8 + '@types/node': 18.18.9 '@types/ps-tree': 1.1.4 '@types/which': 3.0.1 chalk: 5.3.0 diff --git a/template/base/package.json b/template/base/package.json index 96976548..6a73f455 100644 --- a/template/base/package.json +++ b/template/base/package.json @@ -9,7 +9,7 @@ "vue": "^3.3.8" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", + "@vitejs/plugin-vue": "^4.5.0", "vite": "^4.5.0" } } diff --git a/template/config/cypress-ct/package.json b/template/config/cypress-ct/package.json index 466a24db..61db7572 100644 --- a/template/config/cypress-ct/package.json +++ b/template/config/cypress-ct/package.json @@ -7,6 +7,6 @@ "vue": "^3.3.8" }, "devDependencies": { - "cypress": "^13.4.0" + "cypress": "^13.5.1" } } diff --git a/template/config/cypress/package.json b/template/config/cypress/package.json index 18ea0812..77d5a506 100644 --- a/template/config/cypress/package.json +++ b/template/config/cypress/package.json @@ -4,7 +4,7 @@ "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'" }, "devDependencies": { - "cypress": "^13.4.0", - "start-server-and-test": "^2.0.2" + "cypress": "^13.5.1", + "start-server-and-test": "^2.0.3" } } diff --git a/template/config/jsx/package.json b/template/config/jsx/package.json index 01741c31..e7d03bd0 100644 --- a/template/config/jsx/package.json +++ b/template/config/jsx/package.json @@ -3,7 +3,7 @@ "vue": "^3.3.8" }, "devDependencies": { - "@vitejs/plugin-vue-jsx": "^3.0.2", + "@vitejs/plugin-vue-jsx": "^3.1.0", "vite": "^4.5.0" } } diff --git a/template/config/nightwatch/package.json b/template/config/nightwatch/package.json index e90f5085..a77d512d 100644 --- a/template/config/nightwatch/package.json +++ b/template/config/nightwatch/package.json @@ -3,13 +3,13 @@ "test:e2e": "nightwatch tests/e2e" }, "devDependencies": { - "nightwatch": "^3.3.0", + "nightwatch": "^3.3.2", "@nightwatch/vue": "0.4.5", - "@vitejs/plugin-vue": "^4.4.0", + "@vitejs/plugin-vue": "^4.5.0", "@types/nightwatch": "^2.3.28", "geckodriver": "^4.2.1", "chromedriver": "^119.0.0", "ts-node": "^10.9.1", - "wait-on": "^7.1.0" + "wait-on": "^7.2.0" } } diff --git a/template/config/typescript/package.json b/template/config/typescript/package.json index fb223085..94dff782 100644 --- a/template/config/typescript/package.json +++ b/template/config/typescript/package.json @@ -5,7 +5,7 @@ "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" }, "devDependencies": { - "@types/node": "^18.18.8", + "@types/node": "^18.18.9", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", "vue-tsc": "^1.8.22" diff --git a/template/config/vitest/package.json b/template/config/vitest/package.json index ead87aba..a87f9725 100644 --- a/template/config/vitest/package.json +++ b/template/config/vitest/package.json @@ -6,7 +6,7 @@ "vue": "^3.3.8" }, "devDependencies": { - "@vue/test-utils": "^2.4.1", + "@vue/test-utils": "^2.4.2", "jsdom": "^22.1.0", "vitest": "^0.34.6" } From cc65b9dc0059a1ee9eec48502595f2f0319fafbd Mon Sep 17 00:00:00 2001 From: CoolPlayLin Date: Sat, 18 Nov 2023 16:25:04 +0800 Subject: [PATCH 10/25] fix lock file --- pnpm-lock.yaml | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d1c9dacb..68788871 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -58,7 +58,7 @@ importers: version: 2.4.2 vitest: specifier: ^0.34.6 - version: 0.34.6 + version: 0.34.6(jsdom@22.1.0) zx: specifier: ^7.2.3 version: 7.2.3 @@ -2291,18 +2291,6 @@ packages: ms: 2.1.2 dev: true - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - dev: true - /debug@4.3.4(supports-color@8.1.1): resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} @@ -3987,7 +3975,7 @@ packages: dependencies: chalk: 5.3.0 commander: 11.1.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) execa: 8.0.1 lilconfig: 2.1.0 listr2: 7.0.2 @@ -5726,7 +5714,7 @@ packages: hasBin: true dependencies: cac: 6.7.14 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) mlly: 1.4.2 pathe: 1.1.1 picocolors: 1.0.0 @@ -5796,7 +5784,7 @@ packages: fsevents: 2.3.3 dev: true - /vitest@0.34.6: + /vitest@0.34.6(jsdom@22.1.0): resolution: {integrity: sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==} engines: {node: '>=v14.18.0'} hasBin: true @@ -5839,7 +5827,8 @@ packages: acorn-walk: 8.3.0 cac: 6.7.14 chai: 4.3.10 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) + jsdom: 22.1.0 local-pkg: 0.4.3 magic-string: 0.30.5 pathe: 1.1.1 From 3444b9cc1934c6f58a5c92a67a574d4e86a356d5 Mon Sep 17 00:00:00 2001 From: CoolPlayLin Date: Sat, 18 Nov 2023 16:59:02 +0800 Subject: [PATCH 11/25] =?UTF-8?q?=F0=9F=A4=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- __test__/locale.spec.ts | 69 +---------------------------------------- schema/locale.json | 68 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+), 68 deletions(-) create mode 100644 schema/locale.json diff --git a/__test__/locale.spec.ts b/__test__/locale.spec.ts index ea8e043d..a6d7766f 100644 --- a/__test__/locale.spec.ts +++ b/__test__/locale.spec.ts @@ -7,74 +7,7 @@ import { isValid } from './utils' const locales = readdirSync(resolve(__dirname, '../locales')) describe('should include full keys', () => { - const structure: Language = { - "projectName": { - "message": "string", - }, - "shouldOverwrite": { - "dirForPrompts": { - "current": "string", - "target": "string" - }, - "message": "string" - }, - "packageName": { - "message": "string", - "invalidMessage": "string", - }, - "needsTypeScript": { - "message": "string", - }, - "needsJsx": { - "message": "string", - }, - "needsRouter": { - "message": "string", - }, - "needsPinia": { - "message": "string", - }, - "needsVitest": { - "message": "string", - }, - "needsE2eTesting": { - "message": "string", - "hint": "string", - "selectOptions": { - "negative": { - "title": "string", - }, - "cypress": { - "title": "string", - "desc": "string", - }, - "nightwatch": { - "title": "string", - "desc": "string", - }, - "playwright": { - "title": "string", - } - } - }, - "needsEslint": { - "message": "string", - }, - "needsPrettier": { - "message": "string", - }, - "errors": { - "operationCancelled": "string", - }, - "defaultToggleOptions": { - "active": "string", - "inactive": "string", - }, - "infos": { - "scaffolding": "string", - "done": "string", - } - } + const structure: Language = require('../schema/locale.json') locales.forEach((locale) => { it(`for ${locale}`, () => { expect(isValid(require(`../locales/${locale}`), structure)).toBeTruthy() diff --git a/schema/locale.json b/schema/locale.json new file mode 100644 index 00000000..47fcc083 --- /dev/null +++ b/schema/locale.json @@ -0,0 +1,68 @@ +{ + "projectName": { + "message": "string" + }, + "shouldOverwrite": { + "dirForPrompts": { + "current": "string", + "target": "string" + }, + "message": "string" + }, + "packageName": { + "message": "string", + "invalidMessage": "string" + }, + "needsTypeScript": { + "message": "string" + }, + "needsJsx": { + "message": "string" + }, + "needsRouter": { + "message": "string" + }, + "needsPinia": { + "message": "string" + }, + "needsVitest": { + "message": "string" + }, + "needsE2eTesting": { + "message": "string", + "hint": "string", + "selectOptions": { + "negative": { + "title": "string" + }, + "cypress": { + "title": "string", + "desc": "string" + }, + "nightwatch": { + "title": "string", + "desc": "string" + }, + "playwright": { + "title": "string" + } + } + }, + "needsEslint": { + "message": "string" + }, + "needsPrettier": { + "message": "string" + }, + "errors": { + "operationCancelled": "string" + }, + "defaultToggleOptions": { + "active": "string", + "inactive": "string" + }, + "infos": { + "scaffolding": "string", + "done": "string" + } +} From f074859bf8f4a1ab29f0c9b8bff00150c735c076 Mon Sep 17 00:00:00 2001 From: CoolPlayLin Date: Sat, 18 Nov 2023 18:07:53 +0800 Subject: [PATCH 12/25] add test for validate no unnecessary keys --- __test__/locale.spec.ts | 13 +++++++++++-- __test__/utils.ts | 24 ++++++++++++++++++++++-- 2 files changed, 33 insertions(+), 4 deletions(-) diff --git a/__test__/locale.spec.ts b/__test__/locale.spec.ts index a6d7766f..5ce62f30 100644 --- a/__test__/locale.spec.ts +++ b/__test__/locale.spec.ts @@ -2,7 +2,7 @@ import { describe, it, expect } from 'vitest' import { resolve } from 'node:path' import { readdirSync } from 'node:fs' import { Language } from '../utils/getLanguage' -import { isValid } from './utils' +import { includeAllKeys, excludeKeys } from './utils' const locales = readdirSync(resolve(__dirname, '../locales')) @@ -10,7 +10,16 @@ describe('should include full keys', () => { const structure: Language = require('../schema/locale.json') locales.forEach((locale) => { it(`for ${locale}`, () => { - expect(isValid(require(`../locales/${locale}`), structure)).toBeTruthy() + expect(includeAllKeys(require(`../locales/${locale}`), structure)).toBeTruthy() + }) + }) +}) + +describe("shouldn't include unnecessary keys", () => { + const structure: Language = require('../schema/locale.json') + locales.forEach((locale) => { + it(`for ${locale}`, () => { + expect(excludeKeys(require(`../locales/${locale}`), structure)).toBeTruthy() }) }) }) \ No newline at end of file diff --git a/__test__/utils.ts b/__test__/utils.ts index cfb044d9..8d6bc241 100644 --- a/__test__/utils.ts +++ b/__test__/utils.ts @@ -4,7 +4,7 @@ * @param schema template for validation * @returns whether missed some keys */ -export function isValid(obj: Object, schema: Object) { +export function includeAllKeys(obj: Object, schema: Object) { for (let key in schema) { if (!obj.hasOwnProperty(key)) { return false @@ -15,7 +15,7 @@ export function isValid(obj: Object, schema: Object) { return false } } else if (typeof schema[key] === 'object') { - if (!isValid(obj[key], schema[key])) { + if (!includeAllKeys(obj[key], schema[key])) { return false } } @@ -23,3 +23,23 @@ export function isValid(obj: Object, schema: Object) { } return true } + +/** + * + * @param obj object that needs to be validated + * @param schema template for validation + * @returns whether include unnecessary keys + */ +export function excludeKeys(obj: Object, schema: Object) { + for (let key in obj) { + if (!schema.hasOwnProperty(key)) { + return false + } + if (schema[key] !== null && typeof schema[key] === 'object') { + if (!excludeKeys(obj[key], schema[key])) { + return false + } + } + } + return true +} From a2f2e908bc848f2f3526dd008b13a16908cbc36c Mon Sep 17 00:00:00 2001 From: CoolPlayLin Date: Sat, 18 Nov 2023 22:06:20 +0800 Subject: [PATCH 13/25] add locale validate --- __test__/locale.spec.ts | 36 +++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/__test__/locale.spec.ts b/__test__/locale.spec.ts index 5ce62f30..f6fe4784 100644 --- a/__test__/locale.spec.ts +++ b/__test__/locale.spec.ts @@ -4,22 +4,32 @@ import { readdirSync } from 'node:fs' import { Language } from '../utils/getLanguage' import { includeAllKeys, excludeKeys } from './utils' -const locales = readdirSync(resolve(__dirname, '../locales')) +const locales = readdirSync(resolve(__dirname, '../locales')).filter((file) => { + return file.includes('.json') // exclude unnecessary files +}) + +describe('should match name regex', () => { + locales.forEach((locale) => { + it(`for ${locale}`, () => { + expect(locale).toMatch(/^[a-zA-Z]{2}(-[a-zA-Z]{2})*.json$/) + }) + }) +}) describe('should include full keys', () => { - const structure: Language = require('../schema/locale.json') - locales.forEach((locale) => { - it(`for ${locale}`, () => { - expect(includeAllKeys(require(`../locales/${locale}`), structure)).toBeTruthy() - }) + const structure: Language = require('../schema/locale.json') + locales.forEach((locale) => { + it(`for ${locale}`, () => { + expect(includeAllKeys(require(`../locales/${locale}`), structure)).toBeTruthy() }) + }) }) -describe("shouldn't include unnecessary keys", () => { - const structure: Language = require('../schema/locale.json') - locales.forEach((locale) => { - it(`for ${locale}`, () => { - expect(excludeKeys(require(`../locales/${locale}`), structure)).toBeTruthy() - }) +describe("should not include unnecessary keys", () => { + const structure: Language = require('../schema/locale.json') + locales.forEach((locale) => { + it(`for ${locale}`, () => { + expect(excludeKeys(require(`../locales/${locale}`), structure)).toBeTruthy() }) -}) \ No newline at end of file + }) +}) From ec91736c9276a281d869172d5c844a913c721cd5 Mon Sep 17 00:00:00 2001 From: CoolPlayLin Date: Sat, 18 Nov 2023 22:16:10 +0800 Subject: [PATCH 14/25] add support for reusable locale --- __test__/locale.spec.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/__test__/locale.spec.ts b/__test__/locale.spec.ts index f6fe4784..abee44b4 100644 --- a/__test__/locale.spec.ts +++ b/__test__/locale.spec.ts @@ -9,10 +9,18 @@ const locales = readdirSync(resolve(__dirname, '../locales')).filter((file) => { }) describe('should match name regex', () => { + /** + * + * both can match normal locale or reusable locale + * + * @example normal locale: en-US + * @example reusable locale: zh-Hant + */ + const regex = /^[a-zA-Z]{2}(-[a-zA-Z]{2})*.json$|^[a-zA-Z]{2}(-[a-zA-z]{4})*.json$/ locales.forEach((locale) => { - it(`for ${locale}`, () => { - expect(locale).toMatch(/^[a-zA-Z]{2}(-[a-zA-Z]{2})*.json$/) - }) + it(`for ${locale}`, () => { + expect(locale).toMatch(regex) + }) }) }) From e4459e0ab7c042c955d7a6542e703d1d322413ec Mon Sep 17 00:00:00 2001 From: CoolPlayLin Date: Sat, 18 Nov 2023 23:32:47 +0800 Subject: [PATCH 15/25] add test for `sortDependencies` & add snapshot --- .../__snapshots__/getCommand.spec.ts.snap | 19 +++++ __test__/getCommand.spec.ts | 11 +++ __test__/locale.spec.ts | 4 +- __test__/sortDependencies.spec.ts | 80 +++++++++++++++++++ package.json | 1 + 5 files changed, 113 insertions(+), 2 deletions(-) create mode 100644 __test__/__snapshots__/getCommand.spec.ts.snap create mode 100644 __test__/sortDependencies.spec.ts diff --git a/__test__/__snapshots__/getCommand.spec.ts.snap b/__test__/__snapshots__/getCommand.spec.ts.snap new file mode 100644 index 00000000..01dc8df8 --- /dev/null +++ b/__test__/__snapshots__/getCommand.spec.ts.snap @@ -0,0 +1,19 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`should generate correct command > for npm 1`] = `"npm install"`; + +exports[`should generate correct command > for npm 2`] = `"npm run dev"`; + +exports[`should generate correct command > for npm 3`] = `"npm run build"`; + +exports[`should generate correct command > for pnpm 1`] = `"pnpm install"`; + +exports[`should generate correct command > for pnpm 2`] = `"pnpm dev"`; + +exports[`should generate correct command > for pnpm 3`] = `"pnpm build"`; + +exports[`should generate correct command > for yarn 1`] = `"yarn"`; + +exports[`should generate correct command > for yarn 2`] = `"yarn dev"`; + +exports[`should generate correct command > for yarn 3`] = `"yarn build"`; diff --git a/__test__/getCommand.spec.ts b/__test__/getCommand.spec.ts index dfedbea7..0f2f83b1 100644 --- a/__test__/getCommand.spec.ts +++ b/__test__/getCommand.spec.ts @@ -4,17 +4,28 @@ import getCommand from '../utils/getCommand' describe("should generate correct command", () => { it('for yarn', () => { expect(getCommand('yarn', 'install')).toBe('yarn') + expect(getCommand('yarn', 'install')).toMatchSnapshot() expect(getCommand('yarn', 'dev')).toBe('yarn dev') + expect(getCommand('yarn', 'dev')).toMatchSnapshot() expect(getCommand('yarn', 'build')).toBe('yarn build') + expect(getCommand('yarn', 'build')).toMatchSnapshot() + }) it('for npm', () => { expect(getCommand('npm', 'install')).toBe('npm install') + expect(getCommand('npm', 'install')).toMatchSnapshot() expect(getCommand('npm', 'dev')).toBe('npm run dev') + expect(getCommand('npm', 'dev')).toMatchSnapshot() expect(getCommand('npm', 'build')).toBe('npm run build') + expect(getCommand('npm', 'build')).toMatchSnapshot() + }) it('for pnpm', () => { expect(getCommand('pnpm', 'install')).toBe('pnpm install') + expect(getCommand('pnpm', 'install')).toMatchSnapshot() expect(getCommand('pnpm', 'dev')).toBe('pnpm dev') + expect(getCommand('pnpm', 'dev')).toMatchSnapshot() expect(getCommand('pnpm', 'build')).toBe('pnpm build') + expect(getCommand('pnpm', 'build')).toMatchSnapshot() }) }) \ No newline at end of file diff --git a/__test__/locale.spec.ts b/__test__/locale.spec.ts index abee44b4..dba20a10 100644 --- a/__test__/locale.spec.ts +++ b/__test__/locale.spec.ts @@ -25,7 +25,7 @@ describe('should match name regex', () => { }) describe('should include full keys', () => { - const structure: Language = require('../schema/locale.json') + const structure = require('../schema/locale.json') as Language locales.forEach((locale) => { it(`for ${locale}`, () => { expect(includeAllKeys(require(`../locales/${locale}`), structure)).toBeTruthy() @@ -34,7 +34,7 @@ describe('should include full keys', () => { }) describe("should not include unnecessary keys", () => { - const structure: Language = require('../schema/locale.json') + const structure = require('../schema/locale.json') as Language locales.forEach((locale) => { it(`for ${locale}`, () => { expect(excludeKeys(require(`../locales/${locale}`), structure)).toBeTruthy() diff --git a/__test__/sortDependencies.spec.ts b/__test__/sortDependencies.spec.ts new file mode 100644 index 00000000..c7eb9037 --- /dev/null +++ b/__test__/sortDependencies.spec.ts @@ -0,0 +1,80 @@ +import { it, describe, expect } from 'vitest' +import sortDependencies from '../utils/sortDependencies' + +describe('should output correct sorted value', () => { + it('#1', () => { + const packageJson = { + "devDependencies": { + "@vitejs/plugin-vue": "^4.4.0", + "@vitejs/plugin-vue-jsx": "^3.0.2", + "eslint": "^8.49.0", + "eslint-plugin-cypress": "^2.15.1", + "vite": "^4.4.11", + "vitest": "^0.34.6", + "@vue/test-utils": "^2.4.1", + "cypress": "^13.3.1", + "eslint-plugin-vue": "^9.17.0", + "jsdom": "^22.1.0", + "start-server-and-test": "^2.0.1", + } + } + expect(sortDependencies(packageJson)).toStrictEqual({ + "devDependencies": { + "@vitejs/plugin-vue": "^4.4.0", + "@vitejs/plugin-vue-jsx": "^3.0.2", + "@vue/test-utils": "^2.4.1", + "cypress": "^13.3.1", + "eslint": "^8.49.0", + "eslint-plugin-cypress": "^2.15.1", + "eslint-plugin-vue": "^9.17.0", + "jsdom": "^22.1.0", + "start-server-and-test": "^2.0.1", + "vite": "^4.4.11", + "vitest": "^0.34.6" + } + } + ) + }) + it('#2', () => { + const packageJson = { + "dependencies": { + "vue": "^3.3.4", + "vue-router": "^4.2.5", + "pinia": "^2.1.7", + }, + "devDependencies": { + "@vitejs/plugin-vue-jsx": "^3.0.2", + "jsdom": "^22.1.0", + "start-server-and-test": "^2.0.1", + "vite": "^4.4.11", + "@vue/test-utils": "^2.4.1", + "cypress": "^13.3.1", + "eslint": "^8.49.0", + "@vitejs/plugin-vue": "^4.4.0", + "eslint-plugin-cypress": "^2.15.1", + "eslint-plugin-vue": "^9.17.0", + "vitest": "^0.34.6" + } + } + expect(sortDependencies(packageJson)).toStrictEqual({ + "dependencies": { + "pinia": "^2.1.7", + "vue": "^3.3.4", + "vue-router": "^4.2.5" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^4.4.0", + "@vitejs/plugin-vue-jsx": "^3.0.2", + "@vue/test-utils": "^2.4.1", + "cypress": "^13.3.1", + "eslint": "^8.49.0", + "eslint-plugin-cypress": "^2.15.1", + "eslint-plugin-vue": "^9.17.0", + "jsdom": "^22.1.0", + "start-server-and-test": "^2.0.1", + "vite": "^4.4.11", + "vitest": "^0.34.6" + } + }) + }) +}) diff --git a/package.json b/package.json index 60db4024..08d1296f 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "pretest": "run-s build snapshot", "test": "zx ./scripts/test.mjs", "test:unit": "vitest", + "test:update-snapshot": "vitest run -u", "prepublishOnly": "zx ./scripts/prepublish.mjs" }, "repository": { From 39e61e244844f474f00cbd6e9eb407a46a8caffa Mon Sep 17 00:00:00 2001 From: CoolPlayLin Date: Sun, 19 Nov 2023 10:59:04 +0800 Subject: [PATCH 16/25] :sparkles: feat: add error message --- __test__/locale.spec.ts | 5 +++-- __test__/utils.ts | 3 +++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/__test__/locale.spec.ts b/__test__/locale.spec.ts index dba20a10..bc2e2764 100644 --- a/__test__/locale.spec.ts +++ b/__test__/locale.spec.ts @@ -5,7 +5,7 @@ import { Language } from '../utils/getLanguage' import { includeAllKeys, excludeKeys } from './utils' const locales = readdirSync(resolve(__dirname, '../locales')).filter((file) => { - return file.includes('.json') // exclude unnecessary files + return file.includes('.json') }) describe('should match name regex', () => { @@ -17,6 +17,7 @@ describe('should match name regex', () => { * @example reusable locale: zh-Hant */ const regex = /^[a-zA-Z]{2}(-[a-zA-Z]{2})*.json$|^[a-zA-Z]{2}(-[a-zA-z]{4})*.json$/ + locales.forEach((locale) => { it(`for ${locale}`, () => { expect(locale).toMatch(regex) @@ -33,7 +34,7 @@ describe('should include full keys', () => { }) }) -describe("should not include unnecessary keys", () => { +describe("should not include extra keys", () => { const structure = require('../schema/locale.json') as Language locales.forEach((locale) => { it(`for ${locale}`, () => { diff --git a/__test__/utils.ts b/__test__/utils.ts index 8d6bc241..fbf8ca8a 100644 --- a/__test__/utils.ts +++ b/__test__/utils.ts @@ -7,11 +7,13 @@ export function includeAllKeys(obj: Object, schema: Object) { for (let key in schema) { if (!obj.hasOwnProperty(key)) { + console.log(`key '${key}' lost`) return false } if (schema[key] !== null) { if (typeof schema[key] === 'string') { if (typeof obj[key] !== schema[key]) { + console.error(`the type of ${obj.toString()} is incorrect`) return false } } else if (typeof schema[key] === 'object') { @@ -33,6 +35,7 @@ export function includeAllKeys(obj: Object, schema: Object) { export function excludeKeys(obj: Object, schema: Object) { for (let key in obj) { if (!schema.hasOwnProperty(key)) { + console.error(`unexpected key: ${key}`) return false } if (schema[key] !== null && typeof schema[key] === 'object') { From e7ee1f111ac65fd6d297921f948f252d7365e594 Mon Sep 17 00:00:00 2001 From: CoolPlayLin Date: Sun, 19 Nov 2023 11:01:13 +0800 Subject: [PATCH 17/25] :bug: fix: nothing --- __test__/utils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/__test__/utils.ts b/__test__/utils.ts index fbf8ca8a..63a8e30f 100644 --- a/__test__/utils.ts +++ b/__test__/utils.ts @@ -13,7 +13,7 @@ export function includeAllKeys(obj: Object, schema: Object) { if (schema[key] !== null) { if (typeof schema[key] === 'string') { if (typeof obj[key] !== schema[key]) { - console.error(`the type of ${obj.toString()} is incorrect`) + console.error(`the type of ${key} is incorrect`) return false } } else if (typeof schema[key] === 'object') { From 837838bc5822fe2311cfbf8f9d5ebdbe95834729 Mon Sep 17 00:00:00 2001 From: CoolPlayLin Date: Sun, 19 Nov 2023 11:03:08 +0800 Subject: [PATCH 18/25] :bug: fix: nothing --- __test__/utils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/__test__/utils.ts b/__test__/utils.ts index 63a8e30f..66b028fd 100644 --- a/__test__/utils.ts +++ b/__test__/utils.ts @@ -30,7 +30,7 @@ export function includeAllKeys(obj: Object, schema: Object) { * * @param obj object that needs to be validated * @param schema template for validation - * @returns whether include unnecessary keys + * @returns whether include extra keys */ export function excludeKeys(obj: Object, schema: Object) { for (let key in obj) { From d2aebecd713e718ec97dec6f8af8a63286d9bf21 Mon Sep 17 00:00:00 2001 From: CoolPlayLin Date: Sat, 25 Nov 2023 08:59:48 +0800 Subject: [PATCH 19/25] :bug: fix: delete unnecessary assertions --- .../__snapshots__/getCommand.spec.ts.snap | 19 ------------------- __test__/getCommand.spec.ts | 9 --------- 2 files changed, 28 deletions(-) delete mode 100644 __test__/__snapshots__/getCommand.spec.ts.snap diff --git a/__test__/__snapshots__/getCommand.spec.ts.snap b/__test__/__snapshots__/getCommand.spec.ts.snap deleted file mode 100644 index 01dc8df8..00000000 --- a/__test__/__snapshots__/getCommand.spec.ts.snap +++ /dev/null @@ -1,19 +0,0 @@ -// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html - -exports[`should generate correct command > for npm 1`] = `"npm install"`; - -exports[`should generate correct command > for npm 2`] = `"npm run dev"`; - -exports[`should generate correct command > for npm 3`] = `"npm run build"`; - -exports[`should generate correct command > for pnpm 1`] = `"pnpm install"`; - -exports[`should generate correct command > for pnpm 2`] = `"pnpm dev"`; - -exports[`should generate correct command > for pnpm 3`] = `"pnpm build"`; - -exports[`should generate correct command > for yarn 1`] = `"yarn"`; - -exports[`should generate correct command > for yarn 2`] = `"yarn dev"`; - -exports[`should generate correct command > for yarn 3`] = `"yarn build"`; diff --git a/__test__/getCommand.spec.ts b/__test__/getCommand.spec.ts index 0f2f83b1..92b37c44 100644 --- a/__test__/getCommand.spec.ts +++ b/__test__/getCommand.spec.ts @@ -4,28 +4,19 @@ import getCommand from '../utils/getCommand' describe("should generate correct command", () => { it('for yarn', () => { expect(getCommand('yarn', 'install')).toBe('yarn') - expect(getCommand('yarn', 'install')).toMatchSnapshot() expect(getCommand('yarn', 'dev')).toBe('yarn dev') - expect(getCommand('yarn', 'dev')).toMatchSnapshot() expect(getCommand('yarn', 'build')).toBe('yarn build') - expect(getCommand('yarn', 'build')).toMatchSnapshot() }) it('for npm', () => { expect(getCommand('npm', 'install')).toBe('npm install') - expect(getCommand('npm', 'install')).toMatchSnapshot() expect(getCommand('npm', 'dev')).toBe('npm run dev') - expect(getCommand('npm', 'dev')).toMatchSnapshot() expect(getCommand('npm', 'build')).toBe('npm run build') - expect(getCommand('npm', 'build')).toMatchSnapshot() }) it('for pnpm', () => { expect(getCommand('pnpm', 'install')).toBe('pnpm install') - expect(getCommand('pnpm', 'install')).toMatchSnapshot() expect(getCommand('pnpm', 'dev')).toBe('pnpm dev') - expect(getCommand('pnpm', 'dev')).toMatchSnapshot() expect(getCommand('pnpm', 'build')).toBe('pnpm build') - expect(getCommand('pnpm', 'build')).toMatchSnapshot() }) }) \ No newline at end of file From 431cfda40925268debd0861ef1312ed71e408d85 Mon Sep 17 00:00:00 2001 From: CoolPlayLin Date: Sat, 25 Nov 2023 09:02:20 +0800 Subject: [PATCH 20/25] :hammer: chore: delete locale test move locale test into delicated Pull Request --- __test__/locale.spec.ts | 44 ------------------------------------- __test__/utils.ts | 48 ----------------------------------------- 2 files changed, 92 deletions(-) delete mode 100644 __test__/locale.spec.ts delete mode 100644 __test__/utils.ts diff --git a/__test__/locale.spec.ts b/__test__/locale.spec.ts deleted file mode 100644 index bc2e2764..00000000 --- a/__test__/locale.spec.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { describe, it, expect } from 'vitest' -import { resolve } from 'node:path' -import { readdirSync } from 'node:fs' -import { Language } from '../utils/getLanguage' -import { includeAllKeys, excludeKeys } from './utils' - -const locales = readdirSync(resolve(__dirname, '../locales')).filter((file) => { - return file.includes('.json') -}) - -describe('should match name regex', () => { - /** - * - * both can match normal locale or reusable locale - * - * @example normal locale: en-US - * @example reusable locale: zh-Hant - */ - const regex = /^[a-zA-Z]{2}(-[a-zA-Z]{2})*.json$|^[a-zA-Z]{2}(-[a-zA-z]{4})*.json$/ - - locales.forEach((locale) => { - it(`for ${locale}`, () => { - expect(locale).toMatch(regex) - }) - }) -}) - -describe('should include full keys', () => { - const structure = require('../schema/locale.json') as Language - locales.forEach((locale) => { - it(`for ${locale}`, () => { - expect(includeAllKeys(require(`../locales/${locale}`), structure)).toBeTruthy() - }) - }) -}) - -describe("should not include extra keys", () => { - const structure = require('../schema/locale.json') as Language - locales.forEach((locale) => { - it(`for ${locale}`, () => { - expect(excludeKeys(require(`../locales/${locale}`), structure)).toBeTruthy() - }) - }) -}) diff --git a/__test__/utils.ts b/__test__/utils.ts deleted file mode 100644 index 66b028fd..00000000 --- a/__test__/utils.ts +++ /dev/null @@ -1,48 +0,0 @@ -/** - * - * @param obj object that needs to be validated - * @param schema template for validation - * @returns whether missed some keys - */ -export function includeAllKeys(obj: Object, schema: Object) { - for (let key in schema) { - if (!obj.hasOwnProperty(key)) { - console.log(`key '${key}' lost`) - return false - } - if (schema[key] !== null) { - if (typeof schema[key] === 'string') { - if (typeof obj[key] !== schema[key]) { - console.error(`the type of ${key} is incorrect`) - return false - } - } else if (typeof schema[key] === 'object') { - if (!includeAllKeys(obj[key], schema[key])) { - return false - } - } - } - } - return true -} - -/** - * - * @param obj object that needs to be validated - * @param schema template for validation - * @returns whether include extra keys - */ -export function excludeKeys(obj: Object, schema: Object) { - for (let key in obj) { - if (!schema.hasOwnProperty(key)) { - console.error(`unexpected key: ${key}`) - return false - } - if (schema[key] !== null && typeof schema[key] === 'object') { - if (!excludeKeys(obj[key], schema[key])) { - return false - } - } - } - return true -} From 69b980d71b3387d948524ba88cca2ffa676686ca Mon Sep 17 00:00:00 2001 From: CoolPlayLin Date: Sat, 25 Nov 2023 09:03:17 +0800 Subject: [PATCH 21/25] :hammer: chore: delete schema --- schema/locale.json | 68 ---------------------------------------------- 1 file changed, 68 deletions(-) delete mode 100644 schema/locale.json diff --git a/schema/locale.json b/schema/locale.json deleted file mode 100644 index 47fcc083..00000000 --- a/schema/locale.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "projectName": { - "message": "string" - }, - "shouldOverwrite": { - "dirForPrompts": { - "current": "string", - "target": "string" - }, - "message": "string" - }, - "packageName": { - "message": "string", - "invalidMessage": "string" - }, - "needsTypeScript": { - "message": "string" - }, - "needsJsx": { - "message": "string" - }, - "needsRouter": { - "message": "string" - }, - "needsPinia": { - "message": "string" - }, - "needsVitest": { - "message": "string" - }, - "needsE2eTesting": { - "message": "string", - "hint": "string", - "selectOptions": { - "negative": { - "title": "string" - }, - "cypress": { - "title": "string", - "desc": "string" - }, - "nightwatch": { - "title": "string", - "desc": "string" - }, - "playwright": { - "title": "string" - } - } - }, - "needsEslint": { - "message": "string" - }, - "needsPrettier": { - "message": "string" - }, - "errors": { - "operationCancelled": "string" - }, - "defaultToggleOptions": { - "active": "string", - "inactive": "string" - }, - "infos": { - "scaffolding": "string", - "done": "string" - } -} From e06e995534e30fccf9a7938e13a2500b67df7b54 Mon Sep 17 00:00:00 2001 From: CoolPlayLin Date: Sat, 25 Nov 2023 09:05:09 +0800 Subject: [PATCH 22/25] :hammer: chore: delete 'test:update-snapshot' in package.json --- package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package.json b/package.json index 08d1296f..60db4024 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,6 @@ "pretest": "run-s build snapshot", "test": "zx ./scripts/test.mjs", "test:unit": "vitest", - "test:update-snapshot": "vitest run -u", "prepublishOnly": "zx ./scripts/prepublish.mjs" }, "repository": { From ad687fbfeb1f427fc2926db8146404141085c8a2 Mon Sep 17 00:00:00 2001 From: CoolPlayLin Date: Sat, 25 Nov 2023 17:22:43 +0800 Subject: [PATCH 23/25] :bug: fix: resolve suggestions in code reviews delete unnecessary empty line in getCommand.spec.ts delete unnecessary tests rename some tests --- __test__/getCommand.spec.ts | 10 ++++----- __test__/sortDependencies.spec.ts | 37 ++----------------------------- 2 files changed, 6 insertions(+), 41 deletions(-) diff --git a/__test__/getCommand.spec.ts b/__test__/getCommand.spec.ts index 92b37c44..50d3681c 100644 --- a/__test__/getCommand.spec.ts +++ b/__test__/getCommand.spec.ts @@ -1,20 +1,18 @@ import { it, describe, expect } from 'vitest' import getCommand from '../utils/getCommand' -describe("should generate correct command", () => { - it('for yarn', () => { +describe("getCommand", () => { + it('should generate the correct command for yarn', () => { expect(getCommand('yarn', 'install')).toBe('yarn') expect(getCommand('yarn', 'dev')).toBe('yarn dev') expect(getCommand('yarn', 'build')).toBe('yarn build') - }) - it('for npm', () => { + it('should generate the correct command for npm', () => { expect(getCommand('npm', 'install')).toBe('npm install') expect(getCommand('npm', 'dev')).toBe('npm run dev') expect(getCommand('npm', 'build')).toBe('npm run build') - }) - it('for pnpm', () => { + it('should generate the correct command for pnpm', () => { expect(getCommand('pnpm', 'install')).toBe('pnpm install') expect(getCommand('pnpm', 'dev')).toBe('pnpm dev') expect(getCommand('pnpm', 'build')).toBe('pnpm build') diff --git a/__test__/sortDependencies.spec.ts b/__test__/sortDependencies.spec.ts index c7eb9037..f26996d1 100644 --- a/__test__/sortDependencies.spec.ts +++ b/__test__/sortDependencies.spec.ts @@ -1,41 +1,8 @@ import { it, describe, expect } from 'vitest' import sortDependencies from '../utils/sortDependencies' -describe('should output correct sorted value', () => { - it('#1', () => { - const packageJson = { - "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "eslint": "^8.49.0", - "eslint-plugin-cypress": "^2.15.1", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "@vue/test-utils": "^2.4.1", - "cypress": "^13.3.1", - "eslint-plugin-vue": "^9.17.0", - "jsdom": "^22.1.0", - "start-server-and-test": "^2.0.1", - } - } - expect(sortDependencies(packageJson)).toStrictEqual({ - "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "cypress": "^13.3.1", - "eslint": "^8.49.0", - "eslint-plugin-cypress": "^2.15.1", - "eslint-plugin-vue": "^9.17.0", - "jsdom": "^22.1.0", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11", - "vitest": "^0.34.6" - } - } - ) - }) - it('#2', () => { +describe('sortDependencies', () => { + it('should sort dependencies and dev dependencies', () => { const packageJson = { "dependencies": { "vue": "^3.3.4", From ab7bb79784d775e9756879aa9a290a575c2911c8 Mon Sep 17 00:00:00 2001 From: CoolPlayLin Date: Sat, 25 Nov 2023 17:23:48 +0800 Subject: [PATCH 24/25] :bug: fix: delete unncessary change --- utils/getLanguage.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/getLanguage.ts b/utils/getLanguage.ts index 17c4d62a..31e85830 100644 --- a/utils/getLanguage.ts +++ b/utils/getLanguage.ts @@ -18,7 +18,7 @@ interface LanguageItem { } } -export interface Language { +interface Language { projectName: LanguageItem shouldOverwrite: LanguageItem packageName: LanguageItem From b4ccf030ed37f2806d136131036fc12393177166 Mon Sep 17 00:00:00 2001 From: CoolPlayLin Date: Sat, 25 Nov 2023 17:27:13 +0800 Subject: [PATCH 25/25] :hammer: chore: format test --- __test__/getCommand.spec.ts | 34 ++++++++-------- __test__/sortDependencies.spec.ts | 64 +++++++++++++++---------------- 2 files changed, 49 insertions(+), 49 deletions(-) diff --git a/__test__/getCommand.spec.ts b/__test__/getCommand.spec.ts index 50d3681c..63c86a99 100644 --- a/__test__/getCommand.spec.ts +++ b/__test__/getCommand.spec.ts @@ -1,20 +1,20 @@ import { it, describe, expect } from 'vitest' import getCommand from '../utils/getCommand' -describe("getCommand", () => { - it('should generate the correct command for yarn', () => { - expect(getCommand('yarn', 'install')).toBe('yarn') - expect(getCommand('yarn', 'dev')).toBe('yarn dev') - expect(getCommand('yarn', 'build')).toBe('yarn build') - }) - it('should generate the correct command for npm', () => { - expect(getCommand('npm', 'install')).toBe('npm install') - expect(getCommand('npm', 'dev')).toBe('npm run dev') - expect(getCommand('npm', 'build')).toBe('npm run build') - }) - it('should generate the correct command for pnpm', () => { - expect(getCommand('pnpm', 'install')).toBe('pnpm install') - expect(getCommand('pnpm', 'dev')).toBe('pnpm dev') - expect(getCommand('pnpm', 'build')).toBe('pnpm build') - }) -}) \ No newline at end of file +describe('getCommand', () => { + it('should generate the correct command for yarn', () => { + expect(getCommand('yarn', 'install')).toBe('yarn') + expect(getCommand('yarn', 'dev')).toBe('yarn dev') + expect(getCommand('yarn', 'build')).toBe('yarn build') + }) + it('should generate the correct command for npm', () => { + expect(getCommand('npm', 'install')).toBe('npm install') + expect(getCommand('npm', 'dev')).toBe('npm run dev') + expect(getCommand('npm', 'build')).toBe('npm run build') + }) + it('should generate the correct command for pnpm', () => { + expect(getCommand('pnpm', 'install')).toBe('pnpm install') + expect(getCommand('pnpm', 'dev')).toBe('pnpm dev') + expect(getCommand('pnpm', 'build')).toBe('pnpm build') + }) +}) diff --git a/__test__/sortDependencies.spec.ts b/__test__/sortDependencies.spec.ts index f26996d1..29becf4f 100644 --- a/__test__/sortDependencies.spec.ts +++ b/__test__/sortDependencies.spec.ts @@ -4,43 +4,43 @@ import sortDependencies from '../utils/sortDependencies' describe('sortDependencies', () => { it('should sort dependencies and dev dependencies', () => { const packageJson = { - "dependencies": { - "vue": "^3.3.4", - "vue-router": "^4.2.5", - "pinia": "^2.1.7", + dependencies: { + vue: '^3.3.4', + 'vue-router': '^4.2.5', + pinia: '^2.1.7' }, - "devDependencies": { - "@vitejs/plugin-vue-jsx": "^3.0.2", - "jsdom": "^22.1.0", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11", - "@vue/test-utils": "^2.4.1", - "cypress": "^13.3.1", - "eslint": "^8.49.0", - "@vitejs/plugin-vue": "^4.4.0", - "eslint-plugin-cypress": "^2.15.1", - "eslint-plugin-vue": "^9.17.0", - "vitest": "^0.34.6" + devDependencies: { + '@vitejs/plugin-vue-jsx': '^3.0.2', + jsdom: '^22.1.0', + 'start-server-and-test': '^2.0.1', + vite: '^4.4.11', + '@vue/test-utils': '^2.4.1', + cypress: '^13.3.1', + eslint: '^8.49.0', + '@vitejs/plugin-vue': '^4.4.0', + 'eslint-plugin-cypress': '^2.15.1', + 'eslint-plugin-vue': '^9.17.0', + vitest: '^0.34.6' } } expect(sortDependencies(packageJson)).toStrictEqual({ - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4", - "vue-router": "^4.2.5" + dependencies: { + pinia: '^2.1.7', + vue: '^3.3.4', + 'vue-router': '^4.2.5' }, - "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "cypress": "^13.3.1", - "eslint": "^8.49.0", - "eslint-plugin-cypress": "^2.15.1", - "eslint-plugin-vue": "^9.17.0", - "jsdom": "^22.1.0", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11", - "vitest": "^0.34.6" + devDependencies: { + '@vitejs/plugin-vue': '^4.4.0', + '@vitejs/plugin-vue-jsx': '^3.0.2', + '@vue/test-utils': '^2.4.1', + cypress: '^13.3.1', + eslint: '^8.49.0', + 'eslint-plugin-cypress': '^2.15.1', + 'eslint-plugin-vue': '^9.17.0', + jsdom: '^22.1.0', + 'start-server-and-test': '^2.0.1', + vite: '^4.4.11', + vitest: '^0.34.6' } }) })