From 38ecc722ef6d96b8a1a29a103f9de5b281387aee Mon Sep 17 00:00:00 2001 From: Tobias Wittwer Date: Sun, 3 Apr 2022 18:39:12 +0200 Subject: [PATCH] feat: use always relative paths fixes #63 Should workaround absolute path handling of compodoc on windows. https://github.com/compodoc/compodoc/issues/1195 --- .../compodoc/src/executors/build/executor.ts | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/packages/compodoc/src/executors/build/executor.ts b/packages/compodoc/src/executors/build/executor.ts index d3d228d..1c32e4e 100644 --- a/packages/compodoc/src/executors/build/executor.ts +++ b/packages/compodoc/src/executors/build/executor.ts @@ -1,12 +1,10 @@ -import { BuildExecutorSchema, CompodocOptions } from './schema'; -import { ChildProcess, spawn } from 'child_process'; -import { join, relative, resolve, sep } from 'path'; import { ExecutorContext, getPackageManagerCommand, joinPathFragments, readJsonFile, } from '@nrwl/devkit'; +import { ChildProcess, spawn } from 'child_process'; import { copyFileSync, existsSync, @@ -15,6 +13,8 @@ import { writeFileSync, } from 'fs'; import { tmpdir } from 'os'; +import { join, relative, resolve } from 'path'; +import { BuildExecutorSchema, CompodocOptions } from './schema'; export default async function runExecutor( options: BuildExecutorSchema, @@ -34,7 +34,7 @@ export default async function runExecutor( cwd, joinPathFragments(context.root, 'node_modules', '.bin', 'compodoc'), ); - const cmdArgs = toArguments(toCompodocOptions(options, context)); + const cmdArgs = toArguments(args); const cmdOpts = { cwd, shell: true }; if (options.watch && options.exportFormat === 'json') { @@ -96,13 +96,12 @@ function toCompodocOptions( const _: [BuildExecutorSchema, ExecutorContext] = [options, context]; const project = context.workspace.projects[context.projectName]; + options.tsConfig ??= `${project.root}/tsconfig.json`; + options.outputPath ??= `dist/compodoc/${context.projectName}`; + return { - tsconfig: options.tsConfig - ? resolve(context.root, options.tsConfig) - : resolve(project.root, 'tsconfig.json'), - output: options.outputPath - ? resolve(context.root, options.outputPath) - : resolve('dist', 'compodoc', context.projectName), + tsconfig: toRelativePath(options.tsConfig, ..._), + output: toRelativePath(options.outputPath, ..._), exportFormat: options.exportFormat, minimal: options.exportFormat === 'json',