ngx-pug-builders
Version:
Angular Pug Builders
74 lines • 3.14 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const schematics_1 = require("@angular-devkit/schematics");
const tasks_1 = require("@angular-devkit/schematics/tasks");
const dependencies_1 = require("@schematics/angular/utility/dependencies");
const workspace_1 = require("@schematics/angular/utility/workspace");
const ora_1 = __importDefault(require("ora"));
const dependencies_2 = require("./dependencies");
exports.default = () => (0, schematics_1.chain)([
addDependencies(),
updateAngularConfig()
]);
// eslint-disable-next-line prefer-arrow/prefer-arrow-functions
function addDependencies() {
return (tree, context) => {
for (const peerDependency of dependencies_2.devDependencies) {
(0, dependencies_1.addPackageJsonDependency)(tree, {
type: dependencies_1.NodeDependencyType.Dev,
name: peerDependency.name,
version: peerDependency.version
});
}
context.addTask(new tasks_1.NodePackageInstallTask());
return tree;
};
}
// eslint-disable-next-line prefer-arrow/prefer-arrow-functions
function updateAngularConfig() {
const spinner = (0, ora_1.default)({
text: `Updating workspace builders...`,
// Workaround for https://github.com/sindresorhus/ora/issues/136.
discardStdin: process.platform !== 'win32'
}).start();
return (0, workspace_1.updateWorkspace)((workspace) => {
const targets = Array.from((0, workspace_1.allWorkspaceTargets)(workspace)).map(([, target]) => target);
const updatedTargets = [];
const notUpdatedTargets = [];
// eslint-disable-next-line max-len
const regexp = /^@angular-devkit\/build-angular:(browser|dev-server|extract-i18n|karma|server)$/;
for (const target of targets) {
if (regexp.test(target.builder)) {
target.builder = target.builder
.replace('@angular-devkit/build-angular', 'ngx-pug-builders');
updatedTargets.push(target.builder);
}
else {
notUpdatedTargets.push(target.builder);
}
}
spinner.succeed([
// eslint-disable-next-line max-len
'Workspace builders successfully updated from @angular-devkit/build-angular:* to ngx-pug-builders:*.',
...(updatedTargets.length
? [
'',
`Updated targets (${updatedTargets.length}): `,
...updatedTargets.map((target) => `✔ ${target}`)
]
: []),
...(notUpdatedTargets.length
? [
'',
`Not updated targets (${notUpdatedTargets.length}): `,
...notUpdatedTargets.map((target) => `ℹ️ ${target}`)
]
: [])
].join('\n'));
spinner.stop();
});
}
//# sourceMappingURL=index.js.map