diff --git a/index.ts b/index.ts index 6f912e1f..36997386 100755 --- 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 index 00000000..7b3f8bda --- /dev/null +++ b/template/config/playwright/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["ms-playwright.playwright"] +} diff --git a/utils/renderTemplate.ts b/utils/renderTemplate.ts index 529b1f17..bbfe4008 100644 --- a/utils/renderTemplate.ts +++ b/utils/renderTemplate.ts @@ -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(/^_/, '.'))