@nstudio/web-angular
Version:
Web Angular Plugin for xplat
68 lines (67 loc) • 3.6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = default_1;
const schematics_1 = require("@angular-devkit/schematics");
const xplat_1 = require("@nstudio/xplat");
const xplat_utils_1 = require("@nstudio/xplat-utils");
const xplat_2 = require("../../utils/xplat");
function default_1(options) {
return (0, schematics_1.chain)([
(0, xplat_utils_1.prerun)(options, true),
// (tree: Tree, context: SchematicContext) => {
// if (tree.exists(`/libs/xplat/core/src/lib/index.ts`)) {
// return noop();
// } else {
// return externalSchematic('@nstudio/angular', 'xplat', options, {
// interactive: false,
// })(tree, context);
// }
// },
xplat_1.XplatHelpers.generateLib(options, 'core', 'xplat/web', 'jsdom'),
xplat_1.XplatHelpers.cleanupLib(options, 'core', 'xplat/web'),
xplat_1.XplatHelpers.generateLib(options, 'features', 'xplat/web', 'jsdom'),
xplat_1.XplatHelpers.cleanupLib(options, 'features', 'xplat/web'),
xplat_1.XplatHelpers.generateLib(options, 'scss', 'xplat/web', 'jsdom'),
xplat_1.XplatHelpers.cleanupLib(options, 'scss', 'xplat/web'),
(tree, context) => {
const xplatFolderName = xplat_1.XplatHelpers.getXplatFoldername('web', 'angular');
// console.log('xplatName:', xplatName);
return options.skipDependentPlatformFiles
? (0, schematics_1.noop)()
: xplat_1.XplatHelpers.addPlatformFiles(options, xplatFolderName, 'core', 'index.ts')(tree, context);
},
(tree, context) => {
const xplatFolderName = xplat_1.XplatHelpers.getXplatFoldername('web', 'angular');
// console.log('xplatName:', xplatName);
return options.skipDependentPlatformFiles
? (0, schematics_1.noop)()
: xplat_1.XplatHelpers.addPlatformFiles(options, xplatFolderName, 'features', 'index.ts')(tree, context);
},
(tree, context) => {
const xplatFolderName = xplat_1.XplatHelpers.getXplatFoldername('web', 'angular');
if (tree.exists(`/libs/xplat/${xplatFolderName}/scss/src/_index.scss`)) {
// may have already generated web support
return (0, schematics_1.noop)()(tree, context);
}
else {
return (0, schematics_1.branchAndMerge)((0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)(`./_files_platform_scss`), [
(0, schematics_1.template)(Object.assign(Object.assign({}, options), (0, xplat_1.getDefaultTemplateOptions)())),
(0, schematics_1.move)(`libs/xplat/${xplatFolderName}/scss/src`),
])))(tree, context);
}
},
(tree, context) => {
if (tree.exists('/libs/xplat/scss/src/_index.scss')) {
// user may have generated support already
return (0, schematics_1.noop)()(tree, context);
}
else {
return (0, schematics_1.branchAndMerge)((0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)(`./_files_lib_scss`), [
(0, schematics_1.template)(Object.assign(Object.assign({}, options), (0, xplat_1.getDefaultTemplateOptions)())),
(0, schematics_1.move)('libs/xplat/scss/src'),
])))(tree, context);
}
},
xplat_2.XplatWebAngularHelpers.updateRootDeps(options),
]);
}