From 496a6109dc3e30c3a990f902ee118d4aa3fa795d Mon Sep 17 00:00:00 2001 From: sanex Date: Sat, 12 Feb 2022 22:01:43 +0300 Subject: [PATCH] `.cjs` file support for config files --- src/cli/utils/CLIUtils.ts | 1 - test/fixtures/config.cjs | 6 ++++++ test/unit-tests/cli/utils/CLIUtils.spec.ts | 24 +++++++++++++++++++++- 3 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 test/fixtures/config.cjs diff --git a/src/cli/utils/CLIUtils.ts b/src/cli/utils/CLIUtils.ts index f52a3a6e..50ce3186 100644 --- a/src/cli/utils/CLIUtils.ts +++ b/src/cli/utils/CLIUtils.ts @@ -11,7 +11,6 @@ export class CLIUtils { public static readonly allowedConfigFileExtensions: string[] = [ '.js', '.json', - '.mjs', '.cjs' ]; diff --git a/test/fixtures/config.cjs b/test/fixtures/config.cjs new file mode 100644 index 00000000..dbc86fce --- /dev/null +++ b/test/fixtures/config.cjs @@ -0,0 +1,6 @@ +module.exports = { + compact: true, + exclude: ['**/foo.js'], + selfDefending: false, + sourceMap: true +}; \ No newline at end of file diff --git a/test/unit-tests/cli/utils/CLIUtils.spec.ts b/test/unit-tests/cli/utils/CLIUtils.spec.ts index 44fd15c0..30d1fa6b 100644 --- a/test/unit-tests/cli/utils/CLIUtils.spec.ts +++ b/test/unit-tests/cli/utils/CLIUtils.spec.ts @@ -31,7 +31,29 @@ describe('CLIUtils', () => { }); }); - describe('Variant #2: json file with config', () => { + describe('Variant #2: cjs file with config', () => { + const configDirName: string = 'test/fixtures'; + const configFileName: string = 'config.cjs'; + const configFilePath: string = `../../../${configDirName}/${configFileName}`; + const expectedResult: TInputOptions = { + compact: true, + exclude: ['**/foo.js'], + selfDefending: false, + sourceMap: true + }; + + let result: Object; + + before(() => { + result = CLIUtils.getUserConfig(configFilePath); + }); + + it('should return object with user configuration', () => { + assert.deepEqual(result, expectedResult); + }); + }); + + describe('Variant #3: json file with config', () => { const configDirName: string = 'test/fixtures'; const configFileName: string = 'config.json'; const configFilePath: string = `../../../${configDirName}/${configFileName}`;