@ng-atomic/schematics 17.6.1 → 17.7.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.
- package/index.js +19 -8
- package/index.js.map +4 -4
- package/lib/_utilities/index.js +5 -5
- package/lib/_utilities/index.js.map +3 -3
- package/lib/ng-add/index.js +2 -2
- package/lib/ng-add/index.js.map +2 -2
- package/lib/page/index.js +14 -3
- package/lib/page/index.js.map +4 -4
- package/lib/setup/index.js +5 -5
- package/lib/setup/index.js.map +3 -3
- package/package.json +2 -3
package/index.js
CHANGED
|
@@ -127,8 +127,8 @@ var addPathToRoutes = ({ route, routesPath, removeOtherRoutes }) => (host) => {
|
|
|
127
127
|
};
|
|
128
128
|
|
|
129
129
|
// packages/@ng-atomic/schematics/src/lib/_utilities/angular-config.ts
|
|
130
|
-
var import_lodash2 =
|
|
131
|
-
var import_lodash3 =
|
|
130
|
+
var import_lodash2 = require("lodash");
|
|
131
|
+
var import_lodash3 = require("lodash");
|
|
132
132
|
|
|
133
133
|
// packages/@ng-atomic/schematics/src/lib/_utilities/overwrite.ts
|
|
134
134
|
var import_jsonc_parser = require("jsonc-parser");
|
|
@@ -144,14 +144,14 @@ function overwrite(host, file, callback) {
|
|
|
144
144
|
var PACKAGE_NAME = "@ng-atomic/schematics";
|
|
145
145
|
var addSchematicsConfig = ({ project, componentsDir }, type) => (host) => {
|
|
146
146
|
const query = `projects.${project}.schematics.${PACKAGE_NAME}:${type}`;
|
|
147
|
-
return overwrite(host, "angular.json", (json) => ((0, import_lodash3.
|
|
147
|
+
return overwrite(host, "angular.json", (json) => ((0, import_lodash3.set)(json, query, { "path": `${componentsDir}/${type}s` }), json));
|
|
148
148
|
};
|
|
149
149
|
var setDefaultCollection = () => (host) => {
|
|
150
|
-
return overwrite(host, "angular.json", (json) => ((0, import_lodash3.
|
|
150
|
+
return overwrite(host, "angular.json", (json) => ((0, import_lodash3.set)(json, `cli.defaultCollection`, PACKAGE_NAME), json));
|
|
151
151
|
};
|
|
152
152
|
var addStyleIncludePath = ({ project, stylesDir }) => (host) => {
|
|
153
153
|
const query = `projects.${project}.architect.build.options.stylePreprocessorOptions.includePaths`;
|
|
154
|
-
return overwrite(host, "angular.json", (json) => ((0, import_lodash3.
|
|
154
|
+
return overwrite(host, "angular.json", (json) => ((0, import_lodash3.set)(json, query, [...new Set((0, import_lodash2.get)(json, query)).add(stylesDir)]), json));
|
|
155
155
|
};
|
|
156
156
|
|
|
157
157
|
// packages/@ng-atomic/schematics/src/lib/_utilities/get-default-path.ts
|
|
@@ -216,7 +216,7 @@ var import_devkit3 = require("@nx/devkit");
|
|
|
216
216
|
function isNxGenerator(func) {
|
|
217
217
|
return func.length === 2;
|
|
218
218
|
}
|
|
219
|
-
function externalSchematic2(collectionName, schematicName, options, executionOptions) {
|
|
219
|
+
function externalSchematic2(collectionName, schematicName, options, executionOptions, parent) {
|
|
220
220
|
return (input, context) => {
|
|
221
221
|
const collection = context.engine.createCollection(
|
|
222
222
|
collectionName,
|
|
@@ -240,6 +240,7 @@ function externalSchematic2(collectionName, schematicName, options, executionOpt
|
|
|
240
240
|
}
|
|
241
241
|
const _fn = schematic3["_description"].factoryFn;
|
|
242
242
|
const fn = isNxGenerator(_fn) ? (0, import_devkit3.convertNxGenerator)(_fn) : _fn;
|
|
243
|
+
context_["parent"] = parent;
|
|
243
244
|
return (0, import_schematics2.callRule)(fn(transformedOptions), input2, context_).pipe(
|
|
244
245
|
(0, import_rxjs.map)((output) => {
|
|
245
246
|
if (output === input2) {
|
|
@@ -262,6 +263,16 @@ function externalSchematic2(collectionName, schematicName, options, executionOpt
|
|
|
262
263
|
};
|
|
263
264
|
}
|
|
264
265
|
|
|
266
|
+
// packages/@schematics-x/schematics-x/src/lib/common/_meta/utils/get-default-path.ts
|
|
267
|
+
var import_devkit5 = require("@nx/devkit");
|
|
268
|
+
var import_workspace3 = require("@schematics/angular/utility/workspace");
|
|
269
|
+
|
|
270
|
+
// packages/@schematics-x/schematics-x/src/lib/common/_meta/utils/run-in-nx-context.ts
|
|
271
|
+
var import_devkit4 = require("@nx/devkit");
|
|
272
|
+
|
|
273
|
+
// packages/@schematics-x/schematics-x/src/lib/common/_meta/utils/resolve-schematic-options.ts
|
|
274
|
+
var import_lodash_es = require("lodash-es");
|
|
275
|
+
|
|
265
276
|
// packages/@ng-atomic/schematics/src/lib/page/index.ts
|
|
266
277
|
var import_path2 = require("path");
|
|
267
278
|
function page(options) {
|
|
@@ -347,9 +358,9 @@ var buildPageRoute = (name) => `
|
|
|
347
358
|
var import_core2 = require("@angular-devkit/core");
|
|
348
359
|
var import_schematics4 = require("@angular-devkit/schematics");
|
|
349
360
|
var import_parse_name3 = require("@schematics/angular/utility/parse-name");
|
|
350
|
-
var
|
|
361
|
+
var import_workspace4 = require("@schematics/angular/utility/workspace");
|
|
351
362
|
var pages = (options) => async (host) => {
|
|
352
|
-
options.path ??= await (0,
|
|
363
|
+
options.path ??= await (0, import_workspace4.createDefaultPath)(host, options.project);
|
|
353
364
|
const { name, path } = options = { ...options, ...(0, import_parse_name3.parseName)(options.path, options.name) };
|
|
354
365
|
return host.exists(`${path}/${name}/${name}.routes.ts`) ? (0, import_schematics4.noop)() : genModule(options);
|
|
355
366
|
};
|
package/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
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';\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": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,wBAMO;AACP,cAAyB;AACzB,wBAA0B;AAC1B,uBAAkC;AAClC,kBAAqB;AAErB,oBAAqB;AAEd,IAAM,kBAAkB,CAAC,YAA0B,OAAO,MAAY,MAAwB;AACpG,UAAQ,WAAW,GAAG,QAAQ,IAAI;AAClC,UAAQ,WAAO,kBAAK,UAAM,oCAAkB,MAAM,QAAQ,OAAO,GAAG,SAAS,QAAQ,EAAE;AAEvF,QAAM,EAAE,MAAM,MAAM,MAAM,SAAS,WAAW,IAAI,UAAU,EAAC,GAAG,SAAS,OAAG,6BAAU,QAAQ,MAAM,QAAQ,IAAI,EAAC;AACjH,QAAM,UAAM,oBAAK,SAAS,CAAC,eAAe,sBAAsB,SAAS,WAAW,CAAC;AACrF,QAAM,EAAE,aAAa,mBAAmB,IAAI;AAC5C,QAAM,eAAe,qBAAqB,OAAO;AACjD,QAAM,WAAW,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,YAAY;AAExD,aAAO,yBAAM;AAAA,IACZ,QAAQ,iBAAa,wBAAK,QAAI,qCAAkB,uBAAuB,UAAU,EAAC,MAAM,MAAM,QAAO,CAAC;AAAA,QACtG,qCAAkB,uBAAuB,aAAa,EAAC,GAAG,KAAK,MAAM,cAAc,QAAQ,KAAI,CAAC;AAAA,QAChG,iCAAU;AAAA,UACT,uBAAI,SAAS;AAAA,MACb;AAAA,YACC,kCAAe,EAAC,GAAG,SAAS,MAAM,MAAM,QAAQ,aAAa,WAAU,CAAC;AAAA,YACxE,wBAAK,IAAI;AAAA,YACT,0BAAO,CAAAA,UAAQ;AACd,cAAIA,MAAK,SAAS,WAAW;AAAG,mBAAO;AACvC,cAAI,QAAQ,aAAaA,MAAK,SAAS,kBAAkB;AAAG,mBAAO;AACnE,cAAI,QAAQ,SAASA,MAAK,SAAS,aAAa;AAAG,mBAAO;AAC1D,iBAAO;AAAA,QACR,CAAC;AAAA,MACF;AAAA,IACD,CAAC;AAAA,QACD,6BAAU,gBAAgB,EAAC,GAAG,SAAS,aAAa,MAAM,MAAM,MAAM,SAAQ,CAAC;AAAA,EAChF,CAAC;AACF;AAEO,IAAM,OAAO,CAAC,YAA0B,gBAAiB,EAAC,GAAG,SAAS,MAAM,OAAM,CAAE;AACpF,IAAM,WAAW,CAAC,YAA0B,gBAAiB,EAAC,GAAG,SAAS,MAAM,WAAU,CAAE;AAC5F,IAAM,WAAW,CAAC,YAA0B,gBAAiB,EAAC,GAAG,SAAS,MAAM,WAAU,CAAE;AAC5F,IAAM,WAAW,CAAC,YAA0B,gBAAiB,EAAC,GAAG,SAAS,MAAM,WAAU,CAAE;AAC5F,IAAM,QAAQ,CAAC,YAA0B,gBAAiB,EAAC,GAAG,SAAS,MAAM,QAAO,CAAE;AACtF,IAAM,QAAQ,CAAC,YAA0B,gBAAiB,EAAC,GAAG,SAAS,MAAM,QAAO,CAAE;AACtF,IAAM,SAAS,CAAC,YAA0B,gBAAiB,EAAC,GAAG,SAAS,MAAM,SAAQ,CAAE;;;ACjD/F,mBAAyD;;;ACAzD,uBAA+B;AAC/B,wBAAe;AAEf,IAAM,wBAAwB,CAAC,MAC7B,EAAE,SAAS,kBAAAC,QAAG,WAAW;AAC3B,IAAM,eAAe,CAAC,MAAe,EAAE,SAAS,kBAAAA,QAAG,WAAW;AAC9D,IAAM,2BAA2B,CAAC,MAChC,EAAE,SAAS,kBAAAA,QAAG,WAAW;AAC3B,IAAM,YAAY,CAAC,GAAY,SAAiB,EAAE,QAAQ,MAAM;AAChE,IAAM,oBAAoB,CAAC,GAAY,SAAiB;AACtD,SACE,EAAE,YAAY,EAAE,UAAU,CAAC,MAAM,aAAa,CAAC,KAAK,UAAU,GAAG,IAAI,CAAC,MACtE;AAEJ;AACA,IAAM,8BAA8B,CAAC,MACnC,sBAAsB,CAAC,KAAK,kBAAkB,GAAG,QAAQ;AAEpD,IAAM,kBACX,CAAC,EAAE,OAAO,YAAY,kBAAkB,MACxC,CAAC,SAAe;AACd,QAAM,MAAM,kBAAAA,QAAG;AAAA,IACb;AAAA,IACA,KAAK,KAAK,UAAU,EAAG,SAAS,OAAO;AAAA,IACvC,kBAAAA,QAAG,aAAa;AAAA,IAChB;AAAA,EACF;AAEA,QAAM,YAAQ,iCAAe,GAAG;AAChC,QAAM,aAAa,MAChB,OAAO,2BAA2B,EAClC,IAAI,CAAC,MAAe;AACnB,WAAO,EAAE,YAAY,EAAE,OAAO,wBAAwB,EAAE,QAAQ,EAAE,CAAC;AAAA,EACrE,CAAC;AAEH,MAAI,WAAW,WAAW,GAAG;AAC3B,UAAM,IAAI,WAAW,CAAC;AACtB,UAAM,WAAW,KAAK,YAAY,UAAU;AAC5C,UAAM,SAAS,EAAE,SAAS,SAAS,KAAK,CAAC,oBAAoB,MAAM;AACnE,aAAS,YAAY,EAAE,SAAS,IAAI,GAAG,GAAG,KAAK,GAAG,MAAM,EAAE;AAC1D,SAAK,aAAa,QAAQ;AAAA,EAC5B;AAEA,SAAO;AACT;;;AC5CF,IAAAC,
|
|
6
|
-
"names": ["path", "ts", "import_lodash", "
|
|
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/@schematics-x/schematics-x/src/lib/common/_meta/utils/get-default-path.ts", "../../../../packages/@schematics-x/schematics-x/src/lib/common/_meta/utils/run-in-nx-context.ts", "../../../../packages/@schematics-x/schematics-x/src/lib/common/_meta/utils/resolve-schematic-options.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';\nimport { set } from 'lodash';\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';\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 parent?: any\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 context_['parent'] = parent;\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 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 { 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 (project === undefined) return '/';\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 if (conf.sourceRoot) {\n return `${conf.sourceRoot}/${conf.projectType === 'application' ? 'app' : 'lib'}`;\n }\n return '/';\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 { merge } from \"lodash-es\";\nimport { SchematicSchema } from \"schematics-x/common/domain/models\";\n\nexport function readSxConfig(tree: Tree): any {\n const nxJson = tree.readJson('nx.json');\n return nxJson['generators'];\n}\n\nexport function resolveSchematicOptions(sxConfig: any, schematic: SchematicSchema) {\n const collectionConfig = sxConfig[schematic.collection];\n if (!collectionConfig) return schematic.options;\n const schematicConfig = collectionConfig[schematic.schematic];\n if (!schematicConfig) return schematic.options;\n return merge({}, schematicConfig, schematic.options);\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", "import_devkit", "import_workspace", "tree", "import_lodash", "set", "import_schematics", "import_parse_name", "import_lodash", "import_schematics", "import_devkit", "externalSchematic", "schematic", "input", "import_devkit", "import_workspace", "import_devkit", "import_path", "pages", "externalSchematic", "import_core", "import_schematics", "import_parse_name", "import_workspace", "import_schematics", "import_strings"]
|
|
7
7
|
}
|
package/lib/_utilities/index.js
CHANGED
|
@@ -74,8 +74,8 @@ var addPathToRoutes = ({ route, routesPath, removeOtherRoutes }) => (host) => {
|
|
|
74
74
|
};
|
|
75
75
|
|
|
76
76
|
// packages/@ng-atomic/schematics/src/lib/_utilities/angular-config.ts
|
|
77
|
-
var import_lodash =
|
|
78
|
-
var import_lodash2 =
|
|
77
|
+
var import_lodash = require("lodash");
|
|
78
|
+
var import_lodash2 = require("lodash");
|
|
79
79
|
|
|
80
80
|
// packages/@ng-atomic/schematics/src/lib/_utilities/overwrite.ts
|
|
81
81
|
var import_jsonc_parser = require("jsonc-parser");
|
|
@@ -91,14 +91,14 @@ function overwrite(host, file, callback) {
|
|
|
91
91
|
var PACKAGE_NAME = "@ng-atomic/schematics";
|
|
92
92
|
var addSchematicsConfig = ({ project, componentsDir }, type) => (host) => {
|
|
93
93
|
const query = `projects.${project}.schematics.${PACKAGE_NAME}:${type}`;
|
|
94
|
-
return overwrite(host, "angular.json", (json) => ((0, import_lodash2.
|
|
94
|
+
return overwrite(host, "angular.json", (json) => ((0, import_lodash2.set)(json, query, { "path": `${componentsDir}/${type}s` }), json));
|
|
95
95
|
};
|
|
96
96
|
var setDefaultCollection = () => (host) => {
|
|
97
|
-
return overwrite(host, "angular.json", (json) => ((0, import_lodash2.
|
|
97
|
+
return overwrite(host, "angular.json", (json) => ((0, import_lodash2.set)(json, `cli.defaultCollection`, PACKAGE_NAME), json));
|
|
98
98
|
};
|
|
99
99
|
var addStyleIncludePath = ({ project, stylesDir }) => (host) => {
|
|
100
100
|
const query = `projects.${project}.architect.build.options.stylePreprocessorOptions.includePaths`;
|
|
101
|
-
return overwrite(host, "angular.json", (json) => ((0, import_lodash2.
|
|
101
|
+
return overwrite(host, "angular.json", (json) => ((0, import_lodash2.set)(json, query, [...new Set((0, import_lodash.get)(json, query)).add(stylesDir)]), json));
|
|
102
102
|
};
|
|
103
103
|
|
|
104
104
|
// packages/@ng-atomic/schematics/src/lib/_utilities/get-default-path.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../packages/@ng-atomic/schematics/src/lib/_utilities/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/package-config.ts", "../../../../../../packages/@ng-atomic/schematics/src/lib/_utilities/ts-config.ts"],
|
|
4
|
-
"sourcesContent": ["export * from './add-path-to-routes';\nexport * from './angular-config';\nexport * from './get-default-path';\nexport * from './package-config';\nexport * from './ts-config';\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
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACCA,uBAA+B;AAC/B,wBAAe;AAEf,IAAM,wBAAwB,CAAC,MAC7B,EAAE,SAAS,kBAAAA,QAAG,WAAW;AAC3B,IAAM,eAAe,CAAC,MAAe,EAAE,SAAS,kBAAAA,QAAG,WAAW;AAC9D,IAAM,2BAA2B,CAAC,MAChC,EAAE,SAAS,kBAAAA,QAAG,WAAW;AAC3B,IAAM,YAAY,CAAC,GAAY,SAAiB,EAAE,QAAQ,MAAM;AAChE,IAAM,oBAAoB,CAAC,GAAY,SAAiB;AACtD,SACE,EAAE,YAAY,EAAE,UAAU,CAAC,MAAM,aAAa,CAAC,KAAK,UAAU,GAAG,IAAI,CAAC,MACtE;AAEJ;AACA,IAAM,8BAA8B,CAAC,MACnC,sBAAsB,CAAC,KAAK,kBAAkB,GAAG,QAAQ;AAEpD,IAAM,kBACX,CAAC,EAAE,OAAO,YAAY,kBAAkB,MACxC,CAAC,SAAe;AACd,QAAM,MAAM,kBAAAA,QAAG;AAAA,IACb;AAAA,IACA,KAAK,KAAK,UAAU,EAAG,SAAS,OAAO;AAAA,IACvC,kBAAAA,QAAG,aAAa;AAAA,IAChB;AAAA,EACF;AAEA,QAAM,YAAQ,iCAAe,GAAG;AAChC,QAAM,aAAa,MAChB,OAAO,2BAA2B,EAClC,IAAI,CAAC,MAAe;AACnB,WAAO,EAAE,YAAY,EAAE,OAAO,wBAAwB,EAAE,QAAQ,EAAE,CAAC;AAAA,EACrE,CAAC;AAEH,MAAI,WAAW,WAAW,GAAG;AAC3B,UAAM,IAAI,WAAW,CAAC;AACtB,UAAM,WAAW,KAAK,YAAY,UAAU;AAC5C,UAAM,SAAS,EAAE,SAAS,SAAS,KAAK,CAAC,oBAAoB,MAAM;AACnE,aAAS,YAAY,EAAE,SAAS,IAAI,GAAG,GAAG,KAAK,GAAG,MAAM,EAAE;AAC1D,SAAK,aAAa,QAAQ;AAAA,EAC5B;AAEA,SAAO;AACT;;;AC5CF,
|
|
6
|
-
"names": ["ts", "import_lodash", "
|
|
4
|
+
"sourcesContent": ["export * from './add-path-to-routes';\nexport * from './angular-config';\nexport * from './get-default-path';\nexport * from './package-config';\nexport * from './ts-config';\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';\nimport { set } from 'lodash';\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", "/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Tree} from '@angular-devkit/schematics';\n\n/**\n * Sorts the keys of the given object.\n * @returns A new object instance with sorted keys\n */\nfunction sortObjectByKeys(obj: object) {\n return Object.keys(obj).sort().reduce((result, key) => (result[key] = obj[key]) && result, {});\n}\n\n/** Adds a package to the package.json in the given host tree. */\nexport function addPackageToPackageJson(\n\thost: Tree, \n\tpkg: string, \n\tversion: string, \n\tdependencies: string = 'dependencies'\n): Tree {\n\n if (host.exists('package.json')) {\n const sourceText = host.read('package.json')!.toString('utf-8');\n const json = JSON.parse(sourceText);\n\n if (!json[dependencies]) {\n json[dependencies] = {};\n }\n\n if (!json[dependencies][pkg]) {\n json[dependencies][pkg] = version;\n json[dependencies] = sortObjectByKeys(json[dependencies]);\n }\n\n host.overwrite('package.json', JSON.stringify(json, null, 2));\n }\n\n return host;\n}\n\n/** Gets the version of the specified package by looking at the package.json in the given tree. */\nexport function getPackageVersionFromPackageJson(tree: Tree, name: string): string | null {\n if (!tree.exists('package.json')) {\n return null;\n }\n\n const packageJson = JSON.parse(tree.read('package.json')!.toString('utf8'));\n\n if (packageJson.dependencies && packageJson.dependencies[name]) {\n return packageJson.dependencies[name];\n }\n\n return null;\n}\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": "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",
|
|
6
|
+
"names": ["ts", "import_lodash", "import_devkit", "tree", "import_lodash", "set"]
|
|
7
7
|
}
|
package/lib/ng-add/index.js
CHANGED
|
@@ -40,8 +40,8 @@ var import_ast_utils = require("@nx/workspace/src/utils/ast-utils");
|
|
|
40
40
|
var import_typescript = __toESM(require("typescript"));
|
|
41
41
|
|
|
42
42
|
// packages/@ng-atomic/schematics/src/lib/_utilities/angular-config.ts
|
|
43
|
-
var import_lodash =
|
|
44
|
-
var import_lodash2 =
|
|
43
|
+
var import_lodash = require("lodash");
|
|
44
|
+
var import_lodash2 = require("lodash");
|
|
45
45
|
|
|
46
46
|
// packages/@ng-atomic/schematics/src/lib/_utilities/overwrite.ts
|
|
47
47
|
var import_jsonc_parser = require("jsonc-parser");
|
package/lib/ng-add/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../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/package-config.ts", "../../../../../../packages/@ng-atomic/schematics/src/lib/_utilities/ts-config.ts"],
|
|
4
|
-
"sourcesContent": ["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
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAAyD;;;ACAzD,uBAA+B;AAC/B,wBAAe;;;ACDf,
|
|
4
|
+
"sourcesContent": ["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';\nimport { set } from 'lodash';\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", "/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Tree} from '@angular-devkit/schematics';\n\n/**\n * Sorts the keys of the given object.\n * @returns A new object instance with sorted keys\n */\nfunction sortObjectByKeys(obj: object) {\n return Object.keys(obj).sort().reduce((result, key) => (result[key] = obj[key]) && result, {});\n}\n\n/** Adds a package to the package.json in the given host tree. */\nexport function addPackageToPackageJson(\n\thost: Tree, \n\tpkg: string, \n\tversion: string, \n\tdependencies: string = 'dependencies'\n): Tree {\n\n if (host.exists('package.json')) {\n const sourceText = host.read('package.json')!.toString('utf-8');\n const json = JSON.parse(sourceText);\n\n if (!json[dependencies]) {\n json[dependencies] = {};\n }\n\n if (!json[dependencies][pkg]) {\n json[dependencies][pkg] = version;\n json[dependencies] = sortObjectByKeys(json[dependencies]);\n }\n\n host.overwrite('package.json', JSON.stringify(json, null, 2));\n }\n\n return host;\n}\n\n/** Gets the version of the specified package by looking at the package.json in the given tree. */\nexport function getPackageVersionFromPackageJson(tree: Tree, name: string): string | null {\n if (!tree.exists('package.json')) {\n return null;\n }\n\n const packageJson = JSON.parse(tree.read('package.json')!.toString('utf8'));\n\n if (packageJson.dependencies && packageJson.dependencies[name]) {\n return packageJson.dependencies[name];\n }\n\n return null;\n}\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;AACA,mBAAyD;;;ACAzD,uBAA+B;AAC/B,wBAAe;;;ACDf,oBAAoB;AACpB,IAAAA,iBAAoB;;;ACApB,0BAAsB;;;ACAtB,IAAAC,iBAAyC;AACzC,uBAAkC;;;ACFlC,oBAAmC;;;ACanC,SAAS,iBAAiB,KAAa;AACrC,SAAO,OAAO,KAAK,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,SAAS,OAAO,GAAG,IAAI,IAAI,GAAG,MAAM,QAAQ,CAAC,CAAC;AAC/F;AAGO,SAAS,wBACf,MACA,KACA,SACA,eAAuB,gBAChB;AAEN,MAAI,KAAK,OAAO,cAAc,GAAG;AAC/B,UAAM,aAAa,KAAK,KAAK,cAAc,EAAG,SAAS,OAAO;AAC9D,UAAM,OAAO,KAAK,MAAM,UAAU;AAElC,QAAI,CAAC,KAAK,YAAY,GAAG;AACvB,WAAK,YAAY,IAAI,CAAC;AAAA,IACxB;AAEA,QAAI,CAAC,KAAK,YAAY,EAAE,GAAG,GAAG;AAC5B,WAAK,YAAY,EAAE,GAAG,IAAI;AAC1B,WAAK,YAAY,IAAI,iBAAiB,KAAK,YAAY,CAAC;AAAA,IAC1D;AAEA,SAAK,UAAU,gBAAgB,KAAK,UAAU,MAAM,MAAM,CAAC,CAAC;AAAA,EAC9D;AAEA,SAAO;AACT;AAGO,SAAS,iCAAiC,MAAY,MAA6B;AACxF,MAAI,CAAC,KAAK,OAAO,cAAc,GAAG;AAChC,WAAO;AAAA,EACT;AAEA,QAAM,cAAc,KAAK,MAAM,KAAK,KAAK,cAAc,EAAG,SAAS,MAAM,CAAC;AAE1E,MAAI,YAAY,gBAAgB,YAAY,aAAa,IAAI,GAAG;AAC9D,WAAO,YAAY,aAAa,IAAI;AAAA,EACtC;AAEA,SAAO;AACT;;;ACzDA,IAAAC,iBAAgB;;;APGD,SAAR,eAAiB,SAAoB;AAC1C,SAAO,CAAC,MAAY,YAA8B;AAChD,UAAM,mBAAmB,iCAAiC,MAAM,eAAe;AAC/E,UAAM,2BAA2B,oBAAoB;AAErD,QAAI,6BAA6B,YAAY;AAC3C,YAAM,IAAI,MAAM,yCAAyC;AAAA,IAC3D;AAEF,4BAAwB,MAAM,yBAAyB,UAAU,iBAAiB;AAClF,4BAAwB,MAAM,cAAc,UAAU,iBAAiB;AAEvE,UAAM,gBAAgB,QAAQ,QAAQ,IAAI,oCAAuB,CAAC;AAGlE,YAAQ,QAAQ,IAAI,8BAAiB,SAAS,EAAC,GAAG,QAAO,CAAC,GAAG,CAAC,aAAa,CAAC;AAE5E,WAAO;AAAA,EACP;AACF;AAEO,SAAS,wBAAwB,KAAqB;AAC3D,QAAM,CAAC,OAAO,OAAO,KAAK,IAAK,IAAI,QAAQ,WAAW,EAAE,EAAG,MAAM,GAAG;AACpE,UAAQ,OAAO;AAAA,IACb,KAAK;AAAM,aAAO;AAAA,IAClB,KAAK;AAAM,aAAO;AAAA,IAClB;AAAS,YAAM,IAAI,MAAM,yCAAyC;AAAA,EACpE;AACF;",
|
|
6
6
|
"names": ["import_lodash", "import_devkit", "import_lodash"]
|
|
7
7
|
}
|
package/lib/page/index.js
CHANGED
|
@@ -75,8 +75,8 @@ var addPathToRoutes = ({ route, routesPath, removeOtherRoutes }) => (host) => {
|
|
|
75
75
|
};
|
|
76
76
|
|
|
77
77
|
// packages/@ng-atomic/schematics/src/lib/_utilities/angular-config.ts
|
|
78
|
-
var import_lodash =
|
|
79
|
-
var import_lodash2 =
|
|
78
|
+
var import_lodash = require("lodash");
|
|
79
|
+
var import_lodash2 = require("lodash");
|
|
80
80
|
|
|
81
81
|
// packages/@ng-atomic/schematics/src/lib/_utilities/overwrite.ts
|
|
82
82
|
var import_jsonc_parser = require("jsonc-parser");
|
|
@@ -114,7 +114,7 @@ var import_devkit3 = require("@nx/devkit");
|
|
|
114
114
|
function isNxGenerator(func) {
|
|
115
115
|
return func.length === 2;
|
|
116
116
|
}
|
|
117
|
-
function externalSchematic(collectionName, schematicName, options, executionOptions) {
|
|
117
|
+
function externalSchematic(collectionName, schematicName, options, executionOptions, parent) {
|
|
118
118
|
return (input, context) => {
|
|
119
119
|
const collection = context.engine.createCollection(
|
|
120
120
|
collectionName,
|
|
@@ -138,6 +138,7 @@ function externalSchematic(collectionName, schematicName, options, executionOpti
|
|
|
138
138
|
}
|
|
139
139
|
const _fn = schematic2["_description"].factoryFn;
|
|
140
140
|
const fn = isNxGenerator(_fn) ? (0, import_devkit3.convertNxGenerator)(_fn) : _fn;
|
|
141
|
+
context_["parent"] = parent;
|
|
141
142
|
return (0, import_schematics.callRule)(fn(transformedOptions), input2, context_).pipe(
|
|
142
143
|
(0, import_rxjs.map)((output) => {
|
|
143
144
|
if (output === input2) {
|
|
@@ -160,6 +161,16 @@ function externalSchematic(collectionName, schematicName, options, executionOpti
|
|
|
160
161
|
};
|
|
161
162
|
}
|
|
162
163
|
|
|
164
|
+
// packages/@schematics-x/schematics-x/src/lib/common/_meta/utils/get-default-path.ts
|
|
165
|
+
var import_devkit5 = require("@nx/devkit");
|
|
166
|
+
var import_workspace2 = require("@schematics/angular/utility/workspace");
|
|
167
|
+
|
|
168
|
+
// packages/@schematics-x/schematics-x/src/lib/common/_meta/utils/run-in-nx-context.ts
|
|
169
|
+
var import_devkit4 = require("@nx/devkit");
|
|
170
|
+
|
|
171
|
+
// packages/@schematics-x/schematics-x/src/lib/common/_meta/utils/resolve-schematic-options.ts
|
|
172
|
+
var import_lodash_es = require("lodash-es");
|
|
173
|
+
|
|
163
174
|
// packages/@ng-atomic/schematics/src/lib/page/index.ts
|
|
164
175
|
var import_path = require("path");
|
|
165
176
|
function page(options) {
|
package/lib/page/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
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';\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": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAO;AACP,kBAAwB;AACxB,IAAAA,qBAA2H;AAC3H,wBAA0B;AAC1B,qBAAoC;AACpC,2BAA2C;AAC3C,IAAAC,iBAAqB;;;ACLrB,uBAA+B;AAC/B,wBAAe;AAEf,IAAM,wBAAwB,CAAC,MAC7B,EAAE,SAAS,kBAAAC,QAAG,WAAW;AAC3B,IAAM,eAAe,CAAC,MAAe,EAAE,SAAS,kBAAAA,QAAG,WAAW;AAC9D,IAAM,2BAA2B,CAAC,MAChC,EAAE,SAAS,kBAAAA,QAAG,WAAW;AAC3B,IAAM,YAAY,CAAC,GAAY,SAAiB,EAAE,QAAQ,MAAM;AAChE,IAAM,oBAAoB,CAAC,GAAY,SAAiB;AACtD,SACE,EAAE,YAAY,EAAE,UAAU,CAAC,MAAM,aAAa,CAAC,KAAK,UAAU,GAAG,IAAI,CAAC,MACtE;AAEJ;AACA,IAAM,8BAA8B,CAAC,MACnC,sBAAsB,CAAC,KAAK,kBAAkB,GAAG,QAAQ;AAEpD,IAAM,kBACX,CAAC,EAAE,OAAO,YAAY,kBAAkB,MACxC,CAAC,SAAe;AACd,QAAM,MAAM,kBAAAA,QAAG;AAAA,IACb;AAAA,IACA,KAAK,KAAK,UAAU,EAAG,SAAS,OAAO;AAAA,IACvC,kBAAAA,QAAG,aAAa;AAAA,IAChB;AAAA,EACF;AAEA,QAAM,YAAQ,iCAAe,GAAG;AAChC,QAAM,aAAa,MAChB,OAAO,2BAA2B,EAClC,IAAI,CAAC,MAAe;AACnB,WAAO,EAAE,YAAY,EAAE,OAAO,wBAAwB,EAAE,QAAQ,EAAE,CAAC;AAAA,EACrE,CAAC;AAEH,MAAI,WAAW,WAAW,GAAG;AAC3B,UAAM,IAAI,WAAW,CAAC;AACtB,UAAM,WAAW,KAAK,YAAY,UAAU;AAC5C,UAAM,SAAS,EAAE,SAAS,SAAS,KAAK,CAAC,oBAAoB,MAAM;AACnE,aAAS,YAAY,EAAE,SAAS,IAAI,GAAG,GAAG,KAAK,GAAG,MAAM,EAAE;AAC1D,SAAK,aAAa,QAAQ;AAAA,EAC5B;AAEA,SAAO;AACT;;;AC5CF,
|
|
6
|
-
"names": ["import_schematics", "import_lodash", "ts", "import_lodash", "import_devkit", "tree", "import_lodash", "import_devkit", "schematic", "input"]
|
|
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", "../../../../../../packages/@schematics-x/schematics-x/src/lib/common/_meta/utils/get-default-path.ts", "../../../../../../packages/@schematics-x/schematics-x/src/lib/common/_meta/utils/run-in-nx-context.ts", "../../../../../../packages/@schematics-x/schematics-x/src/lib/common/_meta/utils/resolve-schematic-options.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';\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';\nimport { set } from 'lodash';\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 parent?: any\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 context_['parent'] = parent;\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 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 { 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 (project === undefined) return '/';\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 if (conf.sourceRoot) {\n return `${conf.sourceRoot}/${conf.projectType === 'application' ? 'app' : 'lib'}`;\n }\n return '/';\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 { merge } from \"lodash-es\";\nimport { SchematicSchema } from \"schematics-x/common/domain/models\";\n\nexport function readSxConfig(tree: Tree): any {\n const nxJson = tree.readJson('nx.json');\n return nxJson['generators'];\n}\n\nexport function resolveSchematicOptions(sxConfig: any, schematic: SchematicSchema) {\n const collectionConfig = sxConfig[schematic.collection];\n if (!collectionConfig) return schematic.options;\n const schematicConfig = collectionConfig[schematic.schematic];\n if (!schematicConfig) return schematic.options;\n return merge({}, schematicConfig, schematic.options);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_schematics", "import_lodash", "ts", "import_lodash", "import_devkit", "tree", "import_lodash", "import_devkit", "schematic", "input", "import_devkit", "import_workspace", "import_devkit"]
|
|
7
7
|
}
|
package/lib/setup/index.js
CHANGED
|
@@ -39,8 +39,8 @@ var import_ast_utils = require("@nx/workspace/src/utils/ast-utils");
|
|
|
39
39
|
var import_typescript = __toESM(require("typescript"));
|
|
40
40
|
|
|
41
41
|
// packages/@ng-atomic/schematics/src/lib/_utilities/angular-config.ts
|
|
42
|
-
var import_lodash =
|
|
43
|
-
var import_lodash2 =
|
|
42
|
+
var import_lodash = require("lodash");
|
|
43
|
+
var import_lodash2 = require("lodash");
|
|
44
44
|
|
|
45
45
|
// packages/@ng-atomic/schematics/src/lib/_utilities/overwrite.ts
|
|
46
46
|
var import_jsonc_parser = require("jsonc-parser");
|
|
@@ -56,14 +56,14 @@ function overwrite(host, file, callback) {
|
|
|
56
56
|
var PACKAGE_NAME = "@ng-atomic/schematics";
|
|
57
57
|
var addSchematicsConfig = ({ project, componentsDir }, type) => (host) => {
|
|
58
58
|
const query = `projects.${project}.schematics.${PACKAGE_NAME}:${type}`;
|
|
59
|
-
return overwrite(host, "angular.json", (json) => ((0, import_lodash2.
|
|
59
|
+
return overwrite(host, "angular.json", (json) => ((0, import_lodash2.set)(json, query, { "path": `${componentsDir}/${type}s` }), json));
|
|
60
60
|
};
|
|
61
61
|
var setDefaultCollection = () => (host) => {
|
|
62
|
-
return overwrite(host, "angular.json", (json) => ((0, import_lodash2.
|
|
62
|
+
return overwrite(host, "angular.json", (json) => ((0, import_lodash2.set)(json, `cli.defaultCollection`, PACKAGE_NAME), json));
|
|
63
63
|
};
|
|
64
64
|
var addStyleIncludePath = ({ project, stylesDir }) => (host) => {
|
|
65
65
|
const query = `projects.${project}.architect.build.options.stylePreprocessorOptions.includePaths`;
|
|
66
|
-
return overwrite(host, "angular.json", (json) => ((0, import_lodash2.
|
|
66
|
+
return overwrite(host, "angular.json", (json) => ((0, import_lodash2.set)(json, query, [...new Set((0, import_lodash.get)(json, query)).add(stylesDir)]), json));
|
|
67
67
|
};
|
|
68
68
|
|
|
69
69
|
// packages/@ng-atomic/schematics/src/lib/_utilities/get-default-path.ts
|
package/lib/setup/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
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
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAA+E;;;ACC/E,uBAA+B;AAC/B,wBAAe;;;ACDf,
|
|
6
|
-
"names": ["import_lodash", "
|
|
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';\nimport { set } from 'lodash';\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,oBAAoB;AACpB,IAAAA,iBAAoB;;;ACApB,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,oBAAI,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,oBAAI,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,oBAAI,MAAM,OAAO,CAAC,GAAG,IAAI,QAAI,mBAAI,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", "import_devkit", "import_lodash", "set"]
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ng-atomic/schematics",
|
|
3
|
-
"version": "17.
|
|
3
|
+
"version": "17.7.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"schematics": "./collection.json",
|
|
6
6
|
"ng-add": {
|
|
@@ -19,8 +19,7 @@
|
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"jsonc-parser": "^3.0.0",
|
|
22
|
-
"lodash
|
|
23
|
-
"lodash.set": "^4.3.2",
|
|
22
|
+
"lodash": "^4.17.21",
|
|
24
23
|
"string-template": "^1.0.0"
|
|
25
24
|
}
|
|
26
25
|
}
|