const templateDir = path.resolve(templateRoot, templateName)
renderTemplate(templateDir, root)
}
-
// Render base template
render('base')
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) {
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(/^_/, '.'))