Skip to content

feat!: use a giant multiselect instead of individual toggles for features #695

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 12 commits into from
Mar 7, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
103 changes: 51 additions & 52 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -128,10 +128,44 @@ For more information, please see
## Licenses of bundled dependencies

The published create-vue artifact additionally contains code with the following licenses:
MIT, Apache-2.0
MIT, Apache-2.0, ISC

## Bundled dependencies

## @clack/core

License: MIT
By: Nate Moore
Repository: git+https://github.com/natemoo-re/clack.git

> MIT License
>
> Copyright (c) Nate Moore
>
> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
>
> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
>
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
>

## @clack/prompts

License: MIT
By: Nate Moore
Repository: git+https://github.com/natemoo-re/clack.git

> MIT License
>
> Copyright (c) Nate Moore
>
> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
>
> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
>
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
>

## @vue/create-eslint-config

License: MIT
@@ -371,62 +405,27 @@ Repository: git://github.com/mde/ejs.git
> limitations under the License.
>

## kleur

License: MIT
By: Luke Edwards
Repository: git+https://github.com/lukeed/kleur.git

> The MIT License (MIT)
>
> Copyright (c) Luke Edwards <[email protected]> (lukeed.com)
>
> Permission is hereby granted, free of charge, to any person obtaining a copy
> of this software and associated documentation files (the "Software"), to deal
> in the Software without restriction, including without limitation the rights
> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
> copies of the Software, and to permit persons to whom the Software is
> furnished to do so, subject to the following conditions:
>
> The above copyright notice and this permission notice shall be included in
> all copies or substantial portions of the Software.
>
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
> THE SOFTWARE.
>

## prompts
## picocolors

License: MIT
By: Terkel Gjervig
Repository: git+https://github.com/terkelg/prompts.git
License: ISC
By: Alexey Raspopov
Repository: git+https://github.com/alexeyraspopov/picocolors.git

> MIT License
>
> Copyright (c) 2018 Terkel Gjervig Nielsen
> ISC License
>
> Permission is hereby granted, free of charge, to any person obtaining a copy
> of this software and associated documentation files (the "Software"), to deal
> in the Software without restriction, including without limitation the rights
> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
> copies of the Software, and to permit persons to whom the Software is
> furnished to do so, subject to the following conditions:
> Copyright (c) 2021-2024 Oleksii Raspopov, Kostiantyn Denysov, Anton Verinov
>
> The above copyright notice and this permission notice shall be included in all
> copies or substantial portions of the Software.
> Permission to use, copy, modify, and/or distribute this software for any
> purpose with or without fee is hereby granted, provided that the above
> copyright notice and this permission notice appear in all copies.
>
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
> SOFTWARE.
> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
> OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
>

## sisteransi
467 changes: 209 additions & 258 deletions index.ts

Large diffs are not rendered by default.

