diff --git a/.changeset/khaki-olives-add.md b/.changeset/khaki-olives-add.md new file mode 100644 index 000000000..6bf38cd8f --- /dev/null +++ b/.changeset/khaki-olives-add.md @@ -0,0 +1,5 @@ +--- +"@callstack/repack": patch +--- + +Don't error on missing `--entry-file` when entry is defined in `rspack.config.js` or `webpack.config.js`. diff --git a/packages/repack/src/commands/common/getEnvOptions.ts b/packages/repack/src/commands/common/getEnvOptions.ts index 3f4e330b0..17c8aef45 100644 --- a/packages/repack/src/commands/common/getEnvOptions.ts +++ b/packages/repack/src/commands/common/getEnvOptions.ts @@ -16,10 +16,12 @@ export function getEnvOptions(cliOptions: CliOptions): EnvOptions { cliOptions.arguments.bundle.minify ?? env.mode === 'production'; const { entryFile } = cliOptions.arguments.bundle; - env.entry = - path.isAbsolute(entryFile) || entryFile.startsWith('./') - ? entryFile - : `./${entryFile}`; + if (entryFile) { + env.entry = + path.isAbsolute(entryFile) || entryFile.startsWith('./') + ? entryFile + : `./${entryFile}`; + } env.bundleFilename = cliOptions.arguments.bundle.bundleOutput; env.sourceMapFilename = cliOptions.arguments.bundle.sourcemapOutput; diff --git a/packages/repack/src/commands/rspack/bundle.ts b/packages/repack/src/commands/rspack/bundle.ts index 4a93b84b1..6d3a0d3b4 100644 --- a/packages/repack/src/commands/rspack/bundle.ts +++ b/packages/repack/src/commands/rspack/bundle.ts @@ -44,10 +44,6 @@ export async function bundle( arguments: { bundle: args }, }; - if (!args.entryFile) { - throw new Error("Option '--entry-file ' argument is missing"); - } - if (args.verbose) { process.env[VERBOSE_ENV_KEY] = '1'; } @@ -55,6 +51,10 @@ export async function bundle( const envOptions = getEnvOptions(cliOptions); const config = await loadConfig(rspackConfigPath, envOptions); + if (!args.entryFile && !config.entry) { + throw new Error("Option '--entry-file ' argument is missing"); + } + const errorHandler = async (error: Error | null, stats?: Stats) => { if (error) { console.error(error); diff --git a/packages/repack/src/commands/webpack/bundle.ts b/packages/repack/src/commands/webpack/bundle.ts index ca8884492..7e10830e9 100644 --- a/packages/repack/src/commands/webpack/bundle.ts +++ b/packages/repack/src/commands/webpack/bundle.ts @@ -43,10 +43,6 @@ export async function bundle( arguments: { bundle: args }, }; - if (!args.entryFile) { - throw new Error("Option '--entry-file ' argument is missing"); - } - if (args.verbose) { process.env[VERBOSE_ENV_KEY] = '1'; } @@ -57,6 +53,10 @@ export async function bundle( envOptions ); + if (!args.entryFile && !webpackConfig.entry) { + throw new Error("Option '--entry-file ' argument is missing"); + } + const errorHandler = async (error: Error | null, stats?: webpack.Stats) => { if (error) { console.error(error);