@ng-atomic/schematics 17.4.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
@@ -0,0 +1,256 @@
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/lib/page/index.ts
30
+ var page_exports = {};
31
+ __export(page_exports, {
32
+ generateRoutes: () => generateRoutes,
33
+ nxPage: () => nxPage,
34
+ page: () => page
35
+ });
36
+ module.exports = __toCommonJS(page_exports);
37
+ var import_register = require("source-map-support/register");
38
+ var import_core = require("@angular-devkit/core");
39
+ var import_schematics2 = require("@angular-devkit/schematics");
40
+ var import_parse_name = require("@schematics/angular/utility/parse-name");
41
+ var import_strings = require("@angular-devkit/core/src/utils/strings");
42
+ var import_ngcli_adapter = require("nx/src/adapter/ngcli-adapter");
43
+ var import_lodash_es = require("lodash-es");
44
+
45
+ // packages/@ng-atomic/schematics/src/lib/_utilities/add-path-to-routes.ts
46
+ var import_ast_utils = require("@nx/workspace/src/utils/ast-utils");
47
+ var import_typescript = __toESM(require("typescript"));
48
+ var isVariableDeclaration = (n) => n.kind === import_typescript.default.SyntaxKind.VariableDeclaration;
49
+ var isIdentifier = (n) => n.kind === import_typescript.default.SyntaxKind.Identifier;
50
+ var isArrayLiteralExpression = (n) => n.kind === import_typescript.default.SyntaxKind.ArrayLiteralExpression;
51
+ var matchText = (n, text) => n.getText() === text;
52
+ var hasMatchTextChild = (n, text) => {
53
+ return n.getChildren().findIndex((c) => isIdentifier(c) && matchText(c, text)) !== -1;
54
+ };
55
+ var isRoutesVariableDeclaration = (n) => isVariableDeclaration(n) && hasMatchTextChild(n, "routes");
56
+ var addPathToRoutes = ({ route, routesPath, removeOtherRoutes }) => (host) => {
57
+ const src = import_typescript.default.createSourceFile(
58
+ routesPath,
59
+ host.read(routesPath).toString("utf-8"),
60
+ import_typescript.default.ScriptTarget.Latest,
61
+ true
62
+ );
63
+ const nodes = (0, import_ast_utils.getSourceNodes)(src);
64
+ const routeNodes = nodes.filter(isRoutesVariableDeclaration).map((n) => {
65
+ return n.getChildren().filter(isArrayLiteralExpression).reverse()[0];
66
+ });
67
+ if (routeNodes.length === 1) {
68
+ const n = routeNodes[0];
69
+ const recorder = host.beginUpdate(routesPath);
70
+ const suffix = n.elements.length > 0 && !removeOtherRoutes ? "," : "";
71
+ recorder.insertRight(n.getStart() + 1, `${route}${suffix}`);
72
+ host.commitUpdate(recorder);
73
+ }
74
+ return host;
75
+ };
76
+
77
+ // packages/@ng-atomic/schematics/src/lib/_utilities/angular-config.ts
78
+ var import_lodash = __toESM(require("lodash.get"));
79
+ var import_lodash2 = __toESM(require("lodash.set"));
80
+
81
+ // packages/@ng-atomic/schematics/src/lib/_utilities/overwrite.ts
82
+ var import_jsonc_parser = require("jsonc-parser");
83
+
84
+ // packages/@ng-atomic/schematics/src/lib/_utilities/get-default-path.ts
85
+ var import_devkit2 = require("@nx/devkit");
86
+ var import_workspace = require("@schematics/angular/utility/workspace");
87
+
88
+ // packages/@ng-atomic/schematics/src/lib/_utilities/run-in-nx-context.ts
89
+ var import_devkit = require("@nx/devkit");
90
+ async function runInNxContext(tree, context, callback) {
91
+ return new Promise((resolve) => {
92
+ (0, import_devkit.convertNxGenerator)((tree2) => resolve(callback(tree2)))({})(tree, context);
93
+ });
94
+ }
95
+
96
+ // packages/@ng-atomic/schematics/src/lib/_utilities/get-default-path.ts
97
+ async function getDefaultPath(tree, context, project) {
98
+ if (tree.exists("nx.json")) {
99
+ const conf = await runInNxContext(tree, context, (nxTree) => {
100
+ return (0, import_devkit2.readProjectConfiguration)(nxTree, project);
101
+ });
102
+ return `${conf.sourceRoot}/${conf.projectType === "application" ? "app" : "lib"}`;
103
+ }
104
+ return (0, import_workspace.createDefaultPath)(tree, project);
105
+ }
106
+
107
+ // packages/@ng-atomic/schematics/src/lib/_utilities/ts-config.ts
108
+ var import_lodash3 = __toESM(require("lodash.set"));
109
+
110
+ // packages/@schematics-x/schematics-x/src/lib/common/_meta/utils/external-schematic.ts
111
+ var import_schematics = require("@angular-devkit/schematics");
112
+ var import_rxjs = require("rxjs");
113
+ var import_devkit3 = require("@nx/devkit");
114
+ function isNxGenerator(func) {
115
+ return func.length === 2;
116
+ }
117
+ function externalSchematic(collectionName, schematicName, options, executionOptions) {
118
+ return (input, context) => {
119
+ const collection = context.engine.createCollection(
120
+ collectionName,
121
+ context.schematic.collection
122
+ );
123
+ const schematic2 = collection.createSchematic(schematicName);
124
+ const context_ = schematic2["_engine"].createContext(schematic2, context, executionOptions);
125
+ return (0, import_rxjs.of)(input.branch()).pipe(
126
+ (0, import_rxjs.first)(),
127
+ (0, import_rxjs.concatMap)(
128
+ (tree) => schematic2["_engine"].transformOptions(schematic2, options, context_).pipe((0, import_rxjs.map)((o) => [tree, o]))
129
+ ),
130
+ (0, import_rxjs.concatMap)(([tree, transformedOptions]) => {
131
+ let input2;
132
+ let scoped = false;
133
+ if (executionOptions && executionOptions.scope) {
134
+ scoped = true;
135
+ input2 = tree;
136
+ } else {
137
+ input2 = tree;
138
+ }
139
+ const _fn = schematic2["_description"].factoryFn;
140
+ const fn = isNxGenerator(_fn) ? (0, import_devkit3.convertNxGenerator)(_fn) : _fn;
141
+ return (0, import_schematics.callRule)(fn(transformedOptions), input2, context_).pipe(
142
+ (0, import_rxjs.map)((output) => {
143
+ if (output === input2) {
144
+ return tree;
145
+ } else if (scoped) {
146
+ tree.merge(output);
147
+ return tree;
148
+ } else {
149
+ return output;
150
+ }
151
+ })
152
+ );
153
+ }),
154
+ (0, import_rxjs.last)(),
155
+ (0, import_rxjs.map)((x) => {
156
+ input.merge(x, import_schematics.MergeStrategy.AllowOverwriteConflict);
157
+ return input;
158
+ })
159
+ );
160
+ };
161
+ }
162
+
163
+ // packages/@ng-atomic/schematics/src/lib/page/index.ts
164
+ var import_path = require("path");
165
+ function page(options) {
166
+ return async (tree, context) => {
167
+ options.type = "page";
168
+ options.name = resolveName(options.name);
169
+ options.prefix ||= `${options.type}s`;
170
+ options.path ??= await getDefaultPath(tree, context, options.project);
171
+ const { name, path, type, project } = options = { ...options, ...(0, import_parse_name.parseName)(options.path, options.name) };
172
+ const { styleHeader, useTypeAsExtension } = options;
173
+ const opt = (0, import_lodash_es.omit)(options, ["styleHeader", "useTypeAsExtension", "story", "ngPackage"]);
174
+ const componentExt = useTypeAsExtension ? type : "component";
175
+ const scssPath = `${path}/${name}/${name}.${componentExt}.scss`;
176
+ const pages = getPagesOptions(`${path}/${name}`);
177
+ return (0, import_schematics2.chain)([
178
+ (0, import_schematics2.schematic)("pages", { ...pages, project }),
179
+ addRouteIntoPagesRoutes(options, pages),
180
+ generateRoutes({ name, path, type }),
181
+ externalSchematic("@nx/angular", "component", {
182
+ ...(0, import_lodash_es.omit)(opt, ["path"]),
183
+ directory: (0, import_path.join)(options.path, options.name),
184
+ changeDetection: "Default",
185
+ nameAndDirectoryFormat: "as-provided",
186
+ export: true
187
+ }),
188
+ (0, import_schematics2.schematic)("style-header", { ...options, styleHeader, name, type, path: scssPath }),
189
+ addRouteIntoPageRoutes(options, { path, name })
190
+ ]);
191
+ };
192
+ }
193
+ function nxPage(tree, options) {
194
+ return (0, import_ngcli_adapter.wrapAngularDevkitSchematic)("./dist/packages/@ng-atomic/schematics", "page")(tree, options);
195
+ }
196
+ function generateRoutes(options) {
197
+ return (0, import_schematics2.mergeWith)(
198
+ (0, import_schematics2.apply)(
199
+ (0, import_schematics2.url)("./files"),
200
+ [
201
+ (0, import_schematics2.applyTemplates)({ ...import_core.strings, ...options }),
202
+ (0, import_schematics2.move)(options.path)
203
+ ]
204
+ ),
205
+ import_schematics2.MergeStrategy.Overwrite
206
+ );
207
+ }
208
+ var getPagesOptions = (fullPath) => {
209
+ const [_, name, ...paths] = fullPath.split("/").reverse();
210
+ return { name, path: paths.reverse().join("/") };
211
+ };
212
+ var resolveName = (name) => {
213
+ return "pages/" + name.split("/").filter((path) => path !== "pages").join("/pages/");
214
+ };
215
+ var addRouteIntoPagesRoutes = (options, target) => {
216
+ const routeOptions = buildOption(options, target, "pages");
217
+ return addPathToRoutes(routeOptions);
218
+ };
219
+ var addRouteIntoPageRoutes = (options, target) => {
220
+ const routeOptions = buildOption(options, target, "page");
221
+ return addPathToRoutes(routeOptions);
222
+ };
223
+ var buildOption = (options, { path, name }, type) => {
224
+ return {
225
+ ...options,
226
+ routesPath: `${path}/${name}/${name}.routes.ts`,
227
+ route: type === "pages" ? buildPagesRoute(options.name) : buildPageRoute(name),
228
+ removeOtherRoutes: type === "page"
229
+ };
230
+ };
231
+ var buildPagesRoute = (name) => `
232
+ {
233
+ path: '${name}',
234
+ loadChildren: () => import('./${(0, import_strings.dasherize)(name)}/${(0, import_strings.dasherize)(name)}.routes').then(m => m.routes)
235
+ }`;
236
+ var buildPageRoute = (name) => `
237
+ {
238
+ path: '',
239
+ component: ${(0, import_strings.classify)(name)}Page,
240
+ loadChildren: () => import('@ng-atomic/components/pages/blank').then(m => m.routes)
241
+ // loadChildren: () => import('./pages/pages.routes').then(m => m.routes)
242
+ }`;
243
+ // Annotate the CommonJS export names for ESM import in node:
244
+ 0 && (module.exports = {
245
+ generateRoutes,
246
+ nxPage,
247
+ page
248
+ });
249
+ /**
250
+ * @license
251
+ * Copyright Google LLC All Rights Reserved.
252
+ *
253
+ * Use of this source code is governed by an MIT-style license that can be
254
+ * found in the LICENSE file at https://angular.io/license
255
+ */
256
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../packages/@ng-atomic/schematics/src/lib/page/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/@schematics-x/schematics-x/src/lib/common/_meta/utils/external-schematic.ts"],
4
+ "sourcesContent": ["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 { 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 { 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"],
5
+ "mappings": "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",
6
+ "names": ["import_schematics", "ts", "import_lodash", "import_devkit", "tree", "import_lodash", "import_devkit", "schematic", "input"]
7
+ }
@@ -0,0 +1,39 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // packages/@ng-atomic/schematics/src/lib/pages/index.ts
20
+ var pages_exports = {};
21
+ __export(pages_exports, {
22
+ pages: () => pages
23
+ });
24
+ module.exports = __toCommonJS(pages_exports);
25
+ var import_core = require("@angular-devkit/core");
26
+ var import_schematics = require("@angular-devkit/schematics");
27
+ var import_parse_name = require("@schematics/angular/utility/parse-name");
28
+ var import_workspace = require("@schematics/angular/utility/workspace");
29
+ var pages = (options) => async (host) => {
30
+ options.path ??= await (0, import_workspace.createDefaultPath)(host, options.project);
31
+ const { name, path } = options = { ...options, ...(0, import_parse_name.parseName)(options.path, options.name) };
32
+ return host.exists(`${path}/${name}/${name}.routes.ts`) ? (0, import_schematics.noop)() : genModule(options);
33
+ };
34
+ var genModule = (options) => (0, import_schematics.mergeWith)((0, import_schematics.apply)((0, import_schematics.url)("./files"), [(0, import_schematics.applyTemplates)({ ...import_core.strings, ...options }), (0, import_schematics.move)(options.path)]));
35
+ // Annotate the CommonJS export names for ESM import in node:
36
+ 0 && (module.exports = {
37
+ pages
38
+ });
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../packages/@ng-atomic/schematics/src/lib/pages/index.ts"],
4
+ "sourcesContent": ["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"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAwB;AACxB,wBAA8E;AAC9E,wBAA0B;AAC1B,uBAAkC;AAG3B,IAAM,QAAQ,CAAC,YAA0B,OAAO,SAAe;AACpE,UAAQ,SAAS,UAAM,oCAAkB,MAAM,QAAQ,OAAO;AAC9D,QAAM,EAAE,MAAM,KAAK,IAAI,UAAU,EAAC,GAAG,SAAS,OAAG,6BAAU,QAAQ,MAAM,QAAQ,IAAI,EAAC;AACtF,SAAO,KAAK,OAAO,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,YAAY,QAAI,wBAAK,IAAI,UAAU,OAAO;AACtF;AAEA,IAAM,YAAY,CAAC,gBACjB,iCAAU,6BAAM,uBAAI,SAAS,GAAG,KAAC,kCAAe,EAAC,GAAG,qBAAS,GAAG,QAAO,CAAC,OAAG,wBAAK,QAAQ,IAAI,CAAC,CAAC,CAAC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,109 @@
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/lib/setup/index.ts
30
+ var setup_exports = {};
31
+ __export(setup_exports, {
32
+ setup: () => setup
33
+ });
34
+ module.exports = __toCommonJS(setup_exports);
35
+ var import_schematics = require("@angular-devkit/schematics");
36
+
37
+ // packages/@ng-atomic/schematics/src/lib/_utilities/add-path-to-routes.ts
38
+ var import_ast_utils = require("@nx/workspace/src/utils/ast-utils");
39
+ var import_typescript = __toESM(require("typescript"));
40
+
41
+ // packages/@ng-atomic/schematics/src/lib/_utilities/angular-config.ts
42
+ var import_lodash = __toESM(require("lodash.get"));
43
+ var import_lodash2 = __toESM(require("lodash.set"));
44
+
45
+ // packages/@ng-atomic/schematics/src/lib/_utilities/overwrite.ts
46
+ var import_jsonc_parser = require("jsonc-parser");
47
+ function overwrite(host, file, callback) {
48
+ if (!host.exists(file))
49
+ return host;
50
+ const json = (0, import_jsonc_parser.parse)(host.read(file).toString("utf-8"));
51
+ host.overwrite(file, JSON.stringify(callback(json), null, 2));
52
+ return host;
53
+ }
54
+
55
+ // packages/@ng-atomic/schematics/src/lib/_utilities/angular-config.ts
56
+ var PACKAGE_NAME = "@ng-atomic/schematics";
57
+ var addSchematicsConfig = ({ project, componentsDir }, type) => (host) => {
58
+ const query = `projects.${project}.schematics.${PACKAGE_NAME}:${type}`;
59
+ return overwrite(host, "angular.json", (json) => ((0, import_lodash2.default)(json, query, { "path": `${componentsDir}/${type}s` }), json));
60
+ };
61
+ var setDefaultCollection = () => (host) => {
62
+ return overwrite(host, "angular.json", (json) => ((0, import_lodash2.default)(json, `cli.defaultCollection`, PACKAGE_NAME), json));
63
+ };
64
+ var addStyleIncludePath = ({ project, stylesDir }) => (host) => {
65
+ const query = `projects.${project}.architect.build.options.stylePreprocessorOptions.includePaths`;
66
+ return overwrite(host, "angular.json", (json) => ((0, import_lodash2.default)(json, query, [...new Set((0, import_lodash.default)(json, query)).add(stylesDir)]), json));
67
+ };
68
+
69
+ // packages/@ng-atomic/schematics/src/lib/_utilities/get-default-path.ts
70
+ var import_devkit2 = require("@nx/devkit");
71
+ var import_workspace = require("@schematics/angular/utility/workspace");
72
+
73
+ // packages/@ng-atomic/schematics/src/lib/_utilities/run-in-nx-context.ts
74
+ var import_devkit = require("@nx/devkit");
75
+
76
+ // packages/@ng-atomic/schematics/src/lib/_utilities/ts-config.ts
77
+ var import_lodash3 = __toESM(require("lodash.set"));
78
+ var addPathsToTsConfig = ({ componentsDir }) => (host) => {
79
+ return overwrite(host, host.exists("tsconfig.base.json") ? "tsconfig.base.json" : "tsconfig.json", (json) => {
80
+ (0, import_lodash3.default)(json, `compilerOptions.paths.@components`, [componentsDir]);
81
+ (0, import_lodash3.default)(json, `compilerOptions.paths.@components/*`, [`${componentsDir}/*`]);
82
+ return json;
83
+ });
84
+ };
85
+
86
+ // packages/@ng-atomic/schematics/src/lib/setup/index.ts
87
+ var setup = (options) => (0, import_schematics.chain)([
88
+ addSchematicsConfig(options, "atom"),
89
+ addSchematicsConfig(options, "molecule"),
90
+ addSchematicsConfig(options, "organism"),
91
+ addSchematicsConfig(options, "template"),
92
+ setDefaultCollection(),
93
+ addStyleIncludePath(options),
94
+ (host) => host.exists(`${options.stylesDir}/atomic`) ? (0, import_schematics.noop)() : addStyleFiles(options),
95
+ addPathsToTsConfig(options)
96
+ ]);
97
+ var addStyleFiles = (options) => (0, import_schematics.mergeWith)((0, import_schematics.apply)((0, import_schematics.url)("./files"), [(0, import_schematics.template)({}), (0, import_schematics.move)(options.stylesDir)]));
98
+ // Annotate the CommonJS export names for ESM import in node:
99
+ 0 && (module.exports = {
100
+ setup
101
+ });
102
+ /**
103
+ * @license
104
+ * Copyright Google LLC All Rights Reserved.
105
+ *
106
+ * Use of this source code is governed by an MIT-style license that can be
107
+ * found in the LICENSE file at https://angular.io/license
108
+ */
109
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../packages/@ng-atomic/schematics/src/lib/setup/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"],
4
+ "sourcesContent": ["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 { 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"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAA+E;;;ACC/E,uBAA+B;AAC/B,wBAAe;;;ACDf,oBAAgB;AAChB,IAAAA,iBAAgB;;;ACAhB,0BAAsB;AAEf,SAAS,UAAU,MAAY,MAAc,UAA0C;AAC7F,MAAI,CAAC,KAAK,OAAO,IAAI;AAAG,WAAO;AAC/B,QAAM,WAAO,2BAAM,KAAK,KAAK,IAAI,EAAG,SAAS,OAAO,CAAC;AACrD,OAAK,UAAU,MAAM,KAAK,UAAU,SAAS,IAAI,GAAG,MAAM,CAAC,CAAC;AAC5D,SAAO;AACR;;;ADJA,IAAM,eAAe;AAEd,IAAM,sBAAsB,CAAC,EAAC,SAAS,cAAa,GAAQ,SAAiB,CAAC,SAAqB;AACzG,QAAM,QAAQ,YAAY,OAAO,eAAe,YAAY,IAAI,IAAI;AACpE,SAAO,UAAU,MAAM,gBAAgB,eAAS,eAAAC,SAAI,MAAM,OAAO,EAAC,QAAQ,GAAG,aAAa,IAAI,IAAI,IAAG,CAAC,GAAG,KAAK;AAC/G;AAEO,IAAM,uBAAuB,MAAM,CAAC,SAAe;AACzD,SAAO,UAAU,MAAM,gBAAgB,eAAS,eAAAA,SAAI,MAAM,yBAAyB,YAAY,GAAG,KAAK;AACxG;AAEO,IAAM,sBAAsB,CAAC,EAAC,SAAS,UAAS,MAAW,CAAC,SAAe;AACjF,QAAM,QAAQ,YAAY,OAAO;AACjC,SAAO,UAAU,MAAM,gBAAgB,eAAS,eAAAA,SAAI,MAAM,OAAO,CAAC,GAAG,IAAI,QAAI,cAAAC,SAAI,MAAM,KAAK,CAAC,EAAE,IAAI,SAAS,CAAC,CAAC,GAAG,KAAK;AACvH;;;AEjBA,IAAAC,iBAAyC;AACzC,uBAAkC;;;ACFlC,oBAAmC;;;ACAnC,IAAAC,iBAAgB;AAGT,IAAM,qBAAqB,CAAC,EAAC,cAAa,MAAW,CAAC,SAAe;AAC3E,SAAO,UAAU,MAAM,KAAK,OAAO,oBAAoB,IAAI,uBAAuB,iBAAiB,UAAQ;AAC1G,uBAAAC,SAAI,MAAM,qCAAqC,CAAC,aAAa,CAAC;AAC9D,uBAAAA,SAAI,MAAM,uCAAuC,CAAC,GAAG,aAAa,IAAI,CAAC;AACvE,WAAO;AAAA,EACR,CAAC;AACF;;;ANPO,IAAM,QAAQ,CAAC,gBAAuB,yBAAM;AAAA,EAClD,oBAAoB,SAAS,MAAM;AAAA,EACnC,oBAAoB,SAAS,UAAU;AAAA,EACvC,oBAAoB,SAAS,UAAU;AAAA,EACvC,oBAAoB,SAAS,UAAU;AAAA,EACvC,qBAAqB;AAAA,EACrB,oBAAoB,OAAO;AAAA,EAC3B,CAAC,SAAe,KAAK,OAAO,GAAG,QAAQ,SAAS,SAAS,QAAI,wBAAK,IAAI,cAAc,OAAO;AAAA,EAC3F,mBAAmB,OAAO;AAC3B,CAAC;AAED,IAAM,gBAAgB,CAAC,gBAAiB,iCAAU,6BAAM,uBAAI,SAAS,GAAG,KAAC,4BAAS,CAAC,CAAC,OAAG,wBAAK,QAAQ,SAAS,CAAC,CAAC,CAAC;",
6
+ "names": ["import_lodash", "set", "get", "import_devkit", "import_lodash", "set"]
7
+ }
@@ -0,0 +1,56 @@
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/lib/style-header/index.ts
30
+ var style_header_exports = {};
31
+ __export(style_header_exports, {
32
+ default: () => style_header_default
33
+ });
34
+ module.exports = __toCommonJS(style_header_exports);
35
+ var import_strings = require("@angular-devkit/core/src/utils/strings");
36
+ var import_string_template = __toESM(require("string-template"));
37
+ var import_path = require("path");
38
+
39
+ // packages/@ng-atomic/schematics/src/lib/_utilities/save-file.ts
40
+ function saveFile(host, path, callback) {
41
+ host.exists(path) ? host.overwrite(path, callback(host.read(path).toString("utf-8"))) : host.create(path, callback(""));
42
+ return host;
43
+ }
44
+
45
+ // packages/@ng-atomic/schematics/src/lib/style-header/index.ts
46
+ var buildOptions = (options) => ({
47
+ ...options,
48
+ name: options?.name || (0, import_path.basename)(options.path, ".scss").split(".")?.[0],
49
+ type: options?.type || (0, import_path.basename)(options.path, ".scss").split(".").reverse()?.[0]
50
+ });
51
+ var buildStyle = ({ styleHeader, name, type }) => (0, import_string_template.default)(styleHeader, { name: (0, import_strings.dasherize)(name), type });
52
+ var style_header_default = (_options) => (host) => {
53
+ const { path, ...extra } = buildOptions(_options);
54
+ return saveFile(host, path, (src) => `${buildStyle(extra)}${src}`);
55
+ };
56
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../packages/@ng-atomic/schematics/src/lib/style-header/index.ts", "../../../../../../packages/@ng-atomic/schematics/src/lib/_utilities/save-file.ts"],
4
+ "sourcesContent": ["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", "import { Tree } from '@angular-devkit/schematics';\n\nexport function saveFile(host: Tree, path: string, callback: (str: string) => string): Tree {\n\thost.exists(path) \n\t\t? host.overwrite(path, callback(host.read(path)!.toString('utf-8'))) \n\t\t: host.create(path, callback(''));\n\treturn host;\n}"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,qBAAyB;AACzB,6BAAmB;AACnB,kBAAyB;;;ACDlB,SAAS,SAAS,MAAY,MAAc,UAAyC;AAC3F,OAAK,OAAO,IAAI,IACb,KAAK,UAAU,MAAM,SAAS,KAAK,KAAK,IAAI,EAAG,SAAS,OAAO,CAAC,CAAC,IACjE,KAAK,OAAO,MAAM,SAAS,EAAE,CAAC;AACjC,SAAO;AACR;;;ADAA,IAAM,eAAe,CAAC,aAA6B;AAAA,EACjD,GAAG;AAAA,EACH,MAAM,SAAS,YAAQ,sBAAS,QAAQ,MAAM,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;AAAA,EACrE,MAAM,SAAS,YAAQ,sBAAS,QAAQ,MAAM,OAAO,EAAE,MAAM,GAAG,EAAE,QAAQ,IAAI,CAAC;AACjF;AAEA,IAAM,aAAa,CAAC,EAAC,aAAa,MAAM,KAAI,UAC1C,uBAAAA,SAAO,aAAa,EAAC,UAAM,0BAAU,IAAI,GAAG,KAAU,CAAC;AAEzD,IAAO,uBAAQ,CAAC,aAA2B,CAAC,SAAe;AACzD,QAAM,EAAC,MAAM,GAAG,MAAK,IAAI,aAAa,QAAQ;AAC9C,SAAO,SAAS,MAAM,MAAM,CAAC,QAAwB,GAAG,WAAW,KAAK,CAAC,GAAG,GAAG,EAAE;AACnF;",
6
+ "names": ["format"]
7
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ng-atomic/schematics",
3
- "version": "17.4.0",
3
+ "version": "17.6.0",
4
4
  "license": "MIT",
5
5
  "schematics": "./collection.json",
6
6
  "ng-add": {
@@ -22,7 +22,5 @@
22
22
  "lodash.get": "^4.4.2",
23
23
  "lodash.set": "^4.3.2",
24
24
  "string-template": "^1.0.0"
25
- },
26
- "main": "./src/index.js",
27
- "type": "commonjs"
28
- }
25
+ }
26
+ }
@@ -1,2 +0,0 @@
1
- import { Tree } from '@angular-devkit/schematics';
2
- export declare const addPathToRoutes: ({ route, routesPath, removeOtherRoutes }: any) => (host: Tree) => import("@angular-devkit/schematics/src/tree/interface").Tree;
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addPathToRoutes = void 0;
4
- const tslib_1 = require("tslib");
5
- const ast_utils_1 = require("@nx/workspace/src/utils/ast-utils");
6
- const typescript_1 = tslib_1.__importDefault(require("typescript"));
7
- const isVariableDeclaration = (n) => n.kind === typescript_1.default.SyntaxKind.VariableDeclaration;
8
- const isIdentifier = (n) => n.kind === typescript_1.default.SyntaxKind.Identifier;
9
- const isArrayLiteralExpression = (n) => n.kind === typescript_1.default.SyntaxKind.ArrayLiteralExpression;
10
- const matchText = (n, text) => n.getText() === text;
11
- const hasMatchTextChild = (n, text) => {
12
- return (n.getChildren().findIndex((c) => isIdentifier(c) && matchText(c, text)) !==
13
- -1);
14
- };
15
- const isRoutesVariableDeclaration = (n) => isVariableDeclaration(n) && hasMatchTextChild(n, 'routes');
16
- const addPathToRoutes = ({ route, routesPath, removeOtherRoutes }) => (host) => {
17
- const src = typescript_1.default.createSourceFile(routesPath, host.read(routesPath).toString('utf-8'), typescript_1.default.ScriptTarget.Latest, true);
18
- const nodes = (0, ast_utils_1.getSourceNodes)(src);
19
- const routeNodes = nodes
20
- .filter(isRoutesVariableDeclaration)
21
- .map((n) => {
22
- return n.getChildren().filter(isArrayLiteralExpression).reverse()[0];
23
- });
24
- if (routeNodes.length === 1) {
25
- const n = routeNodes[0];
26
- const recorder = host.beginUpdate(routesPath);
27
- const suffix = n.elements.length > 0 && !removeOtherRoutes ? ',' : '';
28
- recorder.insertRight(n.getStart() + 1, `${route}${suffix}`);
29
- host.commitUpdate(recorder);
30
- }
31
- return host;
32
- };
33
- exports.addPathToRoutes = addPathToRoutes;
34
- //# sourceMappingURL=add-path-to-routes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add-path-to-routes.js","sourceRoot":"","sources":["../../../../../../packages/@ng-atomic/schematics/src/_utilities/add-path-to-routes.ts"],"names":[],"mappings":";;;;AACA,iEAAmE;AACnE,oEAA4B;AAE5B,MAAM,qBAAqB,GAAG,CAAC,CAAU,EAAE,EAAE,CAC3C,CAAC,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC;AAC/C,MAAM,YAAY,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,UAAU,CAAC;AACzE,MAAM,wBAAwB,GAAG,CAAC,CAAU,EAAE,EAAE,CAC9C,CAAC,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC;AAClD,MAAM,SAAS,GAAG,CAAC,CAAU,EAAE,IAAY,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC;AACrE,MAAM,iBAAiB,GAAG,CAAC,CAAU,EAAE,IAAY,EAAE,EAAE;IACrD,OAAO,CACL,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACvE,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AACF,MAAM,2BAA2B,GAAG,CAAC,CAAU,EAAE,EAAE,CACjD,qBAAqB,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AAEtD,MAAM,eAAe,GAC1B,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAO,EAAE,EAAE,CAClD,CAAC,IAAU,EAAE,EAAE;IACb,MAAM,GAAG,GAAG,oBAAE,CAAC,gBAAgB,CAC7B,UAAU,EACV,IAAI,CAAC,IAAI,CAAC,UAAU,CAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EACxC,oBAAE,CAAC,YAAY,CAAC,MAAM,EACtB,IAAI,CACL,CAAC;IAEF,MAAM,KAAK,GAAG,IAAA,0BAAc,EAAC,GAAG,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,KAAK;SACrB,MAAM,CAAC,2BAA2B,CAAC;SACnC,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE;QAClB,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEL,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3B,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAA8B,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,GAAG,MAAM,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;KAC7B;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AA1BS,QAAA,eAAe,mBA0BxB"}
@@ -1,4 +0,0 @@
1
- import { Tree } from '@angular-devkit/schematics';
2
- export declare const addSchematicsConfig: ({ project, componentsDir }: any, type: string) => (host: Tree) => Tree;
3
- export declare const setDefaultCollection: () => (host: Tree) => import("@angular-devkit/schematics/src/tree/interface").Tree;
4
- export declare const addStyleIncludePath: ({ project, stylesDir }: any) => (host: Tree) => import("@angular-devkit/schematics/src/tree/interface").Tree;