52 lines
1.2 KiB
TypeScript
52 lines
1.2 KiB
TypeScript
import {
|
|
getOutputsForTargetAndConfiguration,
|
|
normalizePath,
|
|
readProjectConfiguration,
|
|
Tree,
|
|
updateJson,
|
|
workspaceRoot,
|
|
} from '@nx/devkit';
|
|
import { join, relative } from 'path';
|
|
import type { NormalizedSchema } from '../schema';
|
|
|
|
export function updateNgPackage(tree: Tree, schema: NormalizedSchema): void {
|
|
const project = readProjectConfiguration(tree, schema.newProjectName);
|
|
|
|
if (project.projectType === 'application') {
|
|
return;
|
|
}
|
|
|
|
const ngPackagePath = `${project.root}/ng-package.json`;
|
|
if (!tree.exists(ngPackagePath)) {
|
|
return;
|
|
}
|
|
|
|
const rootOffset = normalizePath(
|
|
relative(join(workspaceRoot, project.root), workspaceRoot)
|
|
);
|
|
const outputs = getOutputsForTargetAndConfiguration(
|
|
{
|
|
target: {
|
|
project: schema.newProjectName,
|
|
target: 'build',
|
|
},
|
|
overrides: {},
|
|
},
|
|
{
|
|
name: schema.newProjectName,
|
|
type: 'lib',
|
|
data: {
|
|
root: project.root,
|
|
targets: project.targets,
|
|
},
|
|
} as any
|
|
);
|
|
|
|
const output = outputs[0] ?? `dist/${project.root}`;
|
|
|
|
updateJson(tree, ngPackagePath, (json) => {
|
|
json.dest = `${rootOffset}/${output}`;
|
|
return json;
|
|
});
|
|
}
|