fix(misc): add project name default for workspace schematics (#4901)

This commit is contained in:
Jason Jean 2021-02-25 17:39:35 -05:00 committed by GitHub
parent 87f483640c
commit 925e5d2287
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -60,7 +60,7 @@ export async function workspaceGenerators(args: string[]) {
process.stderr process.stderr
); );
try { try {
const workflow = createWorkflow(parsedArgs.dryRun); const workflow = createWorkflow(ws, parsedArgs.dryRun);
await executeAngularDevkitSchematic( await executeAngularDevkitSchematic(
generatorName, generatorName,
parsedArgs, parsedArgs,
@ -152,19 +152,26 @@ function toolsTsConfig() {
return readJsonFile<TsConfig>(toolsTsConfigPath()); return readJsonFile<TsConfig>(toolsTsConfigPath());
} }
function createWorkflow(dryRun: boolean) { function createWorkflow(workspace: Workspaces, dryRun: boolean) {
const { virtualFs, schema } = require('@angular-devkit/core'); const { virtualFs, schema } = require('@angular-devkit/core');
const { NodeJsSyncHost } = require('@angular-devkit/core/node'); const { NodeJsSyncHost } = require('@angular-devkit/core/node');
const { formats } = require('@angular-devkit/schematics'); const { formats } = require('@angular-devkit/schematics');
const { NodeWorkflow } = require('@angular-devkit/schematics/tools'); const { NodeWorkflow } = require('@angular-devkit/schematics/tools');
const root = normalizePath(rootDirectory); const root = normalizePath(rootDirectory);
const host = new virtualFs.ScopedHost(new NodeJsSyncHost(), root); const host = new virtualFs.ScopedHost(new NodeJsSyncHost(), root);
return new NodeWorkflow(host, { const workflow = new NodeWorkflow(host, {
packageManager: detectPackageManager(), packageManager: detectPackageManager(),
dryRun, dryRun,
registry: new schema.CoreSchemaRegistry(formats.standardFormats), registry: new schema.CoreSchemaRegistry(formats.standardFormats),
resolvePaths: [process.cwd(), rootDirectory], resolvePaths: [process.cwd(), rootDirectory],
}); });
workflow.registry.addSmartDefaultProvider('projectName', () =>
workspace.calculateDefaultProjectName(
process.cwd(),
workspace.readWorkspaceConfiguration()
)
);
return workflow;
} }
function listGenerators(collectionFile: string) { function listGenerators(collectionFile: string) {