diff --git a/.github/auto-assign.yml b/.github/auto-assign.yml new file mode 100644 index 00000000..183ef724 --- /dev/null +++ b/.github/auto-assign.yml @@ -0,0 +1,19 @@ +name: Auto Assign +on: + issues: + types: [opened] + pull_request: + types: [opened] +jobs: + run: + runs-on: ubuntu-latest + permissions: + issues: write + pull-requests: write + steps: + - name: 'Auto-assign issue' + uses: pozil/auto-assign-issue@v1 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + assignees: Yordan-Ramchev + numOfAssignee: 1 diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 00000000..7a86748a --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,31 @@ +# Pull Request + +## Description + + + +## Related Issue + + + +## Checklist + + + +- [ ] Tests added (if applicable) +- [ ] All existing tests pass +- [ ] Documentation updated +- [ ] Code follows project coding standards +- [ ] Code comments added/updated + +## Screenshots (if applicable) + + + +## Notes for Reviewers + + + +## Additional Comments + + diff --git a/.husky/commit-msg b/.husky/commit-msg index 8796e175..032ee3f6 100755 --- a/.husky/commit-msg +++ b/.husky/commit-msg @@ -1,4 +1 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - npx commitlint --edit $1 \ No newline at end of file diff --git a/.husky/pre-commit b/.husky/pre-commit index 36af2198..2312dc58 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,4 +1 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - npx lint-staged diff --git a/.husky/prepare-commit-msg b/.husky/prepare-commit-msg index 8bc37394..1815ce3c 100755 --- a/.husky/prepare-commit-msg +++ b/.husky/prepare-commit-msg @@ -1,4 +1 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - exec < /dev/tty && npx cz --hook || true \ No newline at end of file diff --git a/index.ts b/index.ts index 2ed19aba..79374da9 100755 --- a/index.ts +++ b/index.ts @@ -499,7 +499,7 @@ async function init() { // Render ESLint config // By default ESLint, Prettier and Husky will be added - renderEslint(root, { needsTypeScript, needsCypress, needsCypressCT }) + renderEslint(root, { needsTypeScript, needsCypress, needsCypressCT, needsPlaywright }) render('config/husky') // Render code template. diff --git a/locales/zh-CN.json b/locales/zh-Hans.json similarity index 100% rename from locales/zh-CN.json rename to locales/zh-Hans.json diff --git a/locales/zh-Hant.json b/locales/zh-Hant.json new file mode 100644 index 00000000..e1901ed3 --- /dev/null +++ b/locales/zh-Hant.json @@ -0,0 +1,68 @@ +{ + "projectName": { + "message": "請輸入專案名稱:" + }, + "shouldOverwrite": { + "dirForPrompts": { + "current": "當前資料夾", + "target": "目標資料夾:" + }, + "message": "非空,是否覆蓋?" + }, + "packageName": { + "message": "請輸入套件名稱:", + "invalidMessage": "無效的 package.json 名稱" + }, + "needsTypeScript": { + "message": "是否使用 TypeScript 語法?" + }, + "needsJsx": { + "message": "是否啟用 JSX 支援?" + }, + "needsRouter": { + "message": "是否引入 Vue Router 進行單頁應用開發?" + }, + "needsPinia": { + "message": "是否引入 Pinia 用於狀態管理?" + }, + "needsVitest": { + "message": "是否引入 Vitest 用於單元測試" + }, + "needsE2eTesting": { + "message": "是否要引入一款端對端(End to End)測試工具?", + "hint": "- 使用箭頭切換按 Enter 確認。", + "selectOptions": { + "negative": { + "title": "不需要" + }, + "cypress": { + "title": "Cypress", + "desc": "同時支援基於 Cypress Component Testing 的單元測試" + }, + "nightwatch": { + "title": "Nightwatch", + "desc": "同時支援基於 Nightwatch Component Testing 的單元測試" + }, + "playwright": { + "title": "Playwright" + } + } + }, + "needsEslint": { + "message": "是否引入 ESLint 用於程式碼品質檢測?" + }, + "needsPrettier": { + "message": "是否引入 Prettier 用於程式碼格式化?" + }, + "errors": { + "operationCancelled": "操作取消" + }, + "defaultToggleOptions": { + "active": "是", + "inactive": "否" + }, + "infos": { + "scaffolding": "正在建置專案", + "done": "專案建置完成,可執行以下命令:" + } +} diff --git a/package-lock.json b/package-lock.json index 93d4cc74..818bf6d4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,22 +1,22 @@ { "name": "@mentormate/create-vue", - "version": "0.3.1", + "version": "0.4.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@mentormate/create-vue", - "version": "0.3.1", + "version": "0.4.0", "license": "MIT", "bin": { "create-vue": "outfile.cjs" }, "devDependencies": { - "@commitlint/cli": "^18.4.3", - "@commitlint/config-conventional": "^18.4.3", - "@tsconfig/node18": "^18.2.2", - "@types/eslint": "^8.44.9", - "@types/node": "^20.10.5", + "@commitlint/cli": "^18.6.0", + "@commitlint/config-conventional": "^18.6.0", + "@tsconfig/node20": "^20.1.2", + "@types/eslint": "^8.56.2", + "@types/node": "^20.11.16", "@types/prompts": "^2.4.9", "@vue/create-eslint-config": "^0.3.2", "@vue/tsconfig": "^0.5.1", @@ -26,18 +26,18 @@ "ejs": "^3.1.9", "esbuild": "^0.19.5", "esbuild-plugin-license": "^1.2.2", - "husky": "^8.0.3", + "husky": "^9.0.10", "kolorist": "^1.8.0", - "lint-staged": "^15.2.0", + "lint-staged": "^15.2.1", "minimist": "^1.2.8", - "npm-run-all2": "^6.1.1", - "prettier": "^3.1.1", + "npm-run-all2": "^6.1.2", + "prettier": "^3.2.5", "prompts": "^2.4.2", - "vitest": "^1.0.4", + "vitest": "^1.2.2", "zx": "^7.2.3" }, "engines": { - "node": ">=v16.20.0" + "node": ">=v18.16.1" } }, "node_modules/@babel/code-frame": { @@ -201,16 +201,16 @@ } }, "node_modules/@commitlint/cli": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-18.4.3.tgz", - "integrity": "sha512-zop98yfB3A6NveYAZ3P1Mb6bIXuCeWgnUfVNkH4yhIMQpQfzFwseadazOuSn0OOfTt0lWuFauehpm9GcqM5lww==", + "version": "18.6.0", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-18.6.0.tgz", + "integrity": "sha512-FiH23cr9QG8VdfbmvJJZmdfHGVMCouOOAzoXZ3Cd7czGC52RbycwNt8YCI7SA69pAl+t30vh8LMaO/N+kcel6w==", "dev": true, "dependencies": { - "@commitlint/format": "^18.4.3", - "@commitlint/lint": "^18.4.3", - "@commitlint/load": "^18.4.3", - "@commitlint/read": "^18.4.3", - "@commitlint/types": "^18.4.3", + "@commitlint/format": "^18.6.0", + "@commitlint/lint": "^18.6.0", + "@commitlint/load": "^18.6.0", + "@commitlint/read": "^18.6.0", + "@commitlint/types": "^18.6.0", "execa": "^5.0.0", "lodash.isfunction": "^3.0.9", "resolve-from": "5.0.0", @@ -314,9 +314,9 @@ } }, "node_modules/@commitlint/config-conventional": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-18.4.3.tgz", - "integrity": "sha512-729eRRaNta7JZF07qf6SAGSghoDEp9mH7yHU0m7ff0q89W97wDrWCyZ3yoV3mcQJwbhlmVmZPTkPcm7qiAu8WA==", + "version": "18.6.0", + "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-18.6.0.tgz", + "integrity": "sha512-CDCOf2eJz9D/TL44IBks0stM9TmdLCNE2B48owIU3YCadwzts/bobXPScagIgPQF6hhKYMEdj5zpUDlmbwuqwQ==", "dev": true, "dependencies": { "conventional-changelog-conventionalcommits": "^7.0.2" @@ -326,12 +326,12 @@ } }, "node_modules/@commitlint/config-validator": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-18.4.3.tgz", - "integrity": "sha512-FPZZmTJBARPCyef9ohRC9EANiQEKSWIdatx5OlgeHKu878dWwpyeFauVkhzuBRJFcCA4Uvz/FDtlDKs008IHcA==", + "version": "18.6.0", + "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-18.6.0.tgz", + "integrity": "sha512-Ptfa865arNozlkjxrYG3qt6wT9AlhNUHeuDyKEZiTL/l0ftncFhK/KN0t/EAMV2tec+0Mwxo0FmhbESj/bI+1g==", "dev": true, "dependencies": { - "@commitlint/types": "^18.4.3", + "@commitlint/types": "^18.6.0", "ajv": "^8.11.0" }, "engines": { @@ -339,12 +339,12 @@ } }, "node_modules/@commitlint/ensure": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-18.4.3.tgz", - "integrity": "sha512-MI4fwD9TWDVn4plF5+7JUyLLbkOdzIRBmVeNlk4dcGlkrVA+/l5GLcpN66q9LkFsFv6G2X31y89ApA3hqnqIFg==", + "version": "18.6.0", + "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-18.6.0.tgz", + "integrity": "sha512-xY07NmOBJ7JuhX3tic021PaeLepZARIQyqpAQoNQZoml1keBFfB6MbA7XlWZv0ebbarUFE4yhKxOPw+WFv7/qw==", "dev": true, "dependencies": { - "@commitlint/types": "^18.4.3", + "@commitlint/types": "^18.6.0", "lodash.camelcase": "^4.3.0", "lodash.kebabcase": "^4.1.1", "lodash.snakecase": "^4.1.1", @@ -356,21 +356,21 @@ } }, "node_modules/@commitlint/execute-rule": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-18.4.3.tgz", - "integrity": "sha512-t7FM4c+BdX9WWZCPrrbV5+0SWLgT3kCq7e7/GhHCreYifg3V8qyvO127HF796vyFql75n4TFF+5v1asOOWkV1Q==", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-18.4.4.tgz", + "integrity": "sha512-a37Nd3bDQydtg9PCLLWM9ZC+GO7X5i4zJvrggJv5jBhaHsXeQ9ZWdO6ODYR+f0LxBXXNYK3geYXJrCWUCP8JEg==", "dev": true, "engines": { "node": ">=v18" } }, "node_modules/@commitlint/format": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-18.4.3.tgz", - "integrity": "sha512-8b+ItXYHxAhRAXFfYki5PpbuMMOmXYuzLxib65z2XTqki59YDQJGpJ/wB1kEE5MQDgSTQWtKUrA8n9zS/1uIDQ==", + "version": "18.6.0", + "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-18.6.0.tgz", + "integrity": "sha512-8UNWfs2slPPSQiiVpLGJTnPHv7Jkd5KYxfbNXbmLL583bjom4RrylvyrCVnmZReA8nNad7pPXq6mDH4FNVj6xg==", "dev": true, "dependencies": { - "@commitlint/types": "^18.4.3", + "@commitlint/types": "^18.6.0", "chalk": "^4.1.0" }, "engines": { @@ -378,12 +378,12 @@ } }, "node_modules/@commitlint/is-ignored": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-18.4.3.tgz", - "integrity": "sha512-ZseOY9UfuAI32h9w342Km4AIaTieeFskm2ZKdrG7r31+c6zGBzuny9KQhwI9puc0J3GkUquEgKJblCl7pMnjwg==", + "version": "18.6.0", + "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-18.6.0.tgz", + "integrity": "sha512-Xjx/ZyyJ4FdLuz0FcOvqiqSFgiO2yYj3QN9XlvyrxqbXTxPVC7QFEXJYBVPulUSN/gR7WXH1Udw+HYYfD17xog==", "dev": true, "dependencies": { - "@commitlint/types": "^18.4.3", + "@commitlint/types": "^18.6.0", "semver": "7.5.4" }, "engines": { @@ -391,31 +391,30 @@ } }, "node_modules/@commitlint/lint": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-18.4.3.tgz", - "integrity": "sha512-18u3MRgEXNbnYkMOWoncvq6QB8/90m9TbERKgdPqVvS+zQ/MsuRhdvHYCIXGXZxUb0YI4DV2PC4bPneBV/fYuA==", + "version": "18.6.0", + "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-18.6.0.tgz", + "integrity": "sha512-ycbuDWfyykPmslgiHzhz8dL6F0BJYltXLVfc+M49z0c+FNITM0v+r0Vd2+Tdtq06VTc894p2+YSmZhulY8Jn3Q==", "dev": true, "dependencies": { - "@commitlint/is-ignored": "^18.4.3", - "@commitlint/parse": "^18.4.3", - "@commitlint/rules": "^18.4.3", - "@commitlint/types": "^18.4.3" + "@commitlint/is-ignored": "^18.6.0", + "@commitlint/parse": "^18.6.0", + "@commitlint/rules": "^18.6.0", + "@commitlint/types": "^18.6.0" }, "engines": { "node": ">=v18" } }, "node_modules/@commitlint/load": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-18.4.3.tgz", - "integrity": "sha512-v6j2WhvRQJrcJaj5D+EyES2WKTxPpxENmNpNG3Ww8MZGik3jWRXtph0QTzia5ZJyPh2ib5aC/6BIDymkUUM58Q==", + "version": "18.6.0", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-18.6.0.tgz", + "integrity": "sha512-RRssj7TmzT0bowoEKlgwg8uQ7ORXWkw7lYLsZZBMi9aInsJuGNLNWcMxJxRZbwxG3jkCidGUg85WmqJvRjsaDA==", "dev": true, "dependencies": { - "@commitlint/config-validator": "^18.4.3", - "@commitlint/execute-rule": "^18.4.3", - "@commitlint/resolve-extends": "^18.4.3", - "@commitlint/types": "^18.4.3", - "@types/node": "^18.11.9", + "@commitlint/config-validator": "^18.6.0", + "@commitlint/execute-rule": "^18.4.4", + "@commitlint/resolve-extends": "^18.6.0", + "@commitlint/types": "^18.6.0", "chalk": "^4.1.0", "cosmiconfig": "^8.3.6", "cosmiconfig-typescript-loader": "^5.0.0", @@ -428,31 +427,22 @@ "node": ">=v18" } }, - "node_modules/@commitlint/load/node_modules/@types/node": { - "version": "18.18.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.7.tgz", - "integrity": "sha512-bw+lEsxis6eqJYW8Ql6+yTqkE6RuFtsQPSe5JxXbqYRFQEER5aJA9a5UH9igqDWm3X4iLHIKOHlnAXLM4mi7uQ==", - "dev": true, - "dependencies": { - "undici-types": "~5.26.4" - } - }, "node_modules/@commitlint/message": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-18.4.3.tgz", - "integrity": "sha512-ddJ7AztWUIoEMAXoewx45lKEYEOeOlBVWjk8hDMUGpprkuvWULpaXczqdjwVtjrKT3JhhN+gMs8pm5G3vB2how==", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-18.4.4.tgz", + "integrity": "sha512-lHF95mMDYgAI1LBXveJUyg4eLaMXyOqJccCK3v55ZOEUsMPrDi8upqDjd/NmzWmESYihaOMBTAnxm+6oD1WoDQ==", "dev": true, "engines": { "node": ">=v18" } }, "node_modules/@commitlint/parse": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-18.4.3.tgz", - "integrity": "sha512-eoH7CXM9L+/Me96KVcfJ27EIIbA5P9sqw3DqjJhRYuhaULIsPHFs5S5GBDCqT0vKZQDx0DgxhMpW6AQbnKrFtA==", + "version": "18.6.0", + "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-18.6.0.tgz", + "integrity": "sha512-Y/G++GJpATFw54O0jikc/h2ibyGHgghtPnwsOk3O/aU092ydJ5XEHYcd7xGNQYuLweLzQis2uEwRNk9AVIPbQQ==", "dev": true, "dependencies": { - "@commitlint/types": "^18.4.3", + "@commitlint/types": "^18.6.0", "conventional-changelog-angular": "^7.0.0", "conventional-commits-parser": "^5.0.0" }, @@ -461,14 +451,13 @@ } }, "node_modules/@commitlint/read": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-18.4.3.tgz", - "integrity": "sha512-H4HGxaYA6OBCimZAtghL+B+SWu8ep4X7BwgmedmqWZRHxRLcX2q0bWBtUm5FsMbluxbOfrJwOs/Z0ah4roP/GQ==", + "version": "18.6.0", + "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-18.6.0.tgz", + "integrity": "sha512-w39ji8VfWhPKRquPhRHB3Yd8XIHwaNHgOh28YI1QEmZ59qVpuVUQo6h/NsVb+uoC6LbXZiofTZv2iFR084jKEA==", "dev": true, "dependencies": { - "@commitlint/top-level": "^18.4.3", - "@commitlint/types": "^18.4.3", - "fs-extra": "^11.0.0", + "@commitlint/top-level": "^18.4.4", + "@commitlint/types": "^18.6.0", "git-raw-commits": "^2.0.11", "minimist": "^1.2.6" }, @@ -477,13 +466,13 @@ } }, "node_modules/@commitlint/resolve-extends": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-18.4.3.tgz", - "integrity": "sha512-30sk04LZWf8+SDgJrbJCjM90gTg2LxsD9cykCFeFu+JFHvBFq5ugzp2eO/DJGylAdVaqxej3c7eTSE64hR/lnw==", + "version": "18.6.0", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-18.6.0.tgz", + "integrity": "sha512-k2Xp+Fxeggki2i90vGrbiLDMefPius3zGSTFFlRAPKce/SWLbZtI+uqE9Mne23mHO5lmcSV8z5m6ziiJwGpOcg==", "dev": true, "dependencies": { - "@commitlint/config-validator": "^18.4.3", - "@commitlint/types": "^18.4.3", + "@commitlint/config-validator": "^18.6.0", + "@commitlint/types": "^18.6.0", "import-fresh": "^3.0.0", "lodash.mergewith": "^4.6.2", "resolve-from": "^5.0.0", @@ -494,15 +483,15 @@ } }, "node_modules/@commitlint/rules": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-18.4.3.tgz", - "integrity": "sha512-8KIeukDf45BiY+Lul1T0imSNXF0sMrlLG6JpLLKolkmYVQ6PxxoNOriwyZ3UTFFpaVbPy0rcITaV7U9JCAfDTA==", + "version": "18.6.0", + "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-18.6.0.tgz", + "integrity": "sha512-pTalvCEvuCWrBWZA/YqO/3B3nZnY3Ncc+TmQsRajBdC1tkQIm5Iovdo4Ec7f2Dw1tVvpYMUUNAgcWqsY0WckWg==", "dev": true, "dependencies": { - "@commitlint/ensure": "^18.4.3", - "@commitlint/message": "^18.4.3", - "@commitlint/to-lines": "^18.4.3", - "@commitlint/types": "^18.4.3", + "@commitlint/ensure": "^18.6.0", + "@commitlint/message": "^18.4.4", + "@commitlint/to-lines": "^18.4.4", + "@commitlint/types": "^18.6.0", "execa": "^5.0.0" }, "engines": { @@ -599,18 +588,18 @@ } }, "node_modules/@commitlint/to-lines": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-18.4.3.tgz", - "integrity": "sha512-fy1TAleik4Zfru1RJ8ZU6cOSvgSVhUellxd3WZV1D5RwHZETt1sZdcA4mQN2y3VcIZsUNKkW0Mq8CM9/L9harQ==", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-18.4.4.tgz", + "integrity": "sha512-mwe2Roa59NCz/krniAdCygFabg7+fQCkIhXqBHw00XQ8Y7lw4poZLLxeGI3p3bLpcEOXdqIDrEGLwHmG5lBdwQ==", "dev": true, "engines": { "node": ">=v18" } }, "node_modules/@commitlint/top-level": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-18.4.3.tgz", - "integrity": "sha512-E6fJPBLPFL5R8+XUNSYkj4HekIOuGMyJo3mIx2PkYc3clel+pcWQ7TConqXxNWW4x1ugigiIY2RGot55qUq1hw==", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-18.4.4.tgz", + "integrity": "sha512-PBwW1drgeavl9CadB7IPRUk6rkUP/O8jEkxjlC+ofuh3pw0bzJdAT+Kw7M1Yc9KtTb9xTaqUB8uvRtaybHa/tQ==", "dev": true, "dependencies": { "find-up": "^5.0.0" @@ -620,9 +609,9 @@ } }, "node_modules/@commitlint/types": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-18.4.3.tgz", - "integrity": "sha512-cvzx+vtY/I2hVBZHCLrpoh+sA0hfuzHwDc+BAFPimYLjJkpHnghQM+z8W/KyLGkygJh3BtI3xXXq+dKjnSWEmA==", + "version": "18.6.0", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-18.6.0.tgz", + "integrity": "sha512-oavoKLML/eJa2rJeyYSbyGAYzTxQ6voG5oeX3OrxpfrkRWhJfm4ACnhoRf5tgiybx2MZ+EVFqC1Lw3W8/uwpZA==", "dev": true, "dependencies": { "chalk": "^4.1.0" @@ -1198,16 +1187,16 @@ "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true }, - "node_modules/@tsconfig/node18": { - "version": "18.2.2", - "resolved": "https://registry.npmjs.org/@tsconfig/node18/-/node18-18.2.2.tgz", - "integrity": "sha512-d6McJeGsuoRlwWZmVIeE8CUA27lu6jLjvv1JzqmpsytOYYbVi1tHZEnwCNVOXnj4pyLvneZlFlpXUK+X9wBWyw==", + "node_modules/@tsconfig/node20": { + "version": "20.1.2", + "resolved": "https://registry.npmjs.org/@tsconfig/node20/-/node20-20.1.2.tgz", + "integrity": "sha512-madaWq2k+LYMEhmcp0fs+OGaLFk0OenpHa4gmI4VEmCKX4PJntQ6fnnGADVFrVkBj0wIdAlQnK/MrlYTHsa1gQ==", "dev": true }, "node_modules/@types/eslint": { - "version": "8.44.9", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.9.tgz", - "integrity": "sha512-6yBxcvwnnYoYT1Uk2d+jvIfsuP4mb2EdIxFnrPABj5a/838qe5bGkNLFOiipX4ULQ7XVQvTxOh7jO+BTAiqsEw==", + "version": "8.56.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.2.tgz", + "integrity": "sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==", "dev": true, "dependencies": { "@types/estree": "*", @@ -1252,9 +1241,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.10.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.5.tgz", - "integrity": "sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw==", + "version": "20.11.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.16.tgz", + "integrity": "sha512-gKb0enTmRCzXSSUJDq6/sPcqrfCv2mkkG6Jt/clpn5eiCbKTY+SgZUxo+p8ZKMof5dCp9vHQUAB7wOUTod22wQ==", "dev": true, "dependencies": { "undici-types": "~5.26.4" @@ -1289,13 +1278,13 @@ "dev": true }, "node_modules/@vitest/expect": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.0.4.tgz", - "integrity": "sha512-/NRN9N88qjg3dkhmFcCBwhn/Ie4h064pY3iv7WLRsDJW7dXnEgeoa8W9zy7gIPluhz6CkgqiB3HmpIXgmEY5dQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.2.2.tgz", + "integrity": "sha512-3jpcdPAD7LwHUUiT2pZTj2U82I2Tcgg2oVPvKxhn6mDI2On6tfvPQTjAI4628GUGDZrCm4Zna9iQHm5cEexOAg==", "dev": true, "dependencies": { - "@vitest/spy": "1.0.4", - "@vitest/utils": "1.0.4", + "@vitest/spy": "1.2.2", + "@vitest/utils": "1.2.2", "chai": "^4.3.10" }, "funding": { @@ -1303,12 +1292,12 @@ } }, "node_modules/@vitest/runner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.0.4.tgz", - "integrity": "sha512-rhOQ9FZTEkV41JWXozFM8YgOqaG9zA7QXbhg5gy6mFOVqh4PcupirIJ+wN7QjeJt8S8nJRYuZH1OjJjsbxAXTQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.2.2.tgz", + "integrity": "sha512-JctG7QZ4LSDXr5CsUweFgcpEvrcxOV1Gft7uHrvkQ+fsAVylmWQvnaAr/HDp3LAH1fztGMQZugIheTWjaGzYIg==", "dev": true, "dependencies": { - "@vitest/utils": "1.0.4", + "@vitest/utils": "1.2.2", "p-limit": "^5.0.0", "pathe": "^1.1.1" }, @@ -1344,9 +1333,9 @@ } }, "node_modules/@vitest/snapshot": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.0.4.tgz", - "integrity": "sha512-vkfXUrNyNRA/Gzsp2lpyJxh94vU2OHT1amoD6WuvUAA12n32xeVZQ0KjjQIf8F6u7bcq2A2k969fMVxEsxeKYA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.2.2.tgz", + "integrity": "sha512-SmGY4saEw1+bwE1th6S/cZmPxz/Q4JWsl7LvbQIky2tKE35US4gd0Mjzqfr84/4OD0tikGWaWdMja/nWL5NIPA==", "dev": true, "dependencies": { "magic-string": "^0.30.5", @@ -1358,9 +1347,9 @@ } }, "node_modules/@vitest/spy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.0.4.tgz", - "integrity": "sha512-9ojTFRL1AJVh0hvfzAQpm0QS6xIS+1HFIw94kl/1ucTfGCaj1LV/iuJU4Y6cdR03EzPDygxTHwE1JOm+5RCcvA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.2.2.tgz", + "integrity": "sha512-k9Gcahssw8d7X3pSLq3e3XEu/0L78mUkCjivUqCQeXJm9clfXR/Td8+AP+VC1O6fKPIDLcHDTAmBOINVuv6+7g==", "dev": true, "dependencies": { "tinyspy": "^2.2.0" @@ -1370,12 +1359,13 @@ } }, "node_modules/@vitest/utils": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.0.4.tgz", - "integrity": "sha512-gsswWDXxtt0QvtK/y/LWukN7sGMYmnCcv1qv05CsY6cU/Y1zpGX1QuvLs+GO1inczpE6Owixeel3ShkjhYtGfA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.2.2.tgz", + "integrity": "sha512-WKITBHLsBHlpjnDQahr+XK6RE7MiAsgrIkr0pGhQ9ygoxBfUeG0lUG5iLlzqjmKSlBv3+j5EGsriBzh+C3Tq9g==", "dev": true, "dependencies": { "diff-sequences": "^29.6.3", + "estree-walker": "^3.0.3", "loupe": "^2.3.7", "pretty-format": "^29.7.0" }, @@ -1419,9 +1409,9 @@ } }, "node_modules/acorn-walk": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz", - "integrity": "sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", "dev": true, "engines": { "node": ">=0.4.0" @@ -2692,6 +2682,15 @@ "node": ">=0.8.0" } }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0" + } + }, "node_modules/event-stream": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", @@ -3301,18 +3300,6 @@ "node": ">=0.10.0" } }, - "node_modules/hosted-git-info": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz", - "integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==", - "dev": true, - "dependencies": { - "lru-cache": "^10.0.1" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, "node_modules/human-signals": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", @@ -3323,15 +3310,15 @@ } }, "node_modules/husky": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", - "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", + "version": "9.0.10", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.10.tgz", + "integrity": "sha512-TQGNknoiy6bURzIO77pPRu+XHi6zI7T93rX+QnJsoYFf3xdjKOur+IlfqzJGMHIK/wXrLg+GsvMs8Op7vI2jVA==", "dev": true, "bin": { - "husky": "lib/bin.js" + "husky": "bin.mjs" }, "engines": { - "node": ">=14" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/typicode" @@ -3880,19 +3867,10 @@ "node": ">=14" } }, - "node_modules/lines-and-columns": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz", - "integrity": "sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, "node_modules/lint-staged": { - "version": "15.2.0", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.0.tgz", - "integrity": "sha512-TFZzUEV00f+2YLaVPWBWGAMq7So6yQx+GG8YRMDeOEIf95Zn5RyiLMsEiX4KTNl9vq/w+NqRJkLA1kPIo15ufQ==", + "version": "15.2.1", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.1.tgz", + "integrity": "sha512-dhwAPnM85VdshybV9FWI/9ghTvMLoQLEXgVMx+ua2DN7mdfzd/tRfoU2yhMcBac0RHkofoxdnnJUokr8s4zKmQ==", "dev": true, "dependencies": { "chalk": "5.3.0", @@ -3900,7 +3878,7 @@ "debug": "4.3.4", "execa": "8.0.1", "lilconfig": "3.0.0", - "listr2": "8.0.0", + "listr2": "8.0.1", "micromatch": "4.0.5", "pidtree": "0.6.0", "string-argv": "0.3.2", @@ -3929,9 +3907,9 @@ } }, "node_modules/listr2": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.0.0.tgz", - "integrity": "sha512-u8cusxAcyqAiQ2RhYvV7kRKNLgUvtObIbhOX2NCXqvp1UU32xIg5CT22ykS2TPKJXZWJwtK3IKLiqAGlGNE+Zg==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.0.1.tgz", + "integrity": "sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==", "dev": true, "dependencies": { "cli-truncate": "^4.0.0", @@ -4183,15 +4161,6 @@ "get-func-name": "^2.0.1" } }, - "node_modules/lru-cache": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", - "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", - "dev": true, - "engines": { - "node": "14 || >=16.14" - } - }, "node_modules/magic-string": { "version": "0.30.5", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", @@ -4412,21 +4381,6 @@ "url": "https://opencollective.com/node-fetch" } }, - "node_modules/normalize-package-data": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.0.tgz", - "integrity": "sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==", - "dev": true, - "dependencies": { - "hosted-git-info": "^7.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -4436,10 +4390,19 @@ "node": ">=0.10.0" } }, + "node_modules/npm-normalize-package-bin": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", + "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/npm-run-all2": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/npm-run-all2/-/npm-run-all2-6.1.1.tgz", - "integrity": "sha512-lWLbkPZ5BSdXtN8lR+0rc8caKoPdymycpZksyDEC9MOBvfdwTXZ0uVhb7bMcGeXv2/BKtfQuo6Zn3zfc8rxNXA==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/npm-run-all2/-/npm-run-all2-6.1.2.tgz", + "integrity": "sha512-WwwnS8Ft+RpXve6T2EIEVpFLSqN+ORHRvgNk3H9N62SZXjmzKoRhMFg3I17TK3oMaAEr+XFbRirWS2Fn3BCPSg==", "dev": true, "dependencies": { "ansi-styles": "^6.2.1", @@ -4447,7 +4410,7 @@ "memorystream": "^0.3.1", "minimatch": "^9.0.0", "pidtree": "^0.6.0", - "read-pkg": "^8.0.0", + "read-package-json-fast": "^3.0.2", "shell-quote": "^1.7.3" }, "bin": { @@ -4680,25 +4643,6 @@ "node": ">=6" } }, - "node_modules/parse-json": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-7.1.0.tgz", - "integrity": "sha512-ihtdrgbqdONYD156Ap6qTcaGcGdkdAxodO1wLqQ/j7HP1u2sFYppINiq4jyC8F+Nm+4fVufylCV00QmkTHkSUg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.21.4", - "error-ex": "^1.3.2", - "json-parse-even-better-errors": "^3.0.0", - "lines-and-columns": "^2.0.3", - "type-fest": "^3.8.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/parse-passwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", @@ -4816,9 +4760,9 @@ } }, "node_modules/postcss": { - "version": "8.4.32", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", - "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", + "version": "8.4.33", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz", + "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==", "dev": true, "funding": [ { @@ -4844,9 +4788,9 @@ } }, "node_modules/prettier": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz", - "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", "dev": true, "bin": { "prettier": "bin/prettier.cjs" @@ -4956,22 +4900,17 @@ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true }, - "node_modules/read-pkg": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-8.1.0.tgz", - "integrity": "sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==", + "node_modules/read-package-json-fast": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", + "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", "dev": true, "dependencies": { - "@types/normalize-package-data": "^2.4.1", - "normalize-package-data": "^6.0.0", - "parse-json": "^7.0.0", - "type-fest": "^4.2.0" + "json-parse-even-better-errors": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" }, "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/read-pkg-up": { @@ -5133,18 +5072,6 @@ "node": ">=8" } }, - "node_modules/read-pkg/node_modules/type-fest": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.3.3.tgz", - "integrity": "sha512-bxhiFii6BBv6UiSDq7uKTMyADT9unXEl3ydGefndVLxFeB44LRbT4K7OJGDYSyDrKnklCC1Pre68qT2wbUl2Aw==", - "dev": true, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -5803,9 +5730,9 @@ "dev": true }, "node_modules/tinypool": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.1.tgz", - "integrity": "sha512-zBTCK0cCgRROxvs9c0CGK838sPkeokNGdQVUUwHAbynHFlmyJYj825f/oRs528HaIJ97lo0pLIlDUzwN+IorWg==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.2.tgz", + "integrity": "sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==", "dev": true, "engines": { "node": ">=14.0.0" @@ -5941,9 +5868,9 @@ } }, "node_modules/vite": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.10.tgz", - "integrity": "sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==", + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.12.tgz", + "integrity": "sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==", "dev": true, "dependencies": { "esbuild": "^0.19.3", @@ -5996,9 +5923,9 @@ } }, "node_modules/vite-node": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.0.4.tgz", - "integrity": "sha512-9xQQtHdsz5Qn8hqbV7UKqkm8YkJhzT/zr41Dmt5N7AlD8hJXw/Z7y0QiD5I8lnTthV9Rvcvi0QW7PI0Fq83ZPg==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.2.2.tgz", + "integrity": "sha512-1as4rDTgVWJO3n1uHmUYqq7nsFgINQ9u+mRcXpjeOMJUmviqNKjcZB7UfRZrlM7MjYXMKpuWp5oGkjaFLnjawg==", "dev": true, "dependencies": { "cac": "^6.7.14", @@ -6018,17 +5945,17 @@ } }, "node_modules/vitest": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.0.4.tgz", - "integrity": "sha512-s1GQHp/UOeWEo4+aXDOeFBJwFzL6mjycbQwwKWX2QcYfh/7tIerS59hWQ20mxzupTJluA2SdwiBuWwQHH67ckg==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.2.2.tgz", + "integrity": "sha512-d5Ouvrnms3GD9USIK36KG8OZ5bEvKEkITFtnGv56HFaSlbItJuYr7hv2Lkn903+AvRAgSixiamozUVfORUekjw==", "dev": true, "dependencies": { - "@vitest/expect": "1.0.4", - "@vitest/runner": "1.0.4", - "@vitest/snapshot": "1.0.4", - "@vitest/spy": "1.0.4", - "@vitest/utils": "1.0.4", - "acorn-walk": "^8.3.0", + "@vitest/expect": "1.2.2", + "@vitest/runner": "1.2.2", + "@vitest/snapshot": "1.2.2", + "@vitest/spy": "1.2.2", + "@vitest/utils": "1.2.2", + "acorn-walk": "^8.3.2", "cac": "^6.7.14", "chai": "^4.3.10", "debug": "^4.3.4", @@ -6040,9 +5967,9 @@ "std-env": "^3.5.0", "strip-literal": "^1.3.0", "tinybench": "^2.5.1", - "tinypool": "^0.8.1", + "tinypool": "^0.8.2", "vite": "^5.0.0", - "vite-node": "1.0.4", + "vite-node": "1.2.2", "why-is-node-running": "^2.2.2" }, "bin": { @@ -6515,16 +6442,16 @@ } }, "@commitlint/cli": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-18.4.3.tgz", - "integrity": "sha512-zop98yfB3A6NveYAZ3P1Mb6bIXuCeWgnUfVNkH4yhIMQpQfzFwseadazOuSn0OOfTt0lWuFauehpm9GcqM5lww==", + "version": "18.6.0", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-18.6.0.tgz", + "integrity": "sha512-FiH23cr9QG8VdfbmvJJZmdfHGVMCouOOAzoXZ3Cd7czGC52RbycwNt8YCI7SA69pAl+t30vh8LMaO/N+kcel6w==", "dev": true, "requires": { - "@commitlint/format": "^18.4.3", - "@commitlint/lint": "^18.4.3", - "@commitlint/load": "^18.4.3", - "@commitlint/read": "^18.4.3", - "@commitlint/types": "^18.4.3", + "@commitlint/format": "^18.6.0", + "@commitlint/lint": "^18.6.0", + "@commitlint/load": "^18.6.0", + "@commitlint/read": "^18.6.0", + "@commitlint/types": "^18.6.0", "execa": "^5.0.0", "lodash.isfunction": "^3.0.9", "resolve-from": "5.0.0", @@ -6594,31 +6521,31 @@ } }, "@commitlint/config-conventional": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-18.4.3.tgz", - "integrity": "sha512-729eRRaNta7JZF07qf6SAGSghoDEp9mH7yHU0m7ff0q89W97wDrWCyZ3yoV3mcQJwbhlmVmZPTkPcm7qiAu8WA==", + "version": "18.6.0", + "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-18.6.0.tgz", + "integrity": "sha512-CDCOf2eJz9D/TL44IBks0stM9TmdLCNE2B48owIU3YCadwzts/bobXPScagIgPQF6hhKYMEdj5zpUDlmbwuqwQ==", "dev": true, "requires": { "conventional-changelog-conventionalcommits": "^7.0.2" } }, "@commitlint/config-validator": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-18.4.3.tgz", - "integrity": "sha512-FPZZmTJBARPCyef9ohRC9EANiQEKSWIdatx5OlgeHKu878dWwpyeFauVkhzuBRJFcCA4Uvz/FDtlDKs008IHcA==", + "version": "18.6.0", + "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-18.6.0.tgz", + "integrity": "sha512-Ptfa865arNozlkjxrYG3qt6wT9AlhNUHeuDyKEZiTL/l0ftncFhK/KN0t/EAMV2tec+0Mwxo0FmhbESj/bI+1g==", "dev": true, "requires": { - "@commitlint/types": "^18.4.3", + "@commitlint/types": "^18.6.0", "ajv": "^8.11.0" } }, "@commitlint/ensure": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-18.4.3.tgz", - "integrity": "sha512-MI4fwD9TWDVn4plF5+7JUyLLbkOdzIRBmVeNlk4dcGlkrVA+/l5GLcpN66q9LkFsFv6G2X31y89ApA3hqnqIFg==", + "version": "18.6.0", + "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-18.6.0.tgz", + "integrity": "sha512-xY07NmOBJ7JuhX3tic021PaeLepZARIQyqpAQoNQZoml1keBFfB6MbA7XlWZv0ebbarUFE4yhKxOPw+WFv7/qw==", "dev": true, "requires": { - "@commitlint/types": "^18.4.3", + "@commitlint/types": "^18.6.0", "lodash.camelcase": "^4.3.0", "lodash.kebabcase": "^4.1.1", "lodash.snakecase": "^4.1.1", @@ -6627,54 +6554,53 @@ } }, "@commitlint/execute-rule": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-18.4.3.tgz", - "integrity": "sha512-t7FM4c+BdX9WWZCPrrbV5+0SWLgT3kCq7e7/GhHCreYifg3V8qyvO127HF796vyFql75n4TFF+5v1asOOWkV1Q==", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-18.4.4.tgz", + "integrity": "sha512-a37Nd3bDQydtg9PCLLWM9ZC+GO7X5i4zJvrggJv5jBhaHsXeQ9ZWdO6ODYR+f0LxBXXNYK3geYXJrCWUCP8JEg==", "dev": true }, "@commitlint/format": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-18.4.3.tgz", - "integrity": "sha512-8b+ItXYHxAhRAXFfYki5PpbuMMOmXYuzLxib65z2XTqki59YDQJGpJ/wB1kEE5MQDgSTQWtKUrA8n9zS/1uIDQ==", + "version": "18.6.0", + "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-18.6.0.tgz", + "integrity": "sha512-8UNWfs2slPPSQiiVpLGJTnPHv7Jkd5KYxfbNXbmLL583bjom4RrylvyrCVnmZReA8nNad7pPXq6mDH4FNVj6xg==", "dev": true, "requires": { - "@commitlint/types": "^18.4.3", + "@commitlint/types": "^18.6.0", "chalk": "^4.1.0" } }, "@commitlint/is-ignored": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-18.4.3.tgz", - "integrity": "sha512-ZseOY9UfuAI32h9w342Km4AIaTieeFskm2ZKdrG7r31+c6zGBzuny9KQhwI9puc0J3GkUquEgKJblCl7pMnjwg==", + "version": "18.6.0", + "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-18.6.0.tgz", + "integrity": "sha512-Xjx/ZyyJ4FdLuz0FcOvqiqSFgiO2yYj3QN9XlvyrxqbXTxPVC7QFEXJYBVPulUSN/gR7WXH1Udw+HYYfD17xog==", "dev": true, "requires": { - "@commitlint/types": "^18.4.3", + "@commitlint/types": "^18.6.0", "semver": "7.5.4" } }, "@commitlint/lint": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-18.4.3.tgz", - "integrity": "sha512-18u3MRgEXNbnYkMOWoncvq6QB8/90m9TbERKgdPqVvS+zQ/MsuRhdvHYCIXGXZxUb0YI4DV2PC4bPneBV/fYuA==", + "version": "18.6.0", + "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-18.6.0.tgz", + "integrity": "sha512-ycbuDWfyykPmslgiHzhz8dL6F0BJYltXLVfc+M49z0c+FNITM0v+r0Vd2+Tdtq06VTc894p2+YSmZhulY8Jn3Q==", "dev": true, "requires": { - "@commitlint/is-ignored": "^18.4.3", - "@commitlint/parse": "^18.4.3", - "@commitlint/rules": "^18.4.3", - "@commitlint/types": "^18.4.3" + "@commitlint/is-ignored": "^18.6.0", + "@commitlint/parse": "^18.6.0", + "@commitlint/rules": "^18.6.0", + "@commitlint/types": "^18.6.0" } }, "@commitlint/load": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-18.4.3.tgz", - "integrity": "sha512-v6j2WhvRQJrcJaj5D+EyES2WKTxPpxENmNpNG3Ww8MZGik3jWRXtph0QTzia5ZJyPh2ib5aC/6BIDymkUUM58Q==", + "version": "18.6.0", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-18.6.0.tgz", + "integrity": "sha512-RRssj7TmzT0bowoEKlgwg8uQ7ORXWkw7lYLsZZBMi9aInsJuGNLNWcMxJxRZbwxG3jkCidGUg85WmqJvRjsaDA==", "dev": true, "requires": { - "@commitlint/config-validator": "^18.4.3", - "@commitlint/execute-rule": "^18.4.3", - "@commitlint/resolve-extends": "^18.4.3", - "@commitlint/types": "^18.4.3", - "@types/node": "^18.11.9", + "@commitlint/config-validator": "^18.6.0", + "@commitlint/execute-rule": "^18.4.4", + "@commitlint/resolve-extends": "^18.6.0", + "@commitlint/types": "^18.6.0", "chalk": "^4.1.0", "cosmiconfig": "^8.3.6", "cosmiconfig-typescript-loader": "^5.0.0", @@ -6682,57 +6608,45 @@ "lodash.merge": "^4.6.2", "lodash.uniq": "^4.5.0", "resolve-from": "^5.0.0" - }, - "dependencies": { - "@types/node": { - "version": "18.18.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.7.tgz", - "integrity": "sha512-bw+lEsxis6eqJYW8Ql6+yTqkE6RuFtsQPSe5JxXbqYRFQEER5aJA9a5UH9igqDWm3X4iLHIKOHlnAXLM4mi7uQ==", - "dev": true, - "requires": { - "undici-types": "~5.26.4" - } - } } }, "@commitlint/message": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-18.4.3.tgz", - "integrity": "sha512-ddJ7AztWUIoEMAXoewx45lKEYEOeOlBVWjk8hDMUGpprkuvWULpaXczqdjwVtjrKT3JhhN+gMs8pm5G3vB2how==", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-18.4.4.tgz", + "integrity": "sha512-lHF95mMDYgAI1LBXveJUyg4eLaMXyOqJccCK3v55ZOEUsMPrDi8upqDjd/NmzWmESYihaOMBTAnxm+6oD1WoDQ==", "dev": true }, "@commitlint/parse": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-18.4.3.tgz", - "integrity": "sha512-eoH7CXM9L+/Me96KVcfJ27EIIbA5P9sqw3DqjJhRYuhaULIsPHFs5S5GBDCqT0vKZQDx0DgxhMpW6AQbnKrFtA==", + "version": "18.6.0", + "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-18.6.0.tgz", + "integrity": "sha512-Y/G++GJpATFw54O0jikc/h2ibyGHgghtPnwsOk3O/aU092ydJ5XEHYcd7xGNQYuLweLzQis2uEwRNk9AVIPbQQ==", "dev": true, "requires": { - "@commitlint/types": "^18.4.3", + "@commitlint/types": "^18.6.0", "conventional-changelog-angular": "^7.0.0", "conventional-commits-parser": "^5.0.0" } }, "@commitlint/read": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-18.4.3.tgz", - "integrity": "sha512-H4HGxaYA6OBCimZAtghL+B+SWu8ep4X7BwgmedmqWZRHxRLcX2q0bWBtUm5FsMbluxbOfrJwOs/Z0ah4roP/GQ==", + "version": "18.6.0", + "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-18.6.0.tgz", + "integrity": "sha512-w39ji8VfWhPKRquPhRHB3Yd8XIHwaNHgOh28YI1QEmZ59qVpuVUQo6h/NsVb+uoC6LbXZiofTZv2iFR084jKEA==", "dev": true, "requires": { - "@commitlint/top-level": "^18.4.3", - "@commitlint/types": "^18.4.3", - "fs-extra": "^11.0.0", + "@commitlint/top-level": "^18.4.4", + "@commitlint/types": "^18.6.0", "git-raw-commits": "^2.0.11", "minimist": "^1.2.6" } }, "@commitlint/resolve-extends": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-18.4.3.tgz", - "integrity": "sha512-30sk04LZWf8+SDgJrbJCjM90gTg2LxsD9cykCFeFu+JFHvBFq5ugzp2eO/DJGylAdVaqxej3c7eTSE64hR/lnw==", + "version": "18.6.0", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-18.6.0.tgz", + "integrity": "sha512-k2Xp+Fxeggki2i90vGrbiLDMefPius3zGSTFFlRAPKce/SWLbZtI+uqE9Mne23mHO5lmcSV8z5m6ziiJwGpOcg==", "dev": true, "requires": { - "@commitlint/config-validator": "^18.4.3", - "@commitlint/types": "^18.4.3", + "@commitlint/config-validator": "^18.6.0", + "@commitlint/types": "^18.6.0", "import-fresh": "^3.0.0", "lodash.mergewith": "^4.6.2", "resolve-from": "^5.0.0", @@ -6740,15 +6654,15 @@ } }, "@commitlint/rules": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-18.4.3.tgz", - "integrity": "sha512-8KIeukDf45BiY+Lul1T0imSNXF0sMrlLG6JpLLKolkmYVQ6PxxoNOriwyZ3UTFFpaVbPy0rcITaV7U9JCAfDTA==", + "version": "18.6.0", + "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-18.6.0.tgz", + "integrity": "sha512-pTalvCEvuCWrBWZA/YqO/3B3nZnY3Ncc+TmQsRajBdC1tkQIm5Iovdo4Ec7f2Dw1tVvpYMUUNAgcWqsY0WckWg==", "dev": true, "requires": { - "@commitlint/ensure": "^18.4.3", - "@commitlint/message": "^18.4.3", - "@commitlint/to-lines": "^18.4.3", - "@commitlint/types": "^18.4.3", + "@commitlint/ensure": "^18.6.0", + "@commitlint/message": "^18.4.4", + "@commitlint/to-lines": "^18.4.4", + "@commitlint/types": "^18.6.0", "execa": "^5.0.0" }, "dependencies": { @@ -6814,24 +6728,24 @@ } }, "@commitlint/to-lines": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-18.4.3.tgz", - "integrity": "sha512-fy1TAleik4Zfru1RJ8ZU6cOSvgSVhUellxd3WZV1D5RwHZETt1sZdcA4mQN2y3VcIZsUNKkW0Mq8CM9/L9harQ==", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-18.4.4.tgz", + "integrity": "sha512-mwe2Roa59NCz/krniAdCygFabg7+fQCkIhXqBHw00XQ8Y7lw4poZLLxeGI3p3bLpcEOXdqIDrEGLwHmG5lBdwQ==", "dev": true }, "@commitlint/top-level": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-18.4.3.tgz", - "integrity": "sha512-E6fJPBLPFL5R8+XUNSYkj4HekIOuGMyJo3mIx2PkYc3clel+pcWQ7TConqXxNWW4x1ugigiIY2RGot55qUq1hw==", + "version": "18.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-18.4.4.tgz", + "integrity": "sha512-PBwW1drgeavl9CadB7IPRUk6rkUP/O8jEkxjlC+ofuh3pw0bzJdAT+Kw7M1Yc9KtTb9xTaqUB8uvRtaybHa/tQ==", "dev": true, "requires": { "find-up": "^5.0.0" } }, "@commitlint/types": { - "version": "18.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-18.4.3.tgz", - "integrity": "sha512-cvzx+vtY/I2hVBZHCLrpoh+sA0hfuzHwDc+BAFPimYLjJkpHnghQM+z8W/KyLGkygJh3BtI3xXXq+dKjnSWEmA==", + "version": "18.6.0", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-18.6.0.tgz", + "integrity": "sha512-oavoKLML/eJa2rJeyYSbyGAYzTxQ6voG5oeX3OrxpfrkRWhJfm4ACnhoRf5tgiybx2MZ+EVFqC1Lw3W8/uwpZA==", "dev": true, "requires": { "chalk": "^4.1.0" @@ -7122,16 +7036,16 @@ "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true }, - "@tsconfig/node18": { - "version": "18.2.2", - "resolved": "https://registry.npmjs.org/@tsconfig/node18/-/node18-18.2.2.tgz", - "integrity": "sha512-d6McJeGsuoRlwWZmVIeE8CUA27lu6jLjvv1JzqmpsytOYYbVi1tHZEnwCNVOXnj4pyLvneZlFlpXUK+X9wBWyw==", + "@tsconfig/node20": { + "version": "20.1.2", + "resolved": "https://registry.npmjs.org/@tsconfig/node20/-/node20-20.1.2.tgz", + "integrity": "sha512-madaWq2k+LYMEhmcp0fs+OGaLFk0OenpHa4gmI4VEmCKX4PJntQ6fnnGADVFrVkBj0wIdAlQnK/MrlYTHsa1gQ==", "dev": true }, "@types/eslint": { - "version": "8.44.9", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.9.tgz", - "integrity": "sha512-6yBxcvwnnYoYT1Uk2d+jvIfsuP4mb2EdIxFnrPABj5a/838qe5bGkNLFOiipX4ULQ7XVQvTxOh7jO+BTAiqsEw==", + "version": "8.56.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.2.tgz", + "integrity": "sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==", "dev": true, "requires": { "@types/estree": "*", @@ -7176,9 +7090,9 @@ "dev": true }, "@types/node": { - "version": "20.10.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.5.tgz", - "integrity": "sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw==", + "version": "20.11.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.16.tgz", + "integrity": "sha512-gKb0enTmRCzXSSUJDq6/sPcqrfCv2mkkG6Jt/clpn5eiCbKTY+SgZUxo+p8ZKMof5dCp9vHQUAB7wOUTod22wQ==", "dev": true, "requires": { "undici-types": "~5.26.4" @@ -7213,23 +7127,23 @@ "dev": true }, "@vitest/expect": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.0.4.tgz", - "integrity": "sha512-/NRN9N88qjg3dkhmFcCBwhn/Ie4h064pY3iv7WLRsDJW7dXnEgeoa8W9zy7gIPluhz6CkgqiB3HmpIXgmEY5dQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.2.2.tgz", + "integrity": "sha512-3jpcdPAD7LwHUUiT2pZTj2U82I2Tcgg2oVPvKxhn6mDI2On6tfvPQTjAI4628GUGDZrCm4Zna9iQHm5cEexOAg==", "dev": true, "requires": { - "@vitest/spy": "1.0.4", - "@vitest/utils": "1.0.4", + "@vitest/spy": "1.2.2", + "@vitest/utils": "1.2.2", "chai": "^4.3.10" } }, "@vitest/runner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.0.4.tgz", - "integrity": "sha512-rhOQ9FZTEkV41JWXozFM8YgOqaG9zA7QXbhg5gy6mFOVqh4PcupirIJ+wN7QjeJt8S8nJRYuZH1OjJjsbxAXTQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.2.2.tgz", + "integrity": "sha512-JctG7QZ4LSDXr5CsUweFgcpEvrcxOV1Gft7uHrvkQ+fsAVylmWQvnaAr/HDp3LAH1fztGMQZugIheTWjaGzYIg==", "dev": true, "requires": { - "@vitest/utils": "1.0.4", + "@vitest/utils": "1.2.2", "p-limit": "^5.0.0", "pathe": "^1.1.1" }, @@ -7252,9 +7166,9 @@ } }, "@vitest/snapshot": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.0.4.tgz", - "integrity": "sha512-vkfXUrNyNRA/Gzsp2lpyJxh94vU2OHT1amoD6WuvUAA12n32xeVZQ0KjjQIf8F6u7bcq2A2k969fMVxEsxeKYA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.2.2.tgz", + "integrity": "sha512-SmGY4saEw1+bwE1th6S/cZmPxz/Q4JWsl7LvbQIky2tKE35US4gd0Mjzqfr84/4OD0tikGWaWdMja/nWL5NIPA==", "dev": true, "requires": { "magic-string": "^0.30.5", @@ -7263,21 +7177,22 @@ } }, "@vitest/spy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.0.4.tgz", - "integrity": "sha512-9ojTFRL1AJVh0hvfzAQpm0QS6xIS+1HFIw94kl/1ucTfGCaj1LV/iuJU4Y6cdR03EzPDygxTHwE1JOm+5RCcvA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.2.2.tgz", + "integrity": "sha512-k9Gcahssw8d7X3pSLq3e3XEu/0L78mUkCjivUqCQeXJm9clfXR/Td8+AP+VC1O6fKPIDLcHDTAmBOINVuv6+7g==", "dev": true, "requires": { "tinyspy": "^2.2.0" } }, "@vitest/utils": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.0.4.tgz", - "integrity": "sha512-gsswWDXxtt0QvtK/y/LWukN7sGMYmnCcv1qv05CsY6cU/Y1zpGX1QuvLs+GO1inczpE6Owixeel3ShkjhYtGfA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.2.2.tgz", + "integrity": "sha512-WKITBHLsBHlpjnDQahr+XK6RE7MiAsgrIkr0pGhQ9ygoxBfUeG0lUG5iLlzqjmKSlBv3+j5EGsriBzh+C3Tq9g==", "dev": true, "requires": { "diff-sequences": "^29.6.3", + "estree-walker": "^3.0.3", "loupe": "^2.3.7", "pretty-format": "^29.7.0" } @@ -7306,9 +7221,9 @@ "dev": true }, "acorn-walk": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz", - "integrity": "sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", "dev": true }, "ajv": { @@ -8247,6 +8162,15 @@ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true }, + "estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "requires": { + "@types/estree": "^1.0.0" + } + }, "event-stream": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", @@ -8703,15 +8627,6 @@ "parse-passwd": "^1.0.0" } }, - "hosted-git-info": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz", - "integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==", - "dev": true, - "requires": { - "lru-cache": "^10.0.1" - } - }, "human-signals": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", @@ -8719,9 +8634,9 @@ "dev": true }, "husky": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", - "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", + "version": "9.0.10", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.10.tgz", + "integrity": "sha512-TQGNknoiy6bURzIO77pPRu+XHi6zI7T93rX+QnJsoYFf3xdjKOur+IlfqzJGMHIK/wXrLg+GsvMs8Op7vI2jVA==", "dev": true }, "iconv-lite": { @@ -9114,16 +9029,10 @@ "integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==", "dev": true }, - "lines-and-columns": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz", - "integrity": "sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==", - "dev": true - }, "lint-staged": { - "version": "15.2.0", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.0.tgz", - "integrity": "sha512-TFZzUEV00f+2YLaVPWBWGAMq7So6yQx+GG8YRMDeOEIf95Zn5RyiLMsEiX4KTNl9vq/w+NqRJkLA1kPIo15ufQ==", + "version": "15.2.1", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.1.tgz", + "integrity": "sha512-dhwAPnM85VdshybV9FWI/9ghTvMLoQLEXgVMx+ua2DN7mdfzd/tRfoU2yhMcBac0RHkofoxdnnJUokr8s4zKmQ==", "dev": true, "requires": { "chalk": "5.3.0", @@ -9131,7 +9040,7 @@ "debug": "4.3.4", "execa": "8.0.1", "lilconfig": "3.0.0", - "listr2": "8.0.0", + "listr2": "8.0.1", "micromatch": "4.0.5", "pidtree": "0.6.0", "string-argv": "0.3.2", @@ -9147,9 +9056,9 @@ } }, "listr2": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.0.0.tgz", - "integrity": "sha512-u8cusxAcyqAiQ2RhYvV7kRKNLgUvtObIbhOX2NCXqvp1UU32xIg5CT22ykS2TPKJXZWJwtK3IKLiqAGlGNE+Zg==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.0.1.tgz", + "integrity": "sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==", "dev": true, "requires": { "cli-truncate": "^4.0.0", @@ -9343,12 +9252,6 @@ "get-func-name": "^2.0.1" } }, - "lru-cache": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", - "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", - "dev": true - }, "magic-string": { "version": "0.30.5", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", @@ -9495,28 +9398,22 @@ "formdata-polyfill": "^4.0.10" } }, - "normalize-package-data": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.0.tgz", - "integrity": "sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==", - "dev": true, - "requires": { - "hosted-git-info": "^7.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" - } - }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, + "npm-normalize-package-bin": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", + "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", + "dev": true + }, "npm-run-all2": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/npm-run-all2/-/npm-run-all2-6.1.1.tgz", - "integrity": "sha512-lWLbkPZ5BSdXtN8lR+0rc8caKoPdymycpZksyDEC9MOBvfdwTXZ0uVhb7bMcGeXv2/BKtfQuo6Zn3zfc8rxNXA==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/npm-run-all2/-/npm-run-all2-6.1.2.tgz", + "integrity": "sha512-WwwnS8Ft+RpXve6T2EIEVpFLSqN+ORHRvgNk3H9N62SZXjmzKoRhMFg3I17TK3oMaAEr+XFbRirWS2Fn3BCPSg==", "dev": true, "requires": { "ansi-styles": "^6.2.1", @@ -9524,7 +9421,7 @@ "memorystream": "^0.3.1", "minimatch": "^9.0.0", "pidtree": "^0.6.0", - "read-pkg": "^8.0.0", + "read-package-json-fast": "^3.0.2", "shell-quote": "^1.7.3" }, "dependencies": { @@ -9681,19 +9578,6 @@ "callsites": "^3.0.0" } }, - "parse-json": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-7.1.0.tgz", - "integrity": "sha512-ihtdrgbqdONYD156Ap6qTcaGcGdkdAxodO1wLqQ/j7HP1u2sFYppINiq4jyC8F+Nm+4fVufylCV00QmkTHkSUg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.21.4", - "error-ex": "^1.3.2", - "json-parse-even-better-errors": "^3.0.0", - "lines-and-columns": "^2.0.3", - "type-fest": "^3.8.0" - } - }, "parse-passwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", @@ -9781,9 +9665,9 @@ } }, "postcss": { - "version": "8.4.32", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", - "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", + "version": "8.4.33", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz", + "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==", "dev": true, "requires": { "nanoid": "^3.3.7", @@ -9792,9 +9676,9 @@ } }, "prettier": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz", - "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", "dev": true }, "pretty-format": { @@ -9859,24 +9743,14 @@ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true }, - "read-pkg": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-8.1.0.tgz", - "integrity": "sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==", + "read-package-json-fast": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", + "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", "dev": true, "requires": { - "@types/normalize-package-data": "^2.4.1", - "normalize-package-data": "^6.0.0", - "parse-json": "^7.0.0", - "type-fest": "^4.2.0" - }, - "dependencies": { - "type-fest": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.3.3.tgz", - "integrity": "sha512-bxhiFii6BBv6UiSDq7uKTMyADT9unXEl3ydGefndVLxFeB44LRbT4K7OJGDYSyDrKnklCC1Pre68qT2wbUl2Aw==", - "dev": true - } + "json-parse-even-better-errors": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" } }, "read-pkg-up": { @@ -10477,9 +10351,9 @@ "dev": true }, "tinypool": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.1.tgz", - "integrity": "sha512-zBTCK0cCgRROxvs9c0CGK838sPkeokNGdQVUUwHAbynHFlmyJYj825f/oRs528HaIJ97lo0pLIlDUzwN+IorWg==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.2.tgz", + "integrity": "sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==", "dev": true }, "tinyspy": { @@ -10581,9 +10455,9 @@ } }, "vite": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.10.tgz", - "integrity": "sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==", + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.12.tgz", + "integrity": "sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==", "dev": true, "requires": { "esbuild": "^0.19.3", @@ -10593,9 +10467,9 @@ } }, "vite-node": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.0.4.tgz", - "integrity": "sha512-9xQQtHdsz5Qn8hqbV7UKqkm8YkJhzT/zr41Dmt5N7AlD8hJXw/Z7y0QiD5I8lnTthV9Rvcvi0QW7PI0Fq83ZPg==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.2.2.tgz", + "integrity": "sha512-1as4rDTgVWJO3n1uHmUYqq7nsFgINQ9u+mRcXpjeOMJUmviqNKjcZB7UfRZrlM7MjYXMKpuWp5oGkjaFLnjawg==", "dev": true, "requires": { "cac": "^6.7.14", @@ -10606,17 +10480,17 @@ } }, "vitest": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.0.4.tgz", - "integrity": "sha512-s1GQHp/UOeWEo4+aXDOeFBJwFzL6mjycbQwwKWX2QcYfh/7tIerS59hWQ20mxzupTJluA2SdwiBuWwQHH67ckg==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.2.2.tgz", + "integrity": "sha512-d5Ouvrnms3GD9USIK36KG8OZ5bEvKEkITFtnGv56HFaSlbItJuYr7hv2Lkn903+AvRAgSixiamozUVfORUekjw==", "dev": true, "requires": { - "@vitest/expect": "1.0.4", - "@vitest/runner": "1.0.4", - "@vitest/snapshot": "1.0.4", - "@vitest/spy": "1.0.4", - "@vitest/utils": "1.0.4", - "acorn-walk": "^8.3.0", + "@vitest/expect": "1.2.2", + "@vitest/runner": "1.2.2", + "@vitest/snapshot": "1.2.2", + "@vitest/spy": "1.2.2", + "@vitest/utils": "1.2.2", + "acorn-walk": "^8.3.2", "cac": "^6.7.14", "chai": "^4.3.10", "debug": "^4.3.4", @@ -10628,9 +10502,9 @@ "std-env": "^3.5.0", "strip-literal": "^1.3.0", "tinybench": "^2.5.1", - "tinypool": "^0.8.1", + "tinypool": "^0.8.2", "vite": "^5.0.0", - "vite-node": "1.0.4", + "vite-node": "1.2.2", "why-is-node-running": "^2.2.2" } }, diff --git a/package.json b/package.json index 1a6b98da..121adf8c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@mentormate/create-vue", - "version": "0.4.0", + "version": "0.4.1", "description": "🛠️ Extended way to start a Vite-powered Vue project", "type": "module", "bin": { @@ -16,7 +16,7 @@ }, "scripts": { "dev": "chokidar \"index.ts\" \"scripts/**/*\" \"template/**/*\" \"utils/**/*\" -c \"npm run build\"", - "prepare": "husky install", + "prepare": "husky", "format": "prettier --write .", "test:unit": "vitest", "build": "zx ./scripts/build.mjs", @@ -51,11 +51,11 @@ }, "homepage": "https://github.com/MentorMate/create-vue#readme", "devDependencies": { - "@commitlint/cli": "^18.4.3", - "@commitlint/config-conventional": "^18.4.3", - "@tsconfig/node18": "^18.2.2", - "@types/eslint": "^8.44.9", - "@types/node": "^20.10.5", + "@commitlint/cli": "^18.6.0", + "@commitlint/config-conventional": "^18.6.0", + "@tsconfig/node20": "^20.1.2", + "@types/eslint": "^8.56.2", + "@types/node": "^20.11.16", "@types/prompts": "^2.4.9", "@vue/create-eslint-config": "^0.3.2", "@vue/tsconfig": "^0.5.1", @@ -64,14 +64,14 @@ "ejs": "^3.1.9", "esbuild": "^0.19.5", "esbuild-plugin-license": "^1.2.2", - "husky": "^8.0.3", + "husky": "^9.0.10", "kolorist": "^1.8.0", - "lint-staged": "^15.2.0", + "lint-staged": "^15.2.1", "minimist": "^1.2.8", - "npm-run-all2": "^6.1.1", - "prettier": "^3.1.1", + "npm-run-all2": "^6.1.2", + "prettier": "^3.2.5", "prompts": "^2.4.2", - "vitest": "^1.0.4", + "vitest": "^1.2.2", "zx": "^7.2.3", "chokidar-cli": "^3.0.0" }, diff --git a/template/base/package.json b/template/base/package.json index 57c2b86a..cf1b1cc2 100644 --- a/template/base/package.json +++ b/template/base/package.json @@ -7,10 +7,10 @@ "preview": "vite preview" }, "dependencies": { - "vue": "^3.3.12" + "vue": "^3.4.15" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.5.2", - "vite": "^5.0.10" + "@vitejs/plugin-vue": "^5.0.3", + "vite": "^5.0.12" } } diff --git a/template/config/cypress-ct/package.json b/template/config/cypress-ct/package.json index a6a39127..4c16f9cc 100644 --- a/template/config/cypress-ct/package.json +++ b/template/config/cypress-ct/package.json @@ -4,9 +4,9 @@ "test:unit:dev": "cypress open --component" }, "dependencies": { - "vue": "^3.3.12" + "vue": "^3.4.15" }, "devDependencies": { - "cypress": "^13.6.1" + "cypress": "^13.6.4" } } diff --git a/template/config/cypress/package.json b/template/config/cypress/package.json index ad3c53fd..85c1b4f3 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.6.1", + "cypress": "^13.6.4", "start-server-and-test": "^2.0.3" } } diff --git a/template/config/husky/.husky/pre-commit b/template/config/husky/.husky/pre-commit index 20d0d06e..3867a0fe 100644 --- a/template/config/husky/.husky/pre-commit +++ b/template/config/husky/.husky/pre-commit @@ -1,4 +1 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - npm run lint diff --git a/template/config/husky/package.json b/template/config/husky/package.json index c21953fd..61fe2138 100644 --- a/template/config/husky/package.json +++ b/template/config/husky/package.json @@ -1,8 +1,8 @@ { "scripts": { - "prepare": "husky install" + "prepare": "husky" }, "devDependencies": { - "husky": "^8.0.3" + "husky": "^9.0.10" } } diff --git a/template/config/i18n/package.json b/template/config/i18n/package.json index db05e305..b67bfdb2 100644 --- a/template/config/i18n/package.json +++ b/template/config/i18n/package.json @@ -1,5 +1,5 @@ { "dependencies": { - "vue-i18n": "^9.8.0" + "vue-i18n": "^9.9.1" } } diff --git a/template/config/jsx/package.json b/template/config/jsx/package.json index e1993b6a..37121aae 100644 --- a/template/config/jsx/package.json +++ b/template/config/jsx/package.json @@ -1,9 +1,9 @@ { "dependencies": { - "vue": "^3.3.12" + "vue": "^3.4.15" }, "devDependencies": { "@vitejs/plugin-vue-jsx": "^3.1.0", - "vite": "^5.0.10" + "vite": "^5.0.12" } } diff --git a/template/config/nightwatch-ct/package.json b/template/config/nightwatch-ct/package.json index 308cb05d..fbcffe9a 100644 --- a/template/config/nightwatch-ct/package.json +++ b/template/config/nightwatch-ct/package.json @@ -3,6 +3,6 @@ "test:unit": "nightwatch src/**/__tests__/*" }, "dependencies": { - "vue": "^3.3.12" + "vue": "^3.4.15" } } diff --git a/template/config/nightwatch/package.json b/template/config/nightwatch/package.json index 812c7c4c..b1e6abdb 100644 --- a/template/config/nightwatch/package.json +++ b/template/config/nightwatch/package.json @@ -3,14 +3,13 @@ "test:e2e": "nightwatch tests/e2e/*" }, "devDependencies": { - "nightwatch": "^3.3.5", - "@nightwatch/vue": "^0.4.5", - "@vitejs/plugin-vue": "^4.5.2", - "@types/nightwatch": "^2.3.30", - "geckodriver": "^4.3.0", - "chromedriver": "^120.0.0", + "nightwatch": "^3.4.0", + "@nightwatch/vue": "^3.1.0", + "@vitejs/plugin-vue": "^5.0.3", + "geckodriver": "^4.3.2", + "chromedriver": "^121.0.0", "ts-node": "^10.9.2", - "vite-plugin-nightwatch": "^0.4.5", + "vite-plugin-nightwatch": "^0.4.6", "wait-on": "^7.2.0" } } diff --git a/template/config/pinia/package.json b/template/config/pinia/package.json index cec5b4ce..50dae6ee 100644 --- a/template/config/pinia/package.json +++ b/template/config/pinia/package.json @@ -1,6 +1,6 @@ { "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.12" + "vue": "^3.4.15" } } diff --git a/template/config/playwright/package.json b/template/config/playwright/package.json index 3e078f6b..c76672b8 100644 --- a/template/config/playwright/package.json +++ b/template/config/playwright/package.json @@ -3,6 +3,6 @@ "test:e2e": "playwright test" }, "devDependencies": { - "@playwright/test": "^1.40.1" + "@playwright/test": "^1.41.2" } } diff --git a/template/config/playwright/playwright.config.js b/template/config/playwright/playwright.config.js index ad20dabc..92075cc1 100644 --- a/template/config/playwright/playwright.config.js +++ b/template/config/playwright/playwright.config.js @@ -1,3 +1,4 @@ +import process from 'node:process' import { defineConfig, devices } from '@playwright/test' /** diff --git a/template/config/router/package.json b/template/config/router/package.json index b155fa1f..bc6744ba 100644 --- a/template/config/router/package.json +++ b/template/config/router/package.json @@ -1,6 +1,6 @@ { "dependencies": { - "vue": "^3.3.12", + "vue": "^3.4.15", "vue-router": "^4.2.5" } } diff --git a/template/config/tailwind/package.json b/template/config/tailwind/package.json index f344e648..bc9abbad 100644 --- a/template/config/tailwind/package.json +++ b/template/config/tailwind/package.json @@ -1,7 +1,7 @@ { "devDependencies": { - "autoprefixer": "^10.4.16", - "postcss": "^8.4.32", - "tailwindcss": "^3.3.6" + "autoprefixer": "^10.4.17", + "postcss": "^8.4.33", + "tailwindcss": "^3.4.1" } } diff --git a/template/config/tanStackQuery/package.json b/template/config/tanStackQuery/package.json index b89c26c1..15c11c72 100644 --- a/template/config/tanStackQuery/package.json +++ b/template/config/tanStackQuery/package.json @@ -1,5 +1,5 @@ { "dependencies": { - "@tanstack/vue-query": "^5.14.1" + "@tanstack/vue-query": "^5.18.1" } } diff --git a/template/config/typescript/package.json b/template/config/typescript/package.json index ddd284c5..a938c6f4 100644 --- a/template/config/typescript/package.json +++ b/template/config/typescript/package.json @@ -5,9 +5,9 @@ "type-check": "vue-tsc --build --force" }, "devDependencies": { - "@types/node": "^20.10.5", - "npm-run-all2": "^6.1.1", + "@types/node": "^20.11.16", + "npm-run-all2": "^6.1.2", "typescript": "~5.3.0", - "vue-tsc": "^1.8.25" + "vue-tsc": "^1.8.27" } } diff --git a/template/config/vitest/package.json b/template/config/vitest/package.json index 111f5a16..a34e1993 100644 --- a/template/config/vitest/package.json +++ b/template/config/vitest/package.json @@ -3,11 +3,11 @@ "test:unit": "vitest" }, "dependencies": { - "vue": "^3.3.12" + "vue": "^3.4.15" }, "devDependencies": { - "@vue/test-utils": "^2.4.3", - "jsdom": "^23.0.1", - "vitest": "^1.0.4" + "@vue/test-utils": "^2.4.4", + "jsdom": "^23.2.0", + "vitest": "^1.2.2" } } diff --git a/template/config/vueUse/package.json b/template/config/vueUse/package.json index 44b4587a..d52efa70 100644 --- a/template/config/vueUse/package.json +++ b/template/config/vueUse/package.json @@ -1,5 +1,5 @@ { "dependencies": { - "@vueuse/core": "^10.7.0" + "@vueuse/core": "^10.7.2" } } diff --git a/template/eslint/package.json b/template/eslint/package.json index 73400fd3..da2c6167 100644 --- a/template/eslint/package.json +++ b/template/eslint/package.json @@ -1,6 +1,7 @@ { "devDependencies": { "eslint-plugin-cypress": "^2.15.1", - "eslint-plugin-vuejs-accessibility": "^2.2.0" + "eslint-plugin-vuejs-accessibility": "^2.2.1", + "eslint-plugin-playwright": "^0.22.2" } } diff --git a/template/tsconfig/base/package.json b/template/tsconfig/base/package.json index f562a3cc..d00215b3 100644 --- a/template/tsconfig/base/package.json +++ b/template/tsconfig/base/package.json @@ -1,6 +1,6 @@ { "devDependencies": { - "@tsconfig/node18": "^18.2.2", + "@tsconfig/node20": "^20.1.2", "@vue/tsconfig": "^0.5.1" } } diff --git a/template/tsconfig/base/tsconfig.app.json b/template/tsconfig/base/tsconfig.app.json index 491e0939..db4bf175 100644 --- a/template/tsconfig/base/tsconfig.app.json +++ b/template/tsconfig/base/tsconfig.app.json @@ -4,7 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, - "noEmit": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/template/tsconfig/base/tsconfig.node.json b/template/tsconfig/base/tsconfig.node.json index 46cf2e14..293b3922 100644 --- a/template/tsconfig/base/tsconfig.node.json +++ b/template/tsconfig/base/tsconfig.node.json @@ -1,5 +1,5 @@ { - "extends": "@tsconfig/node18/tsconfig.json", + "extends": "@tsconfig/node20/tsconfig.json", "include": [ "vite.config.*", "vitest.config.*", @@ -10,6 +10,7 @@ "compilerOptions": { "composite": true, "noEmit": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/template/tsconfig/cypress-ct/tsconfig.cypress-ct.json b/template/tsconfig/cypress-ct/tsconfig.cypress-ct.json index b21f0843..12833b27 100644 --- a/template/tsconfig/cypress-ct/tsconfig.cypress-ct.json +++ b/template/tsconfig/cypress-ct/tsconfig.cypress-ct.json @@ -9,6 +9,7 @@ ], "exclude": [], "compilerOptions": { - "composite": true + "composite": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.cypress-ct.tsbuildinfo" } } diff --git a/template/tsconfig/nightwatch-ct/tsconfig.app.json b/template/tsconfig/nightwatch-ct/tsconfig.app.json index 491e0939..db4bf175 100644 --- a/template/tsconfig/nightwatch-ct/tsconfig.app.json +++ b/template/tsconfig/nightwatch-ct/tsconfig.app.json @@ -4,7 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, - "noEmit": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/template/tsconfig/nightwatch/nightwatch/tsconfig.json b/template/tsconfig/nightwatch/nightwatch/tsconfig.json index ca4be1af..b1c881bc 100644 --- a/template/tsconfig/nightwatch/nightwatch/tsconfig.json +++ b/template/tsconfig/nightwatch/nightwatch/tsconfig.json @@ -1,11 +1,12 @@ { - "extends": "@tsconfig/node18/tsconfig.json", + "extends": "@tsconfig/node20/tsconfig.json", "compilerOptions": { + "composite": true, + "noEmit": true, + "tsBuildInfoFile": "../node_modules/.tmp/tsconfig.nightwatch.tsbuildinfo", "target": "ESNext", "module": "commonjs", "moduleResolution": "node", - "composite": true, - "noEmit": true, "rootDir": "../", "lib": ["ESNext", "dom"], "types": ["nightwatch"] diff --git a/template/tsconfig/playwright/e2e/tsconfig.json b/template/tsconfig/playwright/e2e/tsconfig.json index 99923aba..be3bbfc0 100644 --- a/template/tsconfig/playwright/e2e/tsconfig.json +++ b/template/tsconfig/playwright/e2e/tsconfig.json @@ -1,4 +1,4 @@ { - "extends": "@tsconfig/node18/tsconfig.json", + "extends": "@tsconfig/node20/tsconfig.json", "include": ["./**/*"] } diff --git a/template/tsconfig/vitest/tsconfig.vitest.json b/template/tsconfig/vitest/tsconfig.vitest.json index d080d611..e56c5a8b 100644 --- a/template/tsconfig/vitest/tsconfig.vitest.json +++ b/template/tsconfig/vitest/tsconfig.vitest.json @@ -3,6 +3,7 @@ "exclude": [], "compilerOptions": { "composite": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.vitest.tsbuildinfo", "lib": [], "types": ["node", "jsdom"] } diff --git a/tsconfig.json b/tsconfig.json index df3ac89a..151f669f 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@tsconfig/node18/tsconfig.json", + "extends": "@tsconfig/node20/tsconfig.json", "include": ["index.ts", "utils/**/*"], "compilerOptions": { "strict": false, diff --git a/utils/getLanguage.ts b/utils/getLanguage.ts index 5c52a3fa..8964e473 100644 --- a/utils/getLanguage.ts +++ b/utils/getLanguage.ts @@ -43,6 +43,32 @@ interface Language { } } +/** + * + * This function is used to link obtained locale with correct locale file in order to make locales reusable + * + * @param locale the obtained locale + * @returns locale that linked with correct name + */ +function linkLocale(locale: string) { + let linkedLocale: string + switch (locale) { + case 'zh-TW': + case 'zh-HK': + case 'zh-MO': + linkedLocale = 'zh-Hant' + break + case 'zh-CN': + case 'zh-SG': + linkedLocale = 'zh-Hans' + break + default: + linkedLocale = locale + } + + return linkedLocale +} + function getLocale() { const shellLocale = process.env.LC_ALL || // POSIX locale environment variables @@ -51,10 +77,7 @@ function getLocale() { Intl.DateTimeFormat().resolvedOptions().locale || // Built-in ECMA-402 support 'en-US' // Default fallback - const locale = shellLocale.split('.')[0].replace('_', '-') - - // locale might be 'C' or something else - return locale + return linkLocale(shellLocale.split('.')[0].replace('_', '-')) } export default function getLanguage() { diff --git a/utils/renderEslint.ts b/utils/renderEslint.ts index f81cd7df..b5d3c578 100644 --- a/utils/renderEslint.ts +++ b/utils/renderEslint.ts @@ -11,7 +11,10 @@ import deepMerge from './deepMerge' import eslintTemplatePackage from '../template/eslint/package.json' assert { type: 'json' } const eslintDeps = eslintTemplatePackage.devDependencies -export default function renderEslint(rootDir, { needsTypeScript, needsCypress, needsCypressCT }) { +export default function renderEslint( + rootDir, + { needsTypeScript, needsCypress, needsCypressCT, needsPlaywright } +) { const additionalConfig: Linter.Config = {} const additionalDependencies = {} @@ -32,9 +35,39 @@ export default function renderEslint(rootDir, { needsTypeScript, needsCypress, n additionalDependencies['eslint-plugin-cypress'] = eslintDeps['eslint-plugin-cypress'] } + if (needsPlaywright) { + // if the key already exists make sure to not override it, but add to it + if (additionalConfig.overrides) { + additionalConfig.overrides = [ + ...additionalConfig.overrides, + { + files: ['e2e/**/*.{test,spec}.{js,ts,jsx,tsx}'], + extends: ['plugin:playwright/recommended'] + } + ] + } else { + additionalConfig.overrides = [ + { + files: ['e2e/**/*.{test,spec}.{js,ts,jsx,tsx}'], + extends: ['plugin:playwright/recommended'] + } + ] + } + + additionalDependencies['eslint-plugin-playwright'] = eslintDeps['eslint-plugin-playwright'] + } + // add vuejs-accessibility additionalConfig.plugins = ['vuejs-accessibility'] - additionalConfig.extends = ['plugin:vuejs-accessibility/recommended'] + if (additionalConfig.extends) { + additionalConfig.extends = [ + ...additionalConfig.extends, + 'plugin:vuejs-accessibility/recommended' + ] + } else { + additionalConfig.extends = ['plugin:vuejs-accessibility/recommended'] + } + additionalDependencies['eslint-plugin-vuejs-accessibility'] = eslintDeps['eslint-plugin-vuejs-accessibility']