@ng-atomic/schematics 17.5.0 → 17.6.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.
Files changed (95) hide show
  1. package/collection.json +31 -24
  2. package/index.js +399 -0
  3. package/index.js.map +7 -0
  4. package/lib/_utilities/index.js +188 -0
  5. package/lib/_utilities/index.js.map +7 -0
  6. package/lib/atomic-component/index.js +96 -0
  7. package/lib/atomic-component/index.js.map +7 -0
  8. package/lib/ng-add/index.js +126 -0
  9. package/lib/ng-add/index.js.map +7 -0
  10. package/lib/page/index.js +256 -0
  11. package/lib/page/index.js.map +7 -0
  12. package/lib/pages/index.js +39 -0
  13. package/lib/pages/index.js.map +7 -0
  14. package/lib/setup/index.js +109 -0
  15. package/lib/setup/index.js.map +7 -0
  16. package/lib/style-header/index.js +56 -0
  17. package/lib/style-header/index.js.map +7 -0
  18. package/package.json +3 -5
  19. package/src/_utilities/add-path-to-routes.d.ts +0 -2
  20. package/src/_utilities/add-path-to-routes.js +0 -34
  21. package/src/_utilities/add-path-to-routes.js.map +0 -1
  22. package/src/_utilities/angular-config.d.ts +0 -4
  23. package/src/_utilities/angular-config.js +0 -23
  24. package/src/_utilities/angular-config.js.map +0 -1
  25. package/src/_utilities/index.d.ts +0 -4
  26. package/src/_utilities/index.js +0 -8
  27. package/src/_utilities/index.js.map +0 -1
  28. package/src/_utilities/overwrite.d.ts +0 -2
  29. package/src/_utilities/overwrite.js +0 -13
  30. package/src/_utilities/overwrite.js.map +0 -1
  31. package/src/_utilities/package-config.d.ts +0 -12
  32. package/src/_utilities/package-config.js +0 -47
  33. package/src/_utilities/package-config.js.map +0 -1
  34. package/src/_utilities/save-file.d.ts +0 -2
  35. package/src/_utilities/save-file.js +0 -11
  36. package/src/_utilities/save-file.js.map +0 -1
  37. package/src/_utilities/ts-config.d.ts +0 -2
  38. package/src/_utilities/ts-config.js +0 -15
  39. package/src/_utilities/ts-config.js.map +0 -1
  40. package/src/atomic-component/_test/example.atom.scss +0 -6
  41. package/src/atomic-component/_test/example.atom.ts +0 -16
  42. package/src/atomic-component/index.d.ts +0 -10
  43. package/src/atomic-component/index.js +0 -53
  44. package/src/atomic-component/index.js.map +0 -1
  45. package/src/atomic-component/index.spec.ts +0 -187
  46. package/src/atomic-component/schema.d.ts +0 -24
  47. package/src/atomic-component/schema.js +0 -3
  48. package/src/atomic-component/schema.js.map +0 -1
  49. package/src/index.d.ts +0 -6
  50. package/src/index.js +0 -10
  51. package/src/index.js.map +0 -1
  52. package/src/ng-add/index.d.ts +0 -3
  53. package/src/ng-add/index.js +0 -31
  54. package/src/ng-add/index.js.map +0 -1
  55. package/src/page/_test/example.module.ts +0 -26
  56. package/src/page/_test/example.page.scss +0 -6
  57. package/src/page/_test/example.page.ts +0 -15
  58. package/src/page/index.d.ts +0 -3
  59. package/src/page/index.js +0 -71
  60. package/src/page/index.js.map +0 -1
  61. package/src/page/index.spec.ts +0 -37
  62. package/src/pages/index.d.ts +0 -3
  63. package/src/pages/index.js +0 -15
  64. package/src/pages/index.js.map +0 -1
  65. package/src/pages/index.spec.ts +0 -17
  66. package/src/pages/schema.d.ts +0 -7
  67. package/src/pages/schema.js +0 -3
  68. package/src/pages/schema.js.map +0 -1
  69. package/src/setup/index.d.ts +0 -2
  70. package/src/setup/index.js +0 -18
  71. package/src/setup/index.js.map +0 -1
  72. package/src/setup/index.spec.ts +0 -37
  73. package/src/style-header/_test/example.scss +0 -6
  74. package/src/style-header/index.d.ts +0 -4
  75. package/src/style-header/index.js +0 -18
  76. package/src/style-header/index.js.map +0 -1
  77. package/src/style-header/index.spec.ts +0 -43
  78. package/src/style-header/schema.d.ts +0 -6
  79. package/src/style-header/schema.js +0 -3
  80. package/src/style-header/schema.js.map +0 -1
  81. /package/{src → lib}/atomic-component/files/__name@dasherize__/__name@dasherize__.stories.ts.template +0 -0
  82. /package/{src → lib}/atomic-component/files/__name@dasherize__/index.ts.template +0 -0
  83. /package/{src → lib}/atomic-component/files/__name@dasherize__/ng-package.json.template +0 -0
  84. /package/{src → lib}/atomic-component/schema.json +0 -0
  85. /package/{src → lib}/ng-add/schema.json +0 -0
  86. /package/{src → lib}/page/files/__name@dasherize__/__name@dasherize__.routes.ts.template +0 -0
  87. /package/{src → lib}/pages/files/__name@dasherize__/__name@dasherize__.routes.ts.template +0 -0
  88. /package/{src → lib}/pages/schema.json +0 -0
  89. /package/{src → lib}/setup/files/atomic/_atom.scss +0 -0
  90. /package/{src → lib}/setup/files/atomic/_component.scss +0 -0
  91. /package/{src → lib}/setup/files/atomic/_molecule.scss +0 -0
  92. /package/{src → lib}/setup/files/atomic/_organism.scss +0 -0
  93. /package/{src → lib}/setup/files/atomic/_page.scss +0 -0
  94. /package/{src → lib}/setup/files/atomic/_template.scss +0 -0
  95. /package/{src → lib}/style-header/schema.json +0 -0
package/collection.json CHANGED
@@ -6,64 +6,71 @@
6
6
  "style-header": {
7
7
  "aliases": ["sh"],
8
8
  "description": "Add style header",
9
- "factory": "./src/style-header/index",
10
- "schema": "./src/style-header/schema.json"
9
+ "factory": "./lib/style-header/index",
10
+ "schema": "./lib/style-header/schema.json"
11
11
  },