60 changes: 32 additions & 28 deletions locales/en-US.json
Original file line number Diff line number Diff line change
@@ -1,63 +1,66 @@
{
"projectName": {
"message": "Project name:"
"message": "Project name (target directory):",
"invalidMessage": "Should not be empty"
},
"shouldOverwrite": {
"dirForPrompts": {
"current": "Current directory",
"target": "Target directory"
},
"message": "is not empty. Remove existing files and continue?"
"message": "is not empty. Remove existing files and continue"
},
"packageName": {
"message": "Package name:",
"invalidMessage": "Invalid package.json name"
},
"featureSelection": {
"message": "Select features to include in your project:",
"hint": "(↑/↓ to navigate, space to select, a to toggle all, enter to confirm)"
},
"needsTypeScript": {
"message": "Add TypeScript?"
"message": "TypeScript"
},
"needsJsx": {
"message": "Add JSX Support?"
"message": "JSX Support"
},
"needsRouter": {
"message": "Add Vue Router for Single Page Application development?"
"message": "Router (SPA development)"
},
"needsPinia": {
"message": "Add Pinia for state management?"
"message": "Pinia (state management)"
},
"needsVitest": {
"message": "Add Vitest for Unit Testing?"
"message": "Vitest (unit testing)"
},
"needsE2eTesting": {
"message": "Add an End-to-End Testing Solution?",
"hint": "- Use arrow-keys. Return to submit.",
"message": "End-to-End Testing"
},
"needsEslint": {
"message": "ESLint (error prevention)"
},
"needsPrettier": {
"message": "Prettier (code formatting)"
},
"e2eSelection": {
"message": "Select an End-to-End testing framework:",
"hint": "(↑/↓ to navigate, enter to confirm)",
"selectOptions": {
"negative": { "title": "No" },
"playwright": { "title": "Playwright", "desc": "https://playwright.dev/" },
"cypress": {
"title": "Cypress",
"desc": "also supports unit testing with Cypress Component Testing"
"desc": "https://www.cypress.io/",
"hintOnComponentTesting": "also supports unit testing with Cypress Component Testing - https://www.cypress.io/"
},
"nightwatch": {
"title": "Nightwatch",
"desc": "also supports unit testing with Nightwatch Component Testing"
},
"playwright": { "title": "Playwright" }
}
},
"needsEslint": {
"message": "Add ESLint for code quality?",
"selectOptions": {
"negative": { "title": "No" },
"eslintOnly": {
"title": "Yes"
},
"speedUpWithOxlint": {
"title": "Yes, and speed up with Oxlint (experimental)"
"desc": "https://nightwatchjs.org/",
"hintOnComponentTesting": "also supports unit testing with Nightwatch Component Testing - https://nightwatchjs.org/"
}
}
},
"needsPrettier": {
"message": "Add Prettier for code formatting?"
"needsOxlint": {
"message": "Install Oxlint for faster linting? (experimental)"
},
"errors": {
"operationCancelled": "Operation cancelled"
@@ -68,6 +71,7 @@
},
"infos": {
"scaffolding": "Scaffolding project in",
"done": "Done. Now run:"
"done": "Done. Now run:",
"optionalGitCommand": "Optional: Initialize Git in your project directory with:"
}
}
58 changes: 31 additions & 27 deletions locales/fr-FR.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"projectName": {
"message": "Nom du projet\u00a0:"
"message": "Nom du projet\u00a0:",
"invalidMessage": "Ne doit pas être vide"
},
"shouldOverwrite": {
"dirForPrompts": {
@@ -13,51 +14,53 @@
"message": "Nom du package\u00a0:",
"invalidMessage": "Le nom du package.json est invalide"
},
"featureSelection": {
"message": "Sélectionnez les fonctionnalités à inclure dans votre projet\u00a0:",
"hint": "(↑/↓ pour naviguer, espace pour sélectionner, a pour tout sélectionner, entrée pour confirmer)"
},
"needsTypeScript": {
"message": "Ajouter TypeScript\u00a0?"
"message": "TypeScript"
},
"needsJsx": {
"message": "Ajouter le support de JSX\u00a0?"
"message": "Support de JSX"
},
"needsRouter": {
"message": "Ajouter Vue Router pour le développement d'applications _single page_\u00a0?"
"message": "Router (développement SPA)"
},
"needsPinia": {
"message": "Ajouter Pinia pour la gestion de l'état\u00a0?"
"message": "Pinia (gestion de l'état)"
},
"needsVitest": {
"message": "Ajouter Vitest pour les tests unitaires\u00a0?"
"message": "Vitest (tests unitaires)"
},
"needsE2eTesting": {
"message": "Ajouter une solution de test de bout en bout (e2e)\u00a0?",
"hint": "- Utilisez les flèches et appuyez sur la touche Entrée pour valider",
"message": "Tests de bout en bout"
},
"needsEslint": {
"message": "ESLint (prévention des erreurs)"
},
"needsPrettier": {
"message": "Prettier (formatage du code)"
},
"e2eSelection": {
"message": "Sélectionnez un framework de test de bout en bout\u00a0:",
"hint": "(↑/↓ pour naviguer, entrée pour confirmer)",
"selectOptions": {
"negative": { "title": "Non" },
"playwright": { "title": "Playwright", "desc": "https://playwright.dev/" },
"cypress": {
"title": "Cypress",
"desc": "prend également en charge les tests unitaires avec Cypress Component Testing"
"desc": "https://www.cypress.io/",
"hintOnComponentTesting": "prend également en charge les tests unitaires avec Cypress Component Testing - https://www.cypress.io/"
},
"nightwatch": {
"title": "Nightwatch",
"desc": "prend également en charge les tests unitaires avec Nightwatch Component Testing"
},
"playwright": { "title": "Playwright" }
}
},
"needsEslint": {
"message": "Ajouter ESLint pour la qualité du code\u00a0?",
"selectOptions": {
"negative": { "title": "Non" },
"eslintOnly": {
"title": "Oui"
},
"speedUpWithOxlint": {
"title": "Oui, et accélérer avec Oxlint (expérimental)"
"desc": "https://nightwatchjs.org/",
"hintOnComponentTesting": "prend également en charge les tests unitaires avec Nightwatch Component Testing - https://nightwatchjs.org/"
}
}
},
"needsPrettier": {
"message": "Ajouter Prettier pour le formatage du code\u00a0?"
"needsOxlint": {
"message": "Installer Oxlint pour un linting plus rapide\u00a0? (expérimental)"
},
"errors": {
"operationCancelled": "Operation annulée"
@@ -68,6 +71,7 @@
},
"infos": {
"scaffolding": "Génération du projet dans",
"done": "Terminé. Exécutez maintenant\u00a0:"
"done": "Terminé. Exécutez maintenant\u00a0:",
"optionalGitCommand": "Optionnel\u00a0: Initialisez Git dans votre répertoire de projet avec\u00a0:"
}
}
58 changes: 31 additions & 27 deletions locales/tr-TR.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"projectName": {
"message": "Proje adı:"
"message": "Proje adı:",
"invalidMessage": "Boş bırakılamaz"
},
"shouldOverwrite": {
"dirForPrompts": {
@@ -13,51 +14,53 @@
"message": "Paket adı:",
"invalidMessage": "Geçersiz package.json adı"
},
"featureSelection": {
"message": "Projenize eklenecek özellikleri seçin:",
"hint": "(↑/↓ gezinmek için, boşluk seçmek için, a tümünü seçmek için, enter onaylamak için)"
},
"needsTypeScript": {
"message": "TypeScript Eklensin mi?"
"message": "TypeScript"
},
"needsJsx": {
"message": "JSX Desteği Eklensin mi?"
"message": "JSX Desteği"
},
"needsRouter": {
"message": "Tek Sayfa Uygulama geliştirilmesi için Vue Router eklensin mi?"
"message": "Router (SPA geliştirme)"
},
"needsPinia": {
"message": "Durum yönetimi için Pinia eklensin mi?"
"message": "Pinia (durum yönetimi)"
},
"needsVitest": {
"message": "Birim Testi için Vitest eklensin mi?"
"message": "Vitest (birim testi)"
},
"needsE2eTesting": {
"message": "Uçtan Uca Test Çözümü Eklensin mi?",
"hint": "- Ok tuşlarını kullan. Gönderime geri dön.",
"message": "Uçtan Uca Test"
},
"needsEslint": {
"message": "ESLint (hata önleme)"
},
"needsPrettier": {
"message": "Prettier (kod formatlama)"
},
"e2eSelection": {
"message": "Bir Uçtan Uca test çerçevesi seçin:",
"hint": "(↑/↓ gezinmek için, enter onaylamak için)",
"selectOptions": {
"negative": { "title": "Hayır" },
"playwright": { "title": "Playwright", "desc": "https://playwright.dev/" },
"cypress": {
"title": "Cypress",
"desc": "ayrıca Cypress Bileşen Testi ile birim testini de destekler"
"desc": "https://www.cypress.io/",
"hintOnComponentTesting": "ayrıca Cypress Bileşen Testi ile birim testini de destekler - https://www.cypress.io/"
},
"nightwatch": {
"title": "Nightwatch",
"desc": "ayrıca Nightwatch Bileşen Testi ile birim testini de destekler"
},
"playwright": { "title": "Playwright" }
}
},
"needsEslint": {
"message": "Kod kalitesi için ESLint eklensin mi?",
"selectOptions": {
"negative": { "title": "Hayır" },
"eslintOnly": {
"title": "Evet"
},
"speedUpWithOxlint": {
"title": "Evet ve Oxlint ile hızlanın (deneysel)"
"desc": "https://nightwatchjs.org/",
"hintOnComponentTesting": "ayrıca Nightwatch Bileşen Testi ile birim testini de destekler - https://nightwatchjs.org/"
}
}
},
"needsPrettier": {
"message": "Kod formatlama için Prettier eklensin mi?"
"needsOxlint": {
"message": "Daha hızlı linting için Oxlint eklensin mi? (deneysel)"
},
"errors": {
"operationCancelled": "İşlem iptal edildi"
@@ -68,6 +71,7 @@
},
"infos": {
"scaffolding": "İskele projesi",
"done": "Tamamlandı. Şimdi bunu çalıştır:"
"done": "Tamamlandı. Şimdi bunu çalıştır:",
"optionalGitCommand": "İsteğe bağlı: Proje dizininizde Git'i şununla başlatın:"
}
}
58 changes: 31 additions & 27 deletions locales/zh-Hans.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"projectName": {
"message": "请输入项目名称:"
"message": "请输入项目名称:",
"invalidMessage": "不能为空"
},
"shouldOverwrite": {
"dirForPrompts": {
@@ -13,51 +14,53 @@
"message": "请输入包名称:",
"invalidMessage": "无效的 package.json 名称"
},
"featureSelection": {
"message": "请选择要包含的功能:",
"hint": "(↑/↓ 切换,空格选择,a 全选,回车确认)"
},
"needsTypeScript": {
"message": "是否使用 TypeScript 语法?"
"message": "TypeScript"
},
"needsJsx": {
"message": "是否启用 JSX 支持"
"message": "JSX 支持"
},
"needsRouter": {
"message": "是否引入 Vue Router 进行单页面应用开发?"
"message": "Router(单页面应用开发)"
},
"needsPinia": {
"message": "是否引入 Pinia 用于状态管理?"
"message": "Pinia(状态管理)"
},
"needsVitest": {
"message": "是否引入 Vitest 用于单元测试?"
"message": "Vitest(单元测试)"
},
"needsE2eTesting": {
"message": "是否要引入一款端到端(End to End)测试工具?",
"hint": "- 使用箭头切换按Enter确认。",
"message": "端到端测试"
},
"needsEslint": {
"message": "ESLint(错误预防)"
},
"needsPrettier": {
"message": "Prettier(代码格式化)"
},
"e2eSelection": {
"message": "选择一个端到端测试框架:",
"hint": "(↑/↓ 切换,回车确认)",
"selectOptions": {
"negative": { "title": "不需要" },
"playwright": { "title": "Playwright", "desc": "https://playwright.dev/" },
"cypress": {
"title": "Cypress",
"desc": "同时支持基于 Cypress Component Testing 的单元测试"
"desc": "https://www.cypress.io/",
"hintOnComponentTesting": "同时支持基于 Cypress Component Testing 的单元测试 - https://www.cypress.io/"
},
"nightwatch": {
"title": "Nightwatch",
"desc": "同时支持基于 Nightwatch Component Testing 的单元测试"
},
"playwright": { "title": "Playwright" }
}
},
"needsEslint": {
"message": "是否引入 ESLint 用于代码质量检测?",
"selectOptions": {
"negative": { "title": "" },
"eslintOnly": {
"title": ""
},
"speedUpWithOxlint": {
"title": "是,并同时引入 Oxlint 以加快检测(试验阶段)"
"desc": "https://nightwatchjs.org/",
"hintOnComponentTesting": "同时支持基于 Nightwatch Component Testing 的单元测试 - https://nightwatchjs.org/"
}
}
},
"needsPrettier": {
"message": "是否引入 Prettier 用于代码格式化?"
"needsOxlint": {
"message": "是否引入 Oxlint 以加快检测?(试验阶段)"
},
"errors": {
"operationCancelled": "操作取消"
@@ -68,6 +71,7 @@
},
"infos": {
"scaffolding": "正在初始化项目",
"done": "项目初始化完成,可执行以下命令:"
"done": "项目初始化完成,可执行以下命令:",
"optionalGitCommand": "可选:使用以下命令在项目目录中初始化 Git:"
}
}
64 changes: 32 additions & 32 deletions locales/zh-Hant.json
Original file line number Diff line number Diff line change
@@ -1,67 +1,66 @@
{
"projectName": {
"message": "請輸入專案名稱:"
"message": "請輸入專案名稱:",
"invalidMessage": "不能為空"
},
"shouldOverwrite": {
"dirForPrompts": {
"current": "當前資料夾",
"target": "目標資料夾"
"target": "目標資料夾"
},
"message": "非空,是否覆蓋?"
},
"packageName": {
"message": "請輸入套件名稱:",
"invalidMessage": "無效的 package.json 名稱"
},
"featureSelection": {
"message": "請選擇要包含的功能:",
"hint": "(↑/↓ 切換,空格選擇,a 全選,enter 確認)"
},
"needsTypeScript": {
"message": "是否使用 TypeScript"
"message": "TypeScript"
},
"needsJsx": {
"message": "是否啟用 JSX 支援"
"message": "JSX 支援"
},
"needsRouter": {
"message": "是否引入 Vue Router 進行單頁應用程式開發?"
"message": "Router(單頁應用程式開發)"
},
"needsPinia": {
"message": "是否引入 Pinia 用於狀態管理?"
"message": "Pinia(狀態管理)"
},
"needsVitest": {
"message": "是否引入 Vitest 用於單元測試"
"message": "Vitest(單元測試)"
},
"needsE2eTesting": {
"message": "是否要引入一款端對端(End to End)測試工具?",
"hint": "- 使用箭頭切換按 Enter 確認。",
"message": "端對端測試"
},
"needsEslint": {
"message": "ESLint(錯誤預防)"
},
"needsPrettier": {
"message": "Prettier(程式碼格式化)"
},
"e2eSelection": {
"message": "選擇一個端對端測試框架:",
"hint": "(↑/↓ 切換,enter 確認)",
"selectOptions": {
"negative": {
"title": "不需要"
},
"playwright": { "title": "Playwright", "desc": "https://playwright.dev/" },
"cypress": {
"title": "Cypress",
"desc": "同時支援基於 Cypress Component Testing 的單元測試"
"desc": "https://www.cypress.io/",
"hintOnComponentTesting": "同時支援基於 Cypress Component Testing 的單元測試 - https://www.cypress.io/"
},
"nightwatch": {
"title": "Nightwatch",
"desc": "同時支援基於 Nightwatch Component Testing 的單元測試"
},
"playwright": {
"title": "Playwright"
"desc": "https://nightwatchjs.org/",
"hintOnComponentTesting": "同時支援基於 Nightwatch Component Testing 的單元測試 - https://nightwatchjs.org/"
}
}
},
"needsEslint": {
"message": "是否引入 ESLint 用於程式碼品質檢測?",
"selectOptions": {
"negative": { "title": "" },
"eslintOnly": {
"title": ""
},
"speedUpWithOxlint": {
"title": "是,並同時引入 Oxlint 以加快檢測(試驗性功能)"
}
}
},
"needsPrettier": {
"message": "是否引入 Prettier 用於程式碼格式化?"
"needsOxlint": {
"message": "是否引入 Oxlint 以加快檢測?(試驗性功能)"
},
"errors": {
"operationCancelled": "操作取消"
@@ -72,6 +71,7 @@
},
"infos": {
"scaffolding": "正在建置專案",
"done": "專案建置完成,可執行以下命令:"
"done": "專案建置完成,可執行以下命令:",
"optionalGitCommand": "可選:使用以下命令在專案目錄中初始化 Git:"
}
}
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -39,6 +39,7 @@
},
"homepage": "https://github.com/vuejs/create-vue#readme",
"devDependencies": {
"@clack/prompts": "^0.10.0",
"@tsconfig/node22": "^22.0.0",
"@types/eslint": "^9.6.1",
"@types/node": "^22.13.5",
@@ -49,10 +50,9 @@
"esbuild": "^0.25.0",
"esbuild-plugin-license": "^1.2.3",
"husky": "^9.1.7",
"kleur": "^4.1.5",
"lint-staged": "^15.4.3",
"picocolors": "^1.1.1",
"prettier": "3.5.1",
"prompts": "^2.4.2",
"vitest": "^3.0.7",
"zx": "^8.3.2"
},
44 changes: 23 additions & 21 deletions pnpm-lock.yaml
15 changes: 0 additions & 15 deletions scripts/build.mjs
Original file line number Diff line number Diff line change
@@ -135,21 +135,6 @@ await esbuild.build({
target: 'node14',

plugins: [
{
name: 'alias',
setup({ onResolve, resolve }) {
onResolve({ filter: /^prompts$/, namespace: 'file' }, async ({ importer, resolveDir }) => {
// we can always use non-transpiled code since we support 14.16.0+
const result = await resolve('prompts/lib/index.js', {
importer,
resolveDir,
kind: 'import-statement',
})
return result
})
},
},

{
name: '@vue/create-eslint-config fix',
setup(build) {
8 changes: 8 additions & 0 deletions utils/getLanguage.ts
Original file line number Diff line number Diff line change
@@ -22,6 +22,7 @@ interface Language {
projectName: LanguageItem
shouldOverwrite: LanguageItem
packageName: LanguageItem
featureSelection: LanguageItem
needsTypeScript: LanguageItem
needsJsx: LanguageItem
needsRouter: LanguageItem
@@ -30,6 +31,12 @@ interface Language {
needsE2eTesting: LanguageItem
needsEslint: LanguageItem
needsPrettier: LanguageItem
e2eSelection: LanguageItem & {
selectOptions?: {
[key: string]: { title: string; desc?: string; hintOnComponentTesting?: string }
}
}
needsOxlint: LanguageItem
errors: {
operationCancelled: string
}
@@ -40,6 +47,7 @@ interface Language {
infos: {
scaffolding: string
done: string
optionalGitCommand: string
}
}