20 lines
774 B
TypeScript
20 lines
774 B
TypeScript
import { BuilderContext } from '@angular-devkit/architect';
|
|
import { workspaces } from '@angular-devkit/core';
|
|
import { Host } from '@angular-devkit/core/src/virtual-fs/host';
|
|
|
|
export async function getSourceRoot(context: BuilderContext, host: Host<{}>) {
|
|
const workspaceHost = workspaces.createWorkspaceHost(host);
|
|
const { workspace } = await workspaces.readWorkspace(
|
|
context.workspaceRoot,
|
|
workspaceHost
|
|
);
|
|
if (workspace.projects.get(context.target.project).sourceRoot) {
|
|
return workspace.projects.get(context.target.project).sourceRoot;
|
|
} else {
|
|
context.reportStatus('Error');
|
|
const message = `${context.target.project} does not have a sourceRoot. Please define one.`;
|
|
context.logger.error(message);
|
|
throw new Error(message);
|
|
}
|
|
}
|