Skip to content

Commit 355429a

Browse files
fix(bin): fallback for webpack config path
1 parent 82d3737 commit 355429a

File tree

4 files changed

+28
-8
lines changed

4 files changed

+28
-8
lines changed

src/bin/download-federated-types.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import {
1313
} from '../helpers';
1414

1515
import {
16-
assertRunningFromRoot, getOptionsFromWebpackConfig,
16+
assertRunningFromRoot, getOptionsFromWebpackConfig, getWebpackConfigPathFromArgs,
1717
} from './helpers';
1818

1919
assertRunningFromRoot();
@@ -23,7 +23,7 @@ type Argv = {
2323
};
2424

2525
const argv = parseArgs<Argv>(process.argv.slice(2));
26-
const webpackConfigPath = argv['webpack-config'] || 'webpack.config.js';
26+
const webpackConfigPath = getWebpackConfigPathFromArgs(argv['webpack-config']);
2727

2828
const { mfPluginOptions, mfTypesPluginOptions } = getOptionsFromWebpackConfig(webpackConfigPath);
2929

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import { existsSync } from 'fs';
2+
3+
export function getWebpackConfigPathFromArgs(webpackConfigPath?: string): string {
4+
if (!webpackConfigPath) {
5+
if (existsSync('webpack.config.ts')) {
6+
webpackConfigPath = 'webpack.config.ts';
7+
} else if (existsSync('webpack.config.js')) {
8+
webpackConfigPath = 'webpack.config.js';
9+
} else {
10+
console.error(`Could not find webpack.config.ts file at ${process.cwd()}`);
11+
process.exit(1);
12+
}
13+
}
14+
15+
return webpackConfigPath;
16+
}

src/bin/helpers/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
export * from './assertRunningFromRoot';
22
export * from './getFederationConfig';
33
export * from './getOptionsFromWebpackConfig';
4+
export * from './getWebpackConfigPathFromArgs';

src/bin/make-federated-types.ts

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import { setLogger } from '../helpers';
1414
import { FederationConfig } from '../models';
1515

1616
import {
17-
assertRunningFromRoot, getFederationConfig, getOptionsFromWebpackConfig,
17+
assertRunningFromRoot, getFederationConfig, getOptionsFromWebpackConfig, getWebpackConfigPathFromArgs,
1818
} from './helpers';
1919

2020
assertRunningFromRoot();
@@ -36,12 +36,15 @@ const argv = parseArgs<Argv>(process.argv.slice(2), {
3636
} as Partial<Argv>,
3737
});
3838

39-
const webpackConfigPath = argv['webpack-config'] || 'webpack.config.js';
40-
const federationConfig = webpackConfigPath
41-
? getOptionsFromWebpackConfig(webpackConfigPath).mfPluginOptions as unknown as FederationConfig
42-
: getFederationConfig(argv['federation-config']);
43-
const compileFiles = Object.values(federationConfig.exposes);
39+
let federationConfig: FederationConfig;
40+
if (argv['federation-config']) {
41+
federationConfig = getFederationConfig(argv['federation-config']);
42+
} else {
43+
const webpackConfigPath = getWebpackConfigPathFromArgs(argv['webpack-config']);
44+
federationConfig = getOptionsFromWebpackConfig(webpackConfigPath).mfPluginOptions as FederationConfig;
45+
}
4446

47+
const compileFiles = Object.values(federationConfig.exposes);
4548
const outDir = argv['output-types-folder'] || path.join(DEFAULT_DIR_DIST, DEFAULT_DIR_EMITTED_TYPES);
4649
const outFile = path.join(outDir, 'index.d.ts');
4750
const dirGlobalTypes = argv['global-types'] || DEFAULT_DIR_GLOBAL_TYPES;

0 commit comments

Comments
 (0)