]> git.ipfire.org Git - thirdparty/vuejs/create-vue.git/commitdiff
feat: if use playwright, add related extension recommendations (#250)
authorbtea <2356281422@qq.com>
Thu, 4 May 2023 15:04:00 +0000 (23:04 +0800)
committerGitHub <noreply@github.com>
Thu, 4 May 2023 15:04:00 +0000 (23:04 +0800)
index.ts
template/config/playwright/.vscode/extensions.json [new file with mode: 0644]
utils/renderTemplate.ts

index 6f912e1fbd56d2b8e3e0185c41b2a251cef7b333..36997386e9e681cf469bce0e2f64e9cb431692d7 100755 (executable)
--- a/index.ts
+++ b/index.ts
@@ -307,7 +307,6 @@ async function init() {
     const templateDir = path.resolve(templateRoot, templateName)
     renderTemplate(templateDir, root)
   }
-
   // Render base template
   render('base')
 
@@ -447,7 +446,9 @@ async function init() {
   console.log(`\nDone. Now run:\n`)
   if (root !== cwd) {
     const cdProjectName = path.relative(cwd, root)
-    console.log(`  ${bold(green(`cd ${cdProjectName.includes(' ') ? `"${cdProjectName}"` : cdProjectName}`))}`)
+    console.log(
+      `  ${bold(green(`cd ${cdProjectName.includes(' ') ? `"${cdProjectName}"` : cdProjectName}`))}`
+    )
   }
   console.log(`  ${bold(green(getCommand(packageManager, 'install')))}`)
   if (needsPrettier) {
diff --git a/template/config/playwright/.vscode/extensions.json b/template/config/playwright/.vscode/extensions.json
new file mode 100644 (file)
index 0000000..7b3f8bd
--- /dev/null
@@ -0,0 +1,3 @@
+{
+  "recommendations": ["ms-playwright.playwright"]
+}
index 529b1f174e78c1e881500e71b55881ad8b36aa20..bbfe400820c99a7a9dfd0c4e81c4d8c21807fdde 100644 (file)
@@ -41,6 +41,15 @@ function renderTemplate(src, dest) {
     return
   }
 
+  if (filename === 'extensions.json' && fs.existsSync(dest)) {
+    // merge instead of overwriting
+    const existing = JSON.parse(fs.readFileSync(dest, 'utf8'))
+    const newExtensions = JSON.parse(fs.readFileSync(src, 'utf8'))
+    const extensions = deepMerge(existing, newExtensions)
+    fs.writeFileSync(dest, JSON.stringify(extensions, null, 2) + '\n')
+    return
+  }
+
   if (filename.startsWith('_')) {
     // rename `_file` to `.file`
     dest = path.resolve(path.dirname(dest), filename.replace(/^_/, '.'))