diff --git a/packages/docusaurus-types/src/index.d.ts b/packages/docusaurus-types/src/index.d.ts index 3c0087f076..47f941a9fb 100644 --- a/packages/docusaurus-types/src/index.d.ts +++ b/packages/docusaurus-types/src/index.d.ts @@ -34,7 +34,7 @@ export interface DocusaurusConfig { } export interface DocusaurusContext { - siteConfig?: Partial; + siteConfig?: DocusaurusConfig; } export interface Preset { @@ -44,15 +44,20 @@ export interface Preset { export type PresetConfig = [string, Object] | [string] | string; -export interface CLIOptions { - [option: string]: any; +export interface StartCLIOptions { + port: string; + host: string; + hotOnly: boolean; +} + +export interface BuildCLIOptions { + bundleAnalyzer: boolean; } export interface LoadContext { siteDir: string; generatedFilesDir: string; - siteConfig: Partial; - cliOptions: CLIOptions; + siteConfig: DocusaurusConfig; outDir: string; baseUrl: string; } diff --git a/packages/docusaurus/bin/docusaurus.js b/packages/docusaurus/bin/docusaurus.js index 6b93f7c991..03586490ad 100755 --- a/packages/docusaurus/bin/docusaurus.js +++ b/packages/docusaurus/bin/docusaurus.js @@ -45,11 +45,9 @@ program '--bundle-analyzer', 'Visualize size of webpack output files with an interactive zoomable treemap (default = false)', ) - .option('--no-cache-loader', 'Do not use cache-loader') - .action((siteDir = '.', {bundleAnalyzer, cacheLoader}) => { + .action((siteDir = '.', {bundleAnalyzer}) => { wrapCommand(build)(path.resolve(siteDir), { bundleAnalyzer, - cacheLoader, }); }); @@ -76,13 +74,11 @@ program '--hot-only', 'Do not fallback to page refresh if hot reload fails (default: false)', ) - .option('--no-cache-loader', 'Do not use cache-loader') - .action((siteDir = '.', {port, host, hotOnly, cacheLoader}) => { + .action((siteDir = '.', {port, host, hotOnly}) => { wrapCommand(start)(path.resolve(siteDir), { port, host, hotOnly, - cacheLoader, }); }); diff --git a/packages/docusaurus/src/commands/build.ts b/packages/docusaurus/src/commands/build.ts index e68b0dfbe9..51175a3103 100644 --- a/packages/docusaurus/src/commands/build.ts +++ b/packages/docusaurus/src/commands/build.ts @@ -15,7 +15,7 @@ import {BundleAnalyzerPlugin} from 'webpack-bundle-analyzer'; import merge from 'webpack-merge'; import {STATIC_DIR_NAME} from '../constants'; import {load} from '../server'; -import {CLIOptions, Props} from '@docusaurus/types'; +import {BuildCLIOptions, Props} from '@docusaurus/types'; import {createClientConfig} from '../webpack/client'; import {createServerConfig} from '../webpack/server'; import {applyConfigureWebpack} from '../webpack/utils'; @@ -46,12 +46,12 @@ function compile(config: Configuration[]): Promise { export async function build( siteDir: string, - cliOptions: CLIOptions = {}, + cliOptions: Partial = {}, ): Promise { process.env.NODE_ENV = 'production'; console.log(chalk.blue('Creating an optimized production build...')); - const props: Props = await load(siteDir, cliOptions); + const props: Props = await load(siteDir); // Apply user webpack config. const {outDir, plugins} = props; diff --git a/packages/docusaurus/src/commands/start.ts b/packages/docusaurus/src/commands/start.ts index 7ac7364cd4..a8a173acb8 100644 --- a/packages/docusaurus/src/commands/start.ts +++ b/packages/docusaurus/src/commands/start.ts @@ -20,7 +20,7 @@ import WebpackDevServer from 'webpack-dev-server'; import merge from 'webpack-merge'; import HotModuleReplacementPlugin from 'webpack/lib/HotModuleReplacementPlugin'; import {load} from '../server'; -import {CLIOptions} from '@docusaurus/types'; +import {StartCLIOptions} from '@docusaurus/types'; import {CONFIG_FILE_NAME, STATIC_DIR_NAME, DEFAULT_PORT} from '../constants'; import {createClientConfig} from '../webpack/client'; import {applyConfigureWebpack} from '../webpack/utils'; @@ -37,12 +37,12 @@ async function getPort(reqPort: string | undefined): Promise { export async function start( siteDir: string, - cliOptions: CLIOptions = {}, + cliOptions: Partial = {}, ): Promise { console.log(chalk.blue('Starting the development server...')); // Process all related files as a prop. - const props = await load(siteDir, cliOptions); + const props = await load(siteDir); // Reload files processing. const reload = () => { diff --git a/packages/docusaurus/src/server/index.ts b/packages/docusaurus/src/server/index.ts index 696ad9b4cc..1b79f48bb3 100644 --- a/packages/docusaurus/src/server/index.ts +++ b/packages/docusaurus/src/server/index.ts @@ -21,17 +21,13 @@ import {loadPresets} from './presets'; import {loadRoutes} from './routes'; import {loadThemeAlias} from './themes'; import { - CLIOptions, DocusaurusConfig, LoadContext, PluginConfig, Props, } from '@docusaurus/types'; -export async function load( - siteDir: string, - cliOptions: CLIOptions = {}, -): Promise { +export async function load(siteDir: string): Promise { const generatedFilesDir: string = path.resolve( siteDir, GENERATED_FILES_DIR_NAME, @@ -51,7 +47,6 @@ export async function load( siteDir, generatedFilesDir, siteConfig, - cliOptions, outDir, baseUrl, }; @@ -148,7 +143,6 @@ ${Object.keys(registry) generatedFilesDir, routesPaths, plugins, - cliOptions, }; return props; diff --git a/packages/docusaurus/src/server/presets/index.ts b/packages/docusaurus/src/server/presets/index.ts index 5074592b9c..188425e8f4 100644 --- a/packages/docusaurus/src/server/presets/index.ts +++ b/packages/docusaurus/src/server/presets/index.ts @@ -15,7 +15,7 @@ import { } from '@docusaurus/types'; export function loadPresets( - context: Partial, + context: LoadContext, ): { plugins: PluginConfig[]; themes: PluginConfig[]; diff --git a/packages/docusaurus/src/webpack/base.ts b/packages/docusaurus/src/webpack/base.ts index 43dd45d7ea..3771af2f03 100644 --- a/packages/docusaurus/src/webpack/base.ts +++ b/packages/docusaurus/src/webpack/base.ts @@ -22,14 +22,7 @@ export function createBaseConfig( props: Props, isServer: boolean, ): Configuration { - const { - outDir, - siteDir, - baseUrl, - generatedFilesDir, - cliOptions: {cacheLoader}, - routesPaths, - } = props; + const {outDir, siteDir, baseUrl, generatedFilesDir, routesPaths} = props; const totalPages = routesPaths.length; const isProd = process.env.NODE_ENV === 'production'; @@ -110,10 +103,9 @@ export function createBaseConfig( /node_modules/.test(modulePath) && !/docusaurus/.test(modulePath) ); }, - use: [ - cacheLoader && getCacheLoader(isServer), - getBabelLoader(isServer), - ].filter(Boolean) as Loader[], + use: [getCacheLoader(isServer), getBabelLoader(isServer)].filter( + Boolean, + ) as Loader[], }, { test: CSS_REGEX, diff --git a/website/docs/advanced-plugins.md b/website/docs/advanced-plugins.md index f14add4482..3491ae5a81 100644 --- a/website/docs/advanced-plugins.md +++ b/website/docs/advanced-plugins.md @@ -48,14 +48,9 @@ interface LoadContext { siteDir: string; generatedFilesDir: string; siteConfig: DocusaurusConfig; - cliOptions: CLIOptions; outDir: string; baseUrl: string; } - -interface CLIOptions { - [option: string]: any; -} ``` #### `options`