diff --git a/.changeset/real-balloons-cough.md b/.changeset/real-balloons-cough.md new file mode 100644 index 000000000000..d8ba66c63ffc --- /dev/null +++ b/.changeset/real-balloons-cough.md @@ -0,0 +1,5 @@ +--- +'create-astro': patch +--- + +Respect original `package.json` indentation diff --git a/packages/create-astro/src/actions/template.ts b/packages/create-astro/src/actions/template.ts index 5804fbb58b1d..f99726b1c9f7 100644 --- a/packages/create-astro/src/actions/template.ts +++ b/packages/create-astro/src/actions/template.ts @@ -50,17 +50,19 @@ const FILES_TO_UPDATE = { 'package.json': (file: string, overrides: { name: string }) => fs.promises .readFile(file, 'utf-8') - .then((value) => + .then((value) => { + // Match first indent in the file or fallback to `\t` + const indent = /(^\s+)/m.exec(value)?.[1] ?? '\t'; fs.promises.writeFile( file, JSON.stringify( Object.assign(JSON.parse(value), Object.assign(overrides, { private: undefined })), null, - '\t' + indent ), 'utf-8' ) - ), + }), }; export default async function copyTemplate(tmpl: string, ctx: Context) {