12
12
  "atomic-component": {
13
13
  "aliases": ["ac"],
14
14
  "description": "Create an atomic component",
15
- "factory": "./src/atomic-component/index#atomicComponent",
16
- "schema": "./src/atomic-component/schema.json"
15
+ "factory": "./lib/atomic-component/index#atomicComponent",
16
+ "schema": "./lib/atomic-component/schema.json"
17
17
  },
18
18
  "atom": {
19
19
  "description": "Create an atom.",
20
- "factory": "./src/atomic-component/index#atom",
21
- "schema": "./src/atomic-component/schema.json"
20
+ "factory": "./lib/atomic-component/index#atom",
21
+ "schema": "./lib/atomic-component/schema.json"
22
22
  },
23
23
  "molecule": {
24
24
  "description": "Create a molecule.",
25
- "factory": "./src/atomic-component/index#molecule",
26
- "schema": "./src/atomic-component/schema.json"
25
+ "factory": "./lib/atomic-component/index#molecule",
26
+ "schema": "./lib/atomic-component/schema.json"
27
27
  },
28
28
  "organism": {
29
29
  "description": "Create a organism.",
30
- "factory": "./src/atomic-component/index#organism",
31
- "schema": "./src/atomic-component/schema.json"
30
+ "factory": "./lib/atomic-component/index#organism",
31
+ "schema": "./lib/atomic-component/schema.json"
32
32
  },
33
33
  "template": {
34
34
  "description": "Create a template.",
35
- "factory": "./src/atomic-component/index#template",
36
- "schema": "./src/atomic-component/schema.json"
35
+ "factory": "./lib/atomic-component/index#template",
36
+ "schema": "./lib/atomic-component/schema.json"
37
37
  },
38
38
  "frame": {
39
39
  "description": "Create a template.",
40
- "factory": "./src/atomic-component/index#frame",
41
- "schema": "./src/atomic-component/schema.json"
40
+ "factory": "./lib/atomic-component/index#frame",
41
+ "schema": "./lib/atomic-component/schema.json"
42
42
  },
43
43
  "sheet": {
44
44
  "description": "Create a sheet",
45
- "factory": "./src/atomic-component/index#sheet",
46
- "schema": "./src/atomic-component/schema.json"
45
+ "factory": "./lib/atomic-component/index#sheet",
46
+ "schema": "./lib/atomic-component/schema.json"
47
47
  },
48
48
  "page": {
49
49
  "description": "Create a page",
50
- "factory": "./src/page/index#page",
51
- "schema": "./src/atomic-component/schema.json"
50
+ "factory": "./lib/page/index#page",
51
+ "schema": "./lib/atomic-component/schema.json"
52
52
  },
53
53
  "pages": {
54
54
  "description": "Create a pages",
55
- "factory": "./src/pages/index#pages",
56
- "schema": "./src/pages/schema.json"
55
+ "factory": "./lib/pages/index#pages",
56
+ "schema": "./lib/pages/schema.json"
57
57
  },
58
58
  "ng-add": {
59
59
  "description": "Add angular-atomic-schematics",
60
- "factory": "./src/ng-add/index",
61
- "schema": "./src/ng-add/schema.json"
60
+ "factory": "./lib/ng-add/index",
61
+ "schema": "./lib/ng-add/schema.json"
62
62
  },
63
63
  "setup": {
64
64
  "description": "Setup angular-atomic-schematics",
65
- "factory": "./src/setup/index#setup",
66
- "schema": "./src/ng-add/schema.json"
65
+ "factory": "./lib/setup/index#setup",
66
+ "schema": "./lib/ng-add/schema.json"
67
+ }
68
+ },
69
+ "generators": {
70
+ "page": {
71
+ "description": "Create a page",
72
+ "factory": "./lib/page/index#nxPage",
73
+ "schema": "./lib/atomic-component/schema.json"
67
74
  }
68
75
  }
69
76
  }
