diff --git a/actions/generate.action.ts b/actions/generate.action.ts index 22c3ff012..33520eda5 100644 --- a/actions/generate.action.ts +++ b/actions/generate.action.ts @@ -1,4 +1,5 @@ import * as chalk from 'chalk'; +import * as path from 'path'; import { Answers } from 'inquirer'; import { Input } from '../commands'; import { getValueOrDefault } from '../lib/compiler/helpers/get-value-or-default'; @@ -125,6 +126,10 @@ const generateFiles = async (inputs: Input[]) => { } } + if (configuration.generateOptions?.baseDir) { + sourceRoot = path.join(sourceRoot, configuration.generateOptions.baseDir); + } + schematicOptions.push(new SchematicOption('sourceRoot', sourceRoot)); schematicOptions.push(new SchematicOption('spec', generateSpec)); schematicOptions.push(new SchematicOption('flat', generateFlat)); diff --git a/lib/configuration/configuration.ts b/lib/configuration/configuration.ts index af99cf1d4..3792ff331 100644 --- a/lib/configuration/configuration.ts +++ b/lib/configuration/configuration.ts @@ -77,6 +77,7 @@ export interface GenerateOptions { spec?: boolean | Record; flat?: boolean; specFileSuffix?: string; + baseDir?: string; } export interface ProjectConfiguration {