@abp/ng.schematics 7.4.0-rc.4 → 7.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
import { JsonValue } from '@angular-devkit/core';
|
|
2
|
-
import { Rule } from '@angular-devkit/schematics';
|
|
2
|
+
import { Rule, Tree } from '@angular-devkit/schematics';
|
|
3
3
|
import { ProjectDefinition } from '@angular-devkit/core/src/workspace';
|
|
4
|
+
import * as ts from 'typescript';
|
|
4
5
|
import { ChangeThemeOptions } from './model';
|
|
6
|
+
import { ThemeOptionsEnum } from './theme-options.enum';
|
|
5
7
|
export default function (_options: ChangeThemeOptions): Rule;
|
|
8
|
+
export declare function removeImportPath(appModulePath: string, selectedTheme: ThemeOptionsEnum): Rule;
|
|
9
|
+
export declare function removeImportFromNgModuleMetadata(appModulePath: string, selectedTheme: ThemeOptionsEnum): Rule;
|
|
10
|
+
export declare function insertImports(appModulePath: string, selectedTheme: ThemeOptionsEnum): Rule;
|
|
11
|
+
export declare function createSourceFile(host: Tree, appModulePath: string): ts.SourceFile;
|
|
12
|
+
export declare function getImportPaths(selectedTheme: ThemeOptionsEnum): import("./style-map").ImportDefinition[];
|
|
6
13
|
export declare function getProjectTargetOptions(project: ProjectDefinition, buildTarget: string): Record<string, JsonValue | undefined>;
|
|
7
14
|
export declare function removeThemeBasedStyles(styles: (string | object)[]): (string | object)[];
|
|
8
15
|
export declare const styleCompareFn: (item1: string | object, item2: string | object) => boolean | "" | undefined;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.styleCompareFn = exports.removeThemeBasedStyles = exports.getProjectTargetOptions = void 0;
|
|
3
|
+
exports.styleCompareFn = exports.removeThemeBasedStyles = exports.getProjectTargetOptions = exports.getImportPaths = exports.createSourceFile = exports.insertImports = exports.removeImportFromNgModuleMetadata = exports.removeImportPath = void 0;
|
|
4
4
|
const schematics_1 = require("@angular-devkit/schematics");
|
|
5
5
|
const ts = require("typescript");
|
|
6
6
|
const style_map_1 = require("./style-map");
|
|
@@ -41,17 +41,8 @@ function updateProjectStyle(projectName, workspace, targetThemeName) {
|
|
|
41
41
|
targetOption.styles = [...newStyles, ...sanitizedStyles];
|
|
42
42
|
}
|
|
43
43
|
function updateAppModule(selectedProject, targetThemeName) {
|
|
44
|
-
return (host) => {
|
|
45
|
-
const
|
|
46
|
-
if (!angularJSON) {
|
|
47
|
-
throw new schematics_1.SchematicsException('The angular.json does not found');
|
|
48
|
-
}
|
|
49
|
-
const workspace = JSON.parse(angularJSON.toString());
|
|
50
|
-
const project = workspace.projects[selectedProject];
|
|
51
|
-
if (!project || !project.sourceRoot) {
|
|
52
|
-
throw new schematics_1.SchematicsException('The target project does not found');
|
|
53
|
-
}
|
|
54
|
-
const appModulePath = project.sourceRoot + '/app/app.module.ts';
|
|
44
|
+
return async (host) => {
|
|
45
|
+
const appModulePath = (await (0, utils_1.createDefaultPath)(host, selectedProject)) + '/app.module.ts';
|
|
55
46
|
return (0, schematics_1.chain)([
|
|
56
47
|
removeImportPath(appModulePath, targetThemeName),
|
|
57
48
|
removeImportFromNgModuleMetadata(appModulePath, targetThemeName),
|
|
@@ -62,14 +53,11 @@ function updateAppModule(selectedProject, targetThemeName) {
|
|
|
62
53
|
function removeImportPath(appModulePath, selectedTheme) {
|
|
63
54
|
return (host) => {
|
|
64
55
|
const recorder = host.beginUpdate(appModulePath);
|
|
65
|
-
const
|
|
66
|
-
const
|
|
67
|
-
const impMap = Array.from(style_map_1.importMap.values())
|
|
68
|
-
.filter(f => f !== style_map_1.importMap.get(selectedTheme))
|
|
69
|
-
.reduce((acc, val) => [...acc, ...val], []);
|
|
56
|
+
const source = createSourceFile(host, appModulePath);
|
|
57
|
+
const impMap = getImportPaths(selectedTheme);
|
|
70
58
|
const nodes = (0, ast_utils_1.findNodes)(source, ts.isImportDeclaration);
|
|
71
59
|
const filteredNodes = nodes.filter(n => impMap.some(f => n.getFullText().match(f.path)));
|
|
72
|
-
if (
|
|
60
|
+
if (filteredNodes?.length < 1) {
|
|
73
61
|
return;
|
|
74
62
|
}
|
|
75
63
|
filteredNodes.map(importPath => recorder.remove(importPath.getStart(), importPath.getWidth() + 1));
|
|
@@ -77,14 +65,12 @@ function removeImportPath(appModulePath, selectedTheme) {
|
|
|
77
65
|
return host;
|
|
78
66
|
};
|
|
79
67
|
}
|
|
68
|
+
exports.removeImportPath = removeImportPath;
|
|
80
69
|
function removeImportFromNgModuleMetadata(appModulePath, selectedTheme) {
|
|
81
70
|
return (host) => {
|
|
82
71
|
const recorder = host.beginUpdate(appModulePath);
|
|
83
|
-
const
|
|
84
|
-
const
|
|
85
|
-
const impMap = Array.from(style_map_1.importMap.values())
|
|
86
|
-
.filter(f => f !== style_map_1.importMap.get(selectedTheme))
|
|
87
|
-
.reduce((acc, val) => [...acc, ...val], []);
|
|
72
|
+
const source = createSourceFile(host, appModulePath);
|
|
73
|
+
const impMap = getImportPaths(selectedTheme);
|
|
88
74
|
const node = (0, ast_utils_1.getDecoratorMetadata)(source, 'NgModule', '@angular/core')[0] || {};
|
|
89
75
|
if (!node) {
|
|
90
76
|
throw new schematics_1.SchematicsException('The app module does not found');
|
|
@@ -94,7 +80,7 @@ function removeImportFromNgModuleMetadata(appModulePath, selectedTheme) {
|
|
|
94
80
|
const assignmentInit = assignment.initializer;
|
|
95
81
|
const elements = assignmentInit.elements;
|
|
96
82
|
if (!elements || elements.length < 1) {
|
|
97
|
-
|
|
83
|
+
throw new schematics_1.SchematicsException(`Elements could not found: ${elements}`);
|
|
98
84
|
}
|
|
99
85
|
const filteredElements = elements.filter(f => impMap.some(s => f.getText().match(s.importName)));
|
|
100
86
|
if (!filteredElements || filteredElements.length < 1) {
|
|
@@ -105,11 +91,11 @@ function removeImportFromNgModuleMetadata(appModulePath, selectedTheme) {
|
|
|
105
91
|
return host;
|
|
106
92
|
};
|
|
107
93
|
}
|
|
94
|
+
exports.removeImportFromNgModuleMetadata = removeImportFromNgModuleMetadata;
|
|
108
95
|
function insertImports(appModulePath, selectedTheme) {
|
|
109
96
|
return (host) => {
|
|
110
97
|
const recorder = host.beginUpdate(appModulePath);
|
|
111
|
-
const
|
|
112
|
-
const source = ts.createSourceFile(appModulePath, sourceText, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
|
|
98
|
+
const source = createSourceFile(host, appModulePath);
|
|
113
99
|
const selected = style_map_1.importMap.get(selectedTheme);
|
|
114
100
|
const changes = [];
|
|
115
101
|
selected.map(({ importName, path }) => changes.push(...(0, ast_utils_1.addImportToModule)(source, appModulePath, importName, path)));
|
|
@@ -124,6 +110,23 @@ function insertImports(appModulePath, selectedTheme) {
|
|
|
124
110
|
return host;
|
|
125
111
|
};
|
|
126
112
|
}
|
|
113
|
+
exports.insertImports = insertImports;
|
|
114
|
+
function createSourceFile(host, appModulePath) {
|
|
115
|
+
const buffer = host.read(appModulePath);
|
|
116
|
+
if (!buffer || buffer.length === 0) {
|
|
117
|
+
throw new schematics_1.SchematicsException(`${appModulePath} file could not be read.`);
|
|
118
|
+
}
|
|
119
|
+
const sourceText = buffer.toString('utf-8');
|
|
120
|
+
const source = ts.createSourceFile(appModulePath, sourceText, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
|
|
121
|
+
return source;
|
|
122
|
+
}
|
|
123
|
+
exports.createSourceFile = createSourceFile;
|
|
124
|
+
function getImportPaths(selectedTheme) {
|
|
125
|
+
return Array.from(style_map_1.importMap.values())
|
|
126
|
+
.filter(f => f !== style_map_1.importMap.get(selectedTheme))
|
|
127
|
+
.reduce((acc, val) => [...acc, ...val], []);
|
|
128
|
+
}
|
|
129
|
+
exports.getImportPaths = getImportPaths;
|
|
127
130
|
function getProjectTargetOptions(project, buildTarget) {
|
|
128
131
|
const options = project.targets?.get(buildTarget)?.options;
|
|
129
132
|
if (!options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/schematics/src/commands/change-theme/index.ts"],"names":[],"mappings":";;;AACA,2DAAoF;AAEpF,iCAAiC;AACjC,2CAA6D;AAE7D,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/schematics/src/commands/change-theme/index.ts"],"names":[],"mappings":"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"}
|