From c2f61998add60ed5d52af1c3518d1f737cf75c80 Mon Sep 17 00:00:00 2001 From: Jamie Mason Date: Thu, 17 Sep 2020 20:28:46 +0100 Subject: [PATCH] fix(cli): use defaults when source is empty array --- src/commands/lib/get-wrappers.ts | 10 ++++------ src/lib/get-config.ts | 2 +- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/commands/lib/get-wrappers.ts b/src/commands/lib/get-wrappers.ts index 8b6cead0..7aae33fd 100644 --- a/src/commands/lib/get-wrappers.ts +++ b/src/commands/lib/get-wrappers.ts @@ -42,6 +42,9 @@ const getPatternsFromJson = ( return packages ? [process.cwd()].concat(packages).map((dirPath) => join(dirPath, 'package.json')) : null; }; +const getCliPatterns = (program: Options): Options['source'] | null => + isArrayOfStrings(program.source) ? program.source : null; + const getYarnPatterns = (): string[] | null => getPatternsFromJson('package.json', (config) => [config.workspaces, config.workspaces?.packages]); @@ -58,18 +61,13 @@ const getPnpmPatterns = (): string[] | null => { } }; -const hasCliPatterns = (program: Options): boolean => program.source && program.source.length > 0; -const getCliPatterns = (program: Options): Options['source'] => program.source; const getDefaultPatterns = (): string[] => ALL_PATTERNS; const resolvePattern = (pattern: string): string[] => sync(pattern, { absolute: true }); const reduceFlatArray = (all: string[], next: string[]): string[] => all.concat(next); const createWrapper = (filePath: string): SourceWrapper => ({ contents: readJsonSync(filePath), filePath }); export const getWrappers = (program: Options): SourceWrapper[] => - (hasCliPatterns(program) - ? getCliPatterns(program) - : getYarnPatterns() || getPnpmPatterns() || getLernaPatterns() || getDefaultPatterns() - ) + (getCliPatterns(program) || getYarnPatterns() || getPnpmPatterns() || getLernaPatterns() || getDefaultPatterns()) .map(resolvePattern) .reduce(reduceFlatArray, []) .map(createWrapper); diff --git a/src/lib/get-config.ts b/src/lib/get-config.ts index a400a951..7d721855 100644 --- a/src/lib/get-config.ts +++ b/src/lib/get-config.ts @@ -38,7 +38,7 @@ export const getConfig = (program: Partial): SyncpackConfig => { semverRange: getOption('semverRange', isValidSemverRange), sortAz: getOption('sortAz', isArrayOfStrings), sortFirst: getOption('sortFirst', isArrayOfStrings), - source: getOption('source', isArray), + source: getOption('source', isArrayOfStrings), versionGroups: getOption('versionGroups', isArrayOfVersionGroups), }; };