From 754c5ca9aa93d4e8674059ce79f6b694c147db83 Mon Sep 17 00:00:00 2001 From: Nate Moore Date: Mon, 27 Feb 2023 10:09:54 -0600 Subject: [PATCH] Respect original `package.json` indentation (#6375) * fix(#6338): respect original indentation * chore: add changeset --- .changeset/real-balloons-cough.md | 5 +++++ packages/create-astro/src/actions/template.ts | 8 +++++--- 2 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 .changeset/real-balloons-cough.md 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) {