package/index.js ADDED
@@ -0,0 +1,399 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // packages/@ng-atomic/schematics/src/index.ts
30
+ var src_exports = {};
31
+ __export(src_exports, {
32
+ atom: () => atom,
33
+ atomicComponent: () => atomicComponent,
34
+ dialog: () => dialog,
35
+ frame: () => frame,
36
+ generateRoutes: () => generateRoutes,
37
+ getCustomWebpackVersion: () => getCustomWebpackVersion,
38
+ molecule: () => molecule,
39
+ nxPage: () => nxPage,
40
+ organism: () => organism,
41
+ page: () => page,
42
+ pages: () => pages,
43
+ setup: () => setup,
44
+ sheet: () => sheet,
45
+ template: () => template
46
+ });
47
+ module.exports = __toCommonJS(src_exports);
48
+
49
+ // packages/@ng-atomic/schematics/src/lib/atomic-component/index.ts
50
+ var import_schematics = require("@angular-devkit/schematics");
51
+ var strings = __toESM(require("@angular-devkit/core/src/utils/strings"));
52
+ var import_parse_name = require("@schematics/angular/utility/parse-name");
53
+ var import_workspace = require("@schematics/angular/utility/workspace");
54
+ var import_path = require("path");
55
+ var import_lodash = require("lodash");
56
+ var atomicComponent = (options) => async (host, _) => {
57
+ options.prefix ||= `${options.type}s`;
58
+ options.path = (0, import_path.join)(await (0, import_workspace.createDefaultPath)(host, options.project), options?.path ?? "");
59
+ const { name, path, type, project, standalone } = options = { ...options, ...(0, import_parse_name.parseName)(options.path, options.name) };
60
+ const opt = (0, import_lodash.omit)(options, ["styleHeader", "useTypeAsExtension", "story", "ngPackage"]);
61
+ const { styleHeader, useTypeAsExtension } = options;
62
+ const componentExt = useTypeAsExtension ? type : "component";
63
+ const scssPath = `${path}/${name}/${name}.${componentExt}.scss`;
64
+ return (0, import_schematics.chain)([
65
+ options.standalone ? (0, import_schematics.noop)() : (0, import_schematics.externalSchematic)("@schematics/angular", "module", { name, path, project }),
66
+ (0, import_schematics.externalSchematic)("@schematics/angular", "component", { ...opt, type: componentExt, export: true }),
67
+ (0, import_schematics.mergeWith)((0, import_schematics.apply)(
68
+ (0, import_schematics.url)("./files"),
69
+ [
70
+ (0, import_schematics.applyTemplates)({ ...strings, name, type: type ?? "component", standalone }),
71
+ (0, import_schematics.move)(path),
72
+ (0, import_schematics.filter)((path2) => {
73
+ if (path2.endsWith("/index.ts"))
74
+ return true;
75
+ if (options.ngPackage && path2.endsWith("/ng-package.json"))
76
+ return true;
77
+ if (options.story && path2.endsWith(".stories.ts"))
78
+ return true;
79
+ return false;
80
+ })
81
+ ]
82
+ )),
83
+ (0, import_schematics.schematic)("style-header", { ...options, styleHeader, name, type, path: scssPath })
84
+ ]);
85
+ };
86
+ var atom = (options) => atomicComponent({ ...options, type: "atom" });
87
+ var molecule = (options) => atomicComponent({ ...options, type: "molecule" });
88
+ var organism = (options) => atomicComponent({ ...options, type: "organism" });
89
+ var template = (options) => atomicComponent({ ...options, type: "template" });
90
+ var frame = (options) => atomicComponent({ ...options, type: "frame" });
91
+ var sheet = (options) => atomicComponent({ ...options, type: "sheet" });
92
+ var dialog = (options) => atomicComponent({ ...options, type: "dialog" });
93
+
94
+ // packages/@ng-atomic/schematics/src/lib/ng-add/index.ts
95
+ var import_tasks = require("@angular-devkit/schematics/tasks");
96
+
97
+ // packages/@ng-atomic/schematics/src/lib/_utilities/add-path-to-routes.ts
98
+ var import_ast_utils = require("@nx/workspace/src/utils/ast-utils");
99
+ var import_typescript = __toESM(require("typescript"));
100
+ var isVariableDeclaration = (n) => n.kind === import_typescript.default.SyntaxKind.VariableDeclaration;
101
+ var isIdentifier = (n) => n.kind === import_typescript.default.SyntaxKind.Identifier;
102
+ var isArrayLiteralExpression = (n) => n.kind === import_typescript.default.SyntaxKind.ArrayLiteralExpression;
103
+ var matchText = (n, text) => n.getText() === text;
104
+ var hasMatchTextChild = (n, text) => {
105
+ return n.getChildren().findIndex((c) => isIdentifier(c) && matchText(c, text)) !== -1;
106
+ };
107
+ var isRoutesVariableDeclaration = (n) => isVariableDeclaration(n) && hasMatchTextChild(n, "routes");
108
+ var addPathToRoutes = ({ route, routesPath, removeOtherRoutes }) => (host) => {
109
+ const src = import_typescript.default.createSourceFile(
110
+ routesPath,
111
+ host.read(routesPath).toString("utf-8"),
112
+ import_typescript.default.ScriptTarget.Latest,
113
+ true
114
+ );
115
+ const nodes = (0, import_ast_utils.getSourceNodes)(src);
116
+ const routeNodes = nodes.filter(isRoutesVariableDeclaration).map((n) => {
117
+ return n.getChildren().filter(isArrayLiteralExpression).reverse()[0];
118
+ });
119
+ if (routeNodes.length === 1) {
120
+ const n = routeNodes[0];
121
+ const recorder = host.beginUpdate(routesPath);
122
+ const suffix = n.elements.length > 0 && !removeOtherRoutes ? "," : "";
123
+ recorder.insertRight(n.getStart() + 1, `${route}${suffix}`);
124
+ host.commitUpdate(recorder);
125
+ }
126
+ return host;
127
+ };
128
+
129
+ // packages/@ng-atomic/schematics/src/lib/_utilities/angular-config.ts
130
+ var import_lodash2 = __toESM(require("lodash.get"));
131
+ var import_lodash3 = __toESM(require("lodash.set"));
132
+
133
+ // packages/@ng-atomic/schematics/src/lib/_utilities/overwrite.ts
134
+ var import_jsonc_parser = require("jsonc-parser");
135
+ function overwrite(host, file, callback) {
136
+ if (!host.exists(file))
137
+ return host;
138
+ const json = (0, import_jsonc_parser.parse)(host.read(file).toString("utf-8"));
139
+ host.overwrite(file, JSON.stringify(callback(json), null, 2));
140
+ return host;
141
+ }
142
+
143
+ // packages/@ng-atomic/schematics/src/lib/_utilities/angular-config.ts
144
+ var PACKAGE_NAME = "@ng-atomic/schematics";
145
+ var addSchematicsConfig = ({ project, componentsDir }, type) => (host) => {
146
+ const query = `projects.${project}.schematics.${PACKAGE_NAME}:${type}`;
147
+ return overwrite(host, "angular.json", (json) => ((0, import_lodash3.default)(json, query, { "path": `${componentsDir}/${type}s` }), json));
148
+ };
149
+ var setDefaultCollection = () => (host) => {
150
+ return overwrite(host, "angular.json", (json) => ((0, import_lodash3.default)(json, `cli.defaultCollection`, PACKAGE_NAME), json));
151
+ };
152
+ var addStyleIncludePath = ({ project, stylesDir }) => (host) => {
153
+ const query = `projects.${project}.architect.build.options.stylePreprocessorOptions.includePaths`;
154
+ return overwrite(host, "angular.json", (json) => ((0, import_lodash3.default)(json, query, [...new Set((0, import_lodash2.default)(json, query)).add(stylesDir)]), json));
155
+ };
156
+
157
+ // packages/@ng-atomic/schematics/src/lib/_utilities/get-default-path.ts
158
+ var import_devkit2 = require("@nx/devkit");
159
+ var import_workspace2 = require("@schematics/angular/utility/workspace");
160
+
161
+ // packages/@ng-atomic/schematics/src/lib/_utilities/run-in-nx-context.ts
162
+ var import_devkit = require("@nx/devkit");
163
+ async function runInNxContext(tree, context, callback) {
164
+ return new Promise((resolve) => {
165
+ (0, import_devkit.convertNxGenerator)((tree2) => resolve(callback(tree2)))({})(tree, context);
166
+ });
167
+ }
168
+
169
+ // packages/@ng-atomic/schematics/src/lib/_utilities/get-default-path.ts
170
+ async function getDefaultPath(tree, context, project) {
171
+ if (tree.exists("nx.json")) {
172
+ const conf = await runInNxContext(tree, context, (nxTree) => {
173
+ return (0, import_devkit2.readProjectConfiguration)(nxTree, project);
174
+ });
175
+ return `${conf.sourceRoot}/${conf.projectType === "application" ? "app" : "lib"}`;
176
+ }
177
+ return (0, import_workspace2.createDefaultPath)(tree, project);
178
+ }
179
+
180
+ // packages/@ng-atomic/schematics/src/lib/_utilities/ts-config.ts
181
+ var import_lodash4 = __toESM(require("lodash.set"));
182
+ var addPathsToTsConfig = ({ componentsDir }) => (host) => {
183
+ return overwrite(host, host.exists("tsconfig.base.json") ? "tsconfig.base.json" : "tsconfig.json", (json) => {
184
+ (0, import_lodash4.default)(json, `compilerOptions.paths.@components`, [componentsDir]);
185
+ (0, import_lodash4.default)(json, `compilerOptions.paths.@components/*`, [`${componentsDir}/*`]);
186
+ return json;
187
+ });
188
+ };
189
+
190
+ // packages/@ng-atomic/schematics/src/lib/ng-add/index.ts
191
+ function getCustomWebpackVersion(ver) {
192
+ const [major, minor, patch] = ver.replace(/(\^|\~)/, "").split(".");
193
+ switch (major) {
194
+ case "10":
195
+ return "^0.1000.0";
196
+ case "11":
197
+ return "^0.1100.0";
198
+ default:
199
+ throw new Error("@angular/core version is not supported.");
200
+ }
201
+ }
202
+
203
+ // packages/@ng-atomic/schematics/src/lib/page/index.ts
204
+ var import_register = require("source-map-support/register");
205
+ var import_core = require("@angular-devkit/core");
206
+ var import_schematics3 = require("@angular-devkit/schematics");
207
+ var import_parse_name2 = require("@schematics/angular/utility/parse-name");
208
+ var import_strings = require("@angular-devkit/core/src/utils/strings");
209
+ var import_ngcli_adapter = require("nx/src/adapter/ngcli-adapter");
210
+ var import_lodash_es = require("lodash-es");
211
+
212
+ // packages/@schematics-x/schematics-x/src/lib/common/_meta/utils/external-schematic.ts
213
+ var import_schematics2 = require("@angular-devkit/schematics");
214
+ var import_rxjs = require("rxjs");
215
+ var import_devkit3 = require("@nx/devkit");
216
+ function isNxGenerator(func) {
217
+ return func.length === 2;
218
+ }
219
+ function externalSchematic2(collectionName, schematicName, options, executionOptions) {
220
+ return (input, context) => {
221
+ const collection = context.engine.createCollection(
222
+ collectionName,
223
+ context.schematic.collection
224
+ );
225
+ const schematic3 = collection.createSchematic(schematicName);
226
+ const context_ = schematic3["_engine"].createContext(schematic3, context, executionOptions);
227
+ return (0, import_rxjs.of)(input.branch()).pipe(
228
+ (0, import_rxjs.first)(),
229
+ (0, import_rxjs.concatMap)(
230
+ (tree) => schematic3["_engine"].transformOptions(schematic3, options, context_).pipe((0, import_rxjs.map)((o) => [tree, o]))
231
+ ),
232
+ (0, import_rxjs.concatMap)(([tree, transformedOptions]) => {
233
+ let input2;
234
+ let scoped = false;
235
+ if (executionOptions && executionOptions.scope) {
236
+ scoped = true;
237
+ input2 = tree;
238
+ } else {
239
+ input2 = tree;
240
+ }
241
+ const _fn = schematic3["_description"].factoryFn;
242
+ const fn = isNxGenerator(_fn) ? (0, import_devkit3.convertNxGenerator)(_fn) : _fn;
243
+ return (0, import_schematics2.callRule)(fn(transformedOptions), input2, context_).pipe(
244
+ (0, import_rxjs.map)((output) => {
245
+ if (output === input2) {
246
+ return tree;
247
+ } else if (scoped) {
248
+ tree.merge(output);
249
+ return tree;
250
+ } else {
251
+ return output;
252
+ }
253
+ })
254
+ );
255
+ }),
256
+ (0, import_rxjs.last)(),
257
+ (0, import_rxjs.map)((x) => {
258
+ input.merge(x, import_schematics2.MergeStrategy.AllowOverwriteConflict);
259
+ return input;
260
+ })
261
+ );
262
+ };
263
+ }
264
+
265
+ // packages/@ng-atomic/schematics/src/lib/page/index.ts
266
+ var import_path2 = require("path");
267
+ function page(options) {
268
+ return async (tree, context) => {
269
+ options.type = "page";
270
+ options.name = resolveName(options.name);
271
+ options.prefix ||= `${options.type}s`;
272
+ options.path ??= await getDefaultPath(tree, context, options.project);
273
+ const { name, path, type, project } = options = { ...options, ...(0, import_parse_name2.parseName)(options.path, options.name) };
274
+ const { styleHeader, useTypeAsExtension } = options;
275
+ const opt = (0, import_lodash_es.omit)(options, ["styleHeader", "useTypeAsExtension", "story", "ngPackage"]);
276
+ const componentExt = useTypeAsExtension ? type : "component";
277
+ const scssPath = `${path}/${name}/${name}.${componentExt}.scss`;
278
+ const pages2 = getPagesOptions(`${path}/${name}`);
279
+ return (0, import_schematics3.chain)([
280
+ (0, import_schematics3.schematic)("pages", { ...pages2, project }),
281
+ addRouteIntoPagesRoutes(options, pages2),
282
+ generateRoutes({ name, path, type }),
283
+ externalSchematic2("@nx/angular", "component", {
284
+ ...(0, import_lodash_es.omit)(opt, ["path"]),
285
+ directory: (0, import_path2.join)(options.path, options.name),
286
+ changeDetection: "Default",
287
+ nameAndDirectoryFormat: "as-provided",
288
+ export: true
289
+ }),
290
+ (0, import_schematics3.schematic)("style-header", { ...options, styleHeader, name, type, path: scssPath }),
291
+ addRouteIntoPageRoutes(options, { path, name })
292
+ ]);
293
+ };
294
+ }
295
+ function nxPage(tree, options) {
296
+ return (0, import_ngcli_adapter.wrapAngularDevkitSchematic)("./dist/packages/@ng-atomic/schematics", "page")(tree, options);
297
+ }
298
+ function generateRoutes(options) {
299
+ return (0, import_schematics3.mergeWith)(
300
+ (0, import_schematics3.apply)(
301
+ (0, import_schematics3.url)("./files"),
302
+ [
303
+ (0, import_schematics3.applyTemplates)({ ...import_core.strings, ...options }),
304
+ (0, import_schematics3.move)(options.path)
305
+ ]
306
+ ),
307
+ import_schematics3.MergeStrategy.Overwrite
308
+ );
309
+ }
310
+ var getPagesOptions = (fullPath) => {
311
+ const [_, name, ...paths] = fullPath.split("/").reverse();
312
+ return { name, path: paths.reverse().join("/") };
313
+ };
314
+ var resolveName = (name) => {
315
+ return "pages/" + name.split("/").filter((path) => path !== "pages").join("/pages/");
316
+ };
317
+ var addRouteIntoPagesRoutes = (options, target) => {
318
+ const routeOptions = buildOption(options, target, "pages");
319
+ return addPathToRoutes(routeOptions);
320
+ };
321
+ var addRouteIntoPageRoutes = (options, target) => {
322
+ const routeOptions = buildOption(options, target, "page");
323
+ return addPathToRoutes(routeOptions);
324
+ };
325
+ var buildOption = (options, { path, name }, type) => {
326
+ return {
327
+ ...options,
328
+ routesPath: `${path}/${name}/${name}.routes.ts`,
329
+ route: type === "pages" ? buildPagesRoute(options.name) : buildPageRoute(name),
330
+ removeOtherRoutes: type === "page"
331
+ };
332
+ };
333
+ var buildPagesRoute = (name) => `
334
+ {
335
+ path: '${name}',
336
+ loadChildren: () => import('./${(0, import_strings.dasherize)(name)}/${(0, import_strings.dasherize)(name)}.routes').then(m => m.routes)
337
+ }`;
338
+ var buildPageRoute = (name) => `
339
+ {
340
+ path: '',
341
+ component: ${(0, import_strings.classify)(name)}Page,
342
+ loadChildren: () => import('@ng-atomic/components/pages/blank').then(m => m.routes)
343
+ // loadChildren: () => import('./pages/pages.routes').then(m => m.routes)
344
+ }`;
345
+
346
+ // packages/@ng-atomic/schematics/src/lib/pages/index.ts
347
+ var import_core2 = require("@angular-devkit/core");
348
+ var import_schematics4 = require("@angular-devkit/schematics");
349
+ var import_parse_name3 = require("@schematics/angular/utility/parse-name");
350
+ var import_workspace3 = require("@schematics/angular/utility/workspace");
351
+ var pages = (options) => async (host) => {
352
+ options.path ??= await (0, import_workspace3.createDefaultPath)(host, options.project);
353
+ const { name, path } = options = { ...options, ...(0, import_parse_name3.parseName)(options.path, options.name) };
354
+ return host.exists(`${path}/${name}/${name}.routes.ts`) ? (0, import_schematics4.noop)() : genModule(options);
355
+ };
356
+ var genModule = (options) => (0, import_schematics4.mergeWith)((0, import_schematics4.apply)((0, import_schematics4.url)("./files"), [(0, import_schematics4.applyTemplates)({ ...import_core2.strings, ...options }), (0, import_schematics4.move)(options.path)]));
357
+
358
+ // packages/@ng-atomic/schematics/src/lib/setup/index.ts
359
+ var import_schematics5 = require("@angular-devkit/schematics");
360
+ var setup = (options) => (0, import_schematics5.chain)([
361
+ addSchematicsConfig(options, "atom"),
362
+ addSchematicsConfig(options, "molecule"),
363
+ addSchematicsConfig(options, "organism"),
364
+ addSchematicsConfig(options, "template"),
365
+ setDefaultCollection(),
366
+ addStyleIncludePath(options),
367
+ (host) => host.exists(`${options.stylesDir}/atomic`) ? (0, import_schematics5.noop)() : addStyleFiles(options),
368
+ addPathsToTsConfig(options)
369
+ ]);
370
+ var addStyleFiles = (options) => (0, import_schematics5.mergeWith)((0, import_schematics5.apply)((0, import_schematics5.url)("./files"), [(0, import_schematics5.template)({}), (0, import_schematics5.move)(options.stylesDir)]));
371
+
372
+ // packages/@ng-atomic/schematics/src/lib/style-header/index.ts
373
+ var import_strings2 = require("@angular-devkit/core/src/utils/strings");
374
+ var import_string_template = __toESM(require("string-template"));
375
+ // Annotate the CommonJS export names for ESM import in node:
376
+ 0 && (module.exports = {
377
+ atom,
378
+ atomicComponent,
379
+ dialog,
380
+ frame,
381
+ generateRoutes,
382
+ getCustomWebpackVersion,
383
+ molecule,
384
+ nxPage,
385
+ organism,
386
+ page,
387
+ pages,
388
+ setup,
389
+ sheet,
390
+ template
391
+ });
392
+ /**
393
+ * @license
394
+ * Copyright Google LLC All Rights Reserved.
395
+ *
396
+ * Use of this source code is governed by an MIT-style license that can be
397
+ * found in the LICENSE file at https://angular.io/license
398
+ */
399
+ //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../packages/@ng-atomic/schematics/src/index.ts", "../../../../packages/@ng-atomic/schematics/src/lib/atomic-component/index.ts", "../../../../packages/@ng-atomic/schematics/src/lib/ng-add/index.ts", "../../../../packages/@ng-atomic/schematics/src/lib/_utilities/add-path-to-routes.ts", "../../../../packages/@ng-atomic/schematics/src/lib/_utilities/angular-config.ts", "../../../../packages/@ng-atomic/schematics/src/lib/_utilities/overwrite.ts", "../../../../packages/@ng-atomic/schematics/src/lib/_utilities/get-default-path.ts", "../../../../packages/@ng-atomic/schematics/src/lib/_utilities/run-in-nx-context.ts", "../../../../packages/@ng-atomic/schematics/src/lib/_utilities/ts-config.ts", "../../../../packages/@ng-atomic/schematics/src/lib/page/index.ts", "../../../../packages/@schematics-x/schematics-x/src/lib/common/_meta/utils/external-schematic.ts", "../../../../packages/@ng-atomic/schematics/src/lib/pages/index.ts", "../../../../packages/@ng-atomic/schematics/src/lib/setup/index.ts", "../../../../packages/@ng-atomic/schematics/src/lib/style-header/index.ts"],
4
+ "sourcesContent": ["export * from './lib/atomic-component';\nexport * from './lib/ng-add';\nexport * from './lib/page';\nexport * from './lib/pages';\nexport * from './lib/setup';\nexport * from './lib/style-header';\n", "import { \n\tRule, Tree, SchematicContext, apply, chain,\n\texternalSchematic, schematic,\n\turl, applyTemplates, mergeWith, move, noop,\n\ttemplate as _template,\n\tfilter\n} from '@angular-devkit/schematics';\nimport * as strings from '@angular-devkit/core/src/utils/strings';\nimport { parseName } from '@schematics/angular/utility/parse-name';\nimport { createDefaultPath } from '@schematics/angular/utility/workspace';\nimport { join } from 'path';\nimport { Schema } from './schema';\nimport { omit } from 'lodash';\n\nexport const atomicComponent = (options: Schema): Rule => async (host: Tree, _: SchematicContext) => {\n\toptions.prefix ||= `${options.type}s`;\n\toptions.path = join(await createDefaultPath(host, options.project), options?.path ?? '');\n\n\tconst { name, path, type, project, standalone } = options = {...options, ...parseName(options.path, options.name)};\n\tconst opt = omit(options, ['styleHeader', 'useTypeAsExtension', 'story', 'ngPackage']);\n\tconst { styleHeader, useTypeAsExtension } = options;\n\tconst componentExt = useTypeAsExtension ? type : 'component';\n\tconst scssPath = `${path}/${name}/${name}.${componentExt}.scss`;\n\n\treturn chain([\n\t\toptions.standalone ? noop() : externalSchematic('@schematics/angular', 'module', {name, path, project}),\n\t\texternalSchematic('@schematics/angular', 'component', {...opt, type: componentExt, export: true}),\n\t\tmergeWith(apply(\n\t\t\turl('./files'),\n\t\t\t[\n\t\t\t\tapplyTemplates({...strings, name, type: type ?? 'component', standalone}),\n\t\t\t\tmove(path),\n\t\t\t\tfilter(path => {\n\t\t\t\t\tif (path.endsWith('/index.ts')) return true;\n\t\t\t\t\tif (options.ngPackage && path.endsWith('/ng-package.json')) return true;\n\t\t\t\t\tif (options.story && path.endsWith('.stories.ts')) return true;\n\t\t\t\t\treturn false\n\t\t\t\t}),\n\t\t\t],\n\t\t)), \n\t\tschematic('style-header', {...options, styleHeader, name, type, path: scssPath}),\n\t]);\n};\n\nexport const atom = (options: Schema): Rule => atomicComponent(({...options, type: 'atom'}));\nexport const molecule = (options: Schema): Rule => atomicComponent(({...options, type: 'molecule'}));\nexport const organism = (options: Schema): Rule => atomicComponent(({...options, type: 'organism'}));\nexport const template = (options: Schema): Rule => atomicComponent(({...options, type: 'template'}));\nexport const frame = (options: Schema): Rule => atomicComponent(({...options, type: 'frame'}));\nexport const sheet = (options: Schema): Rule => atomicComponent(({...options, type: 'sheet'}));\nexport const dialog = (options: Schema): Rule => atomicComponent(({...options, type: 'dialog'}));\n", "import { Rule, SchematicContext, Tree } from '@angular-devkit/schematics';\nimport { NodePackageInstallTask, RunSchematicTask } from '@angular-devkit/schematics/tasks';\nimport { addPackageToPackageJson, getPackageVersionFromPackageJson } from '../_utilities';\n\nexport default function(options: any): Rule {\n return (host: Tree, context: SchematicContext) => {\n const ngCoreVersionTag = getPackageVersionFromPackageJson(host, '@angular/core');\n const angularDependencyVersion = ngCoreVersionTag || `0.0.0-NG`;\n\n if (angularDependencyVersion === '0.0.0-NG') {\n throw new Error('@angular/core version is not supported.');\n }\n\n\t\taddPackageToPackageJson(host, '@ng-atomic/schematics', '^1.0.0', 'devDependencies');\n\t\taddPackageToPackageJson(host, 'scoped-var', '^1.0.0', 'devDependencies');\n\n\t\tconst installTaskId = context.addTask(new NodePackageInstallTask());\n\t\t\n\t\t// Set Up Angular Atomic Schematics\n\t\tcontext.addTask(new RunSchematicTask('setup', {...options}), [installTaskId])\n\n\t\treturn host\n }\n}\n\nexport function getCustomWebpackVersion(ver: string): string {\n const [major, minor, patch] = (ver.replace(/(\\^|\\~)/, '')).split('.');\n switch (major) {\n case '10': return '^0.1000.0';\n case '11': return '^0.1100.0';\n default: throw new Error('@angular/core version is not supported.');\n }\n}", "import { Tree } from '@angular-devkit/schematics';\nimport { getSourceNodes } from '@nx/workspace/src/utils/ast-utils';\nimport ts from 'typescript';\n\nconst isVariableDeclaration = (n: ts.Node) =>\n n.kind === ts.SyntaxKind.VariableDeclaration;\nconst isIdentifier = (n: ts.Node) => n.kind === ts.SyntaxKind.Identifier;\nconst isArrayLiteralExpression = (n: ts.Node) =>\n n.kind === ts.SyntaxKind.ArrayLiteralExpression;\nconst matchText = (n: ts.Node, text: string) => n.getText() === text;\nconst hasMatchTextChild = (n: ts.Node, text: string) => {\n return (\n n.getChildren().findIndex((c) => isIdentifier(c) && matchText(c, text)) !==\n -1\n );\n};\nconst isRoutesVariableDeclaration = (n: ts.Node) =>\n isVariableDeclaration(n) && hasMatchTextChild(n, 'routes');\n\nexport const addPathToRoutes =\n ({ route, routesPath, removeOtherRoutes }: any) =>\n (host: Tree) => {\n const src = ts.createSourceFile(\n routesPath,\n host.read(routesPath)!.toString('utf-8'),\n ts.ScriptTarget.Latest,\n true\n );\n\n const nodes = getSourceNodes(src);\n const routeNodes = nodes\n .filter(isRoutesVariableDeclaration)\n .map((n: ts.Node) => {\n return n.getChildren().filter(isArrayLiteralExpression).reverse()[0];\n });\n\n if (routeNodes.length === 1) {\n const n = routeNodes[0] as ts.ArrayLiteralExpression;\n const recorder = host.beginUpdate(routesPath);\n const suffix = n.elements.length > 0 && !removeOtherRoutes ? ',' : '';\n recorder.insertRight(n.getStart() + 1, `${route}${suffix}`);\n host.commitUpdate(recorder);\n }\n\n return host;\n };\n", "import { Tree } from '@angular-devkit/schematics';\nimport get from 'lodash.get';\nimport set from 'lodash.set';\nimport { overwrite } from './overwrite';\n\nconst PACKAGE_NAME = '@ng-atomic/schematics';\n\nexport const addSchematicsConfig = ({project, componentsDir}: any, type: string) => (host: Tree): Tree => {\n\tconst query = `projects.${project}.schematics.${PACKAGE_NAME}:${type}`;\n\treturn overwrite(host, 'angular.json', json => (set(json, query, {'path': `${componentsDir}/${type}s`}), json));\n};\n\nexport const setDefaultCollection = () => (host: Tree) => {\n\treturn overwrite(host, 'angular.json', json => (set(json, `cli.defaultCollection`, PACKAGE_NAME), json));\n}\n\nexport const addStyleIncludePath = ({project, stylesDir}: any) => (host: Tree) => {\n\tconst query = `projects.${project}.architect.build.options.stylePreprocessorOptions.includePaths`;\n\treturn overwrite(host, 'angular.json', json => (set(json, query, [...new Set(get(json, query)).add(stylesDir)]), json));\n};\n", "\nimport { Tree } from '@angular-devkit/schematics';\nimport { parse } from \"jsonc-parser\";\n\nexport function overwrite(host: Tree, file: string, callback: (json: object) => object): Tree {\n\tif (!host.exists(file)) return host;\n\tconst json = parse(host.read(file)!.toString('utf-8'));\n\thost.overwrite(file, JSON.stringify(callback(json), null, 2));\n\treturn host;\n}\n", "import { SchematicContext } from \"@angular-devkit/schematics\";\nimport { Tree as NgTree } from \"@angular-devkit/schematics/src/tree/interface\";\nimport { readProjectConfiguration } from \"@nx/devkit\";\nimport { createDefaultPath } from \"@schematics/angular/utility/workspace\";\nimport { runInNxContext } from \"./run-in-nx-context\";\n\nexport function isNxContext(context: SchematicContext): boolean {\n return context.schematic.description.name.startsWith('@nrwl');\n}\n\nexport async function getDefaultPath(tree: NgTree, context: SchematicContext, project: string): Promise<string> {\n if (tree.exists('nx.json')) {\n\t\tconst conf = await runInNxContext(tree, context, (nxTree) => {\n\t\t\treturn readProjectConfiguration(nxTree, project);\n\t\t});\n return `${conf.sourceRoot}/${conf.projectType === 'application' ? 'app' : 'lib'}`;\n }\n return createDefaultPath(tree, project);\n}", "import { SchematicContext, Tree } from \"@angular-devkit/schematics\";\nimport { convertNxGenerator } from \"@nx/devkit\";\nimport { Tree as NxTree } from '@nx/devkit';\n\nexport async function runInNxContext<T>(tree: Tree, context: SchematicContext, callback: (tree: NxTree) => T | Promise<T>): Promise<T> {\n\treturn new Promise<T>((resolve) => {\n\t\tconvertNxGenerator((tree: NxTree) => resolve(callback(tree)))({})(tree, context);\n\t});\n}\n", "import { Tree } from '@angular-devkit/schematics';\nimport set from 'lodash.set';\nimport { overwrite } from './overwrite';\n\nexport const addPathsToTsConfig = ({componentsDir}: any) => (host: Tree) => {\n\treturn overwrite(host, host.exists('tsconfig.base.json') ? 'tsconfig.base.json' : 'tsconfig.json', json => {\n\t\tset(json, `compilerOptions.paths.@components`, [componentsDir]);\n\t\tset(json, `compilerOptions.paths.@components/*`, [`${componentsDir}/*`]);\n\t\treturn json;\n\t});\n};\n\n", "import 'source-map-support/register';\nimport { strings } from '@angular-devkit/core';\nimport { MergeStrategy, Rule, SchematicContext, Tree, apply, applyTemplates, chain, mergeWith, move, schematic, url } from '@angular-devkit/schematics';\nimport { parseName } from '@schematics/angular/utility/parse-name';\nimport { dasherize, classify } from '@angular-devkit/core/src/utils/strings';\nimport { wrapAngularDevkitSchematic } from 'nx/src/adapter/ngcli-adapter';\nimport { omit } from 'lodash-es';\nimport { Schema } from '../atomic-component/schema';\nimport { addPathToRoutes, getDefaultPath } from '../_utilities';\nimport { externalSchematic } from \"schematics-x/common/_meta/utils\";\nimport { join } from 'path';\n\ntype TargetType = 'page' | 'pages';\ntype Target = {path: string, name: string};\n\nexport function page(options: Schema): Rule {\n\treturn async (tree: Tree, context: SchematicContext) => {\n\t\toptions.type = 'page';\n\t\toptions.name = resolveName(options.name);\n\n\t\toptions.prefix ||= `${options.type}s`;\n\t\n\t\toptions.path ??= await getDefaultPath(tree, context, options.project);\n\n\t\tconst { name, path, type, project } = options = {...options, ...parseName(options.path, options.name)};\n\t\tconst { styleHeader, useTypeAsExtension } = options;\n\t\tconst opt = omit(options, ['styleHeader', 'useTypeAsExtension', 'story', 'ngPackage']);\n\n\t\tconst componentExt = useTypeAsExtension ? type : 'component';\n\t\tconst scssPath = `${path}/${name}/${name}.${componentExt}.scss`;\n\t\tconst pages = getPagesOptions(`${path}/${name}`);\n\n\t\treturn chain([\n\t\t\tschematic('pages', {...pages, project}),\n\t\t\taddRouteIntoPagesRoutes(options, pages),\n\t\t\tgenerateRoutes({name, path, type}),\n\t\t\texternalSchematic('@nx/angular', 'component', {\n\t\t\t\t...omit(opt, ['path']),\n\t\t\t\tdirectory: join(options.path, options.name),\n\t\t\t\tchangeDetection: 'Default',\n\t\t\t\tnameAndDirectoryFormat: 'as-provided',\n\t\t\t\texport: true\n\t\t\t}),\n\t\t\tschematic('style-header', {...options, styleHeader, name, type, path: scssPath}),\n\t\t\taddRouteIntoPageRoutes(options, {path, name}),\n\t\t]);\n\t}\n}\n\nexport function nxPage(tree: any, options: Schema) {\n\treturn wrapAngularDevkitSchematic('./dist/packages/@ng-atomic/schematics', 'page')(tree, options);\n}\n\nexport function generateRoutes(options: {path: string, name: string, type: string}) {\n\treturn mergeWith(\n\t\tapply(\n\t\t\turl('./files'),\n\t\t\t[\n\t\t\t\tapplyTemplates({...strings, ...options}),\n\t\t\t\tmove(options.path),\n\t\t\t]\n\t\t),\n\t\tMergeStrategy.Overwrite,\n\t);\n}\n\nconst getPagesOptions = (fullPath: string): {path: string, name: string} => {\n\tconst [_, name, ...paths] = fullPath.split('/').reverse();\n\treturn {name, path: paths.reverse().join('/')};\n};\n\nconst resolveName = (name: string) => {\n\treturn 'pages/' + name.split('/').filter(path => path !== 'pages').join('/pages/');\n};\n\nconst addRouteIntoPagesRoutes = (options: Schema, target: Target) => {\n\tconst routeOptions = buildOption(options, target, 'pages');\n\treturn addPathToRoutes(routeOptions);\n};\n\nconst addRouteIntoPageRoutes = (options: Schema, target: Target) => {\n\tconst routeOptions = buildOption(options, target, 'page');\n\treturn addPathToRoutes(routeOptions);\n};\n\nconst buildOption = (options, {path, name}: Target, type: TargetType) => {\n\treturn {\n\t\t...options,\n\t\troutesPath: `${path}/${name}/${name}.routes.ts`,\n\t\troute: type === 'pages' ? buildPagesRoute(options.name) : buildPageRoute(name),\n\t\tremoveOtherRoutes: type === 'page',\n\t}\n};\n\nconst buildPagesRoute = (name): string => `\n\t{\n\t\tpath: '${name}',\n\t\tloadChildren: () => import('./${dasherize(name)}/${dasherize(name)}.routes').then(m => m.routes)\n\t}`;\n\nconst buildPageRoute = (name): string => `\n\t{\n\t\tpath: '',\n\t\tcomponent: ${classify(name)}Page,\n\t\tloadChildren: () => import('@ng-atomic/components/pages/blank').then(m => m.routes)\n\t\t// loadChildren: () => import('./pages/pages.routes').then(m => m.routes)\n\t}`;\n", "import { callRule, ExecutionOptions, MergeStrategy, Rule, SchematicContext, Tree } from \"@angular-devkit/schematics\";\nimport { concatMap, first, last, map, of } from \"rxjs\";\nimport { convertNxGenerator, Tree as NxTree } from '@nx/devkit';\n\nfunction isNxGenerator(func: Function): func is (tree: NxTree, schema: any) => Promise<void> {\n return func.length === 2;\n}\n\nexport function externalSchematic<OptionT extends object>(\n collectionName: string,\n schematicName: string,\n options: OptionT,\n executionOptions?: Partial<ExecutionOptions>,\n): Rule {\n return (input: Tree, context: SchematicContext) => {\n const collection = context.engine.createCollection(\n collectionName,\n context.schematic.collection,\n );\n const schematic = collection.createSchematic(schematicName);\n const context_ = schematic['_engine'].createContext(schematic, context, executionOptions);\n\n return of(input.branch()).pipe(\n first(),\n concatMap((tree) =>\n schematic['_engine']\n .transformOptions(schematic, options, context_)\n .pipe(map((o) => [tree, o] as [Tree, OptionT])),\n ),\n concatMap(([tree, transformedOptions]) => {\n let input: Tree;\n let scoped = false;\n if (executionOptions && executionOptions.scope) {\n scoped = true;\n input = tree;\n } else {\n input = tree;\n } \n const _fn = schematic['_description'].factoryFn;\n const fn = isNxGenerator(_fn) ? convertNxGenerator(_fn) : _fn;\n\n return callRule(fn(transformedOptions), input, context_)\n .pipe(\n map((output) => {\n if (output === input) {\n return tree;\n } else if (scoped) {\n tree.merge(output);\n\n return tree;\n } else {\n return output;\n }\n }),\n );\n }),\n last(),\n map((x) => {\n input.merge(x, MergeStrategy.AllowOverwriteConflict);\n return input;\n }),\n );\n };\n}\n", "import { strings } from '@angular-devkit/core';\nimport { Rule, Tree, apply, applyTemplates, mergeWith, move, noop, url } from '@angular-devkit/schematics';\nimport { parseName } from '@schematics/angular/utility/parse-name';\nimport { createDefaultPath } from '@schematics/angular/utility/workspace';\nimport { Schema } from './schema';\n\nexport const pages = (options: Schema): Rule => async (host: Tree) => {\n options.path ??= await createDefaultPath(host, options.project);\n const { name, path } = options = {...options, ...parseName(options.path, options.name)};\n return host.exists(`${path}/${name}/${name}.routes.ts`) ? noop() : genModule(options);\n};\n\nconst genModule = (options: Schema) => \n mergeWith(apply(url('./files'), [applyTemplates({...strings, ...options}), move(options.path)]));\n", "import { chain, Rule, Tree, template, move, url, apply, mergeWith, noop } from '@angular-devkit/schematics';\nimport { addSchematicsConfig, addPathsToTsConfig, setDefaultCollection, addStyleIncludePath } from '../_utilities';\n\nexport const setup = (options: any): Rule => chain([\n\taddSchematicsConfig(options, 'atom'),\n\taddSchematicsConfig(options, 'molecule'),\n\taddSchematicsConfig(options, 'organism'),\n\taddSchematicsConfig(options, 'template'),\n\tsetDefaultCollection(),\n\taddStyleIncludePath(options),\n\t(host: Tree) => host.exists(`${options.stylesDir}/atomic`) ? noop() : addStyleFiles(options),\n\taddPathsToTsConfig(options),\n]);\n\nconst addStyleFiles = (options: any) => mergeWith(apply(url('./files'), [template({}), move(options.stylesDir)]));\n", "import { Rule, Tree } from '@angular-devkit/schematics';\nimport { dasherize} from '@angular-devkit/core/src/utils/strings';\nimport format from 'string-template';\nimport { basename } from 'path';\nimport { Schema } from './schema';\nimport { saveFile } from '../_utilities/save-file';\n\nconst buildOptions = (options: Schema): Schema => ({\n ...options,\n name: options?.name || basename(options.path, '.scss').split('.')?.[0],\n type: options?.type || basename(options.path, '.scss').split('.').reverse()?.[0],\n});\n\nconst buildStyle = ({styleHeader, name, type}: Pick<Schema, 'styleHeader' | 'name' | 'type'>): string =>\n format(styleHeader, {name: dasherize(name), type: type});\n\nexport default (_options: Schema): Rule => (host: Tree) => {\n const {path, ...extra} = buildOptions(_options);\n return saveFile(host, path, (src: string): string => `${buildStyle(extra)}${src}`);\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["path", "ts", "import_lodash", "set", "get", "import_devkit", "import_workspace", "tree", "import_lodash", "set", "import_schematics", "import_parse_name", "import_schematics", "import_devkit", "externalSchematic", "schematic", "input", "import_path", "pages", "externalSchematic", "import_core", "import_schematics", "import_parse_name", "import_workspace", "import_schematics", "import_strings"]
7
+ }