From c4ac4fa0033859d0916bb14332d3bece2efe395b Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Fri, 1 Dec 2023 13:11:44 +0800 Subject: [PATCH 01/61] feat: up ast-grep --- README.md | 13 +- package.json | 12 +- playground/package.json | 2 +- playground/pnpm-lock.yaml | 514 +++++++++++++++++--------------------- pnpm-lock.yaml | 196 +++++++-------- src/index.ts | 3 +- 6 files changed, 348 insertions(+), 392 deletions(-) diff --git a/README.md b/README.md index 6e369fe..c677306 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# vue-macros-cli +# @vue-macros/cli -vue-macros-cli is a cli for rewriting at vue macros powered by [ast-grep](https://github.com/ast-grep/ast-grep). +@vue-macros/cli is a cli for rewriting at vue macros powered by [ast-grep](https://github.com/ast-grep/ast-grep). ## Support vue macros @@ -11,14 +11,17 @@ vue-macros-cli is a cli for rewriting at vue macros powered by [ast-grep](https: - [x] short-v-model - [x] setup-sfc + ## Usage ```shell # install -pnpm add -g vue-macros-cli +pnpm add -g @vue-macros/cli +``` -# run -vue-macros-cli sg ./src +### sg +```shell +@vue-macros/cli sg ``` ## License diff --git a/package.json b/package.json index 6b1970e..fdd3e59 100644 --- a/package.json +++ b/package.json @@ -1,17 +1,17 @@ { - "name": "vue-macros-cli", + "name": "@vue-macros/cli", "type": "module", "version": "0.0.6", "description": "Rewriting at vue macros powered by ast-grep.", "author": "zhiyuanzmj ", "license": "MIT", - "homepage": "https://github.com/zhiyuanzmj/vue-macros-cli/tree/main#readme", + "homepage": "https://github.com/zhiyuanzmj/@vue-macros/cli/tree/main#readme", "repository": { "type": "git", - "url": "https://github.com/zhiyuanzmj/vue-macros-cli" + "url": "https://github.com/zhiyuanzmj/@vue-macros/cli" }, "bugs": { - "url": "https://github.com/zhiyuanzmj/vue-macros-cli/issues" + "url": "https://github.com/zhiyuanzmj/@vue-macros/cli/issues" }, "keywords": [ "vue-macros", @@ -39,12 +39,12 @@ "prepublishOnly": "pnpm run build" }, "dependencies": { - "@ast-grep/cli": "^0.13.2", + "@ast-grep/cli": "^0.14.1", "@inquirer/prompts": "^3.3.0", "zx": "^7.2.3" }, "devDependencies": { - "@antfu/eslint-config": "^2.1.1", + "@antfu/eslint-config": "^2.1.2", "bumpp": "^9.2.0", "typescript": "^5.3.2", "unbuild": "^2.0.0", diff --git a/playground/package.json b/playground/package.json index cd3c2c8..21927ff 100644 --- a/playground/package.json +++ b/playground/package.json @@ -14,6 +14,6 @@ "devDependencies": { "@vue-macros/volar": "^0.17.4", "tsx": "^4.6.1", - "vite": "^5.0.2" + "vite": "^5.0.4" } } diff --git a/playground/pnpm-lock.yaml b/playground/pnpm-lock.yaml index 8794aea..5732d41 100644 --- a/playground/pnpm-lock.yaml +++ b/playground/pnpm-lock.yaml @@ -7,13 +7,13 @@ settings: dependencies: '@vitejs/plugin-vue': specifier: ^4.5.0 - version: 4.5.0(vite@5.0.2)(vue@3.3.9) + version: 4.5.0(vite@5.0.4)(vue@3.3.9) '@vitejs/plugin-vue-jsx': specifier: ^3.1.0 - version: 3.1.0(vite@5.0.2)(vue@3.3.9) + version: 3.1.0(vite@5.0.4)(vue@3.3.9) unplugin-vue-macros: specifier: ^2.7.0 - version: 2.7.0(vite@5.0.2)(vue@3.3.9) + version: 2.7.0(vite@5.0.4)(vue@3.3.9) vue: specifier: ^3.3.9 version: 3.3.9 @@ -26,8 +26,8 @@ devDependencies: specifier: ^4.6.1 version: 4.6.1 vite: - specifier: ^5.0.2 - version: 5.0.2 + specifier: ^5.0.4 + version: 5.0.4 packages: @@ -43,33 +43,33 @@ packages: resolution: {integrity: sha512-pvFiLP2BeOKA/ZOS6jxx4XhKzdVLHDhGlFEaZ2flWWYf2xOqVniqpk38I04DFRyz+L0ASggl7SkItTc+ZLju4w==} dev: false - /@babel/code-frame@7.23.4: - resolution: {integrity: sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA==} + /@babel/code-frame@7.23.5: + resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.23.4 chalk: 2.4.2 dev: false - /@babel/compat-data@7.23.3: - resolution: {integrity: sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ==} + /@babel/compat-data@7.23.5: + resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} engines: {node: '>=6.9.0'} dev: false - /@babel/core@7.23.3: - resolution: {integrity: sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==} + /@babel/core@7.23.5: + resolution: {integrity: sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.23.4 - '@babel/generator': 7.23.4 + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.5 '@babel/helper-compilation-targets': 7.22.15 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) - '@babel/helpers': 7.23.4 - '@babel/parser': 7.23.4 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.5) + '@babel/helpers': 7.23.5 + '@babel/parser': 7.23.5 '@babel/template': 7.22.15 - '@babel/traverse': 7.23.4 - '@babel/types': 7.23.4 + '@babel/traverse': 7.23.5 + '@babel/types': 7.23.5 convert-source-map: 2.0.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -79,11 +79,11 @@ packages: - supports-color dev: false - /@babel/generator@7.23.4: - resolution: {integrity: sha512-esuS49Cga3HcThFNebGhlgsrVLkvhqvYDTzgjfFFlHJcIfLe5jFmRRfCQ1KuBfc4Jrtn3ndLgKWAKjBE+IraYQ==} + /@babel/generator@7.23.5: + resolution: {integrity: sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.5 '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.20 jsesc: 2.5.2 @@ -93,33 +93,33 @@ packages: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.5 dev: false /@babel/helper-compilation-targets@7.22.15: resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/compat-data': 7.23.3 - '@babel/helper-validator-option': 7.22.15 + '@babel/compat-data': 7.23.5 + '@babel/helper-validator-option': 7.23.5 browserslist: 4.22.1 lru-cache: 5.1.1 semver: 6.3.1 dev: false - /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.23.3): - resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} + /@babel/helper-create-class-features-plugin@7.23.5(@babel/core@7.23.5): + resolution: {integrity: sha512-QELlRWxSpgdwdJzSJn4WAhKC+hvw/AtHbbrIoncKHkhKKR/luAlKkgBDcri1EzWAo8f8VvYVryEHN4tax/V67A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.5 '@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.3) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.5) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 @@ -135,37 +135,37 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.15 - '@babel/types': 7.23.4 + '@babel/types': 7.23.5 dev: false /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.5 dev: false /@babel/helper-member-expression-to-functions@7.23.0: resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.5 dev: false /@babel/helper-module-imports@7.22.15: resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.5 dev: false - /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.3): + /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.5): resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 @@ -177,7 +177,7 @@ packages: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.5 dev: false /@babel/helper-plugin-utils@7.22.5: @@ -185,13 +185,13 @@ packages: engines: {node: '>=6.9.0'} dev: false - /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.3): + /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.5): resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 @@ -201,21 +201,21 @@ packages: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.5 dev: false /@babel/helper-skip-transparent-expression-wrappers@7.22.5: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.5 dev: false /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.5 dev: false /@babel/helper-string-parser@7.23.4: @@ -226,18 +226,18 @@ packages: resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-option@7.22.15: - resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==} + /@babel/helper-validator-option@7.23.5: + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} engines: {node: '>=6.9.0'} dev: false - /@babel/helpers@7.23.4: - resolution: {integrity: sha512-HfcMizYz10cr3h29VqyfGL6ZWIjTwWfvYBMsBVGwpcbhNGe3wQ1ZXZRPzZoAHhd9OqHadHqjQ89iVKINXnbzuw==} + /@babel/helpers@7.23.5: + resolution: {integrity: sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.15 - '@babel/traverse': 7.23.4 - '@babel/types': 7.23.4 + '@babel/traverse': 7.23.5 + '@babel/types': 7.23.5 transitivePeerDependencies: - supports-color dev: false @@ -251,75 +251,75 @@ packages: js-tokens: 4.0.0 dev: false - /@babel/parser@7.23.4: - resolution: {integrity: sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ==} + /@babel/parser@7.23.5: + resolution: {integrity: sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.5 - /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.3): + /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.5): resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.3): + /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.5): resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-typescript@7.23.4(@babel/core@7.23.3): - resolution: {integrity: sha512-39hCCOl+YUAyMOu6B9SmUTiHUU0t/CxJNUmY3qRdJujbqi+lrQcL11ysYUsAvFWPBdhihrv1z0oRG84Yr3dODQ==} + /@babel/plugin-transform-typescript@7.23.5(@babel/core@7.23.5): + resolution: {integrity: sha512-2fMkXEJkrmwgu2Bsv1Saxgj30IXZdJ+84lQcKKI7sm719oXs0BBw2ZENKdJdR1PjWndgLCEBNXJOri0fk7RYQA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.5 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-create-class-features-plugin': 7.23.5(@babel/core@7.23.5) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.5) dev: false /@babel/template@7.22.15: resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.23.4 - '@babel/parser': 7.23.4 - '@babel/types': 7.23.4 + '@babel/code-frame': 7.23.5 + '@babel/parser': 7.23.5 + '@babel/types': 7.23.5 dev: false - /@babel/traverse@7.23.4: - resolution: {integrity: sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg==} + /@babel/traverse@7.23.5: + resolution: {integrity: sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.23.4 - '@babel/generator': 7.23.4 + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.5 '@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.4 - '@babel/types': 7.23.4 + '@babel/parser': 7.23.5 + '@babel/types': 7.23.5 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: false - /@babel/types@7.23.4: - resolution: {integrity: sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ==} + /@babel/types@7.23.5: + resolution: {integrity: sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.23.4 @@ -335,8 +335,8 @@ packages: dev: true optional: true - /@esbuild/android-arm64@0.19.7: - resolution: {integrity: sha512-YEDcw5IT7hW3sFKZBkCAQaOCJQLONVcD4bOyTXMZz5fr66pTHnAet46XAtbXAkJRfIn2YVhdC6R9g4xa27jQ1w==} + /@esbuild/android-arm64@0.19.8: + resolution: {integrity: sha512-B8JbS61bEunhfx8kasogFENgQfr/dIp+ggYXwTqdbMAgGDhRa3AaPpQMuQU0rNxDLECj6FhDzk1cF9WHMVwrtA==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -352,8 +352,8 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.19.7: - resolution: {integrity: sha512-YGSPnndkcLo4PmVl2tKatEn+0mlVMr3yEpOOT0BeMria87PhvoJb5dg5f5Ft9fbCVgtAz4pWMzZVgSEGpDAlww==} + /@esbuild/android-arm@0.19.8: + resolution: {integrity: sha512-31E2lxlGM1KEfivQl8Yf5aYU/mflz9g06H6S15ITUFQueMFtFjESRMoDSkvMo8thYvLBax+VKTPlpnx+sPicOA==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -369,8 +369,8 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.19.7: - resolution: {integrity: sha512-jhINx8DEjz68cChFvM72YzrqfwJuFbfvSxZAk4bebpngGfNNRm+zRl4rtT9oAX6N9b6gBcFaJHFew5Blf6CvUw==} + /@esbuild/android-x64@0.19.8: + resolution: {integrity: sha512-rdqqYfRIn4jWOp+lzQttYMa2Xar3OK9Yt2fhOhzFXqg0rVWEfSclJvZq5fZslnz6ypHvVf3CT7qyf0A5pM682A==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -386,8 +386,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.19.7: - resolution: {integrity: sha512-dr81gbmWN//3ZnBIm6YNCl4p3pjnabg1/ZVOgz2fJoUO1a3mq9WQ/1iuEluMs7mCL+Zwv7AY5e3g1hjXqQZ9Iw==} + /@esbuild/darwin-arm64@0.19.8: + resolution: {integrity: sha512-RQw9DemMbIq35Bprbboyf8SmOr4UXsRVxJ97LgB55VKKeJOOdvsIPy0nFyF2l8U+h4PtBx/1kRf0BelOYCiQcw==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -403,8 +403,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.19.7: - resolution: {integrity: sha512-Lc0q5HouGlzQEwLkgEKnWcSazqr9l9OdV2HhVasWJzLKeOt0PLhHaUHuzb8s/UIya38DJDoUm74GToZ6Wc7NGQ==} + /@esbuild/darwin-x64@0.19.8: + resolution: {integrity: sha512-3sur80OT9YdeZwIVgERAysAbwncom7b4bCI2XKLjMfPymTud7e/oY4y+ci1XVp5TfQp/bppn7xLw1n/oSQY3/Q==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -420,8 +420,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.19.7: - resolution: {integrity: sha512-+y2YsUr0CxDFF7GWiegWjGtTUF6gac2zFasfFkRJPkMAuMy9O7+2EH550VlqVdpEEchWMynkdhC9ZjtnMiHImQ==} + /@esbuild/freebsd-arm64@0.19.8: + resolution: {integrity: sha512-WAnPJSDattvS/XtPCTj1tPoTxERjcTpH6HsMr6ujTT+X6rylVe8ggxk8pVxzf5U1wh5sPODpawNicF5ta/9Tmw==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -437,8 +437,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.19.7: - resolution: {integrity: sha512-CdXOxIbIzPJmJhrpmJTLx+o35NoiKBIgOvmvT+jeSadYiWJn0vFKsl+0bSG/5lwjNHoIDEyMYc/GAPR9jxusTA==} + /@esbuild/freebsd-x64@0.19.8: + resolution: {integrity: sha512-ICvZyOplIjmmhjd6mxi+zxSdpPTKFfyPPQMQTK/w+8eNK6WV01AjIztJALDtwNNfFhfZLux0tZLC+U9nSyA5Zg==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -454,8 +454,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.19.7: - resolution: {integrity: sha512-inHqdOVCkUhHNvuQPT1oCB7cWz9qQ/Cz46xmVe0b7UXcuIJU3166aqSunsqkgSGMtUCWOZw3+KMwI6otINuC9g==} + /@esbuild/linux-arm64@0.19.8: + resolution: {integrity: sha512-z1zMZivxDLHWnyGOctT9JP70h0beY54xDDDJt4VpTX+iwA77IFsE1vCXWmprajJGa+ZYSqkSbRQ4eyLCpCmiCQ==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -471,8 +471,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.19.7: - resolution: {integrity: sha512-Y+SCmWxsJOdQtjcBxoacn/pGW9HDZpwsoof0ttL+2vGcHokFlfqV666JpfLCSP2xLxFpF1lj7T3Ox3sr95YXww==} + /@esbuild/linux-arm@0.19.8: + resolution: {integrity: sha512-H4vmI5PYqSvosPaTJuEppU9oz1dq2A7Mr2vyg5TF9Ga+3+MGgBdGzcyBP7qK9MrwFQZlvNyJrvz6GuCaj3OukQ==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -488,8 +488,8 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.19.7: - resolution: {integrity: sha512-2BbiL7nLS5ZO96bxTQkdO0euGZIUQEUXMTrqLxKUmk/Y5pmrWU84f+CMJpM8+EHaBPfFSPnomEaQiG/+Gmh61g==} + /@esbuild/linux-ia32@0.19.8: + resolution: {integrity: sha512-1a8suQiFJmZz1khm/rDglOc8lavtzEMRo0v6WhPgxkrjcU0LkHj+TwBrALwoz/OtMExvsqbbMI0ChyelKabSvQ==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -505,8 +505,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.19.7: - resolution: {integrity: sha512-BVFQla72KXv3yyTFCQXF7MORvpTo4uTA8FVFgmwVrqbB/4DsBFWilUm1i2Oq6zN36DOZKSVUTb16jbjedhfSHw==} + /@esbuild/linux-loong64@0.19.8: + resolution: {integrity: sha512-fHZWS2JJxnXt1uYJsDv9+b60WCc2RlvVAy1F76qOLtXRO+H4mjt3Tr6MJ5l7Q78X8KgCFudnTuiQRBhULUyBKQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -522,8 +522,8 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.19.7: - resolution: {integrity: sha512-DzAYckIaK+pS31Q/rGpvUKu7M+5/t+jI+cdleDgUwbU7KdG2eC3SUbZHlo6Q4P1CfVKZ1lUERRFP8+q0ob9i2w==} + /@esbuild/linux-mips64el@0.19.8: + resolution: {integrity: sha512-Wy/z0EL5qZYLX66dVnEg9riiwls5IYnziwuju2oUiuxVc+/edvqXa04qNtbrs0Ukatg5HEzqT94Zs7J207dN5Q==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -539,8 +539,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.19.7: - resolution: {integrity: sha512-JQ1p0SmUteNdUaaiRtyS59GkkfTW0Edo+e0O2sihnY4FoZLz5glpWUQEKMSzMhA430ctkylkS7+vn8ziuhUugQ==} + /@esbuild/linux-ppc64@0.19.8: + resolution: {integrity: sha512-ETaW6245wK23YIEufhMQ3HSeHO7NgsLx8gygBVldRHKhOlD1oNeNy/P67mIh1zPn2Hr2HLieQrt6tWrVwuqrxg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -556,8 +556,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.19.7: - resolution: {integrity: sha512-xGwVJ7eGhkprY/nB7L7MXysHduqjpzUl40+XoYDGC4UPLbnG+gsyS1wQPJ9lFPcxYAaDXbdRXd1ACs9AE9lxuw==} + /@esbuild/linux-riscv64@0.19.8: + resolution: {integrity: sha512-T2DRQk55SgoleTP+DtPlMrxi/5r9AeFgkhkZ/B0ap99zmxtxdOixOMI570VjdRCs9pE4Wdkz7JYrsPvsl7eESg==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -573,8 +573,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.19.7: - resolution: {integrity: sha512-U8Rhki5PVU0L0nvk+E8FjkV8r4Lh4hVEb9duR6Zl21eIEYEwXz8RScj4LZWA2i3V70V4UHVgiqMpszXvG0Yqhg==} + /@esbuild/linux-s390x@0.19.8: + resolution: {integrity: sha512-NPxbdmmo3Bk7mbNeHmcCd7R7fptJaczPYBaELk6NcXxy7HLNyWwCyDJ/Xx+/YcNH7Im5dHdx9gZ5xIwyliQCbg==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -590,8 +590,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.19.7: - resolution: {integrity: sha512-ZYZopyLhm4mcoZXjFt25itRlocKlcazDVkB4AhioiL9hOWhDldU9n38g62fhOI4Pth6vp+Mrd5rFKxD0/S+7aQ==} + /@esbuild/linux-x64@0.19.8: + resolution: {integrity: sha512-lytMAVOM3b1gPypL2TRmZ5rnXl7+6IIk8uB3eLsV1JwcizuolblXRrc5ShPrO9ls/b+RTp+E6gbsuLWHWi2zGg==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -607,8 +607,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.19.7: - resolution: {integrity: sha512-/yfjlsYmT1O3cum3J6cmGG16Fd5tqKMcg5D+sBYLaOQExheAJhqr8xOAEIuLo8JYkevmjM5zFD9rVs3VBcsjtQ==} + /@esbuild/netbsd-x64@0.19.8: + resolution: {integrity: sha512-hvWVo2VsXz/8NVt1UhLzxwAfo5sioj92uo0bCfLibB0xlOmimU/DeAEsQILlBQvkhrGjamP0/el5HU76HAitGw==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -624,8 +624,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.19.7: - resolution: {integrity: sha512-MYDFyV0EW1cTP46IgUJ38OnEY5TaXxjoDmwiTXPjezahQgZd+j3T55Ht8/Q9YXBM0+T9HJygrSRGV5QNF/YVDQ==} + /@esbuild/openbsd-x64@0.19.8: + resolution: {integrity: sha512-/7Y7u77rdvmGTxR83PgaSvSBJCC2L3Kb1M/+dmSIvRvQPXXCuC97QAwMugBNG0yGcbEGfFBH7ojPzAOxfGNkwQ==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -641,8 +641,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.19.7: - resolution: {integrity: sha512-JcPvgzf2NN/y6X3UUSqP6jSS06V0DZAV/8q0PjsZyGSXsIGcG110XsdmuWiHM+pno7/mJF6fjH5/vhUz/vA9fw==} + /@esbuild/sunos-x64@0.19.8: + resolution: {integrity: sha512-9Lc4s7Oi98GqFA4HzA/W2JHIYfnXbUYgekUP/Sm4BG9sfLjyv6GKKHKKVs83SMicBF2JwAX6A1PuOLMqpD001w==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -658,8 +658,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.19.7: - resolution: {integrity: sha512-ZA0KSYti5w5toax5FpmfcAgu3ZNJxYSRm0AW/Dao5up0YV1hDVof1NvwLomjEN+3/GMtaWDI+CIyJOMTRSTdMw==} + /@esbuild/win32-arm64@0.19.8: + resolution: {integrity: sha512-rq6WzBGjSzihI9deW3fC2Gqiak68+b7qo5/3kmB6Gvbh/NYPA0sJhrnp7wgV4bNwjqM+R2AApXGxMO7ZoGhIJg==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -675,8 +675,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.19.7: - resolution: {integrity: sha512-CTOnijBKc5Jpk6/W9hQMMvJnsSYRYgveN6O75DTACCY18RA2nqka8dTZR+x/JqXCRiKk84+5+bRKXUSbbwsS0A==} + /@esbuild/win32-ia32@0.19.8: + resolution: {integrity: sha512-AIAbverbg5jMvJznYiGhrd3sumfwWs8572mIJL5NQjJa06P8KfCPWZQ0NwZbPQnbQi9OWSZhFVSUWjjIrn4hSw==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -692,8 +692,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.19.7: - resolution: {integrity: sha512-gRaP2sk6hc98N734luX4VpF318l3w+ofrtTu9j5L8EQXF+FzQKV6alCOHMVoJJHvVK/mGbwBXfOL1HETQu9IGQ==} + /@esbuild/win32-x64@0.19.8: + resolution: {integrity: sha512-bfZ0cQ1uZs2PqpulNL5j/3w+GDhP36k1K5c38QdQg+Swy51jFZWWeIkteNsufkQxp986wnqRRsb/bHbY1WQ7TA==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -733,8 +733,8 @@ packages: resolution: {integrity: sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==} dev: false - /@rollup/pluginutils@5.0.5: - resolution: {integrity: sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==} + /@rollup/pluginutils@5.1.0: + resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 @@ -746,85 +746,85 @@ packages: estree-walker: 2.0.2 picomatch: 2.3.1 - /@rollup/rollup-android-arm-eabi@4.5.2: - resolution: {integrity: sha512-ee7BudTwwrglFYSc3UnqInDDjCLWHKrFmGNi4aK7jlEyg4CyPa1DCMrZfsN1O13YT76UFEqXz2CoN7BCGpUlJw==} + /@rollup/rollup-android-arm-eabi@4.6.1: + resolution: {integrity: sha512-0WQ0ouLejaUCRsL93GD4uft3rOmB8qoQMU05Kb8CmMtMBe7XUDLAltxVZI1q6byNqEtU7N1ZX1Vw5lIpgulLQA==} cpu: [arm] os: [android] requiresBuild: true optional: true - /@rollup/rollup-android-arm64@4.5.2: - resolution: {integrity: sha512-xOuhj9HHtn8128ir8veoQsBbAUBasDbHIBniYTEx02pAmu9EXL+ZjJqngnNEy6ZgZ4h1JwL33GMNu3yJL5Mzow==} + /@rollup/rollup-android-arm64@4.6.1: + resolution: {integrity: sha512-1TKm25Rn20vr5aTGGZqo6E4mzPicCUD79k17EgTLAsXc1zysyi4xXKACfUbwyANEPAEIxkzwue6JZ+stYzWUTA==} cpu: [arm64] os: [android] requiresBuild: true optional: true - /@rollup/rollup-darwin-arm64@4.5.2: - resolution: {integrity: sha512-NTGJWoL8bKyqyWFn9/RzSv4hQ4wTbaAv0lHHRwf4OnpiiP4P8W0jiXbm8Nc5BCXKmWAwuvJY82mcIU2TayC20g==} + /@rollup/rollup-darwin-arm64@4.6.1: + resolution: {integrity: sha512-cEXJQY/ZqMACb+nxzDeX9IPLAg7S94xouJJCNVE5BJM8JUEP4HeTF+ti3cmxWeSJo+5D+o8Tc0UAWUkfENdeyw==} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /@rollup/rollup-darwin-x64@4.5.2: - resolution: {integrity: sha512-hlKqj7bpPvU15sZo4za14u185lpMzdwWLMc9raMqPK4wywt0wR23y1CaVQ4oAFXat3b5/gmRntyfpwWTKl+vvA==} + /@rollup/rollup-darwin-x64@4.6.1: + resolution: {integrity: sha512-LoSU9Xu56isrkV2jLldcKspJ7sSXmZWkAxg7sW/RfF7GS4F5/v4EiqKSMCFbZtDu2Nc1gxxFdQdKwkKS4rwxNg==} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.5.2: - resolution: {integrity: sha512-7ZIZx8c3u+pfI0ohQsft/GywrXez0uR6dUP0JhBuCK3sFO5TfdLn/YApnVkvPxuTv3+YKPIZend9Mt7Cz6sS3Q==} + /@rollup/rollup-linux-arm-gnueabihf@4.6.1: + resolution: {integrity: sha512-EfI3hzYAy5vFNDqpXsNxXcgRDcFHUWSx5nnRSCKwXuQlI5J9dD84g2Usw81n3FLBNsGCegKGwwTVsSKK9cooSQ==} cpu: [arm] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.5.2: - resolution: {integrity: sha512-7Pk/5mO11JW/cH+a8lL/i0ZxmRGrbpYqN0VwO2DHhU+SJWWOH2zE1RAcPaj8KqiwC8DCDIJOSxjV9+9lLb6aeA==} + /@rollup/rollup-linux-arm64-gnu@4.6.1: + resolution: {integrity: sha512-9lhc4UZstsegbNLhH0Zu6TqvDfmhGzuCWtcTFXY10VjLLUe4Mr0Ye2L3rrtHaDd/J5+tFMEuo5LTCSCMXWfUKw==} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-musl@4.5.2: - resolution: {integrity: sha512-KrRnuG5phJx756e62wxvWH2e+TK84MP2IVuPwfge+GBvWqIUfVzFRn09TKruuQBXzZp52Vyma7FjMDkwlA9xpg==} + /@rollup/rollup-linux-arm64-musl@4.6.1: + resolution: {integrity: sha512-FfoOK1yP5ksX3wwZ4Zk1NgyGHZyuRhf99j64I5oEmirV8EFT7+OhUZEnP+x17lcP/QHJNWGsoJwrz4PJ9fBEXw==} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-x64-gnu@4.5.2: - resolution: {integrity: sha512-My+53GasPa2D2tU5dXiyHYwrELAUouSfkNlZ3bUKpI7btaztO5vpALEs3mvFjM7aKTvEbc7GQckuXeXIDKQ0fg==} + /@rollup/rollup-linux-x64-gnu@4.6.1: + resolution: {integrity: sha512-DNGZvZDO5YF7jN5fX8ZqmGLjZEXIJRdJEdTFMhiyXqyXubBa0WVLDWSNlQ5JR2PNgDbEV1VQowhVRUh+74D+RA==} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-x64-musl@4.5.2: - resolution: {integrity: sha512-/f0Q6Sc+Vw54Ws6N8fxaEe4R7at3b8pFyv+O/F2VaQ4hODUJcRUcCBJh6zuqtgQQt7w845VTkGLFgWZkP3tUoQ==} + /@rollup/rollup-linux-x64-musl@4.6.1: + resolution: {integrity: sha512-RkJVNVRM+piYy87HrKmhbexCHg3A6Z6MU0W9GHnJwBQNBeyhCJG9KDce4SAMdicQnpURggSvtbGo9xAWOfSvIQ==} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.5.2: - resolution: {integrity: sha512-NCKuuZWLht6zj7s6EIFef4BxCRX1GMr83S2W4HPCA0RnJ4iHE4FS1695q6Ewoa6A9nFjJe1//yUu0kgBU07Edw==} + /@rollup/rollup-win32-arm64-msvc@4.6.1: + resolution: {integrity: sha512-v2FVT6xfnnmTe3W9bJXl6r5KwJglMK/iRlkKiIFfO6ysKs0rDgz7Cwwf3tjldxQUrHL9INT/1r4VA0n9L/F1vQ==} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.5.2: - resolution: {integrity: sha512-J5zL3riR4AOyU/J3M/i4k/zZ8eP1yT+nTmAKztCXJtnI36jYH0eepvob22mAQ/kLwfsK2TB6dbyVY1F8c/0H5A==} + /@rollup/rollup-win32-ia32-msvc@4.6.1: + resolution: {integrity: sha512-YEeOjxRyEjqcWphH9dyLbzgkF8wZSKAKUkldRY6dgNR5oKs2LZazqGB41cWJ4Iqqcy9/zqYgmzBkRoVz3Q9MLw==} cpu: [ia32] os: [win32] requiresBuild: true optional: true - /@rollup/rollup-win32-x64-msvc@4.5.2: - resolution: {integrity: sha512-pL0RXRHuuGLhvs7ayX/SAHph1hrDPXOM5anyYUQXWJEENxw3nfHkzv8FfVlEVcLyKPAEgDRkd6RKZq2SMqS/yg==} + /@rollup/rollup-win32-x64-msvc@4.6.1: + resolution: {integrity: sha512-0zfTlFAIhgz8V2G8STq8toAjsYYA6eci1hnXuyOTUFnymrtJwnS6uGKiv3v5UrPZkBlamLvrLV2iiaeqCKzb0A==} cpu: [x64] os: [win32] requiresBuild: true @@ -833,30 +833,30 @@ packages: /@types/estree@1.0.5: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - /@vitejs/plugin-vue-jsx@3.1.0(vite@5.0.2)(vue@3.3.9): + /@vitejs/plugin-vue-jsx@3.1.0(vite@5.0.4)(vue@3.3.9): resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^4.0.0 || ^5.0.0 vue: ^3.0.0 dependencies: - '@babel/core': 7.23.3 - '@babel/plugin-transform-typescript': 7.23.4(@babel/core@7.23.3) - '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.3) - vite: 5.0.2 + '@babel/core': 7.23.5 + '@babel/plugin-transform-typescript': 7.23.5(@babel/core@7.23.5) + '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.5) + vite: 5.0.4 vue: 3.3.9 transitivePeerDependencies: - supports-color dev: false - /@vitejs/plugin-vue@4.5.0(vite@5.0.2)(vue@3.3.9): + /@vitejs/plugin-vue@4.5.0(vite@5.0.4)(vue@3.3.9): resolution: {integrity: sha512-a2WSpP8X8HTEww/U00bU4mX1QpLINNuz/2KMNpLsdu3BzOpak3AGI1CJYBTXcc4SPhaD0eNRUp7IyQK405L5dQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^4.0.0 || ^5.0.0 vue: ^3.2.25 dependencies: - vite: 5.0.2 + vite: 5.0.4 vue: 3.3.9 dev: false @@ -876,7 +876,7 @@ packages: resolution: {integrity: sha512-PYV/yhoOh1F5z0mFg0/A8OhuwmDI/ta+XwYkNZYyuA9QZ1jMWZFOA0ZdUAjTCHG6AdVFbkajR+XyxTNnQ+YytQ==} engines: {node: '>=16.14.0'} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.5 '@vue-macros/common': 1.9.0(vue@3.3.9) resolve.exports: 2.0.2 transitivePeerDependencies: @@ -901,7 +901,7 @@ packages: engines: {node: '>=16.14.0'} dependencies: '@vue-macros/common': 1.9.0(vue@3.3.9) - '@vue/compiler-core': 3.3.8 + '@vue/compiler-core': 3.3.9 transitivePeerDependencies: - rollup - vue @@ -927,9 +927,9 @@ packages: vue: optional: true dependencies: - '@babel/types': 7.23.4 - '@rollup/pluginutils': 5.0.5 - '@vue/compiler-sfc': 3.3.8 + '@babel/types': 7.23.5 + '@rollup/pluginutils': 5.1.0 + '@vue/compiler-sfc': 3.3.9 ast-kit: 0.11.2 local-pkg: 0.5.0 magic-string-ast: 0.3.0 @@ -1035,7 +1035,7 @@ packages: - rollup dev: false - /@vue-macros/devtools@0.2.0(vite@5.0.2): + /@vue-macros/devtools@0.2.0(vite@5.0.4): resolution: {integrity: sha512-jHjvY1bFgQLe/2+5pBOG4fgmL5MPhsqQDj7Barhj8YN+Oe7U2hBImvfAyOGpqd2uucLOWQTP1cWrp3q9b1svsg==} engines: {node: '>=16.14.0'} peerDependencies: @@ -1045,7 +1045,7 @@ packages: optional: true dependencies: sirv: 2.0.3 - vite: 5.0.2 + vite: 5.0.4 vue: 3.3.9 transitivePeerDependencies: - typescript @@ -1058,7 +1058,7 @@ packages: vue: ^2.7.0 || ^3.2.25 dependencies: '@vue-macros/common': 1.9.0(vue@3.3.9) - '@vue/compiler-sfc': 3.3.8 + '@vue/compiler-sfc': 3.3.9 unplugin: 1.5.1 vue: 3.3.9 transitivePeerDependencies: @@ -1085,7 +1085,7 @@ packages: vue: ^2.7.0 || ^3.2.25 dependencies: '@vue-macros/common': 1.9.0(vue@3.3.9) - '@vue/compiler-sfc': 3.3.8 + '@vue/compiler-sfc': 3.3.9 unplugin: 1.5.1 vue: 3.3.9 transitivePeerDependencies: @@ -1119,7 +1119,7 @@ packages: engines: {node: '>=16.14.0'} dependencies: '@vue-macros/common': 1.9.0(vue@3.3.9) - '@vue/compiler-dom': 3.3.8 + '@vue/compiler-dom': 3.3.9 unplugin: 1.5.1 transitivePeerDependencies: - rollup @@ -1132,10 +1132,10 @@ packages: peerDependencies: vue: ^2.7.0 || ^3.2.25 dependencies: - '@babel/parser': 7.23.4 + '@babel/parser': 7.23.5 '@vue-macros/common': 1.9.0(vue@3.3.9) - '@vue/compiler-core': 3.3.8 - '@vue/shared': 3.3.8 + '@vue/compiler-core': 3.3.9 + '@vue/shared': 3.3.9 magic-string: 0.30.5 unplugin: 1.5.1 vue: 3.3.9 @@ -1147,7 +1147,7 @@ packages: engines: {node: '>=16.14.0'} dependencies: '@vue-macros/common': 1.9.0(vue@3.3.9) - '@vue/compiler-dom': 3.3.8 + '@vue/compiler-dom': 3.3.9 unplugin: 1.5.1 transitivePeerDependencies: - rollup @@ -1181,7 +1181,7 @@ packages: engines: {node: '>=16.14.0'} dependencies: '@vue-macros/common': 1.9.0(vue@3.3.9) - '@vue/compiler-core': 3.3.8 + '@vue/compiler-core': 3.3.9 transitivePeerDependencies: - rollup - vue @@ -1202,7 +1202,7 @@ packages: engines: {node: '>=16.14.0'} dependencies: '@vue-macros/common': 1.9.0(vue@3.3.9) - '@vue/compiler-core': 3.3.8 + '@vue/compiler-core': 3.3.9 transitivePeerDependencies: - rollup - vue @@ -1216,7 +1216,7 @@ packages: vue-tsc: optional: true dependencies: - '@rollup/pluginutils': 5.0.5 + '@rollup/pluginutils': 5.1.0 '@vue-macros/common': 1.9.0(vue@3.3.9) '@vue-macros/define-props': 2.0.0(@vue-macros/reactivity-transform@0.4.0)(vue@3.3.9) '@vue-macros/short-bind': 0.2.0(vue@3.3.9) @@ -1233,17 +1233,17 @@ packages: resolution: {integrity: sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==} dev: false - /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.23.3): + /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.23.5): resolution: {integrity: sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.5 '@babel/helper-module-imports': 7.22.15 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.5) '@babel/template': 7.22.15 - '@babel/traverse': 7.23.4 - '@babel/types': 7.23.4 + '@babel/traverse': 7.23.5 + '@babel/types': 7.23.5 '@vue/babel-helper-vue-transform-on': 1.1.5 camelcase: 6.3.0 html-tags: 3.3.1 @@ -1252,52 +1252,24 @@ packages: - supports-color dev: false - /@vue/compiler-core@3.3.8: - resolution: {integrity: sha512-hN/NNBUECw8SusQvDSqqcVv6gWq8L6iAktUR0UF3vGu2OhzRqcOiAno0FmBJWwxhYEXRlQJT5XnoKsVq1WZx4g==} - dependencies: - '@babel/parser': 7.23.4 - '@vue/shared': 3.3.8 - estree-walker: 2.0.2 - source-map-js: 1.0.2 - /@vue/compiler-core@3.3.9: resolution: {integrity: sha512-+/Lf68Vr/nFBA6ol4xOtJrW+BQWv3QWKfRwGSm70jtXwfhZNF4R/eRgyVJYoxFRhdCTk/F6g99BP0ffPgZihfQ==} dependencies: - '@babel/parser': 7.23.4 + '@babel/parser': 7.23.5 '@vue/shared': 3.3.9 estree-walker: 2.0.2 source-map-js: 1.0.2 - /@vue/compiler-dom@3.3.8: - resolution: {integrity: sha512-+PPtv+p/nWDd0AvJu3w8HS0RIm/C6VGBIRe24b9hSyNWOAPEUosFZ5diwawwP8ip5sJ8n0Pe87TNNNHnvjs0FQ==} - dependencies: - '@vue/compiler-core': 3.3.8 - '@vue/shared': 3.3.8 - /@vue/compiler-dom@3.3.9: resolution: {integrity: sha512-nfWubTtLXuT4iBeDSZ5J3m218MjOy42Vp2pmKVuBKo2/BLcrFUX8nCSr/bKRFiJ32R8qbdnnnBgRn9AdU5v0Sg==} dependencies: '@vue/compiler-core': 3.3.9 '@vue/shared': 3.3.9 - /@vue/compiler-sfc@3.3.8: - resolution: {integrity: sha512-WMzbUrlTjfYF8joyT84HfwwXo+8WPALuPxhy+BZ6R4Aafls+jDBnSz8PDz60uFhuqFbl3HxRfxvDzrUf3THwpA==} - dependencies: - '@babel/parser': 7.23.4 - '@vue/compiler-core': 3.3.8 - '@vue/compiler-dom': 3.3.8 - '@vue/compiler-ssr': 3.3.8 - '@vue/reactivity-transform': 3.3.8 - '@vue/shared': 3.3.8 - estree-walker: 2.0.2 - magic-string: 0.30.5 - postcss: 8.4.31 - source-map-js: 1.0.2 - /@vue/compiler-sfc@3.3.9: resolution: {integrity: sha512-wy0CNc8z4ihoDzjASCOCsQuzW0A/HP27+0MDSSICMjVIFzk/rFViezkR3dzH+miS2NDEz8ywMdbjO5ylhOLI2A==} dependencies: - '@babel/parser': 7.23.4 + '@babel/parser': 7.23.5 '@vue/compiler-core': 3.3.9 '@vue/compiler-dom': 3.3.9 '@vue/compiler-ssr': 3.3.9 @@ -1308,12 +1280,6 @@ packages: postcss: 8.4.31 source-map-js: 1.0.2 - /@vue/compiler-ssr@3.3.8: - resolution: {integrity: sha512-hXCqQL/15kMVDBuoBYpUnSYT8doDNwsjvm3jTefnXr+ytn294ySnT8NlsFHmTgKNjwpuFy7XVV8yTeLtNl/P6w==} - dependencies: - '@vue/compiler-dom': 3.3.8 - '@vue/shared': 3.3.8 - /@vue/compiler-ssr@3.3.9: resolution: {integrity: sha512-NO5oobAw78R0G4SODY5A502MGnDNiDjf6qvhn7zD7TJGc8XDeIEw4fg6JU705jZ/YhuokBKz0A5a/FL/XZU73g==} dependencies: @@ -1330,27 +1296,18 @@ packages: dependencies: '@volar/language-core': 1.10.10 '@volar/source-map': 1.10.10 - '@vue/compiler-dom': 3.3.8 - '@vue/shared': 3.3.8 + '@vue/compiler-dom': 3.3.9 + '@vue/shared': 3.3.9 computeds: 0.0.1 minimatch: 9.0.3 muggle-string: 0.3.1 vue-template-compiler: 2.7.15 dev: true - /@vue/reactivity-transform@3.3.8: - resolution: {integrity: sha512-49CvBzmZNtcHua0XJ7GdGifM8GOXoUMOX4dD40Y5DxI3R8OUhMlvf2nvgUAcPxaXiV5MQQ1Nwy09ADpnLQUqRw==} - dependencies: - '@babel/parser': 7.23.4 - '@vue/compiler-core': 3.3.8 - '@vue/shared': 3.3.8 - estree-walker: 2.0.2 - magic-string: 0.30.5 - /@vue/reactivity-transform@3.3.9: resolution: {integrity: sha512-HnUFm7Ry6dFa4Lp63DAxTixUp8opMtQr6RxQCpDI1vlh12rkGIeYqMvJtK+IKyEfEOa2I9oCkD1mmsPdaGpdVg==} dependencies: - '@babel/parser': 7.23.4 + '@babel/parser': 7.23.5 '@vue/compiler-core': 3.3.9 '@vue/shared': 3.3.9 estree-walker: 2.0.2 @@ -1383,9 +1340,6 @@ packages: '@vue/shared': 3.3.9 vue: 3.3.9 - /@vue/shared@3.3.8: - resolution: {integrity: sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw==} - /@vue/shared@3.3.9: resolution: {integrity: sha512-ZE0VTIR0LmYgeyhurPTpy4KzKsuDyQbMSdM49eKkMnT5X4VfFBLysMzjIZhLEFQYjjOVVfbvUDHckwjDFiO2eA==} @@ -1412,8 +1366,8 @@ packages: resolution: {integrity: sha512-Q0DjXK4ApbVoIf9GLyCo252tUH44iTnD/hiJ2TQaJeydYWSpKk0sI34+WMel8S9Wt5pbLgG02oJ+gkgX5DV3sQ==} engines: {node: '>=16.14.0'} dependencies: - '@babel/parser': 7.23.4 - '@rollup/pluginutils': 5.0.5 + '@babel/parser': 7.23.5 + '@rollup/pluginutils': 5.1.0 pathe: 1.1.1 transitivePeerDependencies: - rollup @@ -1422,8 +1376,8 @@ packages: resolution: {integrity: sha512-kbL7ERlqjXubdDd+szuwdlQ1xUxEz9mCz1+m07ftNVStgwRb2RWw+U6oKo08PAvOishMxiqz1mlJyLl8yQx2Qg==} engines: {node: '>=16.14.0'} dependencies: - '@babel/parser': 7.23.4 - '@rollup/pluginutils': 5.0.5 + '@babel/parser': 7.23.5 + '@rollup/pluginutils': 5.1.0 pathe: 1.1.1 transitivePeerDependencies: - rollup @@ -1433,7 +1387,7 @@ packages: resolution: {integrity: sha512-NsyHMxBh4dmdEHjBo1/TBZvCKxffmZxRYhmclfu0PP6Aftre47jOHYaYaNqJcV0bxihxFXhDkzLHUwHc0ocd0Q==} engines: {node: '>=16.14.0'} dependencies: - '@babel/parser': 7.23.4 + '@babel/parser': 7.23.5 ast-kit: 0.9.5 transitivePeerDependencies: - rollup @@ -1464,9 +1418,9 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001564 - electron-to-chromium: 1.4.593 - node-releases: 2.0.13 + caniuse-lite: 1.0.30001565 + electron-to-chromium: 1.4.600 + node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.22.1) dev: false @@ -1475,8 +1429,8 @@ packages: engines: {node: '>=10'} dev: false - /caniuse-lite@1.0.30001564: - resolution: {integrity: sha512-DqAOf+rhof+6GVx1y+xzbFPeOumfQnhYzVnZD6LAXijR77yPtm9mfOcqOnT3mpnJiZVT+kwLAFnRlZcIz+c6bg==} + /caniuse-lite@1.0.30001565: + resolution: {integrity: sha512-xrE//a3O7TP0vaJ8ikzkD2c2NgcVUvsEe2IvFTntV4Yd1Z9FVzh+gW+enX96L0psrbaFMcVcH2l90xNuGDWc8w==} dev: false /chalk@2.4.2: @@ -1539,8 +1493,8 @@ packages: ms: 2.1.2 dev: false - /electron-to-chromium@1.4.593: - resolution: {integrity: sha512-c7+Hhj87zWmdpmjDONbvNKNo24tvmD4mjal1+qqTYTrlF0/sNpAcDlU0Ki84ftA/5yj3BF2QhSGEC0Rky6larg==} + /electron-to-chromium@1.4.600: + resolution: {integrity: sha512-KD6CWjf1BnQG+NsXuyiTDDT1eV13sKuYsOUioXkQweYTQIbgHkXPry9K7M+7cKtYHnSUPitVaLrXYB1jTkkYrw==} dev: false /esbuild@0.18.20: @@ -1573,34 +1527,34 @@ packages: '@esbuild/win32-x64': 0.18.20 dev: true - /esbuild@0.19.7: - resolution: {integrity: sha512-6brbTZVqxhqgbpqBR5MzErImcpA0SQdoKOkcWK/U30HtQxnokIpG3TX2r0IJqbFUzqLjhU/zC1S5ndgakObVCQ==} + /esbuild@0.19.8: + resolution: {integrity: sha512-l7iffQpT2OrZfH2rXIp7/FkmaeZM0vxbxN9KfiCwGYuZqzMg/JdvX26R31Zxn/Pxvsrg3Y9N6XTcnknqDyyv4w==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.19.7 - '@esbuild/android-arm64': 0.19.7 - '@esbuild/android-x64': 0.19.7 - '@esbuild/darwin-arm64': 0.19.7 - '@esbuild/darwin-x64': 0.19.7 - '@esbuild/freebsd-arm64': 0.19.7 - '@esbuild/freebsd-x64': 0.19.7 - '@esbuild/linux-arm': 0.19.7 - '@esbuild/linux-arm64': 0.19.7 - '@esbuild/linux-ia32': 0.19.7 - '@esbuild/linux-loong64': 0.19.7 - '@esbuild/linux-mips64el': 0.19.7 - '@esbuild/linux-ppc64': 0.19.7 - '@esbuild/linux-riscv64': 0.19.7 - '@esbuild/linux-s390x': 0.19.7 - '@esbuild/linux-x64': 0.19.7 - '@esbuild/netbsd-x64': 0.19.7 - '@esbuild/openbsd-x64': 0.19.7 - '@esbuild/sunos-x64': 0.19.7 - '@esbuild/win32-arm64': 0.19.7 - '@esbuild/win32-ia32': 0.19.7 - '@esbuild/win32-x64': 0.19.7 + '@esbuild/android-arm': 0.19.8 + '@esbuild/android-arm64': 0.19.8 + '@esbuild/android-x64': 0.19.8 + '@esbuild/darwin-arm64': 0.19.8 + '@esbuild/darwin-x64': 0.19.8 + '@esbuild/freebsd-arm64': 0.19.8 + '@esbuild/freebsd-x64': 0.19.8 + '@esbuild/linux-arm': 0.19.8 + '@esbuild/linux-arm64': 0.19.8 + '@esbuild/linux-ia32': 0.19.8 + '@esbuild/linux-loong64': 0.19.8 + '@esbuild/linux-mips64el': 0.19.8 + '@esbuild/linux-ppc64': 0.19.8 + '@esbuild/linux-riscv64': 0.19.8 + '@esbuild/linux-s390x': 0.19.8 + '@esbuild/linux-x64': 0.19.8 + '@esbuild/netbsd-x64': 0.19.8 + '@esbuild/openbsd-x64': 0.19.8 + '@esbuild/sunos-x64': 0.19.8 + '@esbuild/win32-arm64': 0.19.8 + '@esbuild/win32-ia32': 0.19.8 + '@esbuild/win32-x64': 0.19.8 /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} @@ -1762,8 +1716,8 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - /node-releases@2.0.13: - resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} + /node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} dev: false /normalize-path@3.0.0: @@ -1810,23 +1764,23 @@ packages: engines: {node: '>=10'} dev: false - /rollup@4.5.2: - resolution: {integrity: sha512-CRK1uoROBfkcqrZKyaFcqCcZWNsvJ6yVYZkqTlRocZhO2s5yER6Z3f/QaYtO8RGyloPnmhwgzuPQpNGeK210xQ==} + /rollup@4.6.1: + resolution: {integrity: sha512-jZHaZotEHQaHLgKr8JnQiDT1rmatjgKlMekyksz+yk9jt/8z9quNjnKNRoaM0wd9DC2QKXjmWWuDYtM3jfF8pQ==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.5.2 - '@rollup/rollup-android-arm64': 4.5.2 - '@rollup/rollup-darwin-arm64': 4.5.2 - '@rollup/rollup-darwin-x64': 4.5.2 - '@rollup/rollup-linux-arm-gnueabihf': 4.5.2 - '@rollup/rollup-linux-arm64-gnu': 4.5.2 - '@rollup/rollup-linux-arm64-musl': 4.5.2 - '@rollup/rollup-linux-x64-gnu': 4.5.2 - '@rollup/rollup-linux-x64-musl': 4.5.2 - '@rollup/rollup-win32-arm64-msvc': 4.5.2 - '@rollup/rollup-win32-ia32-msvc': 4.5.2 - '@rollup/rollup-win32-x64-msvc': 4.5.2 + '@rollup/rollup-android-arm-eabi': 4.6.1 + '@rollup/rollup-android-arm64': 4.6.1 + '@rollup/rollup-darwin-arm64': 4.6.1 + '@rollup/rollup-darwin-x64': 4.6.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.6.1 + '@rollup/rollup-linux-arm64-gnu': 4.6.1 + '@rollup/rollup-linux-arm64-musl': 4.6.1 + '@rollup/rollup-linux-x64-gnu': 4.6.1 + '@rollup/rollup-linux-x64-musl': 4.6.1 + '@rollup/rollup-win32-arm64-msvc': 4.6.1 + '@rollup/rollup-win32-ia32-msvc': 4.6.1 + '@rollup/rollup-win32-x64-msvc': 4.6.1 fsevents: 2.3.3 /semver@6.3.1: @@ -1887,7 +1841,7 @@ packages: /ufo@1.3.2: resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==} - /unplugin-combine@0.8.1(vite@5.0.2): + /unplugin-combine@0.8.1(vite@5.0.4): resolution: {integrity: sha512-m2OSmXXRwCPZx8Ct8eF8WbjgTo8bydim2W1ofu2hDabGdr2pgDAoFjOP1J4MOIwa0OByqk1JX8IGlSdeE6uxVQ==} engines: {node: '>=16.14.0'} peerDependencies: @@ -1907,7 +1861,7 @@ packages: dependencies: '@antfu/utils': 0.7.6 unplugin: 1.5.1 - vite: 5.0.2 + vite: 5.0.4 dev: false /unplugin-vue-define-options@1.4.0(vue@3.3.9): @@ -1922,7 +1876,7 @@ packages: - vue dev: false - /unplugin-vue-macros@2.7.0(vite@5.0.2)(vue@3.3.9): + /unplugin-vue-macros@2.7.0(vite@5.0.4)(vue@3.3.9): resolution: {integrity: sha512-SztF4ARBbrd1yuH4FbJOhp22rTvzakjzJUHTKLRQkZY1KMkIzx/KAdzEkxjAG2Xteqb29SYrc7XcoPdrUPMCCw==} engines: {node: '>=16.14.0'} peerDependencies: @@ -1939,7 +1893,7 @@ packages: '@vue-macros/define-props-refs': 1.2.0(vue@3.3.9) '@vue-macros/define-render': 1.5.0(vue@3.3.9) '@vue-macros/define-slots': 1.1.0(vue@3.3.9) - '@vue-macros/devtools': 0.2.0(vite@5.0.2) + '@vue-macros/devtools': 0.2.0(vite@5.0.4) '@vue-macros/export-expose': 0.1.0(vue@3.3.9) '@vue-macros/export-props': 0.4.0(vue@3.3.9) '@vue-macros/export-render': 0.2.0(vue@3.3.9) @@ -1954,7 +1908,7 @@ packages: '@vue-macros/short-emits': 1.5.0(vue@3.3.9) '@vue-macros/short-vmodel': 1.4.0(vue@3.3.9) unplugin: 1.5.1 - unplugin-combine: 0.8.1(vite@5.0.2) + unplugin-combine: 0.8.1(vite@5.0.4) unplugin-vue-define-options: 1.4.0(vue@3.3.9) vue: 3.3.9 transitivePeerDependencies: @@ -1985,8 +1939,8 @@ packages: picocolors: 1.0.0 dev: false - /vite@5.0.2: - resolution: {integrity: sha512-6CCq1CAJCNM1ya2ZZA7+jS2KgnhbzvxakmlIjN24cF/PXhRMzpM/z8QgsVJA/Dm5fWUWnVEsmtBoMhmerPxT0g==} + /vite@5.0.4: + resolution: {integrity: sha512-RzAr8LSvM8lmhB4tQ5OPcBhpjOZRZjuxv9zO5UcxeoY2bd3kP3Ticd40Qma9/BqZ8JS96Ll/jeBX9u+LJZrhVg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -2013,9 +1967,9 @@ packages: terser: optional: true dependencies: - esbuild: 0.19.7 + esbuild: 0.19.8 postcss: 8.4.31 - rollup: 4.5.2 + rollup: 4.6.1 optionalDependencies: fsevents: 2.3.3 diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ffca92c..9672446 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,8 +6,8 @@ settings: dependencies: '@ast-grep/cli': - specifier: ^0.13.2 - version: 0.13.2 + specifier: ^0.14.1 + version: 0.14.1 '@inquirer/prompts': specifier: ^3.3.0 version: 3.3.0 @@ -17,8 +17,8 @@ dependencies: devDependencies: '@antfu/eslint-config': - specifier: ^2.1.1 - version: 2.1.1(eslint@8.54.0)(typescript@5.3.2)(vitest@0.34.6) + specifier: ^2.1.2 + version: 2.1.2(eslint@8.54.0)(typescript@5.3.2)(vitest@0.34.6) bumpp: specifier: ^9.2.0 version: 9.2.0 @@ -50,8 +50,8 @@ packages: '@jridgewell/trace-mapping': 0.3.20 dev: true - /@antfu/eslint-config@2.1.1(eslint@8.54.0)(typescript@5.3.2)(vitest@0.34.6): - resolution: {integrity: sha512-NoFgALYf36YbOnefhVdODIFz484eVbTtYkZHP8F/ppYkq2QzN5/5PCZKtcmJs+QDQSedXWuboQKN0us1Pm0Dmg==} + /@antfu/eslint-config@2.1.2(eslint@8.54.0)(typescript@5.3.2)(vitest@0.34.6): + resolution: {integrity: sha512-eOkXtRcj3pAqkdbqNYEBUgFKTcDYYwAAAnGEs+DTTcJJJReIlrPx4WJIE02whOsi+5oKcJ7EK/swS6PcdcCIog==} hasBin: true peerDependencies: '@unocss/eslint-plugin': '>=0.50.0' @@ -70,7 +70,7 @@ packages: optional: true dependencies: '@antfu/eslint-define-config': 1.23.0-2 - '@antfu/install-pkg': 0.2.0 + '@antfu/install-pkg': 0.3.0 '@eslint-types/jsdoc': 46.8.2-1 '@eslint-types/typescript-eslint': 6.12.0 '@eslint-types/unicorn': 49.0.0 @@ -78,7 +78,7 @@ packages: '@typescript-eslint/eslint-plugin': 6.13.1(@typescript-eslint/parser@6.13.1)(eslint@8.54.0)(typescript@5.3.2) '@typescript-eslint/parser': 6.13.1(eslint@8.54.0)(typescript@5.3.2) eslint: 8.54.0 - eslint-config-flat-gitignore: 0.1.1 + eslint-config-flat-gitignore: 0.1.2 eslint-plugin-antfu: 1.0.11(eslint@8.54.0) eslint-plugin-eslint-comments: 3.2.0(eslint@8.54.0) eslint-plugin-i: 2.29.0(@typescript-eslint/parser@6.13.1)(eslint@8.54.0) @@ -91,7 +91,7 @@ packages: eslint-plugin-unicorn: 49.0.0(eslint@8.54.0) eslint-plugin-unused-imports: 3.0.0(@typescript-eslint/eslint-plugin@6.13.1)(eslint@8.54.0) eslint-plugin-vitest: 0.3.10(@typescript-eslint/eslint-plugin@6.13.1)(eslint@8.54.0)(typescript@5.3.2)(vitest@0.34.6) - eslint-plugin-vue: 9.18.1(eslint@8.54.0) + eslint-plugin-vue: 9.19.2(eslint@8.54.0) eslint-plugin-yml: 1.10.0(eslint@8.54.0) globals: 13.23.0 jsonc-eslint-parser: 2.4.0 @@ -125,8 +125,8 @@ packages: find-up: 5.0.0 dev: true - /@antfu/install-pkg@0.2.0: - resolution: {integrity: sha512-gwTQbVnVcdhLXru+ejx2hZoiVcOHBJtjWXxzQmwSt5NePDr2mlVmdxuV1BapjN1JNb5OmA0j860bsQN3iHXr8Q==} + /@antfu/install-pkg@0.3.0: + resolution: {integrity: sha512-hzTVgEFGBBMXUjsNhIRDdt9jvAkZzPbMLQW8q2wXz455+1zxGFtM0nxPl2pukFWHXcC/Bn/UCHV9rd0+pwYsmw==} dependencies: execa: 8.0.1 find-up: 7.0.0 @@ -136,8 +136,8 @@ packages: resolution: {integrity: sha512-pvFiLP2BeOKA/ZOS6jxx4XhKzdVLHDhGlFEaZ2flWWYf2xOqVniqpk38I04DFRyz+L0ASggl7SkItTc+ZLju4w==} dev: true - /@ast-grep/cli-darwin-arm64@0.13.2: - resolution: {integrity: sha512-4nWUMaYmTne8K9PNc4b5RpOx//fTVku7mXgUT9O+6HU+rYaqHwmA9CM4ioGuldWHbPuP4vImMdDSPj1ZkQymuA==} + /@ast-grep/cli-darwin-arm64@0.14.1: + resolution: {integrity: sha512-mJtzgfvPswpfyIS5zWksCZ9y+vTWXEUl/5B28Co5QSU0ezu3fkBljlrPGfmb6+R4pWl8VM36x8Nv1ENKpjXavA==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -145,8 +145,8 @@ packages: dev: false optional: true - /@ast-grep/cli-darwin-x64@0.13.2: - resolution: {integrity: sha512-yz1PRKB0zqPtUW1/FkskNRreVNsUe4y1bde48cF6vMBAseXx/KxRuSxbW9oHtLJcMZe8giJz/uZaprne4unTsg==} + /@ast-grep/cli-darwin-x64@0.14.1: + resolution: {integrity: sha512-dDjw9vaZu4N4YuzMs4WZAuRmC2qMVDiteYmhQB6wgIYrODyPoqH7jvZOTKGYh/ZOnbzUGM5S3wyNiTugIcQm2Q==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -154,8 +154,8 @@ packages: dev: false optional: true - /@ast-grep/cli-linux-arm64-gnu@0.13.2: - resolution: {integrity: sha512-VhugvfLyTBlcaRWYJv/oKeFXI8TJdzTImitssGmTUTysXF8mQ9YkvQWuD0L6LQbyTfH0LpiqXH60fPcf3Mx0lQ==} + /@ast-grep/cli-linux-arm64-gnu@0.14.1: + resolution: {integrity: sha512-aJqcfWsHAwT2YtiX2ZjaAm+KGp1vRrnJvoqbAx1nGXk7LuE986tv8SS4RN+F9g/lVCXzDZSBNR/mdZf/b8rN4A==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -163,8 +163,8 @@ packages: dev: false optional: true - /@ast-grep/cli-linux-x64-gnu@0.13.2: - resolution: {integrity: sha512-ph1dEwuQQcWvfTO8cRNthnfur7hTcdTzgHLO3q54A+oaKijUEZQniiIRGYSlSXWNhXABNysX2qtNIIy23mNa0g==} + /@ast-grep/cli-linux-x64-gnu@0.14.1: + resolution: {integrity: sha512-8EUNb7PQIJI3494P8P137Hiv4m7dimb44csXopSHqXX3qjxRZN7YmIyShf2nGFt8kViSqxjnr4S1k4uM+0Vexg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -172,8 +172,8 @@ packages: dev: false optional: true - /@ast-grep/cli-win32-arm64-msvc@0.13.2: - resolution: {integrity: sha512-PMottH3dvbGPShPep0yHmZr3owWm8+WYFBL236shKOv4mfkL7f9i7+JX5pxjm4+RuogGOLkG6zU++TLsX7hDGw==} + /@ast-grep/cli-win32-arm64-msvc@0.14.1: + resolution: {integrity: sha512-7HhgD/bqsdm2ciGZi5TdjAqx5hf0ml/j9h3oFW/vpXFliA60AW71u7KezEeQIlhWa5KoXbCFkhSvHMN10sNmmw==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -181,8 +181,8 @@ packages: dev: false optional: true - /@ast-grep/cli-win32-ia32-msvc@0.13.2: - resolution: {integrity: sha512-i8Vc3IeuBoH0ZqCcdFSdNdsrX4/+ZTe+/BIiLfnOk1uMl35hJcW/Uz8pvBhpv38PvobbbIlFCMiA5VL1bfbxNg==} + /@ast-grep/cli-win32-ia32-msvc@0.14.1: + resolution: {integrity: sha512-8/Kvbb0v9zd+/9tzQwK+xkhEAtkpdEmKqrPGY1cjuz6VWdMJyE8rg5PLcjVxBfaqQtO9gb/whrmr53TwuMizrg==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -190,8 +190,8 @@ packages: dev: false optional: true - /@ast-grep/cli-win32-x64-msvc@0.13.2: - resolution: {integrity: sha512-iPpeZ4OXwKqAIMvGBMDUyk73vdtg3Q9ioqP+dBQ0mPX+BQ4VrOWFot7TxfWdcGZV4ZbGCvkUzEwlGfgbgh/aBw==} + /@ast-grep/cli-win32-x64-msvc@0.14.1: + resolution: {integrity: sha512-f+9t0+jWa/lntgojXEs/YAplf9hpgIOFToE6JmSo1+vU0fCk/T+VIu8zfnaIahrIKDMYA2cKAAB2qjdlS4WtsQ==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -199,21 +199,21 @@ packages: dev: false optional: true - /@ast-grep/cli@0.13.2: - resolution: {integrity: sha512-U9ldSKxPxaQwz7+0o30GGLevLJPkQLyWiID/pmWffeOc4xx0mQIEPeXk1Ej36FJD2apPNdqzNzJxQ1c/ngk2Sg==} + /@ast-grep/cli@0.14.1: + resolution: {integrity: sha512-YPHp8VBox+hH+b0YBX1hADFYh93zElXNwJ57fKJCfRyF4DriUSaf0ioXcIPdDFExhs5UqD1fllJSI/njNCI0zg==} engines: {node: '>= 12.0.0'} hasBin: true requiresBuild: true dependencies: detect-libc: 2.0.2 optionalDependencies: - '@ast-grep/cli-darwin-arm64': 0.13.2 - '@ast-grep/cli-darwin-x64': 0.13.2 - '@ast-grep/cli-linux-arm64-gnu': 0.13.2 - '@ast-grep/cli-linux-x64-gnu': 0.13.2 - '@ast-grep/cli-win32-arm64-msvc': 0.13.2 - '@ast-grep/cli-win32-ia32-msvc': 0.13.2 - '@ast-grep/cli-win32-x64-msvc': 0.13.2 + '@ast-grep/cli-darwin-arm64': 0.14.1 + '@ast-grep/cli-darwin-x64': 0.14.1 + '@ast-grep/cli-linux-arm64-gnu': 0.14.1 + '@ast-grep/cli-linux-x64-gnu': 0.14.1 + '@ast-grep/cli-win32-arm64-msvc': 0.14.1 + '@ast-grep/cli-win32-ia32-msvc': 0.14.1 + '@ast-grep/cli-win32-x64-msvc': 0.14.1 dev: false /@babel/code-frame@7.23.5: @@ -1107,96 +1107,96 @@ packages: rollup: 3.29.4 dev: true - /@rollup/rollup-android-arm-eabi@4.6.0: - resolution: {integrity: sha512-keHkkWAe7OtdALGoutLY3utvthkGF+Y17ws9LYT8pxMBYXaCoH/8dXS2uzo6e8+sEhY7y/zi5RFo22Dy2lFpDw==} + /@rollup/rollup-android-arm-eabi@4.6.1: + resolution: {integrity: sha512-0WQ0ouLejaUCRsL93GD4uft3rOmB8qoQMU05Kb8CmMtMBe7XUDLAltxVZI1q6byNqEtU7N1ZX1Vw5lIpgulLQA==} cpu: [arm] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-android-arm64@4.6.0: - resolution: {integrity: sha512-y3Kt+34smKQNWilicPbBz/MXEY7QwDzMFNgwEWeYiOhUt9MTWKjHqe3EVkXwT2fR7izOvHpDWZ0o2IyD9SWX7A==} + /@rollup/rollup-android-arm64@4.6.1: + resolution: {integrity: sha512-1TKm25Rn20vr5aTGGZqo6E4mzPicCUD79k17EgTLAsXc1zysyi4xXKACfUbwyANEPAEIxkzwue6JZ+stYzWUTA==} cpu: [arm64] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-arm64@4.6.0: - resolution: {integrity: sha512-oLzzxcUIHltHxOCmaXl+pkIlU+uhSxef5HfntW7RsLh1eHm+vJzjD9Oo4oUKso4YuP4PpbFJNlZjJuOrxo8dPg==} + /@rollup/rollup-darwin-arm64@4.6.1: + resolution: {integrity: sha512-cEXJQY/ZqMACb+nxzDeX9IPLAg7S94xouJJCNVE5BJM8JUEP4HeTF+ti3cmxWeSJo+5D+o8Tc0UAWUkfENdeyw==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-x64@4.6.0: - resolution: {integrity: sha512-+ANnmjkcOBaV25n0+M0Bere3roeVAnwlKW65qagtuAfIxXF9YxUneRyAn/RDcIdRa7QrjRNJL3jR7T43ObGe8Q==} + /@rollup/rollup-darwin-x64@4.6.1: + resolution: {integrity: sha512-LoSU9Xu56isrkV2jLldcKspJ7sSXmZWkAxg7sW/RfF7GS4F5/v4EiqKSMCFbZtDu2Nc1gxxFdQdKwkKS4rwxNg==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.6.0: - resolution: {integrity: sha512-tBTSIkjSVUyrekddpkAqKOosnj1Fc0ZY0rJL2bIEWPKqlEQk0paORL9pUIlt7lcGJi3LzMIlUGXvtNi1Z6MOCQ==} + /@rollup/rollup-linux-arm-gnueabihf@4.6.1: + resolution: {integrity: sha512-EfI3hzYAy5vFNDqpXsNxXcgRDcFHUWSx5nnRSCKwXuQlI5J9dD84g2Usw81n3FLBNsGCegKGwwTVsSKK9cooSQ==} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.6.0: - resolution: {integrity: sha512-Ed8uJI3kM11de9S0j67wAV07JUNhbAqIrDYhQBrQW42jGopgheyk/cdcshgGO4fW5Wjq97COCY/BHogdGvKVNQ==} + /@rollup/rollup-linux-arm64-gnu@4.6.1: + resolution: {integrity: sha512-9lhc4UZstsegbNLhH0Zu6TqvDfmhGzuCWtcTFXY10VjLLUe4Mr0Ye2L3rrtHaDd/J5+tFMEuo5LTCSCMXWfUKw==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-musl@4.6.0: - resolution: {integrity: sha512-mZoNQ/qK4D7SSY8v6kEsAAyDgznzLLuSFCA3aBHZTmf3HP/dW4tNLTtWh9+LfyO0Z1aUn+ecpT7IQ3WtIg3ViQ==} + /@rollup/rollup-linux-arm64-musl@4.6.1: + resolution: {integrity: sha512-FfoOK1yP5ksX3wwZ4Zk1NgyGHZyuRhf99j64I5oEmirV8EFT7+OhUZEnP+x17lcP/QHJNWGsoJwrz4PJ9fBEXw==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-gnu@4.6.0: - resolution: {integrity: sha512-rouezFHpwCqdEXsqAfNsTgSWO0FoZ5hKv5p+TGO5KFhyN/dvYXNMqMolOb8BkyKcPqjYRBeT+Z6V3aM26rPaYg==} + /@rollup/rollup-linux-x64-gnu@4.6.1: + resolution: {integrity: sha512-DNGZvZDO5YF7jN5fX8ZqmGLjZEXIJRdJEdTFMhiyXqyXubBa0WVLDWSNlQ5JR2PNgDbEV1VQowhVRUh+74D+RA==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-musl@4.6.0: - resolution: {integrity: sha512-Bbm+fyn3S6u51urfj3YnqBXg5vI2jQPncRRELaucmhBVyZkbWClQ1fEsRmdnCPpQOQfkpg9gZArvtMVkOMsh1w==} + /@rollup/rollup-linux-x64-musl@4.6.1: + resolution: {integrity: sha512-RkJVNVRM+piYy87HrKmhbexCHg3A6Z6MU0W9GHnJwBQNBeyhCJG9KDce4SAMdicQnpURggSvtbGo9xAWOfSvIQ==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.6.0: - resolution: {integrity: sha512-+MRMcyx9L2kTrTUzYmR61+XVsliMG4odFb5UmqtiT8xOfEicfYAGEuF/D1Pww1+uZkYhBqAHpvju7VN+GnC3ng==} + /@rollup/rollup-win32-arm64-msvc@4.6.1: + resolution: {integrity: sha512-v2FVT6xfnnmTe3W9bJXl6r5KwJglMK/iRlkKiIFfO6ysKs0rDgz7Cwwf3tjldxQUrHL9INT/1r4VA0n9L/F1vQ==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.6.0: - resolution: {integrity: sha512-rxfeE6K6s/Xl2HGeK6cO8SiQq3k/3BYpw7cfhW5Bk2euXNEpuzi2cc7llxx1si1QgwfjNtdRNTGqdBzGlFZGFw==} + /@rollup/rollup-win32-ia32-msvc@4.6.1: + resolution: {integrity: sha512-YEeOjxRyEjqcWphH9dyLbzgkF8wZSKAKUkldRY6dgNR5oKs2LZazqGB41cWJ4Iqqcy9/zqYgmzBkRoVz3Q9MLw==} cpu: [ia32] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-x64-msvc@4.6.0: - resolution: {integrity: sha512-QqmCsydHS172Y0Kc13bkMXvipbJSvzeglBncJG3LsYJSiPlxYACz7MmJBs4A8l1oU+jfhYEIC/+AUSlvjmiX/g==} + /@rollup/rollup-win32-x64-msvc@4.6.1: + resolution: {integrity: sha512-0zfTlFAIhgz8V2G8STq8toAjsYYA6eci1hnXuyOTUFnymrtJwnS6uGKiv3v5UrPZkBlamLvrLV2iiaeqCKzb0A==} cpu: [x64] os: [win32] requiresBuild: true @@ -1285,7 +1285,7 @@ packages: resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 18.18.14 + '@types/node': 18.19.0 dev: false /@types/json-schema@7.0.15: @@ -1295,7 +1295,7 @@ packages: /@types/jsonfile@6.1.4: resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} dependencies: - '@types/node': 18.18.14 + '@types/node': 18.19.0 dev: false /@types/mdast@3.0.15: @@ -1314,8 +1314,8 @@ packages: '@types/node': 20.10.1 dev: false - /@types/node@18.18.14: - resolution: {integrity: sha512-iSOeNeXYNYNLLOMDSVPvIFojclvMZ/HDY2dU17kUlcsOsSQETbWIslJbYLZgA+ox8g2XQwSHKTkght1a5X26lQ==} + /@types/node@18.19.0: + resolution: {integrity: sha512-667KNhaD7U29mT5wf+TZUnrzPrlL2GNQ5N0BMjO2oNULhBxX0/FKCkm6JMu0Jh7Z+1LwUlR21ekd7KhIboNFNw==} dependencies: undici-types: 5.26.5 dev: false @@ -1887,8 +1887,8 @@ packages: hasBin: true dependencies: caniuse-lite: 1.0.30001565 - electron-to-chromium: 1.4.597 - node-releases: 2.0.13 + electron-to-chromium: 1.4.600 + node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.22.1) dev: true @@ -2369,8 +2369,8 @@ packages: /duplexer@0.1.2: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} - /electron-to-chromium@1.4.597: - resolution: {integrity: sha512-0XOQNqHhg2YgRVRUrS4M4vWjFCFIP2ETXcXe/0KIQBjXE9Cpy+tgzzYfuq6HGai3hWq0YywtG+5XK8fyG08EjA==} + /electron-to-chromium@1.4.600: + resolution: {integrity: sha512-KD6CWjf1BnQG+NsXuyiTDDT1eV13sKuYsOUioXkQweYTQIbgHkXPry9K7M+7cKtYHnSUPitVaLrXYB1jTkkYrw==} dev: true /emoji-regex@8.0.0: @@ -2440,8 +2440,8 @@ packages: eslint: 8.54.0 dev: true - /eslint-config-flat-gitignore@0.1.1: - resolution: {integrity: sha512-ysq0QpN63+uaxE67U0g0HeCweIpv8Ztp7yvm0nYiM2TBalRIG6KQLO5J6lAz2gkA8KVis/QsJppe+BR5VigtWQ==} + /eslint-config-flat-gitignore@0.1.2: + resolution: {integrity: sha512-PcBsqtd5QHEZH4ROvpnRN4EP0qcHh9voCCHgtyHxnJZHGspJREcZn7oPqRG/GfWt9m3C0fkC2l5CuBtMig2wXQ==} dependencies: parse-gitignore: 2.0.0 dev: true @@ -2493,8 +2493,8 @@ packages: eslint: 8.54.0 dev: true - /eslint-plugin-es-x@7.4.0(eslint@8.54.0): - resolution: {integrity: sha512-WJa3RhYzBtl8I37ebY9p76s61UhZyi4KaFOnX2A5r32RPazkXj5yoT6PGnD02dhwzEUj0KwsUdqfKDd/OuvGsw==} + /eslint-plugin-es-x@7.5.0(eslint@8.54.0): + resolution: {integrity: sha512-ODswlDSO0HJDzXU0XvgZ3lF3lS3XAZEossh15Q2UHjwrJggWeBoKqqEsLTZLXl+dh5eOAozG0zRcYtuE35oTuQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '>=8' @@ -2593,7 +2593,7 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) builtins: 5.0.1 eslint: 8.54.0 - eslint-plugin-es-x: 7.4.0(eslint@8.54.0) + eslint-plugin-es-x: 7.5.0(eslint@8.54.0) get-tsconfig: 4.7.2 ignore: 5.3.0 is-builtin-module: 3.2.1 @@ -2696,8 +2696,8 @@ packages: - typescript dev: true - /eslint-plugin-vue@9.18.1(eslint@8.54.0): - resolution: {integrity: sha512-7hZFlrEgg9NIzuVik2I9xSnJA5RsmOfueYgsUGUokEDLJ1LHtxO0Pl4duje1BriZ/jDWb+44tcIlC3yi0tdlZg==} + /eslint-plugin-vue@9.19.2(eslint@8.54.0): + resolution: {integrity: sha512-CPDqTOG2K4Ni2o4J5wixkLVNwgctKXFu6oBpVJlpNq7f38lh9I80pRTouZSJ2MAebPJlINU/KTFSXyQfBUlymA==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 @@ -3733,8 +3733,8 @@ packages: formdata-polyfill: 4.0.10 dev: false - /node-releases@2.0.13: - resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} + /node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} dev: true /normalize-package-data@2.5.0: @@ -4264,7 +4264,7 @@ packages: dependencies: postcss: 8.4.31 postcss-value-parser: 4.2.0 - svgo: 3.0.4 + svgo: 3.0.5 dev: true /postcss-unique-selectors@6.0.0(postcss@8.4.31): @@ -4439,23 +4439,23 @@ packages: fsevents: 2.3.3 dev: true - /rollup@4.6.0: - resolution: {integrity: sha512-R8i5Her4oO1LiMQ3jKf7MUglYV/mhQ5g5OKeld5CnkmPdIGo79FDDQYqPhq/PCVuTQVuxsWgIbDy9F+zdHn80w==} + /rollup@4.6.1: + resolution: {integrity: sha512-jZHaZotEHQaHLgKr8JnQiDT1rmatjgKlMekyksz+yk9jt/8z9quNjnKNRoaM0wd9DC2QKXjmWWuDYtM3jfF8pQ==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.6.0 - '@rollup/rollup-android-arm64': 4.6.0 - '@rollup/rollup-darwin-arm64': 4.6.0 - '@rollup/rollup-darwin-x64': 4.6.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.6.0 - '@rollup/rollup-linux-arm64-gnu': 4.6.0 - '@rollup/rollup-linux-arm64-musl': 4.6.0 - '@rollup/rollup-linux-x64-gnu': 4.6.0 - '@rollup/rollup-linux-x64-musl': 4.6.0 - '@rollup/rollup-win32-arm64-msvc': 4.6.0 - '@rollup/rollup-win32-ia32-msvc': 4.6.0 - '@rollup/rollup-win32-x64-msvc': 4.6.0 + '@rollup/rollup-android-arm-eabi': 4.6.1 + '@rollup/rollup-android-arm64': 4.6.1 + '@rollup/rollup-darwin-arm64': 4.6.1 + '@rollup/rollup-darwin-x64': 4.6.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.6.1 + '@rollup/rollup-linux-arm64-gnu': 4.6.1 + '@rollup/rollup-linux-arm64-musl': 4.6.1 + '@rollup/rollup-linux-x64-gnu': 4.6.1 + '@rollup/rollup-linux-x64-musl': 4.6.1 + '@rollup/rollup-win32-arm64-msvc': 4.6.1 + '@rollup/rollup-win32-ia32-msvc': 4.6.1 + '@rollup/rollup-win32-x64-msvc': 4.6.1 fsevents: 2.3.3 dev: true @@ -4473,8 +4473,8 @@ packages: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: false - /scule@1.1.0: - resolution: {integrity: sha512-vRUjqhyM/YWYzT+jsMk6tnl3NkY4A4soJ8uyh3O6Um+JXEQL9ozUCe7pqrxn3CSKokw0hw3nFStfskzpgYwR0g==} + /scule@1.1.1: + resolution: {integrity: sha512-sHtm/SsIK9BUBI3EFT/Gnp9VoKfY6QLvlkvAE6YK7454IF8FSgJEAnJpVdSC7K5/pjI5NfxhzBLW2JAfYA/shQ==} dev: true /semver@5.7.2: @@ -4665,8 +4665,8 @@ packages: engines: {node: '>= 0.4'} dev: true - /svgo@3.0.4: - resolution: {integrity: sha512-T+Xul3JwuJ6VGXKo/p2ndqx1ibxNKnLTvRc1ZTWKCfyKS/GgNjRZcYsK84fxTsy/izr91g/Rwx6fGnVgaFSI5g==} + /svgo@3.0.5: + resolution: {integrity: sha512-HQKHEo73pMNOlDlBcLgZRcHW2+1wo7bFYayAXkGN0l/2+h68KjlfZyMRhdhaGvoHV2eApOovl12zoFz42sT6rQ==} engines: {node: '>=14.0.0'} hasBin: true dependencies: @@ -4818,7 +4818,7 @@ packages: pretty-bytes: 6.1.1 rollup: 3.29.4 rollup-plugin-dts: 6.1.0(rollup@3.29.4)(typescript@5.3.2) - scule: 1.1.0 + scule: 1.1.1 typescript: 5.3.2 untyped: 1.4.0 transitivePeerDependencies: @@ -4902,7 +4902,7 @@ packages: defu: 6.1.3 jiti: 1.21.0 mri: 1.2.0 - scule: 1.1.0 + scule: 1.1.1 transitivePeerDependencies: - supports-color dev: true @@ -4988,7 +4988,7 @@ packages: '@types/node': 20.10.1 esbuild: 0.19.8 postcss: 8.4.31 - rollup: 4.6.0 + rollup: 4.6.1 optionalDependencies: fsevents: 2.3.3 dev: true @@ -5199,7 +5199,7 @@ packages: dependencies: '@types/fs-extra': 11.0.4 '@types/minimist': 1.2.5 - '@types/node': 18.18.14 + '@types/node': 18.19.0 '@types/ps-tree': 1.1.6 '@types/which': 3.0.3 chalk: 5.3.0 diff --git a/src/index.ts b/src/index.ts index 9e35bef..c024ef2 100755 --- a/src/index.ts +++ b/src/index.ts @@ -12,8 +12,7 @@ if (argv._[0] !== 'sg') { $.verbose = false const __filename = fileURLToPath(import.meta.url) -// const sg = path.resolve(path.dirname(__filename), '../node_modules/.bin/ast-grep') -const sg = 'sg' +const sg = path.resolve(path.dirname(__filename), '../node_modules/.bin/ast-grep') const config = `${path.dirname(__filename)}/sgconfig` let macro = await select({ From ab948c297b0f0304075aa299c3e6c0009de4c9a9 Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Fri, 1 Dec 2023 13:14:08 +0800 Subject: [PATCH 02/61] chore: release v0.0.7 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index fdd3e59..7891e29 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@vue-macros/cli", "type": "module", - "version": "0.0.6", + "version": "0.0.7", "description": "Rewriting at vue macros powered by ast-grep.", "author": "zhiyuanzmj ", "license": "MIT", From 3f210e8fea85af561a6331df7baae6d4f76fc5f0 Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Fri, 1 Dec 2023 13:36:32 +0800 Subject: [PATCH 03/61] feat: use vue-macros cli --- .github/workflows/release.yml | 43 +++++++++++++++++++++++++++++++++++ README.md | 2 +- package.json | 4 +++- src/index.ts | 2 +- 4 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..a28ab4d --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,43 @@ +name: Release + +on: + push: + tags: + - 'v*' + workflow_dispatch: {} + +jobs: + release: + runs-on: ubuntu-latest + permissions: + contents: write + id-token: write + + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Install pnpm + uses: pnpm/action-setup@v2 + + - name: Set node + uses: actions/setup-node@v4 + with: + node-version: lts/* + cache: pnpm + registry-url: 'https://registry.npmjs.org' + + - run: npx changelogithub + continue-on-error: true + env: + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} + + - name: Install Dependencies + run: pnpm i + + - name: Publish to NPM + run: pnpm -r publish --access public --no-git-checks + env: + NODE_AUTH_TOKEN: ${{secrets.NPM_PUBLISH_TOKEN}} + NPM_CONFIG_PROVENANCE: true \ No newline at end of file diff --git a/README.md b/README.md index c677306..33fb4b0 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ pnpm add -g @vue-macros/cli ### sg ```shell -@vue-macros/cli sg +vue-macros sg ``` ## License diff --git a/package.json b/package.json index 7891e29..9e06f32 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,9 @@ "main": "./dist/index.mjs", "module": "./dist/index.mjs", "types": "./dist/index.d.ts", - "bin": "./dist/index.mjs", + "bin": { + "vue-macros": "./dist/index.mjs" + }, "files": [ "dist" ], diff --git a/src/index.ts b/src/index.ts index c024ef2..6b69aaf 100755 --- a/src/index.ts +++ b/src/index.ts @@ -53,7 +53,7 @@ if (macro === 'short-v-model') { }) } -const target = path.resolve(argv._.at(-1) || '.') +const target = path.resolve(argv._.at(1) || './src') async function toSetupSFC() { const filename = path.basename(target) const files = await glob(`${target}${filename ? '' : '/**/*.vue'}`, { From 0331670464edd0a81fe8f897b2bd47eab63e6d64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=89=E5=92=B2=E6=99=BA=E5=AD=90=20Kevin=20Deng?= Date: Fri, 1 Dec 2023 13:43:12 +0800 Subject: [PATCH 04/61] chore: update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 33fb4b0..96a0bfc 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # @vue-macros/cli -@vue-macros/cli is a cli for rewriting at vue macros powered by [ast-grep](https://github.com/ast-grep/ast-grep). +@vue-macros/cli is a CLI for rewriting at Vue Macros powered by [ast-grep](https://github.com/ast-grep/ast-grep). ## Support vue macros From 5326eb9dab7b675e778f73646909058695844149 Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Fri, 1 Dec 2023 13:46:20 +0800 Subject: [PATCH 05/61] chore: release v1.0.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9e06f32..e20ccec 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@vue-macros/cli", "type": "module", - "version": "0.0.7", + "version": "1.0.0", "description": "Rewriting at vue macros powered by ast-grep.", "author": "zhiyuanzmj ", "license": "MIT", From 0d5f23c65500cd770372c26746bd6e9e1c35aa41 Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Fri, 1 Dec 2023 13:47:22 +0800 Subject: [PATCH 06/61] chore: release v1.0.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e20ccec..bfe526e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@vue-macros/cli", "type": "module", - "version": "1.0.0", + "version": "1.0.1", "description": "Rewriting at vue macros powered by ast-grep.", "author": "zhiyuanzmj ", "license": "MIT", From f5ed91f56f94853403bb57c1fdced2e4e9f4eb98 Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Fri, 1 Dec 2023 13:48:30 +0800 Subject: [PATCH 07/61] chore: add pnpm version --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index bfe526e..ec30906 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,7 @@ "name": "@vue-macros/cli", "type": "module", "version": "1.0.1", + "packageManager": "pnpm@8.10.5", "description": "Rewriting at vue macros powered by ast-grep.", "author": "zhiyuanzmj ", "license": "MIT", From 9886abd433a8e732cad7c6c0503dfd169b704aa4 Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Fri, 1 Dec 2023 13:49:15 +0800 Subject: [PATCH 08/61] chore: release v1.0.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ec30906..fb87b36 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@vue-macros/cli", "type": "module", - "version": "1.0.1", + "version": "1.0.2", "packageManager": "pnpm@8.10.5", "description": "Rewriting at vue macros powered by ast-grep.", "author": "zhiyuanzmj ", From e87497d01dee87e355afee4c13a8e44d41797130 Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Fri, 1 Dec 2023 13:51:42 +0800 Subject: [PATCH 09/61] chore: up url --- package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index fb87b36..23975a9 100644 --- a/package.json +++ b/package.json @@ -6,13 +6,13 @@ "description": "Rewriting at vue macros powered by ast-grep.", "author": "zhiyuanzmj ", "license": "MIT", - "homepage": "https://github.com/zhiyuanzmj/@vue-macros/cli/tree/main#readme", + "homepage": "https://github.com/vue-macros/@vue-macros/cli/tree/main#readme", "repository": { "type": "git", - "url": "https://github.com/zhiyuanzmj/@vue-macros/cli" + "url": "https://github.com/vue-macros/@vue-macros/cli" }, "bugs": { - "url": "https://github.com/zhiyuanzmj/@vue-macros/cli/issues" + "url": "https://github.com/vue-macros/@vue-macros/cli/issues" }, "keywords": [ "vue-macros", From f4bf535891c53d98c357fb3b0e097f8d6e29487e Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Fri, 1 Dec 2023 13:51:49 +0800 Subject: [PATCH 10/61] chore: release v1.0.3 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 23975a9..be5868a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@vue-macros/cli", "type": "module", - "version": "1.0.2", + "version": "1.0.3", "packageManager": "pnpm@8.10.5", "description": "Rewriting at vue macros powered by ast-grep.", "author": "zhiyuanzmj ", From 14bb9071ef182442dc06f7117e6a218fc5f52bcf Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Fri, 1 Dec 2023 13:53:18 +0800 Subject: [PATCH 11/61] fix: typo --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index be5868a..3d23c37 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "description": "Rewriting at vue macros powered by ast-grep.", "author": "zhiyuanzmj ", "license": "MIT", - "homepage": "https://github.com/vue-macros/@vue-macros/cli/tree/main#readme", + "homepage": "https://github.com/vue-macros/cli/tree/main#readme", "repository": { "type": "git", "url": "https://github.com/vue-macros/@vue-macros/cli" From b037ad849a45779cfb61447af1c12603fe8d487a Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Fri, 1 Dec 2023 13:54:12 +0800 Subject: [PATCH 12/61] fix: typo --- package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 3d23c37..77c0830 100644 --- a/package.json +++ b/package.json @@ -6,13 +6,13 @@ "description": "Rewriting at vue macros powered by ast-grep.", "author": "zhiyuanzmj ", "license": "MIT", - "homepage": "https://github.com/vue-macros/cli/tree/main#readme", + "homepage": "https://github.com/vue-macros/vue-macros-cli/blob/main/README.md", "repository": { "type": "git", - "url": "https://github.com/vue-macros/@vue-macros/cli" + "url": "https://github.com/vue-macros/vue-macros-cli" }, "bugs": { - "url": "https://github.com/vue-macros/@vue-macros/cli/issues" + "url": "https://github.com/vue-macros/vue-macros-cli/issues" }, "keywords": [ "vue-macros", From 2f5183733d465a322f5b9c7b4eb6ce507b7f39c9 Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Fri, 1 Dec 2023 13:54:26 +0800 Subject: [PATCH 13/61] chore: release v1.0.4 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 77c0830..9fbbf70 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@vue-macros/cli", "type": "module", - "version": "1.0.3", + "version": "1.0.4", "packageManager": "pnpm@8.10.5", "description": "Rewriting at vue macros powered by ast-grep.", "author": "zhiyuanzmj ", From d6fea9f6076549219848473d913810f3dc163b61 Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Fri, 1 Dec 2023 15:47:40 +0800 Subject: [PATCH 14/61] feat(sg): add v-slot no value support --- src/rules/jsx-directive/v-slot.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/rules/jsx-directive/v-slot.yml b/src/rules/jsx-directive/v-slot.yml index 9159d5c..1928160 100644 --- a/src/rules/jsx-directive/v-slot.yml +++ b/src/rules/jsx-directive/v-slot.yml @@ -19,3 +19,21 @@ transform: startChar: 1 fix: v-slot:$K={$V} + +--- + +id: v-slot shorthand no value +language: html +rule: + kind: attribute + has: + kind: attribute_name + regex: ^# + pattern: $NAME +transform: + K: + substring: + source: $NAME + startChar: 1 +fix: + v-slot:$K From 9c307e2cad979ca5e9b8185046f21f47c5a01d13 Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Fri, 1 Dec 2023 16:36:33 +0800 Subject: [PATCH 15/61] fix(setup-sfc): only process vue file --- package.json | 1 + pnpm-lock.yaml | 9 +++------ src/index.ts | 17 +++++++++++------ 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index 9fbbf70..8cb0b62 100644 --- a/package.json +++ b/package.json @@ -44,6 +44,7 @@ "dependencies": { "@ast-grep/cli": "^0.14.1", "@inquirer/prompts": "^3.3.0", + "pkg-types": "^1.0.3", "zx": "^7.2.3" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9672446..3a16603 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,6 +11,9 @@ dependencies: '@inquirer/prompts': specifier: ^3.3.0 version: 3.3.0 + pkg-types: + specifier: ^1.0.3 + version: 1.0.3 zx: specifier: ^7.2.3 version: 7.2.3 @@ -1757,7 +1760,6 @@ packages: resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} engines: {node: '>=0.4.0'} hasBin: true - dev: true /agent-base@7.1.0: resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} @@ -3407,7 +3409,6 @@ packages: /jsonc-parser@3.2.0: resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} - dev: true /jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} @@ -3676,7 +3677,6 @@ packages: pathe: 1.1.1 pkg-types: 1.0.3 ufo: 1.3.2 - dev: true /mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} @@ -3940,7 +3940,6 @@ packages: /pathe@1.1.1: resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} - dev: true /pathval@1.1.1: resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} @@ -3970,7 +3969,6 @@ packages: jsonc-parser: 3.2.0 mlly: 1.4.2 pathe: 1.1.1 - dev: true /pluralize@8.0.0: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} @@ -4785,7 +4783,6 @@ packages: /ufo@1.3.2: resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==} - dev: true /unbuild@2.0.0(typescript@5.3.2): resolution: {integrity: sha512-JWCUYx3Oxdzvw2J9kTAp+DKE8df/BnH/JTSj6JyA4SH40ECdFu7FoJJcrm8G92B7TjofQ6GZGjJs50TRxoH6Wg==} diff --git a/src/index.ts b/src/index.ts index 6b69aaf..d43496b 100755 --- a/src/index.ts +++ b/src/index.ts @@ -3,6 +3,7 @@ import { fileURLToPath } from 'node:url' import process from 'node:process' import { $, argv, chalk, fs, glob, path } from 'zx' import { select } from '@inquirer/prompts' +import { readPackageJSON } from 'pkg-types' if (argv._[0] !== 'sg') { console.log(chalk.red('Do you want to use `sg` cmd?')) @@ -11,10 +12,6 @@ if (argv._[0] !== 'sg') { $.verbose = false -const __filename = fileURLToPath(import.meta.url) -const sg = path.resolve(path.dirname(__filename), '../node_modules/.bin/ast-grep') -const config = `${path.dirname(__filename)}/sgconfig` - let macro = await select({ message: chalk.green( `Which vue macro do you want to use?`, @@ -53,10 +50,16 @@ if (macro === 'short-v-model') { }) } +const dirname = path.dirname(fileURLToPath(import.meta.url)) +if (argv.v || argv.version) { + const localPackageJson = await readPackageJSON(dirname) + console.log(`${localPackageJson.name} ${localPackageJson.version}`) +} + const target = path.resolve(argv._.at(1) || './src') async function toSetupSFC() { - const filename = path.basename(target) - const files = await glob(`${target}${filename ? '' : '/**/*.vue'}`, { + const extname = path.extname(target) + const files = await glob(`${target}${extname ? '' : '/**/*.vue'}`, { ignore: [ '**/node_modules/**', ], @@ -65,6 +68,8 @@ async function toSetupSFC() { await Promise.all(files.map(async file => fs.move(file, `${file.slice(0, -3)}setup.tsx`))) } +const config = `${dirname}/sgconfig` +const sg = path.resolve(dirname, '../node_modules/.bin/ast-grep') async function useTsx(cb = () => {}, action = 'clean') { await $`${sg} scan -c ${config}.yml -U --filter '^setup-sfc start' ${target}` await $`${sg} scan -c ${config}.yml -U --filter '^setup-sfc end' ${target}` From 13c010ce150af3206e4b79059d96cfd15e362451 Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Fri, 1 Dec 2023 16:36:53 +0800 Subject: [PATCH 16/61] chore: release v1.0.5 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8cb0b62..6da7013 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@vue-macros/cli", "type": "module", - "version": "1.0.4", + "version": "1.0.5", "packageManager": "pnpm@8.10.5", "description": "Rewriting at vue macros powered by ast-grep.", "author": "zhiyuanzmj ", From d538c626e214f3873fc24131de8d97f951313e49 Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Fri, 1 Dec 2023 22:11:24 +0800 Subject: [PATCH 17/61] fix(jsx-directive): prevent remove custom block --- src/utils/is-template.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/utils/is-template.yml b/src/utils/is-template.yml index 9308f6c..6a9b217 100644 --- a/src/utils/is-template.yml +++ b/src/utils/is-template.yml @@ -2,6 +2,7 @@ id: is-template language: html rule: kind: element + regex: ^ diff --git a/src/index.ts b/src/index.ts index 3f46c61..290e24a 100755 --- a/src/index.ts +++ b/src/index.ts @@ -96,6 +96,7 @@ async function useTsx(cb = () => {}, action = 'clean') { } if (['jsx-directive', 'setup-sfc'].includes(macro)) { + await $`${sg} scan -c ${config}.yml -U --filter '^self-closing-tag' ${target}` await $`${sg} scan -c ${config}.yml -U --filter '^v-' ${target}` await $`${sg} scan -c ${config}.yml -U --filter '^${macro === 'setup-sfc' ? 'export-render' : render}' ${target}` await useTsx(async () => { diff --git a/src/rules/jsx-directive/v-tag.yml b/src/rules/jsx-directive/v-tag.yml index 884b96f..912cc05 100644 --- a/src/rules/jsx-directive/v-tag.yml +++ b/src/rules/jsx-directive/v-tag.yml @@ -1,4 +1,4 @@ -id: v-self-closing-tag +id: self-closing-tag language: html rule: kind: start_tag From 53c0dc11dbce661a76e2d16a813795b3db9692ac Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Sun, 3 Dec 2023 02:07:34 +0800 Subject: [PATCH 35/61] chore: release v1.0.10 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9b91a84..370bec4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@vue-macros/cli", "type": "module", - "version": "1.0.9", + "version": "1.0.10", "packageManager": "pnpm@8.10.5", "description": "Rewriting at vue macros powered by ast-grep.", "author": "zhiyuanzmj ", From 5cdf88e73a2534ba52e335b5b076c09b78ba0064 Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Sun, 3 Dec 2023 10:42:49 +0800 Subject: [PATCH 36/61] fix(jsx-directive): prevent format style block --- src/rules/setup-sfc.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/rules/setup-sfc.yml b/src/rules/setup-sfc.yml index fa5a25a..b077830 100644 --- a/src/rules/setup-sfc.yml +++ b/src/rules/setup-sfc.yml @@ -22,18 +22,18 @@ fix: |- id: setup-sfc start ignore comment in style language: html rule: - kind: raw_text + kind: style_element pattern: $A - inside: - kind: style_element + has: + kind: raw_text + regex: \*/ transform: B: replace: replace: \*/ by: '*\/' source: $A -fix: |- - $B +fix: $B --- @@ -79,4 +79,4 @@ rule: pattern: $A inside: kind: program -fix: |- +fix: '' From 2c48e4ceb6229fd6fba1588bb004a525c5319aa2 Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Sun, 3 Dec 2023 10:56:58 +0800 Subject: [PATCH 37/61] feat(cli): support --version option --- src/index.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/index.ts b/src/index.ts index 290e24a..463dff9 100755 --- a/src/index.ts +++ b/src/index.ts @@ -19,13 +19,9 @@ ${chalk.underline('Commands:')} ${chalk.underline('Options:')} -h, --help Print help (see more with '--help') - -V, --version Print version + -v, --version Print version `) } -if (argv._[0] !== 'sg' || argv.help || argv.h) { - printHelp() - process.exit() -} const dirname = path.dirname(fileURLToPath(import.meta.url)) if (argv.v || argv.version) { @@ -34,6 +30,11 @@ if (argv.v || argv.version) { process.exit() } +if (argv._[0] !== 'sg' || argv.help || argv.h) { + printHelp() + process.exit() +} + $.verbose = false let macro = await select({ From 990d5018b115ccfb677cd6461d762d9aeeddb11a Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Wed, 6 Dec 2023 00:01:09 +0800 Subject: [PATCH 38/61] feat(cli): add init command --- README.md | 15 ++- build.config.ts | 4 +- eslint.config.js | 1 - package.json | 4 +- playground/nuxt.config.ts | 4 + playground/package.json | 5 +- playground/pnpm-lock.yaml | 62 ++++++----- playground/src/App.vue | 6 +- playground/tsconfig.json | 10 +- playground/vite.config.ts | 14 +-- pnpm-lock.yaml | 75 +++++++------ src/common/constants.ts | 39 +++++++ src/common/general.ts | 4 + src/common/index.ts | 2 + src/index.ts | 100 +++--------------- src/init/index.ts | 57 ++++++++++ src/init/nuxt.ts | 27 +++++ src/init/package.ts | 38 +++++++ src/init/tsconfig.ts | 46 ++++++++ src/init/vite.ts | 68 ++++++++++++ src/sg/index.ts | 97 +++++++++++++++++ src/{ => sg}/rules/define-emits.yml | 0 src/{ => sg}/rules/define-slots.yml | 0 src/{ => sg}/rules/jsx-directive/v-bind.yml | 0 .../rules/jsx-directive/v-directive.yml | 0 src/{ => sg}/rules/jsx-directive/v-on.yml | 0 src/{ => sg}/rules/jsx-directive/v-slot.yml | 0 src/{ => sg}/rules/jsx-directive/v-tag.yml | 0 src/{ => sg}/rules/jsx-directive/v-text.yml | 0 src/{ => sg}/rules/render/define-render.yml | 0 src/{ => sg}/rules/render/export-render.yml | 0 src/{ => sg}/rules/setup-sfc.yml | 0 .../rules/short-vmodel.yml} | 6 +- src/{ => sg}/sgconfig-tsx.yml | 0 src/{ => sg}/sgconfig.yml | 0 src/{ => sg}/utils/is-event.yml | 0 src/{ => sg}/utils/is-fragment.yml | 0 src/{ => sg}/utils/is-script.yml | 0 src/{ => sg}/utils/is-template.yml | 0 39 files changed, 514 insertions(+), 170 deletions(-) create mode 100644 playground/nuxt.config.ts create mode 100644 src/common/constants.ts create mode 100644 src/common/general.ts create mode 100644 src/common/index.ts create mode 100644 src/init/index.ts create mode 100644 src/init/nuxt.ts create mode 100644 src/init/package.ts create mode 100644 src/init/tsconfig.ts create mode 100644 src/init/vite.ts create mode 100644 src/sg/index.ts rename src/{ => sg}/rules/define-emits.yml (100%) rename src/{ => sg}/rules/define-slots.yml (100%) rename src/{ => sg}/rules/jsx-directive/v-bind.yml (100%) rename src/{ => sg}/rules/jsx-directive/v-directive.yml (100%) rename src/{ => sg}/rules/jsx-directive/v-on.yml (100%) rename src/{ => sg}/rules/jsx-directive/v-slot.yml (100%) rename src/{ => sg}/rules/jsx-directive/v-tag.yml (100%) rename src/{ => sg}/rules/jsx-directive/v-text.yml (100%) rename src/{ => sg}/rules/render/define-render.yml (100%) rename src/{ => sg}/rules/render/export-render.yml (100%) rename src/{ => sg}/rules/setup-sfc.yml (100%) rename src/{rules/short-v-model.yml => sg/rules/short-vmodel.yml} (90%) rename src/{ => sg}/sgconfig-tsx.yml (100%) rename src/{ => sg}/sgconfig.yml (100%) rename src/{ => sg}/utils/is-event.yml (100%) rename src/{ => sg}/utils/is-fragment.yml (100%) rename src/{ => sg}/utils/is-script.yml (100%) rename src/{ => sg}/utils/is-template.yml (100%) diff --git a/README.md b/README.md index 96a0bfc..ce210bd 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ - [x] define-render - [x] export-render - [x] define-slots -- [x] short-v-model +- [x] short-vmodel - [x] setup-sfc @@ -19,11 +19,20 @@ pnpm add -g @vue-macros/cli ``` -### sg +### SG ```shell vue-macros sg ``` -## License +### Init +```shell +pnpm create vite my-vue-macros --template vue + +cd my-vue-macros + +vue-macros init +``` + +## Licenase MIT License © 2023-PRESENT [zhiyuanzmj](https://github.com/zhiyuanzmj) diff --git a/build.config.ts b/build.config.ts index 85ae905..9a4ce95 100644 --- a/build.config.ts +++ b/build.config.ts @@ -5,8 +5,8 @@ export default defineBuildConfig({ 'src/index', { builder: 'mkdist', - input: './src', - outDir: './dist', + input: './src/sg', + outDir: './dist/sg', }, ], clean: true, diff --git a/eslint.config.js b/eslint.config.js index 0563e5a..556284b 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -17,6 +17,5 @@ export default antfu( 'yaml/indent': 'off', }, }, - ignores: ['**/playground/**'], }, ) diff --git a/package.json b/package.json index 370bec4..48deeaa 100644 --- a/package.json +++ b/package.json @@ -42,8 +42,10 @@ "prepublishOnly": "pnpm run build" }, "dependencies": { - "@ast-grep/cli": "^0.14.1", + "@antfu/ni": "^0.21.12", + "@ast-grep/cli": "^0.14.2", "@inquirer/prompts": "^3.3.0", + "magicast": "^0.3.2", "pkg-types": "^1.0.3", "zx": "^7.2.3" }, diff --git a/playground/nuxt.config.ts b/playground/nuxt.config.ts new file mode 100644 index 0000000..59e408e --- /dev/null +++ b/playground/nuxt.config.ts @@ -0,0 +1,4 @@ +// @ts-expect-error ignore +export default defineNuxtConfig({ + +}) diff --git a/playground/package.json b/playground/package.json index ece7a8a..1bb809f 100644 --- a/playground/package.json +++ b/playground/package.json @@ -1,7 +1,7 @@ { "type": "module", "scripts": { - "sg": "tsx ../src/index.ts sg ./src", + "sg": "node ../dist/index.mjs", "dev": "vite", "build": "vite build" }, @@ -11,10 +11,11 @@ "devDependencies": { "@vitejs/plugin-vue": "^4.5.0", "@vitejs/plugin-vue-jsx": "^3.1.0", - "unplugin-vue-macros": "^2.7.0", "@vue-macros/volar": "^0.17.4", "@vue/babel-helper-vue-transform-on": "1.2.0-alpha.0", "tsx": "^4.6.1", + "typescript": "^5.3.2", + "unplugin-vue-macros": "^2.7.0", "vite": "^5.0.4" } } diff --git a/playground/pnpm-lock.yaml b/playground/pnpm-lock.yaml index b9a23d7..934cfe1 100644 --- a/playground/pnpm-lock.yaml +++ b/playground/pnpm-lock.yaml @@ -7,7 +7,7 @@ settings: dependencies: vue: specifier: ^3.3.9 - version: 3.3.9 + version: 3.3.9(typescript@5.3.2) devDependencies: '@vitejs/plugin-vue': @@ -18,16 +18,19 @@ devDependencies: version: 3.1.0(vite@5.0.4)(vue@3.3.9) '@vue-macros/volar': specifier: ^0.17.4 - version: 0.17.4(@vue-macros/reactivity-transform@0.4.0)(vue@3.3.9) + version: 0.17.4(@vue-macros/reactivity-transform@0.4.0)(typescript@5.3.2)(vue@3.3.9) '@vue/babel-helper-vue-transform-on': specifier: 1.2.0-alpha.0 version: 1.2.0-alpha.0 tsx: specifier: ^4.6.1 version: 4.6.1 + typescript: + specifier: ^5.3.2 + version: 5.3.2 unplugin-vue-macros: specifier: ^2.7.0 - version: 2.7.0(vite@5.0.4)(vue@3.3.9) + version: 2.7.0(typescript@5.3.2)(vite@5.0.4)(vue@3.3.9) vite: specifier: ^5.0.4 version: 5.0.4 @@ -883,7 +886,7 @@ packages: '@babel/plugin-transform-typescript': 7.23.5(@babel/core@7.23.5) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.5) vite: 5.0.4 - vue: 3.3.9 + vue: 3.3.9(typescript@5.3.2) transitivePeerDependencies: - supports-color dev: true @@ -896,7 +899,7 @@ packages: vue: ^3.2.25 dependencies: vite: 5.0.4 - vue: 3.3.9 + vue: 3.3.9(typescript@5.3.2) dev: true /@volar/language-core@1.10.10: @@ -972,7 +975,7 @@ packages: ast-kit: 0.11.2 local-pkg: 0.5.0 magic-string-ast: 0.3.0 - vue: 3.3.9 + vue: 3.3.9(typescript@5.3.2) transitivePeerDependencies: - rollup dev: true @@ -986,7 +989,7 @@ packages: '@vue-macros/api': 0.9.0(vue@3.3.9) '@vue-macros/common': 1.9.0(vue@3.3.9) unplugin: 1.5.1 - vue: 3.3.9 + vue: 3.3.9(typescript@5.3.2) transitivePeerDependencies: - rollup dev: true @@ -1017,7 +1020,7 @@ packages: '@vue-macros/api': 0.9.0(vue@3.3.9) '@vue-macros/common': 1.9.0(vue@3.3.9) unplugin: 1.5.1 - vue: 3.3.9 + vue: 3.3.9(typescript@5.3.2) transitivePeerDependencies: - rollup dev: true @@ -1030,7 +1033,7 @@ packages: dependencies: '@vue-macros/common': 1.9.0(vue@3.3.9) unplugin: 1.5.1 - vue: 3.3.9 + vue: 3.3.9(typescript@5.3.2) transitivePeerDependencies: - rollup dev: true @@ -1045,7 +1048,7 @@ packages: '@vue-macros/common': 1.9.0(vue@3.3.9) '@vue-macros/reactivity-transform': 0.4.0(vue@3.3.9) unplugin: 1.5.1 - vue: 3.3.9 + vue: 3.3.9(typescript@5.3.2) transitivePeerDependencies: - rollup dev: true @@ -1058,7 +1061,7 @@ packages: dependencies: '@vue-macros/common': 1.9.0(vue@3.3.9) unplugin: 1.5.1 - vue: 3.3.9 + vue: 3.3.9(typescript@5.3.2) transitivePeerDependencies: - rollup dev: true @@ -1071,12 +1074,12 @@ packages: dependencies: '@vue-macros/common': 1.9.0(vue@3.3.9) unplugin: 1.5.1 - vue: 3.3.9 + vue: 3.3.9(typescript@5.3.2) transitivePeerDependencies: - rollup dev: true - /@vue-macros/devtools@0.2.0(vite@5.0.4): + /@vue-macros/devtools@0.2.0(typescript@5.3.2)(vite@5.0.4): resolution: {integrity: sha512-jHjvY1bFgQLe/2+5pBOG4fgmL5MPhsqQDj7Barhj8YN+Oe7U2hBImvfAyOGpqd2uucLOWQTP1cWrp3q9b1svsg==} engines: {node: '>=16.14.0'} peerDependencies: @@ -1087,7 +1090,7 @@ packages: dependencies: sirv: 2.0.3 vite: 5.0.4 - vue: 3.3.9 + vue: 3.3.9(typescript@5.3.2) transitivePeerDependencies: - typescript dev: true @@ -1101,7 +1104,7 @@ packages: '@vue-macros/common': 1.9.0(vue@3.3.9) '@vue/compiler-sfc': 3.3.9 unplugin: 1.5.1 - vue: 3.3.9 + vue: 3.3.9(typescript@5.3.2) transitivePeerDependencies: - rollup dev: true @@ -1114,7 +1117,7 @@ packages: dependencies: '@vue-macros/common': 1.9.0(vue@3.3.9) unplugin: 1.5.1 - vue: 3.3.9 + vue: 3.3.9(typescript@5.3.2) transitivePeerDependencies: - rollup dev: true @@ -1128,7 +1131,7 @@ packages: '@vue-macros/common': 1.9.0(vue@3.3.9) '@vue/compiler-sfc': 3.3.9 unplugin: 1.5.1 - vue: 3.3.9 + vue: 3.3.9(typescript@5.3.2) transitivePeerDependencies: - rollup dev: true @@ -1179,7 +1182,7 @@ packages: '@vue/shared': 3.3.9 magic-string: 0.30.5 unplugin: 1.5.1 - vue: 3.3.9 + vue: 3.3.9(typescript@5.3.2) transitivePeerDependencies: - rollup dev: true @@ -1251,7 +1254,7 @@ packages: - vue dev: true - /@vue-macros/volar@0.17.4(@vue-macros/reactivity-transform@0.4.0)(vue@3.3.9): + /@vue-macros/volar@0.17.4(@vue-macros/reactivity-transform@0.4.0)(typescript@5.3.2)(vue@3.3.9): resolution: {integrity: sha512-bPOp9KPAlm1nxIYPVAKoiKS5ERQMgSROAs6fQdlYv9sE4ZgxKpha3S0ZBCFniXkRwOwGaEfMqGkflo0V1buEfw==} engines: {node: '>=16.14.0'} peerDependencies: @@ -1265,7 +1268,7 @@ packages: '@vue-macros/define-props': 2.0.0(@vue-macros/reactivity-transform@0.4.0)(vue@3.3.9) '@vue-macros/short-bind': 0.2.0(vue@3.3.9) '@vue-macros/short-vmodel': 1.4.0(vue@3.3.9) - '@vue/language-core': 1.8.22 + '@vue/language-core': 1.8.22(typescript@5.3.2) transitivePeerDependencies: - '@vue-macros/reactivity-transform' - rollup @@ -1334,7 +1337,7 @@ packages: '@vue/compiler-dom': 3.3.9 '@vue/shared': 3.3.9 - /@vue/language-core@1.8.22: + /@vue/language-core@1.8.22(typescript@5.3.2): resolution: {integrity: sha512-bsMoJzCrXZqGsxawtUea1cLjUT9dZnDsy5TuZ+l1fxRMzUGQUG9+Ypq4w//CqpWmrx7nIAJpw2JVF/t258miRw==} peerDependencies: typescript: '*' @@ -1349,6 +1352,7 @@ packages: computeds: 0.0.1 minimatch: 9.0.3 muggle-string: 0.3.1 + typescript: 5.3.2 vue-template-compiler: 2.7.15 dev: true @@ -1386,7 +1390,7 @@ packages: dependencies: '@vue/compiler-ssr': 3.3.9 '@vue/shared': 3.3.9 - vue: 3.3.9 + vue: 3.3.9(typescript@5.3.2) /@vue/shared@3.3.9: resolution: {integrity: sha512-ZE0VTIR0LmYgeyhurPTpy4KzKsuDyQbMSdM49eKkMnT5X4VfFBLysMzjIZhLEFQYjjOVVfbvUDHckwjDFiO2eA==} @@ -1911,6 +1915,11 @@ packages: fsevents: 2.3.3 dev: true + /typescript@5.3.2: + resolution: {integrity: sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==} + engines: {node: '>=14.17'} + hasBin: true + /ufo@1.3.2: resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==} dev: true @@ -1950,7 +1959,7 @@ packages: - vue dev: true - /unplugin-vue-macros@2.7.0(vite@5.0.4)(vue@3.3.9): + /unplugin-vue-macros@2.7.0(typescript@5.3.2)(vite@5.0.4)(vue@3.3.9): resolution: {integrity: sha512-SztF4ARBbrd1yuH4FbJOhp22rTvzakjzJUHTKLRQkZY1KMkIzx/KAdzEkxjAG2Xteqb29SYrc7XcoPdrUPMCCw==} engines: {node: '>=16.14.0'} peerDependencies: @@ -1967,7 +1976,7 @@ packages: '@vue-macros/define-props-refs': 1.2.0(vue@3.3.9) '@vue-macros/define-render': 1.5.0(vue@3.3.9) '@vue-macros/define-slots': 1.1.0(vue@3.3.9) - '@vue-macros/devtools': 0.2.0(vite@5.0.4) + '@vue-macros/devtools': 0.2.0(typescript@5.3.2)(vite@5.0.4) '@vue-macros/export-expose': 0.1.0(vue@3.3.9) '@vue-macros/export-props': 0.4.0(vue@3.3.9) '@vue-macros/export-render': 0.2.0(vue@3.3.9) @@ -1984,7 +1993,7 @@ packages: unplugin: 1.5.1 unplugin-combine: 0.8.1(vite@5.0.4) unplugin-vue-define-options: 1.4.0(vue@3.3.9) - vue: 3.3.9 + vue: 3.3.9(typescript@5.3.2) transitivePeerDependencies: - '@vueuse/core' - esbuild @@ -2056,7 +2065,7 @@ packages: he: 1.2.0 dev: true - /vue@3.3.9: + /vue@3.3.9(typescript@5.3.2): resolution: {integrity: sha512-sy5sLCTR8m6tvUk1/ijri3Yqzgpdsmxgj6n6yl7GXXCXqVbmW2RCXe9atE4cEI6Iv7L89v5f35fZRRr5dChP9w==} peerDependencies: typescript: '*' @@ -2069,6 +2078,7 @@ packages: '@vue/runtime-dom': 3.3.9 '@vue/server-renderer': 3.3.9(vue@3.3.9) '@vue/shared': 3.3.9 + typescript: 5.3.2 /webpack-sources@3.2.3: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} diff --git a/playground/src/App.vue b/playground/src/App.vue index 8b97cc4..dbb5afc 100644 --- a/playground/src/App.vue +++ b/playground/src/App.vue @@ -1,5 +1,5 @@ diff --git a/src/init/package.ts b/src/init/package.ts index 9f17883..0c0d428 100644 --- a/src/init/package.ts +++ b/src/init/package.ts @@ -21,7 +21,7 @@ export async function rewritePackage(macros: VueMacros, target: string) { && !packageJson.optionalDependencies?.[dep], ) - if (devDeps) + if (devDeps.length) return $`${ni} ${devDeps} -D` } diff --git a/src/sg/rules/setup-sfc.yml b/src/sg/rules/setup-sfc.yml index b077830..7b4b551 100644 --- a/src/sg/rules/setup-sfc.yml +++ b/src/sg/rules/setup-sfc.yml @@ -80,3 +80,59 @@ rule: inside: kind: program fix: '' + +--- + +id: setup-sfc delete .vue suffix in ts +language: ts +rule: + kind: string_fragment + regex: \.vue$ + pattern: $A + any: + - inside: + kind: string + inside: + kind: import_statement + - inside: + kind: string + inside: + kind: arguments + follows: + kind: import + stopBy: end +transform: + B: + replace: + replace: vue$ + by: setup.tsx + source: $A +fix: $B + +--- + +id: setup-sfc delete .vue suffix in tsx +language: tsx +rule: + kind: string_fragment + regex: \.vue$ + pattern: $A + any: + - inside: + kind: string + inside: + kind: import_statement + - inside: + kind: string + inside: + kind: arguments + follows: + kind: import + stopBy: end +transform: + B: + replace: + replace: vue$ + by: setup.tsx + source: $A +fix: $B From a2559c1167891faf0a87df805e19da609566b9a8 Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Wed, 6 Dec 2023 17:33:23 +0800 Subject: [PATCH 42/61] feat(sg): support single file --- src/init/tsconfig.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/init/tsconfig.ts b/src/init/tsconfig.ts index 1c2cacf..deb3b2e 100644 --- a/src/init/tsconfig.ts +++ b/src/init/tsconfig.ts @@ -1,13 +1,16 @@ import type { TSConfig } from 'pkg-types' import { readTSConfig, writeTSConfig } from 'pkg-types' +import { fs } from 'zx' import type { VueMacros } from '../common' import { vueMacros } from '../common' export async function rewriteTsConfig(selectedMacros: VueMacros, target: string) { - const tsconfig = await readTSConfig(target) as TSConfig & { vueCompilerOptions?: any } - if (!tsconfig) + const filename = `${target}/nuxt.config.ts` + if (!await fs.pathExists(filename)) return + const tsconfig = await readTSConfig(target) as TSConfig & { vueCompilerOptions?: any } + const macros = vueMacros.reduce((result, macro) => { if (macro.volar) { if (['stable', 'official'].includes(macro.status)) From c1cacf6839b17092319f584289276c4cf51e85f5 Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Wed, 6 Dec 2023 21:27:21 +0800 Subject: [PATCH 43/61] docs: up readme --- README.md | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index dacd8ac..82c0aab 100644 --- a/README.md +++ b/README.md @@ -2,37 +2,39 @@ @vue-macros/cli is a CLI for rewriting at Vue Macros powered by [ast-grep](https://github.com/ast-grep/ast-grep). -## Support vue macros - -- [x] jsx-directive -- [x] define-render -- [x] export-render -- [x] define-slots -- [x] short-vmodel -- [x] setup-sfc - - -## Usage - +## Installation ```shell # install pnpm add -g @vue-macros/cli ``` +## Usage + ### SG + +Rewriting at Vue Macros. + ```shell vue-macros sg ``` -### Init +supported vue macros: + +- [x] jsx-directive +- [x] define-render +- [x] export-render +- [x] define-slots +- [x] short-vmodel +- [x] setup-sfc + +### Initialization + ```shell pnpm create vite my-vue-macros --template vue-ts - cd my-vue-macros - vue-macros init ``` -## Licenase +## License MIT License © 2023-PRESENT [zhiyuanzmj](https://github.com/zhiyuanzmj) From 8fb12776b639deda1b8fbf128e1598102e860e62 Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Wed, 6 Dec 2023 21:27:40 +0800 Subject: [PATCH 44/61] chore: release v1.1.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 83300b4..ea6db2c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@vue-macros/cli", "type": "module", - "version": "1.1.0", + "version": "1.1.1", "packageManager": "pnpm@8.10.5", "description": "Rewriting at vue macros powered by ast-grep.", "author": "zhiyuanzmj ", From 06f7e3697336842bb0eda5bd7733c5cc29dcfd62 Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Thu, 7 Dec 2023 17:15:08 +0800 Subject: [PATCH 45/61] fix(define-slots): convert to slot.default if no attribute --- README.md | 2 +- package.json | 5 + pnpm-lock.yaml | 754 ++++++++++++++++++++++++++++++++++ src/sg/rules/define-slots.yml | 1 - 4 files changed, 760 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 82c0aab..7a444cf 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ Rewriting at Vue Macros. vue-macros sg ``` -supported vue macros: +supported macros: - [x] jsx-directive - [x] define-render diff --git a/package.json b/package.json index ea6db2c..b3b4dd4 100644 --- a/package.json +++ b/package.json @@ -51,10 +51,15 @@ }, "devDependencies": { "@antfu/eslint-config": "^2.1.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue-macros/volar": "^0.17.4", + "@vue/babel-helper-vue-transform-on": "1.2.0-alpha.0", "bumpp": "^9.2.0", "typescript": "^5.3.2", "unbuild": "^2.0.0", "unocss": "^0.57.7", + "unplugin-vue-macros": "^2.7.0", "vitest": "^0.34.6" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5e5c6c5..07dc605 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -28,6 +28,18 @@ devDependencies: '@antfu/eslint-config': specifier: ^2.1.2 version: 2.1.2(eslint@8.54.0)(typescript@5.3.2)(vitest@0.34.6) + '@vitejs/plugin-vue': + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.4)(vue@3.3.10) + '@vitejs/plugin-vue-jsx': + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.4)(vue@3.3.10) + '@vue-macros/volar': + specifier: ^0.17.4 + version: 0.17.4(@vue-macros/reactivity-transform@0.4.0)(rollup@3.29.4)(typescript@5.3.2)(vue@3.3.10) + '@vue/babel-helper-vue-transform-on': + specifier: 1.2.0-alpha.0 + version: 1.2.0-alpha.0 bumpp: specifier: ^9.2.0 version: 9.2.0 @@ -40,6 +52,9 @@ devDependencies: unocss: specifier: ^0.57.7 version: 0.57.7(postcss@8.4.31)(rollup@3.29.4)(vite@5.0.4) + unplugin-vue-macros: + specifier: ^2.7.0 + version: 2.7.0(rollup@3.29.4)(typescript@5.3.2)(vite@5.0.4)(vue@3.3.10) vitest: specifier: ^0.34.6 version: 0.34.6 @@ -1712,6 +1727,33 @@ packages: - rollup dev: true + /@vitejs/plugin-vue-jsx@3.1.0(vite@5.0.4)(vue@3.3.10): + resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.0.0 || ^5.0.0 + vue: ^3.0.0 + dependencies: + '@babel/core': 7.23.5 + '@babel/plugin-transform-typescript': 7.23.5(@babel/core@7.23.5) + '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.5) + vite: 5.0.4(@types/node@20.10.1) + vue: 3.3.10(typescript@5.3.2) + transitivePeerDependencies: + - supports-color + dev: true + + /@vitejs/plugin-vue@4.5.1(vite@5.0.4)(vue@3.3.10): + resolution: {integrity: sha512-DaUzYFr+2UGDG7VSSdShKa9sIWYBa1LL8KC0MNOf2H5LjcTPjob0x8LbkqXWmAtbANJCkpiQTj66UVcQkN2s3g==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.0.0 || ^5.0.0 + vue: ^3.2.25 + dependencies: + vite: 5.0.4(@types/node@20.10.1) + vue: 3.3.10(typescript@5.3.2) + dev: true + /@vitest/expect@0.34.6: resolution: {integrity: sha512-QUzKpUQRc1qC7qdGo7rMK3AkETI7w18gTCUrsNnyjjJKYiuUB9+TQK3QnR1unhCnWRC0AbKv2omLGQDF/mIjOw==} dependencies: @@ -1750,6 +1792,509 @@ packages: pretty-format: 29.7.0 dev: true + /@volar/language-core@1.10.10: + resolution: {integrity: sha512-nsV1o3AZ5n5jaEAObrS3MWLBWaGwUj/vAsc15FVNIv+DbpizQRISg9wzygsHBr56ELRH8r4K75vkYNMtsSNNWw==} + dependencies: + '@volar/source-map': 1.10.10 + dev: true + + /@volar/source-map@1.10.10: + resolution: {integrity: sha512-GVKjLnifV4voJ9F0vhP56p4+F3WGf+gXlRtjFZsv6v3WxBTWU3ZVeaRaEHJmWrcv5LXmoYYpk/SC25BKemPRkg==} + dependencies: + muggle-string: 0.3.1 + dev: true + + /@vue-macros/api@0.9.0(rollup@3.29.4)(vue@3.3.10): + resolution: {integrity: sha512-PYV/yhoOh1F5z0mFg0/A8OhuwmDI/ta+XwYkNZYyuA9QZ1jMWZFOA0ZdUAjTCHG6AdVFbkajR+XyxTNnQ+YytQ==} + engines: {node: '>=16.14.0'} + dependencies: + '@babel/types': 7.23.5 + '@vue-macros/common': 1.9.0(rollup@3.29.4)(vue@3.3.10) + resolve.exports: 2.0.2 + transitivePeerDependencies: + - rollup + - vue + dev: true + + /@vue-macros/better-define@1.7.0(rollup@3.29.4)(vue@3.3.10): + resolution: {integrity: sha512-MO+wAWFU8FF8YPMCmonv18FRJko7OZLy2wT7ia0RKwDCgu7IEKnSbLIfnUNwUsceVAPGOrVapDiIcQ+VVMJoiw==} + engines: {node: '>=16.14.0'} + dependencies: + '@vue-macros/api': 0.9.0(rollup@3.29.4)(vue@3.3.10) + '@vue-macros/common': 1.9.0(rollup@3.29.4)(vue@3.3.10) + unplugin: 1.5.1 + transitivePeerDependencies: + - rollup + - vue + dev: true + + /@vue-macros/boolean-prop@0.3.0(rollup@3.29.4)(vue@3.3.10): + resolution: {integrity: sha512-QhG3FgusmtQ0dIvrs8SsgBUg0micfYdXmNJo1YPh+VykHwPcmw4kuTBSJsbzMM09I+62vgKi6FTYt3nZ74DBIA==} + engines: {node: '>=16.14.0'} + dependencies: + '@vue-macros/common': 1.9.0(rollup@3.29.4)(vue@3.3.10) + '@vue/compiler-core': 3.3.10 + transitivePeerDependencies: + - rollup + - vue + dev: true + + /@vue-macros/chain-call@0.2.0(rollup@3.29.4)(vue@3.3.10): + resolution: {integrity: sha512-0fC6mxYSJfU3hHrRwgLho9rZSgkIAZo0OKIWW7ZyrAlyNhZtq+8c7sq59samPFdZpYcwTfOBUcK5YuC3pjT9VQ==} + engines: {node: '>=16.14.0'} + dependencies: + '@vue-macros/common': 1.9.0(rollup@3.29.4)(vue@3.3.10) + unplugin: 1.5.1 + transitivePeerDependencies: + - rollup + - vue + dev: true + + /@vue-macros/common@1.9.0(rollup@3.29.4)(vue@3.3.10): + resolution: {integrity: sha512-LbfRHDkceuokkLlVuQW9Wq3ZLmRs6KIDPzCjUvvL14HB4GslWdtvBB1suFfNs6VMvh9Zj30cEKF/EAP7QBCZ6Q==} + engines: {node: '>=16.14.0'} + peerDependencies: + vue: ^2.7.0 || ^3.2.25 + peerDependenciesMeta: + vue: + optional: true + dependencies: + '@babel/types': 7.23.5 + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + '@vue/compiler-sfc': 3.3.10 + ast-kit: 0.11.3(rollup@3.29.4) + local-pkg: 0.5.0 + magic-string-ast: 0.3.0 + vue: 3.3.10(typescript@5.3.2) + transitivePeerDependencies: + - rollup + dev: true + + /@vue-macros/define-emit@0.2.0(rollup@3.29.4)(vue@3.3.10): + resolution: {integrity: sha512-h0BuYXD+3FcCjlWeCNp06n4wZfExrnl8rBs6KUTjGXwVglxjI6RHJT2kfK+p3TJpPCwvNct+iBS6CYA1w5eTfQ==} + engines: {node: '>=16.14.0'} + peerDependencies: + vue: ^2.7.0 || ^3.2.25 + dependencies: + '@vue-macros/api': 0.9.0(rollup@3.29.4)(vue@3.3.10) + '@vue-macros/common': 1.9.0(rollup@3.29.4)(vue@3.3.10) + unplugin: 1.5.1 + vue: 3.3.10(typescript@5.3.2) + transitivePeerDependencies: + - rollup + dev: true + + /@vue-macros/define-models@1.2.0(rollup@3.29.4)(vue@3.3.10): + resolution: {integrity: sha512-h4drdveUgNYxy+6tylFg/oGIStT7dZ4uo4CMXl5VkLzso78Yhsxqdz00ccm6gaAB9jdDCry2RGqL5ACEyDmLZA==} + engines: {node: '>=16.14.0'} + peerDependencies: + '@vueuse/core': '>=9.0.0' + peerDependenciesMeta: + '@vueuse/core': + optional: true + dependencies: + '@vue-macros/common': 1.9.0(rollup@3.29.4)(vue@3.3.10) + ast-walker-scope: 0.5.0(rollup@3.29.4) + unplugin: 1.5.1 + transitivePeerDependencies: + - rollup + - vue + dev: true + + /@vue-macros/define-prop@0.3.0(rollup@3.29.4)(vue@3.3.10): + resolution: {integrity: sha512-aiu+tJp8eIT2wigzbP5lH0KoZhyTqiw2rysEVEK193logk6T8Fls5Yxf8YmOetrzpwOp6M4RciACGyiILLrsug==} + engines: {node: '>=16.14.0'} + peerDependencies: + vue: ^2.7.0 || ^3.2.25 + dependencies: + '@vue-macros/api': 0.9.0(rollup@3.29.4)(vue@3.3.10) + '@vue-macros/common': 1.9.0(rollup@3.29.4)(vue@3.3.10) + unplugin: 1.5.1 + vue: 3.3.10(typescript@5.3.2) + transitivePeerDependencies: + - rollup + dev: true + + /@vue-macros/define-props-refs@1.2.0(rollup@3.29.4)(vue@3.3.10): + resolution: {integrity: sha512-ZWA9raSedk+eRfailc9gkyA4PHJrMGDg/tzV/yp89dDNVTzp9M1qQdLTV9S6R0ern/48ZvSYcz4n8ZVNwHg+Aw==} + engines: {node: '>=16.14.0'} + peerDependencies: + vue: ^2.7.0 || ^3.2.25 + dependencies: + '@vue-macros/common': 1.9.0(rollup@3.29.4)(vue@3.3.10) + unplugin: 1.5.1 + vue: 3.3.10(typescript@5.3.2) + transitivePeerDependencies: + - rollup + dev: true + + /@vue-macros/define-props@2.0.0(@vue-macros/reactivity-transform@0.4.0)(rollup@3.29.4)(vue@3.3.10): + resolution: {integrity: sha512-OYdw4Bz12FDUHbHL5Ql5T5rO0V0laITbEyKGTvYwpeBim4oyTx+EodIx+edvgquLHtMYPabwRKJ6v9XoTlxc0g==} + engines: {node: '>=16.14.0'} + peerDependencies: + '@vue-macros/reactivity-transform': ^0.4.0 + vue: ^2.7.0 || ^3.2.25 + dependencies: + '@vue-macros/common': 1.9.0(rollup@3.29.4)(vue@3.3.10) + '@vue-macros/reactivity-transform': 0.4.0(rollup@3.29.4)(vue@3.3.10) + unplugin: 1.5.1 + vue: 3.3.10(typescript@5.3.2) + transitivePeerDependencies: + - rollup + dev: true + + /@vue-macros/define-render@1.5.0(rollup@3.29.4)(vue@3.3.10): + resolution: {integrity: sha512-QgScJaWRkZ6iYwm8k0uVlhPCfdGJYkMbkLr8Pr/pTRrjmXl3W+f7ZRbBDPKl4GBxVdJ+pHWjP0NsYuPb1dUXtw==} + engines: {node: '>=16.14.0'} + peerDependencies: + vue: ^2.7.0 || ^3.0.0 + dependencies: + '@vue-macros/common': 1.9.0(rollup@3.29.4)(vue@3.3.10) + unplugin: 1.5.1 + vue: 3.3.10(typescript@5.3.2) + transitivePeerDependencies: + - rollup + dev: true + + /@vue-macros/define-slots@1.1.0(rollup@3.29.4)(vue@3.3.10): + resolution: {integrity: sha512-vkIxGrFhqdd8fvEuIGaIVw3ex0TB8MZFzGH5digCPOxBsBEeNNlTlwS3D63Qd5mCDpVsZy9xkuv159T9GS1DIg==} + engines: {node: '>=16.14.0'} + peerDependencies: + vue: ^2.7.0 || ^3.0.0 + dependencies: + '@vue-macros/common': 1.9.0(rollup@3.29.4)(vue@3.3.10) + unplugin: 1.5.1 + vue: 3.3.10(typescript@5.3.2) + transitivePeerDependencies: + - rollup + dev: true + + /@vue-macros/devtools@0.2.0(typescript@5.3.2)(vite@5.0.4): + resolution: {integrity: sha512-jHjvY1bFgQLe/2+5pBOG4fgmL5MPhsqQDj7Barhj8YN+Oe7U2hBImvfAyOGpqd2uucLOWQTP1cWrp3q9b1svsg==} + engines: {node: '>=16.14.0'} + peerDependencies: + vite: ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + vite: + optional: true + dependencies: + sirv: 2.0.3 + vite: 5.0.4(@types/node@20.10.1) + vue: 3.3.10(typescript@5.3.2) + transitivePeerDependencies: + - typescript + dev: true + + /@vue-macros/export-expose@0.1.0(rollup@3.29.4)(vue@3.3.10): + resolution: {integrity: sha512-R1izR6LHS6yjJKI7IPDCwW385ct4KjQJVXz6jk6sL6Wk+iZbybDiGzzzK/jqpMlyzDvX0qVZ8vjACm1lidvLzA==} + engines: {node: '>=16.14.0'} + peerDependencies: + vue: ^2.7.0 || ^3.2.25 + dependencies: + '@vue-macros/common': 1.9.0(rollup@3.29.4)(vue@3.3.10) + '@vue/compiler-sfc': 3.3.10 + unplugin: 1.5.1 + vue: 3.3.10(typescript@5.3.2) + transitivePeerDependencies: + - rollup + dev: true + + /@vue-macros/export-props@0.4.0(rollup@3.29.4)(vue@3.3.10): + resolution: {integrity: sha512-XjDmw+OCxWOR4OPARH5aosvrarCk/TF7szE3ynx4UXfhCWS7lPJpLHwYkF/pfbx6FAFDUO81Drrey2BlhzTLvA==} + engines: {node: '>=16.14.0'} + peerDependencies: + vue: ^2.7.0 || ^3.2.25 + dependencies: + '@vue-macros/common': 1.9.0(rollup@3.29.4)(vue@3.3.10) + unplugin: 1.5.1 + vue: 3.3.10(typescript@5.3.2) + transitivePeerDependencies: + - rollup + dev: true + + /@vue-macros/export-render@0.2.0(rollup@3.29.4)(vue@3.3.10): + resolution: {integrity: sha512-kmh6drhExv3r42DPGHo1UOtEX2pw2G5CTHvHg0FQiQAMltWd11C0/LXYRR/Zorh9EoMVMAObRnw5HrcdIoQEPA==} + engines: {node: '>=16.14.0'} + peerDependencies: + vue: ^2.7.0 || ^3.2.25 + dependencies: + '@vue-macros/common': 1.9.0(rollup@3.29.4)(vue@3.3.10) + '@vue/compiler-sfc': 3.3.10 + unplugin: 1.5.1 + vue: 3.3.10(typescript@5.3.2) + transitivePeerDependencies: + - rollup + dev: true + + /@vue-macros/hoist-static@1.5.0(rollup@3.29.4)(vue@3.3.10): + resolution: {integrity: sha512-ZhPOrnBftGmot+tLrf2db3C2LFP6hvHTOlO2tvD4r9FdhGS+ZNwKYvAiYYxH8Yevs6ZdgffAz+Gpz02QHggKuw==} + engines: {node: '>=16.14.0'} + dependencies: + '@vue-macros/common': 1.9.0(rollup@3.29.4)(vue@3.3.10) + unplugin: 1.5.1 + transitivePeerDependencies: + - rollup + - vue + dev: true + + /@vue-macros/jsx-directive@0.7.0(rollup@3.29.4)(vue@3.3.10): + resolution: {integrity: sha512-OSS7ZnwQueUkEYcjoe4VAeJLp+kkFa0l5mm4fkPQs9zK1uq4D+kCw+Hhg9OyrKNdiWpNutdUHgolJPNsqXUp7A==} + engines: {node: '>=16.14.0'} + dependencies: + '@vue-macros/common': 1.9.0(rollup@3.29.4)(vue@3.3.10) + unplugin: 1.5.1 + transitivePeerDependencies: + - rollup + - vue + dev: true + + /@vue-macros/named-template@0.4.0(rollup@3.29.4)(vue@3.3.10): + resolution: {integrity: sha512-dItF6N/WMWH0INQ5XqZ2SsFo5pZ+Q0muOWfTpi52GaeD96+N02yYUdT+wsZOdNu0VvLh/QuHxmDRCiiROmpL0Q==} + engines: {node: '>=16.14.0'} + dependencies: + '@vue-macros/common': 1.9.0(rollup@3.29.4)(vue@3.3.10) + '@vue/compiler-dom': 3.3.10 + unplugin: 1.5.1 + transitivePeerDependencies: + - rollup + - vue + dev: true + + /@vue-macros/reactivity-transform@0.4.0(rollup@3.29.4)(vue@3.3.10): + resolution: {integrity: sha512-3DG+FWkIZe5xZJhIdxyieIYcDKJGC3aUab1JWtEOkS8Q21rLpu6VKUjV6TmB5LNyLSGVp+7de/87Ptd6C6RHOA==} + engines: {node: '>=16.14.0'} + peerDependencies: + vue: ^2.7.0 || ^3.2.25 + dependencies: + '@babel/parser': 7.23.5 + '@vue-macros/common': 1.9.0(rollup@3.29.4)(vue@3.3.10) + '@vue/compiler-core': 3.3.10 + '@vue/shared': 3.3.10 + magic-string: 0.30.5 + unplugin: 1.5.1 + vue: 3.3.10(typescript@5.3.2) + transitivePeerDependencies: + - rollup + dev: true + + /@vue-macros/setup-block@0.3.0(rollup@3.29.4)(vue@3.3.10): + resolution: {integrity: sha512-URaruhrjrMnSAWt+elPblfqOUhL1y7uZKFzrfgPlr/uuyQGDsmxK/ZEw5gMY77rrJwcEqNfHDkNR8BV27gp/3w==} + engines: {node: '>=16.14.0'} + dependencies: + '@vue-macros/common': 1.9.0(rollup@3.29.4)(vue@3.3.10) + '@vue/compiler-dom': 3.3.10 + unplugin: 1.5.1 + transitivePeerDependencies: + - rollup + - vue + dev: true + + /@vue-macros/setup-component@0.17.0(rollup@3.29.4)(vue@3.3.10): + resolution: {integrity: sha512-s/jwPQ+lGp3O0kgCFtPkH2+kvLtCLJ04iP+gTQwRXpgXDuQ6UlRdBday5wuhV32cq8C2oLHmKwSvYX/8N7WkRg==} + engines: {node: '>=16.14.0'} + dependencies: + '@vue-macros/common': 1.9.0(rollup@3.29.4)(vue@3.3.10) + unplugin: 1.5.1 + transitivePeerDependencies: + - rollup + - vue + dev: true + + /@vue-macros/setup-sfc@0.17.0(rollup@3.29.4)(vue@3.3.10): + resolution: {integrity: sha512-4cCoEl+tzEuJtHg4q6MlTLyM1M/xf+CC+d12QaCGbUgALfUAIa85sB8XnnPgxxu2A6MpD+4uE+6BrJHBOXIiVw==} + engines: {node: '>=16.14.0'} + dependencies: + '@vue-macros/common': 1.9.0(rollup@3.29.4)(vue@3.3.10) + unplugin: 1.5.1 + transitivePeerDependencies: + - rollup + - vue + dev: true + + /@vue-macros/short-bind@0.2.0(rollup@3.29.4)(vue@3.3.10): + resolution: {integrity: sha512-1cHCWaysLvrX4Oms+yAEhYjdxP0lfblC6JSlHZ0wzKVnsJ6DAWVaopp1H2kt3uJmWPr8C5iOYO7HRmRxd4JkrQ==} + engines: {node: '>=16.14.0'} + dependencies: + '@vue-macros/common': 1.9.0(rollup@3.29.4)(vue@3.3.10) + '@vue/compiler-core': 3.3.10 + transitivePeerDependencies: + - rollup + - vue + dev: true + + /@vue-macros/short-emits@1.5.0(rollup@3.29.4)(vue@3.3.10): + resolution: {integrity: sha512-R3ycVQwlnq9XXTSIOJDjdZ3Gbp6EcRwabLUrJcWUEEzqNZds8lP4br7jwPnA0KDCvXdEbjCQqqpzmosLPQuung==} + engines: {node: '>=16.14.0'} + dependencies: + '@vue-macros/common': 1.9.0(rollup@3.29.4)(vue@3.3.10) + unplugin: 1.5.1 + transitivePeerDependencies: + - rollup + - vue + dev: true + + /@vue-macros/short-vmodel@1.4.0(rollup@3.29.4)(vue@3.3.10): + resolution: {integrity: sha512-0rlL+GfDbbA4FGk90a5uPIkZmYSW4Asmh/r0KHZsqhKmyKxJf9eow7/CYGjvsnDKr+hk+pnq/CUSLkUnn+ey2g==} + engines: {node: '>=16.14.0'} + dependencies: + '@vue-macros/common': 1.9.0(rollup@3.29.4)(vue@3.3.10) + '@vue/compiler-core': 3.3.10 + transitivePeerDependencies: + - rollup + - vue + dev: true + + /@vue-macros/volar@0.17.4(@vue-macros/reactivity-transform@0.4.0)(rollup@3.29.4)(typescript@5.3.2)(vue@3.3.10): + resolution: {integrity: sha512-bPOp9KPAlm1nxIYPVAKoiKS5ERQMgSROAs6fQdlYv9sE4ZgxKpha3S0ZBCFniXkRwOwGaEfMqGkflo0V1buEfw==} + engines: {node: '>=16.14.0'} + peerDependencies: + vue-tsc: ^1.6.0 + peerDependenciesMeta: + vue-tsc: + optional: true + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + '@vue-macros/common': 1.9.0(rollup@3.29.4)(vue@3.3.10) + '@vue-macros/define-props': 2.0.0(@vue-macros/reactivity-transform@0.4.0)(rollup@3.29.4)(vue@3.3.10) + '@vue-macros/short-bind': 0.2.0(rollup@3.29.4)(vue@3.3.10) + '@vue-macros/short-vmodel': 1.4.0(rollup@3.29.4)(vue@3.3.10) + '@vue/language-core': 1.8.22(typescript@5.3.2) + transitivePeerDependencies: + - '@vue-macros/reactivity-transform' + - rollup + - typescript + - vue + dev: true + + /@vue/babel-helper-vue-transform-on@1.1.5: + resolution: {integrity: sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==} + dev: true + + /@vue/babel-helper-vue-transform-on@1.2.0-alpha.0: + resolution: {integrity: sha512-8oelfDzzYre1XGykAGOYc8sSIL8ToDkWMG5awjN+tain/1XSu4KMyBYYESnEMqhyyo8pfMbgBXcQW5nRDrm61A==} + dev: true + + /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.23.5): + resolution: {integrity: sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.5 + '@babel/helper-module-imports': 7.22.15 + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.5) + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.5 + '@babel/types': 7.23.5 + '@vue/babel-helper-vue-transform-on': 1.1.5 + camelcase: 6.3.0 + html-tags: 3.3.1 + svg-tags: 1.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@vue/compiler-core@3.3.10: + resolution: {integrity: sha512-doe0hODR1+i1menPkRzJ5MNR6G+9uiZHIknK3Zn5OcIztu6GGw7u0XUzf3AgB8h/dfsZC9eouzoLo3c3+N/cVA==} + dependencies: + '@babel/parser': 7.23.5 + '@vue/shared': 3.3.10 + estree-walker: 2.0.2 + source-map-js: 1.0.2 + dev: true + + /@vue/compiler-dom@3.3.10: + resolution: {integrity: sha512-NCrqF5fm10GXZIK0GrEAauBqdy+F2LZRt3yNHzrYjpYBuRssQbuPLtSnSNjyR9luHKkWSH8we5LMB3g+4z2HvA==} + dependencies: + '@vue/compiler-core': 3.3.10 + '@vue/shared': 3.3.10 + dev: true + + /@vue/compiler-sfc@3.3.10: + resolution: {integrity: sha512-xpcTe7Rw7QefOTRFFTlcfzozccvjM40dT45JtrE3onGm/jBLZ0JhpKu3jkV7rbDFLeeagR/5RlJ2Y9SvyS0lAg==} + dependencies: + '@babel/parser': 7.23.5 + '@vue/compiler-core': 3.3.10 + '@vue/compiler-dom': 3.3.10 + '@vue/compiler-ssr': 3.3.10 + '@vue/reactivity-transform': 3.3.10 + '@vue/shared': 3.3.10 + estree-walker: 2.0.2 + magic-string: 0.30.5 + postcss: 8.4.32 + source-map-js: 1.0.2 + dev: true + + /@vue/compiler-ssr@3.3.10: + resolution: {integrity: sha512-12iM4jA4GEbskwXMmPcskK5wImc2ohKm408+o9iox3tfN9qua8xL0THIZtoe9OJHnXP4eOWZpgCAAThEveNlqQ==} + dependencies: + '@vue/compiler-dom': 3.3.10 + '@vue/shared': 3.3.10 + dev: true + + /@vue/language-core@1.8.22(typescript@5.3.2): + resolution: {integrity: sha512-bsMoJzCrXZqGsxawtUea1cLjUT9dZnDsy5TuZ+l1fxRMzUGQUG9+Ypq4w//CqpWmrx7nIAJpw2JVF/t258miRw==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@volar/language-core': 1.10.10 + '@volar/source-map': 1.10.10 + '@vue/compiler-dom': 3.3.10 + '@vue/shared': 3.3.10 + computeds: 0.0.1 + minimatch: 9.0.3 + muggle-string: 0.3.1 + typescript: 5.3.2 + vue-template-compiler: 2.7.15 + dev: true + + /@vue/reactivity-transform@3.3.10: + resolution: {integrity: sha512-0xBdk+CKHWT+Gev8oZ63Tc0qFfj935YZx+UAynlutnrDZ4diFCVFMWixn65HzjE3S1iJppWOo6Tt1OzASH7VEg==} + dependencies: + '@babel/parser': 7.23.5 + '@vue/compiler-core': 3.3.10 + '@vue/shared': 3.3.10 + estree-walker: 2.0.2 + magic-string: 0.30.5 + dev: true + + /@vue/reactivity@3.3.10: + resolution: {integrity: sha512-H5Z7rOY/JLO+e5a6/FEXaQ1TMuOvY4LDVgT+/+HKubEAgs9qeeZ+NhADSeEtrNQeiKLDuzeKc8v0CUFpB6Pqgw==} + dependencies: + '@vue/shared': 3.3.10 + dev: true + + /@vue/runtime-core@3.3.10: + resolution: {integrity: sha512-DZ0v31oTN4YHX9JEU5VW1LoIVgFovWgIVb30bWn9DG9a7oA415idcwsRNNajqTx8HQJyOaWfRKoyuP2P2TYIag==} + dependencies: + '@vue/reactivity': 3.3.10 + '@vue/shared': 3.3.10 + dev: true + + /@vue/runtime-dom@3.3.10: + resolution: {integrity: sha512-c/jKb3ny05KJcYk0j1m7Wbhrxq7mZYr06GhKykDMNRRR9S+/dGT8KpHuNQjv3/8U4JshfkAk6TpecPD3B21Ijw==} + dependencies: + '@vue/runtime-core': 3.3.10 + '@vue/shared': 3.3.10 + csstype: 3.1.2 + dev: true + + /@vue/server-renderer@3.3.10(vue@3.3.10): + resolution: {integrity: sha512-0i6ww3sBV3SKlF3YTjSVqKQ74xialMbjVYGy7cOTi7Imd8ediE7t72SK3qnvhrTAhOvlQhq6Bk6nFPdXxe0sAg==} + peerDependencies: + vue: 3.3.10 + dependencies: + '@vue/compiler-ssr': 3.3.10 + '@vue/shared': 3.3.10 + vue: 3.3.10(typescript@5.3.2) + dev: true + + /@vue/shared@3.3.10: + resolution: {integrity: sha512-2y3Y2J1a3RhFa0WisHvACJR2ncvWiVHcP8t0Inxo+NKz+8RKO4ZV8eZgCxRgQoA6ITfV12L4E6POOL9HOU5nqw==} + dev: true + /acorn-jsx@5.3.2(acorn@8.11.2): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -1842,6 +2387,38 @@ packages: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: true + /ast-kit@0.11.3(rollup@3.29.4): + resolution: {integrity: sha512-qdwwKEhckRk0XE22/xDdmU3v/60E8Edu4qFhgTLIhGGDs/PAJwLw9pQn8Rj99PitlbBZbYpx0k/lbir4kg0SuA==} + engines: {node: '>=16.14.0'} + dependencies: + '@babel/parser': 7.23.5 + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + pathe: 1.1.1 + transitivePeerDependencies: + - rollup + dev: true + + /ast-kit@0.9.5(rollup@3.29.4): + resolution: {integrity: sha512-kbL7ERlqjXubdDd+szuwdlQ1xUxEz9mCz1+m07ftNVStgwRb2RWw+U6oKo08PAvOishMxiqz1mlJyLl8yQx2Qg==} + engines: {node: '>=16.14.0'} + dependencies: + '@babel/parser': 7.23.5 + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + pathe: 1.1.1 + transitivePeerDependencies: + - rollup + dev: true + + /ast-walker-scope@0.5.0(rollup@3.29.4): + resolution: {integrity: sha512-NsyHMxBh4dmdEHjBo1/TBZvCKxffmZxRYhmclfu0PP6Aftre47jOHYaYaNqJcV0bxihxFXhDkzLHUwHc0ocd0Q==} + engines: {node: '>=16.14.0'} + dependencies: + '@babel/parser': 7.23.5 + ast-kit: 0.9.5(rollup@3.29.4) + transitivePeerDependencies: + - rollup + dev: true + /autoprefixer@10.4.16(postcss@8.4.31): resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==} engines: {node: ^10 || ^12 || >=14} @@ -1959,6 +2536,11 @@ packages: engines: {node: '>=6'} dev: true + /camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + dev: true + /caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: @@ -2128,6 +2710,10 @@ packages: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} dev: true + /computeds@0.0.1: + resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} + dev: true + /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: true @@ -2261,11 +2847,19 @@ packages: css-tree: 2.2.1 dev: true + /csstype@3.1.2: + resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + dev: true + /data-uri-to-buffer@4.0.1: resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} engines: {node: '>= 12'} dev: false + /de-indent@1.0.2: + resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} + dev: true + /debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: @@ -3186,6 +3780,11 @@ packages: function-bind: 1.1.2 dev: true + /he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + dev: true + /hookable@5.5.3: resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} dev: true @@ -3194,6 +3793,11 @@ packages: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: true + /html-tags@3.3.1: + resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} + engines: {node: '>=8'} + dev: true + /https-proxy-agent@7.0.2: resolution: {integrity: sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==} engines: {node: '>= 14'} @@ -3525,6 +4129,13 @@ packages: yallist: 4.0.0 dev: true + /magic-string-ast@0.3.0: + resolution: {integrity: sha512-0shqecEPgdFpnI3AP90epXyxZy9g6CRZ+SZ7BcqFwYmtFEnZ1jpevcV5HoyVnlDS9gCnc1UIg3Rsvp3Ci7r8OA==} + engines: {node: '>=16.14.0'} + dependencies: + magic-string: 0.30.5 + dev: true + /magic-string@0.30.5: resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} engines: {node: '>=12'} @@ -3711,6 +4322,10 @@ packages: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true + /muggle-string@0.3.1: + resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} + dev: true + /mute-stream@1.0.0: resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -4303,6 +4918,15 @@ packages: source-map-js: 1.0.2 dev: true + /postcss@8.4.32: + resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -4410,6 +5034,11 @@ packages: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} dev: true + /resolve.exports@2.0.2: + resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} + engines: {node: '>=10'} + dev: true + /resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true @@ -4677,6 +5306,10 @@ packages: engines: {node: '>= 0.4'} dev: true + /svg-tags@1.0.0: + resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} + dev: true + /svgo@3.0.5: resolution: {integrity: sha512-HQKHEo73pMNOlDlBcLgZRcHW2+1wo7bFYayAXkGN0l/2+h68KjlfZyMRhdhaGvoHV2eApOovl12zoFz42sT6rQ==} engines: {node: '>=14.0.0'} @@ -4902,6 +5535,95 @@ packages: - supports-color dev: true + /unplugin-combine@0.8.1(rollup@3.29.4)(vite@5.0.4): + resolution: {integrity: sha512-m2OSmXXRwCPZx8Ct8eF8WbjgTo8bydim2W1ofu2hDabGdr2pgDAoFjOP1J4MOIwa0OByqk1JX8IGlSdeE6uxVQ==} + engines: {node: '>=16.14.0'} + peerDependencies: + esbuild: '>=0.13' + rollup: ^3.2.0 || ^4.0.0 + vite: ^2.3.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 + webpack: 4 || 5 + peerDependenciesMeta: + esbuild: + optional: true + rollup: + optional: true + vite: + optional: true + webpack: + optional: true + dependencies: + '@antfu/utils': 0.7.6 + rollup: 3.29.4 + unplugin: 1.5.1 + vite: 5.0.4(@types/node@20.10.1) + dev: true + + /unplugin-vue-define-options@1.4.0(rollup@3.29.4)(vue@3.3.10): + resolution: {integrity: sha512-P8TPXzZ1eqwkLZrGm+tHc7fR7/md6bEfSuJdxZi6Pp4PcqRctDzmZiXpQVIjBULpv+LhOCVRehIrsOTvABVUww==} + engines: {node: '>=16.14.0'} + dependencies: + '@vue-macros/common': 1.9.0(rollup@3.29.4)(vue@3.3.10) + ast-walker-scope: 0.5.0(rollup@3.29.4) + unplugin: 1.5.1 + transitivePeerDependencies: + - rollup + - vue + dev: true + + /unplugin-vue-macros@2.7.0(rollup@3.29.4)(typescript@5.3.2)(vite@5.0.4)(vue@3.3.10): + resolution: {integrity: sha512-SztF4ARBbrd1yuH4FbJOhp22rTvzakjzJUHTKLRQkZY1KMkIzx/KAdzEkxjAG2Xteqb29SYrc7XcoPdrUPMCCw==} + engines: {node: '>=16.14.0'} + peerDependencies: + vue: ^2.7.0 || ^3.2.25 + dependencies: + '@vue-macros/better-define': 1.7.0(rollup@3.29.4)(vue@3.3.10) + '@vue-macros/boolean-prop': 0.3.0(rollup@3.29.4)(vue@3.3.10) + '@vue-macros/chain-call': 0.2.0(rollup@3.29.4)(vue@3.3.10) + '@vue-macros/common': 1.9.0(rollup@3.29.4)(vue@3.3.10) + '@vue-macros/define-emit': 0.2.0(rollup@3.29.4)(vue@3.3.10) + '@vue-macros/define-models': 1.2.0(rollup@3.29.4)(vue@3.3.10) + '@vue-macros/define-prop': 0.3.0(rollup@3.29.4)(vue@3.3.10) + '@vue-macros/define-props': 2.0.0(@vue-macros/reactivity-transform@0.4.0)(rollup@3.29.4)(vue@3.3.10) + '@vue-macros/define-props-refs': 1.2.0(rollup@3.29.4)(vue@3.3.10) + '@vue-macros/define-render': 1.5.0(rollup@3.29.4)(vue@3.3.10) + '@vue-macros/define-slots': 1.1.0(rollup@3.29.4)(vue@3.3.10) + '@vue-macros/devtools': 0.2.0(typescript@5.3.2)(vite@5.0.4) + '@vue-macros/export-expose': 0.1.0(rollup@3.29.4)(vue@3.3.10) + '@vue-macros/export-props': 0.4.0(rollup@3.29.4)(vue@3.3.10) + '@vue-macros/export-render': 0.2.0(rollup@3.29.4)(vue@3.3.10) + '@vue-macros/hoist-static': 1.5.0(rollup@3.29.4)(vue@3.3.10) + '@vue-macros/jsx-directive': 0.7.0(rollup@3.29.4)(vue@3.3.10) + '@vue-macros/named-template': 0.4.0(rollup@3.29.4)(vue@3.3.10) + '@vue-macros/reactivity-transform': 0.4.0(rollup@3.29.4)(vue@3.3.10) + '@vue-macros/setup-block': 0.3.0(rollup@3.29.4)(vue@3.3.10) + '@vue-macros/setup-component': 0.17.0(rollup@3.29.4)(vue@3.3.10) + '@vue-macros/setup-sfc': 0.17.0(rollup@3.29.4)(vue@3.3.10) + '@vue-macros/short-bind': 0.2.0(rollup@3.29.4)(vue@3.3.10) + '@vue-macros/short-emits': 1.5.0(rollup@3.29.4)(vue@3.3.10) + '@vue-macros/short-vmodel': 1.4.0(rollup@3.29.4)(vue@3.3.10) + unplugin: 1.5.1 + unplugin-combine: 0.8.1(rollup@3.29.4)(vite@5.0.4) + unplugin-vue-define-options: 1.4.0(rollup@3.29.4)(vue@3.3.10) + vue: 3.3.10(typescript@5.3.2) + transitivePeerDependencies: + - '@vueuse/core' + - esbuild + - rollup + - typescript + - vite + - webpack + dev: true + + /unplugin@1.5.1: + resolution: {integrity: sha512-0QkvG13z6RD+1L1FoibQqnvTwVBXvS4XSPwAyinVgoOCl2jAgwzdUKmEj05o4Lt8xwQI85Hb6mSyYkcAGwZPew==} + dependencies: + acorn: 8.11.2 + chokidar: 3.5.3 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.6.1 + dev: true + /untyped@1.4.0: resolution: {integrity: sha512-Egkr/s4zcMTEuulcIb7dgURS6QpN7DyqQYdf+jBtiaJvQ+eRsrtWUoX84SbvQWuLkXsOjM+8sJC9u6KoMK/U7Q==} hasBin: true @@ -5086,11 +5808,43 @@ packages: - supports-color dev: true + /vue-template-compiler@2.7.15: + resolution: {integrity: sha512-yQxjxMptBL7UAog00O8sANud99C6wJF+7kgbcwqkvA38vCGF7HWE66w0ZFnS/kX5gSoJr/PQ4/oS3Ne2pW37Og==} + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + dev: true + + /vue@3.3.10(typescript@5.3.2): + resolution: {integrity: sha512-zg6SIXZdTBwiqCw/1p+m04VyHjLfwtjwz8N57sPaBhEex31ND0RYECVOC1YrRwMRmxFf5T1dabl6SGUbMKKuVw==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@vue/compiler-dom': 3.3.10 + '@vue/compiler-sfc': 3.3.10 + '@vue/runtime-dom': 3.3.10 + '@vue/server-renderer': 3.3.10(vue@3.3.10) + '@vue/shared': 3.3.10 + typescript: 5.3.2 + dev: true + /web-streams-polyfill@3.2.1: resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} engines: {node: '>= 8'} dev: false + /webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + dev: true + + /webpack-virtual-modules@0.6.1: + resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==} + dev: true + /webpod@0.0.2: resolution: {integrity: sha512-cSwwQIeg8v4i3p4ajHhwgR7N6VyxAf+KYSSsY6Pd3aETE+xEU4vbitz7qQkB0I321xnhDdgtxuiSfk5r/FVtjg==} hasBin: true diff --git a/src/sg/rules/define-slots.yml b/src/sg/rules/define-slots.yml index eb09014..391aaab 100644 --- a/src/sg/rules/define-slots.yml +++ b/src/sg/rules/define-slots.yml @@ -5,7 +5,6 @@ utils: kind: tag_name regex: ^slot$ precedes: - kind: attribute not: has: kind: attribute_name From dd7dcf77b24816681e7aab0d5e03b07e490f1fbd Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Sat, 23 Dec 2023 12:20:08 +0800 Subject: [PATCH 46/61] chore: remove babel-helper-vue-transform-on --- .vscode/settings.json | 4 ++-- playground/package.json | 1 - playground/pnpm-lock.yaml | 7 ------- playground/vite.config.ts | 6 ++---- src/common/constants.ts | 2 +- src/init/index.ts | 5 +++-- src/init/package.ts | 2 +- src/init/tsconfig.ts | 2 +- src/init/vite.ts | 5 ----- 9 files changed, 10 insertions(+), 24 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 5184e96..6232eb0 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -10,8 +10,8 @@ // Auto fix "editor.codeActionsOnSave": { - "source.fixAll.eslint": true, - "source.organizeImports": false + "source.fixAll.eslint": "explicit", + "source.organizeImports": "never" }, // Silent the stylistic rules in you IDE, but still auto fix them diff --git a/playground/package.json b/playground/package.json index 1bb809f..3cce752 100644 --- a/playground/package.json +++ b/playground/package.json @@ -12,7 +12,6 @@ "@vitejs/plugin-vue": "^4.5.0", "@vitejs/plugin-vue-jsx": "^3.1.0", "@vue-macros/volar": "^0.17.4", - "@vue/babel-helper-vue-transform-on": "1.2.0-alpha.0", "tsx": "^4.6.1", "typescript": "^5.3.2", "unplugin-vue-macros": "^2.7.0", diff --git a/playground/pnpm-lock.yaml b/playground/pnpm-lock.yaml index 934cfe1..7fc366b 100644 --- a/playground/pnpm-lock.yaml +++ b/playground/pnpm-lock.yaml @@ -19,9 +19,6 @@ devDependencies: '@vue-macros/volar': specifier: ^0.17.4 version: 0.17.4(@vue-macros/reactivity-transform@0.4.0)(typescript@5.3.2)(vue@3.3.9) - '@vue/babel-helper-vue-transform-on': - specifier: 1.2.0-alpha.0 - version: 1.2.0-alpha.0 tsx: specifier: ^4.6.1 version: 4.6.1 @@ -1280,10 +1277,6 @@ packages: resolution: {integrity: sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==} dev: true - /@vue/babel-helper-vue-transform-on@1.2.0-alpha.0: - resolution: {integrity: sha512-8oelfDzzYre1XGykAGOYc8sSIL8ToDkWMG5awjN+tain/1XSu4KMyBYYESnEMqhyyo8pfMbgBXcQW5nRDrm61A==} - dev: true - /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.23.5): resolution: {integrity: sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==} peerDependencies: diff --git a/playground/vite.config.ts b/playground/vite.config.ts index baf7215..6117a8f 100644 --- a/playground/vite.config.ts +++ b/playground/vite.config.ts @@ -19,10 +19,8 @@ export default defineConfig({ }, }), - vueJsx: VueJsx({ - transformOn: true, - }), + vueJsx: VueJsx(), }, }), ], -}) +}) \ No newline at end of file diff --git a/src/common/constants.ts b/src/common/constants.ts index d15b40e..ec87473 100644 --- a/src/common/constants.ts +++ b/src/common/constants.ts @@ -1,7 +1,7 @@ export const officialMacros = [ { name: 'define-options', value: 'defineOptions', volar: true, status: 'official' }, { name: 'define-slots', value: 'defineSlots', volar: true, status: 'official' }, - { name: 'define-emits', value: 'defineEmits', volar: true, status: 'official' }, + { name: 'short-emits', value: 'shortEmits', volar: false, status: 'official' }, ] as const export const stableMacros = [ diff --git a/src/init/index.ts b/src/init/index.ts index 75e029f..edc59e8 100644 --- a/src/init/index.ts +++ b/src/init/index.ts @@ -1,7 +1,7 @@ import { checkbox, select } from '@inquirer/prompts' import { chalk } from 'zx' import type { VueMacros } from '../common' -import { experimentalMacros, stableMacros } from '../common' +import { experimentalMacros, officialMacros, stableMacros } from '../common' import { rewriteNuxtConfig } from './nuxt' import { rewriteTsConfig } from './tsconfig' import { rewriteViteConfig } from './vite' @@ -12,9 +12,10 @@ export async function init(target: string) { message: chalk.green(`Which vue macros do you want to use?`), choices: [ ...stableMacros.slice(-2), + ...officialMacros.slice(-1), ...experimentalMacros, ], - pageSize: 13, + pageSize: 14, })).reduce((result, macro) => { result[macro] = true return result diff --git a/src/init/package.ts b/src/init/package.ts index 0c0d428..ebc4916 100644 --- a/src/init/package.ts +++ b/src/init/package.ts @@ -32,7 +32,7 @@ export async function rewritePackage(macros: VueMacros, target: string) { 'typescript', ] if (macros.jsxDirective || macros.setupSFC) - deps.push('@vitejs/plugin-vue-jsx', '@vue/babel-helper-vue-transform-on') + deps.push('@vitejs/plugin-vue-jsx') await installDeps(deps) } diff --git a/src/init/tsconfig.ts b/src/init/tsconfig.ts index deb3b2e..2c60c6e 100644 --- a/src/init/tsconfig.ts +++ b/src/init/tsconfig.ts @@ -28,7 +28,7 @@ export async function rewriteTsConfig(selectedMacros: VueMacros, target: string) const vueCompilerOptions = tsconfig.vueCompilerOptions ??= {} const plugins = vueCompilerOptions.plugins ??= [] for (const [macro, options] of Object.entries(macros)) { - if (macro === 'short-vmodel') { + if (macro === 'short-vmodel' && options !== true) { const vueMacros = vueCompilerOptions.vueMacros ??= {} vueMacros.shortVmodel = options } diff --git a/src/init/vite.ts b/src/init/vite.ts index ec65220..a02720f 100644 --- a/src/init/vite.ts +++ b/src/init/vite.ts @@ -37,11 +37,6 @@ export async function rewriteViteConfig(macros: VueMacros, target: string) { } const vueJsx: ProxifiedFunctionCall = vueMacrosOptions?.plugins?.vueJsx || getVitePlugin('@vitejs/plugin-vue-jsx', 'VueJsx') - if (vueJsx && (macros.jsxDirective || macros.setupSFC)) { - vueJsx.$args[0] ?? vueJsx.$args.push({}) - const arg = vueJsx.$args[0] as any - arg.transformOn = true - } updateVitePluginConfig(config, 'unplugin-vue-macros/vite', { ...macros, From 14e490e0c644c47a575bc08bc3aa29c3dff95f12 Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Sat, 23 Dec 2023 12:21:50 +0800 Subject: [PATCH 47/61] fix(sg): correct transform slot's tagName --- src/sg/rules/define-slots.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/sg/rules/define-slots.yml b/src/sg/rules/define-slots.yml index 391aaab..431e5ff 100644 --- a/src/sg/rules/define-slots.yml +++ b/src/sg/rules/define-slots.yml @@ -4,6 +4,8 @@ utils: is-default-slot: kind: tag_name regex: ^slot$ + inside: + kind: start_tag precedes: not: has: @@ -31,6 +33,8 @@ utils: is-slot: kind: tag_name regex: ^slot$ + inside: + kind: start_tag precedes: kind: attribute has: From 06175632521f6d43b52368512e695e27ff288795 Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Sat, 23 Dec 2023 12:26:11 +0800 Subject: [PATCH 48/61] feat(init/tsconfig): add macros-global type --- src/init/tsconfig.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/init/tsconfig.ts b/src/init/tsconfig.ts index 2c60c6e..e7cc5b0 100644 --- a/src/init/tsconfig.ts +++ b/src/init/tsconfig.ts @@ -45,5 +45,10 @@ export async function rewriteTsConfig(selectedMacros: VueMacros, target: string) plugins.push(`@vue-macros/volar/${macro}`) } + tsconfig.compilerOptions ??= {} + tsconfig.compilerOptions.types ??= [] + if (!tsconfig.compilerOptions.types.includes('unplugin-vue-macros/macros-global')) + tsconfig.compilerOptions.types.push('unplugin-vue-macros/macros-global') + await writeTSConfig(`${target}/tsconfig.json`, tsconfig) } From b777365afa2695089186f41f33e08ba2ce39ab45 Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Sat, 23 Dec 2023 12:59:12 +0800 Subject: [PATCH 49/61] feat(init/define-prop): add edition options --- src/init/index.ts | 18 ++++++++++++++++-- src/init/tsconfig.ts | 8 +++++--- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/src/init/index.ts b/src/init/index.ts index edc59e8..954f8c1 100644 --- a/src/init/index.ts +++ b/src/init/index.ts @@ -11,8 +11,8 @@ export async function init(target: string) { const selectedMacros = (await checkbox({ message: chalk.green(`Which vue macros do you want to use?`), choices: [ - ...stableMacros.slice(-2), ...officialMacros.slice(-1), + ...stableMacros.slice(-2), ...experimentalMacros, ], pageSize: 14, @@ -39,11 +39,25 @@ export async function init(target: string) { { value: '::' }, { value: '*' }, ], - }) as any + }) selectedMacros.shortVmodel = { prefix } } + if (selectedMacros.defineProp) { + const edition = await select({ + message: chalk.green( + `Which edition do you want to use?`, + ), + choices: [ + { name: 'kevinEdition', value: 'kevinEdition' }, + { name: 'johnsonEdition', value: 'johnsonEdition' }, + ], + }) + + selectedMacros.defineProp = { edition } + } + await rewriteConfig(selectedMacros, target) } diff --git a/src/init/tsconfig.ts b/src/init/tsconfig.ts index e7cc5b0..a1cebf3 100644 --- a/src/init/tsconfig.ts +++ b/src/init/tsconfig.ts @@ -2,7 +2,7 @@ import type { TSConfig } from 'pkg-types' import { readTSConfig, writeTSConfig } from 'pkg-types' import { fs } from 'zx' import type { VueMacros } from '../common' -import { vueMacros } from '../common' +import { camelize, vueMacros } from '../common' export async function rewriteTsConfig(selectedMacros: VueMacros, target: string) { const filename = `${target}/nuxt.config.ts` @@ -28,9 +28,11 @@ export async function rewriteTsConfig(selectedMacros: VueMacros, target: string) const vueCompilerOptions = tsconfig.vueCompilerOptions ??= {} const plugins = vueCompilerOptions.plugins ??= [] for (const [macro, options] of Object.entries(macros)) { - if (macro === 'short-vmodel' && options !== true) { + if (options !== true) { const vueMacros = vueCompilerOptions.vueMacros ??= {} - vueMacros.shortVmodel = options + vueMacros[camelize(macro)] = options.edition + ? { experimentalDefinePropProposal: options.edition } + : options } // prevent exportProps and exportExpose co-usage From 81ddaf1c366047fe2cb488c5089e8e678260735a Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Sat, 23 Dec 2023 15:05:19 +0800 Subject: [PATCH 50/61] feat(sg): convert tagName and attributeName to pascal-case --- playground/src/App.vue | 4 +- src/sg/rules/jsx-directive/pascal-case.yml | 46 ++++++++++++++++++++++ 2 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 src/sg/rules/jsx-directive/pascal-case.yml diff --git a/playground/src/App.vue b/playground/src/App.vue index cbf5637..21393c9 100644 --- a/playground/src/App.vue +++ b/playground/src/App.vue @@ -22,10 +22,10 @@ const compRef = shallowRef() v-on="on" @click.once="select = i" @submit="alert" - @update="select.id = $event" + @update:model-value="select.id = $event" >