Skip to content

Commit

Permalink
refactor(cli): normalize default value application
Browse files Browse the repository at this point in the history
  • Loading branch information
Josh-Cena committed Apr 29, 2022
1 parent a30daa1 commit af15be2
Show file tree
Hide file tree
Showing 7 changed files with 29 additions and 74 deletions.
79 changes: 15 additions & 64 deletions packages/docusaurus/bin/docusaurus.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -54,14 +54,8 @@ cli
'--no-minify',
'build website without minimizing JS bundles (default: false)',
)
.action(async (siteDir, {bundleAnalyzer, config, outDir, locale, minify}) => {
build(await resolveDir(siteDir), {
bundleAnalyzer,
outDir,
config,
locale,
minify,
});
.action(async (siteDir, options) => {
build(await resolveDir(siteDir), options);
});

cli
Expand All @@ -86,9 +80,9 @@ cli
'copy TypeScript theme files when possible (default: false)',
)
.option('--danger', 'enable swizzle for unsafe component of themes')
.action(async (themeName, componentName, siteDir, options) => {
swizzle(await resolveDir(siteDir), themeName, componentName, options);
});
.action(async (themeName, componentName, siteDir, options) =>
swizzle(await resolveDir(siteDir), themeName, componentName, options),
);

cli
.command('deploy [siteDir]')
Expand All @@ -109,13 +103,9 @@ cli
'--skip-build',
'skip building website before deploy it (default: false)',
)
.action(async (siteDir, {outDir, skipBuild, config}) => {
deploy(await resolveDir(siteDir), {
outDir,
config,
skipBuild,
});
});
.action(async (siteDir, options) =>
deploy(await resolveDir(siteDir), options),
);

cli
.command('start [siteDir]')
Expand All @@ -136,18 +126,8 @@ cli
'--poll [interval]',
'use polling rather than watching for reload (default: false). Can specify a poll interval in milliseconds',
)
.action(
async (siteDir, {port, host, locale, config, hotOnly, open, poll}) => {
start(await resolveDir(siteDir), {
port,
host,
locale,
config,
hotOnly,
open,
poll,
});
},
.action(async (siteDir, options) =>
start(await resolveDir(siteDir), options),
);

cli
Expand All @@ -164,33 +144,14 @@ cli
.option('-p, --port <port>', 'use specified port (default: 3000)')
.option('--build', 'build website before serving (default: false)')
.option('-h, --host <host>', 'use specified host (default: localhost)')
.action(
async (
siteDir,
{
dir = 'build',
port = 3000,
host = 'localhost',
build: buildSite = false,
config,
},
) => {
serve(await resolveDir(siteDir), {
dir,
port,
build: buildSite,
config,
host,
});
},
.action(async (siteDir, options) =>
serve(await resolveDir(siteDir), options),
);

cli
.command('clear [siteDir]')
.description('Remove build artifacts.')
.action(async (siteDir) => {
clear(await resolveDir(siteDir));
});
.action(async (siteDir) => clear(await resolveDir(siteDir)));

cli
.command('write-translations [siteDir]')
Expand All @@ -211,18 +172,8 @@ cli
'--messagePrefix <messagePrefix>',
'allows to init new written messages with a given prefix. This might help you to highlight untranslated message to make them stand out in the UI',
)
.action(
async (
siteDir,
{locale = undefined, override = false, messagePrefix = '', config},
) => {
writeTranslations(await resolveDir(siteDir), {
locale,
override,
config,
messagePrefix,
});
},
.action(async (siteDir, options) =>
writeTranslations(await resolveDir(siteDir), options),
);

cli
Expand Down
2 changes: 1 addition & 1 deletion packages/docusaurus/src/commands/build.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ import type {HelmetServerState} from 'react-helmet-async';

export async function build(
siteDir: string,
cliOptions: Partial<BuildCLIOptions> = {},
cliOptions: Partial<BuildCLIOptions>,
// When running build, we force terminate the process to prevent async
// operations from never returning. However, if run as part of docusaurus
// deploy, we have to let deploy finish.
Expand Down
4 changes: 2 additions & 2 deletions packages/docusaurus/src/commands/clear.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ async function removePath(entry: {path: string; description: string}) {
}
}

export async function clear(siteDir: string): Promise<unknown> {
export async function clear(siteDir: string): Promise<void> {
const generatedFolder = {
path: path.join(siteDir, GENERATED_FILES_DIR_NAME),
description: 'generated folder',
Expand All @@ -40,7 +40,7 @@ export async function clear(siteDir: string): Promise<unknown> {
path: path.join(siteDir, p, '.cache'),
description: 'Webpack persistent cache folder',
}));
return Promise.all(
await Promise.all(
[generatedFolder, buildFolder, ...cacheFolders].map(removePath),
);
}
2 changes: 1 addition & 1 deletion packages/docusaurus/src/commands/deploy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ function shellExecLog(cmd: string) {

export async function deploy(
siteDir: string,
cliOptions: Partial<BuildCLIOptions> = {},
cliOptions: Partial<BuildCLIOptions>,
): Promise<void> {
const {outDir, siteConfig, siteConfigPath} = await loadContext({
siteDir,
Expand Down
8 changes: 5 additions & 3 deletions packages/docusaurus/src/commands/serve.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,15 @@ import path from 'path';
import {loadSiteConfig} from '../server/config';
import {build} from './build';
import {getCLIOptionHost, getCLIOptionPort} from './commandUtils';
import {DEFAULT_BUILD_DIR_NAME} from '@docusaurus/utils';
import type {ServeCLIOptions} from '@docusaurus/types';

export async function serve(
siteDir: string,
cliOptions: ServeCLIOptions,
cliOptions: Partial<ServeCLIOptions>,
): Promise<void> {
let dir = path.resolve(siteDir, cliOptions.dir);
const buildDir = cliOptions.dir ?? DEFAULT_BUILD_DIR_NAME;
let dir = path.resolve(siteDir, buildDir);

if (cliOptions.build) {
dir = await build(
Expand Down Expand Up @@ -69,7 +71,7 @@ export async function serve(
});
});

logger.success`Serving path=${cliOptions.dir} directory at url=${
logger.success`Serving path=${buildDir} directory at url=${
servingUrl + baseUrl
}.`;
server.listen(port);
Expand Down
4 changes: 2 additions & 2 deletions packages/docusaurus/src/commands/writeHeadingIds.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ async function getPathsToWatch(siteDir: string): Promise<string[]> {

export async function writeHeadingIds(
siteDir: string,
files?: string[],
options?: WriteHeadingIDOptions,
files: string[],
options: WriteHeadingIDOptions,
): Promise<void> {
const markdownFiles = await safeGlobby(
files ?? (await getPathsToWatch(siteDir)),
Expand Down
4 changes: 3 additions & 1 deletion packages/docusaurus/src/commands/writeTranslations.ts
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,9 @@ async function writePluginTranslationFiles({

export async function writeTranslations(
siteDir: string,
options: WriteTranslationsOptions & ConfigOptions & {locale?: string},
options: Partial<
WriteTranslationsOptions & ConfigOptions & {locale?: string}
>,
): Promise<void> {
const context = await loadContext({
siteDir,
Expand Down

0 comments on commit af15be2

Please sign in to comment.