feat(pkg/techdocs-cli): support passing additional mkdocs-server CLI parameters when run in containerized mode

Signed-off-by: hainenber <dotronghai96@gmail.com>
This commit is contained in:
hainenber
2023-11-19 16:32:27 +07:00
parent e16bde53c4
commit 5c269df424
3 changed files with 20 additions and 0 deletions
@@ -67,6 +67,7 @@ export default async function serve(opts: OptionValues) {
? mkdocsDockerAddr
: mkdocsLocalAddr;
const mkdocsConfigFileName = opts.mkdocsConfigFileName;
const mkdocsConfigs = opts.mkdocsConfig.split(' ');
const siteName = opts.siteName;
const { path: mkdocsYmlPath, configIsTemporary } = await getMkdocsYml('./', {
@@ -116,6 +117,7 @@ export default async function serve(opts: OptionValues) {
stdoutLogFunc: mkdocsLogFunc,
stderrLogFunc: mkdocsLogFunc,
mkdocsConfigFileName: mkdocsYmlPath,
mkdocsConfigs: mkdocsConfigs,
});
// Wait until mkdocs server has started so that Backstage starts with docs loaded
@@ -97,6 +97,21 @@ describe('runMkdocsServer', () => {
expect.objectContaining({}),
);
});
it('should accept additinoal mkdocs CLI parameters', async () => {
await runMkdocsServer({ mkdocsConfigs: ['--clean', '--strict'] });
expect(run).toHaveBeenCalledWith(
'docker',
expect.arrayContaining([
'serve',
'--dev-addr',
'0.0.0.0:8000',
'--clean',
'--strict',
]),
expect.objectContaining({}),
);
});
});
describe('mkdocs', () => {
@@ -26,6 +26,7 @@ export const runMkdocsServer = async (options: {
stdoutLogFunc?: LogFunc;
stderrLogFunc?: LogFunc;
mkdocsConfigFileName?: string;
mkdocsConfigs?: string[];
}): Promise<ChildProcess> => {
const port = options.port ?? '8000';
const useDocker = options.useDocker ?? true;
@@ -55,6 +56,7 @@ export const runMkdocsServer = async (options: {
...(options.mkdocsConfigFileName
? ['--config-file', options.mkdocsConfigFileName]
: []),
...(options.mkdocsConfigs ?? []),
],
{
stdoutLogFunc: options.stdoutLogFunc,
@@ -72,6 +74,7 @@ export const runMkdocsServer = async (options: {
...(options.mkdocsConfigFileName
? ['--config-file', options.mkdocsConfigFileName]
: []),
...(options.mkdocsConfigs ?? []),
],
{
stdoutLogFunc: options.stdoutLogFunc,