nx/packages/web/src/utils/source-root.ts
2019-09-23 11:24:13 +01:00

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);
}
}