From 81397e0fd9a7f141c00b52f47c3c5d9a921292ad Mon Sep 17 00:00:00 2001 From: Kanitkorn Sujautra Date: Wed, 8 Jun 2022 02:17:56 +0900 Subject: [PATCH] feat: generate .editorconfig (#500) --- src/init.ts | 14 ++++++++++++++ test/kitchen.ts | 1 + 2 files changed, 15 insertions(+) diff --git a/src/init.ts b/src/init.ts index 844cef28..98e75f78 100644 --- a/src/init.ts +++ b/src/init.ts @@ -251,6 +251,19 @@ async function generatePrettierConfig(options: Options): Promise { return generateConfigFile(options, './.prettierrc.js', style); } +async function generateEditorConfig(options: Options): Promise { + const config = `root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +insert_final_newline = true +`; + return generateConfigFile(options, './.editorconfig', config); +} + export async function installDefaultTemplate( options: Options ): Promise { @@ -320,6 +333,7 @@ export async function init(options: Options): Promise { await generateESLintConfig(options); await generateESLintIgnore(options); await generatePrettierConfig(options); + await generateEditorConfig(options); await installDefaultTemplate(options); // Run `npm install` after initial setup so `npm run lint` works right away. diff --git a/test/kitchen.ts b/test/kitchen.ts index 54792047..c3d6a205 100644 --- a/test/kitchen.ts +++ b/test/kitchen.ts @@ -61,6 +61,7 @@ describe('🚰 kitchen sink', () => { fs.accessSync(path.join(kitchenPath, '.eslintrc.json')); fs.accessSync(path.join(kitchenPath, '.eslintignore')); fs.accessSync(path.join(kitchenPath, '.prettierrc.js')); + fs.accessSync(path.join(kitchenPath, '.editorconfig')); // Compilation shouldn't have happened. Hence no `build` directory. const dirContents = fs.readdirSync(kitchenPath);