diff --git a/packages/docusaurus/bin/docusaurus.mjs b/packages/docusaurus/bin/docusaurus.mjs index ec6a5cfffb..820d26e7de 100755 --- a/packages/docusaurus/bin/docusaurus.mjs +++ b/packages/docusaurus/bin/docusaurus.mjs @@ -126,6 +126,10 @@ cli '--poll [interval]', 'use polling rather than watching for reload (default: false). Can specify a poll interval in milliseconds', ) + .option( + '--no-minify', + 'build website without minimizing JS bundles (default: false)', + ) .action(async (siteDir, options) => start(await resolveDir(siteDir), options), ); diff --git a/packages/docusaurus/src/commands/start.ts b/packages/docusaurus/src/commands/start.ts index 551bca65cc..a9e4e1e11e 100644 --- a/packages/docusaurus/src/commands/start.ts +++ b/packages/docusaurus/src/commands/start.ts @@ -32,6 +32,7 @@ export type StartCLIOptions = HostPortOptions & hotOnly?: boolean; open?: boolean; poll?: boolean | number; + minify?: boolean; }; export async function start( @@ -121,32 +122,35 @@ export async function start( fsWatcher.on(event, reload), ); - let config: webpack.Configuration = merge(await createClientConfig(props), { - watchOptions: { - ignored: /node_modules\/(?!@docusaurus)/, - poll: cliOptions.poll, + let config: webpack.Configuration = merge( + await createClientConfig(props, cliOptions.minify), + { + watchOptions: { + ignored: /node_modules\/(?!@docusaurus)/, + poll: cliOptions.poll, + }, + infrastructureLogging: { + // Reduce log verbosity, see https://github.com/facebook/docusaurus/pull/5420#issuecomment-906613105 + level: 'warn', + }, + plugins: [ + // Generates an `index.html` file with the