ng-alain 12.4.0 → 13.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/application/files/src/app/layout/basic/widgets/clear-storage.component.ts +1 -1
  2. package/application/files/src/app/layout/basic/widgets/fullscreen.component.ts +1 -1
  3. package/application/files/src/app/layout/basic/widgets/i18n.component.ts +3 -0
  4. package/application/index.js +43 -43
  5. package/application/index.js.map +1 -1
  6. package/application/index.ts +8 -8
  7. package/application/schema.json +1 -1
  8. package/collection.json +2 -3
  9. package/curd/index.js +2 -2
  10. package/curd/index.js.map +1 -1
  11. package/curd/schema.json +34 -27
  12. package/docs/generate.en-US.md +7 -7
  13. package/docs/generate.zh-CN.md +7 -7
  14. package/docs/plugin.en-US.md +0 -13
  15. package/docs/plugin.zh-CN.md +0 -13
  16. package/edit/index.js +1 -1
  17. package/edit/index.js.map +1 -1
  18. package/edit/schema.json +2 -7
  19. package/empty/index.js +1 -1
  20. package/empty/index.js.map +1 -1
  21. package/empty/schema.json +2 -7
  22. package/list/index.js +1 -1
  23. package/list/index.js.map +1 -1
  24. package/list/schema.json +2 -7
  25. package/migration.json +5 -10
  26. package/module/index.js +18 -18
  27. package/module/index.js.map +1 -1
  28. package/module/schema.json +1 -1
  29. package/ng-add/index.js +24 -26
  30. package/ng-add/index.js.map +1 -1
  31. package/ng-add/index.spec.ts +13 -3
  32. package/ng-add/index.ts +19 -21
  33. package/ng-add/schema.json +1 -1
  34. package/ng-update/data/attribute-selectors.js +1 -1
  35. package/ng-update/data/attribute-selectors.ts +1 -1
  36. package/ng-update/data/class-names.js +1 -1
  37. package/ng-update/data/class-names.ts +1 -1
  38. package/ng-update/data/constructor-checks.js +1 -1
  39. package/ng-update/data/constructor-checks.ts +1 -1
  40. package/ng-update/data/css-selectors.js +1 -1
  41. package/ng-update/data/css-selectors.ts +1 -1
  42. package/ng-update/data/element-selectors.js +1 -1
  43. package/ng-update/data/element-selectors.ts +1 -1
  44. package/ng-update/data/input-names.js +1 -1
  45. package/ng-update/data/input-names.ts +1 -1
  46. package/ng-update/data/method-call-checks.js +1 -1
  47. package/ng-update/data/method-call-checks.ts +1 -1
  48. package/ng-update/data/output-names.js +1 -1
  49. package/ng-update/data/output-names.ts +1 -1
  50. package/ng-update/data/property-names.js +1 -1
  51. package/ng-update/data/property-names.ts +1 -1
  52. package/ng-update/index.js +8 -13
  53. package/ng-update/index.js.map +1 -1
  54. package/ng-update/index.ts +5 -10
  55. package/ng-update/upgrade-data.js +3 -1
  56. package/ng-update/upgrade-data.js.map +1 -1
  57. package/ng-update/upgrade-data.ts +3 -2
  58. package/ng-update/upgrade-rules/checks/_src-to-nz-image-rule.js +1 -1
  59. package/ng-update/upgrade-rules/checks/_src-to-nz-image-rule.js.map +1 -1
  60. package/ng-update/upgrade-rules/v12/index.js +32 -32
  61. package/ng-update/upgrade-rules/v12/index.js.map +1 -1
  62. package/ng-update/upgrade-rules/v12/index.ts +1 -5
  63. package/ng-update/upgrade-rules/v12/schema.json +1 -1
  64. package/ng-update/upgrade-rules/v13/index.js +56 -0
  65. package/ng-update/upgrade-rules/v13/index.js.map +1 -0
  66. package/ng-update/upgrade-rules/v13/index.spec.ts +32 -0
  67. package/ng-update/upgrade-rules/v13/index.ts +51 -0
  68. package/package.json +2 -2
  69. package/plugin/files/rtl/layout/basic/widgets/rtl.component.ts +1 -1
  70. package/plugin/index.js +10 -14
  71. package/plugin/index.js.map +1 -1
  72. package/plugin/index.ts +0 -4
  73. package/plugin/plugin.code-style.js +2 -2
  74. package/plugin/plugin.code-style.js.map +1 -1
  75. package/plugin/plugin.default-language.js +3 -3
  76. package/plugin/plugin.default-language.js.map +1 -1
  77. package/plugin/plugin.default-language.ts +1 -1
  78. package/plugin/plugin.docker.js +6 -6
  79. package/plugin/plugin.docker.js.map +1 -1
  80. package/plugin/plugin.icon.js +7 -7
  81. package/plugin/plugin.icon.js.map +1 -1
  82. package/plugin/plugin.icon.ts +2 -2
  83. package/plugin/plugin.rtl.js +11 -11
  84. package/plugin/plugin.rtl.js.map +1 -1
  85. package/plugin/plugin.sts.js +1 -1
  86. package/plugin/plugin.sts.js.map +1 -1
  87. package/plugin/schema.json +1 -1
  88. package/schema.json +10 -0
  89. package/sta/index.js +13 -13
  90. package/sta/index.js.map +1 -1
  91. package/sta/schema.json +1 -1
  92. package/tpl/index.js +2 -2
  93. package/tpl/index.js.map +1 -1
  94. package/tpl/index.ts +1 -1
  95. package/tpl/schema.json +3 -8
  96. package/utils/alain.js +17 -18
  97. package/utils/alain.js.map +1 -1
  98. package/utils/alain.ts +1 -2
  99. package/utils/file.js +2 -2
  100. package/utils/file.js.map +1 -1
  101. package/utils/html.js +1 -1
  102. package/utils/html.js.map +1 -1
  103. package/utils/json.js +1 -1
  104. package/utils/json.js.map +1 -1
  105. package/utils/lib-versions.js +2 -2
  106. package/utils/lib-versions.ts +2 -2
  107. package/utils/log.js +3 -3
  108. package/utils/log.js.map +1 -1
  109. package/utils/log.ts +3 -3
  110. package/utils/node.js +8 -0
  111. package/utils/node.js.map +1 -0
  112. package/utils/node.ts +3 -0
  113. package/utils/package.js +4 -4
  114. package/utils/package.js.map +1 -1
  115. package/utils/package.ts +2 -2
  116. package/utils/testing.js +3 -3
  117. package/utils/testing.js.map +1 -1
  118. package/utils/versions.js +21 -20
  119. package/utils/versions.js.map +1 -1
  120. package/utils/versions.ts +17 -16
  121. package/utils/workspace.js +5 -5
  122. package/utils/workspace.js.map +1 -1
  123. package/view/index.js +1 -1
  124. package/view/index.js.map +1 -1
  125. package/view/schema.json +2 -7
  126. package/ng-update/upgrade-rules/v11/files-tpl/main.js +0 -31
  127. package/ng-update/upgrade-rules/v11/files-tpl/main.js.map +0 -1
  128. package/ng-update/upgrade-rules/v11/files-tpl/main.ts +0 -28
  129. package/ng-update/upgrade-rules/v11/hmr.js +0 -103
  130. package/ng-update/upgrade-rules/v11/hmr.js.map +0 -1
  131. package/ng-update/upgrade-rules/v11/hmr.ts +0 -109
  132. package/ng-update/upgrade-rules/v11/index.js +0 -72
  133. package/ng-update/upgrade-rules/v11/index.js.map +0 -1
  134. package/ng-update/upgrade-rules/v11/index.spec.ts +0 -51
  135. package/ng-update/upgrade-rules/v11/index.ts +0 -80
  136. package/ng-update/upgrade-rules/v11/layout.js +0 -39
  137. package/ng-update/upgrade-rules/v11/layout.js.map +0 -1
  138. package/ng-update/upgrade-rules/v11/layout.ts +0 -47
  139. package/ng-update/upgrade-rules/v117/index.js +0 -82
  140. package/ng-update/upgrade-rules/v117/index.js.map +0 -1
  141. package/ng-update/upgrade-rules/v117/index.spec.ts +0 -58
  142. package/ng-update/upgrade-rules/v117/index.ts +0 -71
  143. package/plugin/files/ie/tsconfig-es5.app.js +0 -9
  144. package/plugin/files/ie/tsconfig-es5.app.js.map +0 -1
  145. package/plugin/files/ie/tsconfig-es5.spec.js +0 -9
  146. package/plugin/files/ie/tsconfig-es5.spec.js.map +0 -1
  147. package/plugin/plugin.ie.js +0 -128
  148. package/plugin/plugin.ie.js.map +0 -1
  149. package/plugin/plugin.ie.spec.ts +0 -35
  150. package/plugin/plugin.ie.ts +0 -144
package/edit/schema.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "http://json-schema.org/schema",
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
3
  "$id": "SchematicsNgAlainEditComponent",
4
4
  "title": "Ng Alain Edit Component Options Schema",
5
5
  "type": "object",
@@ -44,6 +44,7 @@
44
44
  "description": "Include template inline in the component.ts file. By default, an external template file is created and referenced in the component.ts file.",
45
45
  "type": "boolean",
46
46
  "default": false,
47
+ "alias": "t",
47
48
  "x-user-analytics": 10
48
49
  },
49
50
  "viewEncapsulation": {
@@ -119,12 +120,6 @@
119
120
  "description": "The declaring NgModule exports this component.",
120
121
  "x-user-analytics": 19
121
122
  },
122
- "lintFix": {
123
- "type": "boolean",
124
- "description": "Apply lint fixes after generating the component.",
125
- "x-user-analytics": 15,
126
- "x-deprecated": "Use \"ng lint --fix\" directly instead."
127
- },
128
123
  "withoutPrefix": {
129
124
  "type": "boolean",
130
125
  "description": "指定选择器名不加前缀 (Without prefix to selectors)",
package/empty/index.js CHANGED
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const schematics_1 = require("@angular-devkit/schematics");
4
4
  const utils_1 = require("../utils");
5
5
  function default_1(options) {
6
- return schematics_1.chain([utils_1.buildAlain(Object.assign({ schematicName: 'empty' }, options))]);
6
+ return (0, schematics_1.chain)([(0, utils_1.buildAlain)(Object.assign({ schematicName: 'empty' }, options))]);
7
7
  }
8
8
  exports.default = default_1;
9
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/empty/index.ts"],"names":[],"mappings":";;AAAA,2DAAyD;AAEzD,oCAAsC;AAGtC,mBAAyB,OAAe;IACtC,OAAO,kBAAK,CAAC,CAAC,kBAAU,iBAAG,aAAa,EAAE,OAAO,IAAK,OAAO,EAAG,CAAC,CAAC,CAAC;AACrE,CAAC;AAFD,4BAEC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/empty/index.ts"],"names":[],"mappings":";;AAAA,2DAAyD;AAEzD,oCAAsC;AAGtC,mBAAyB,OAAe;IACtC,OAAO,IAAA,kBAAK,EAAC,CAAC,IAAA,kBAAU,kBAAG,aAAa,EAAE,OAAO,IAAK,OAAO,EAAG,CAAC,CAAC,CAAC;AACrE,CAAC;AAFD,4BAEC"}
package/empty/schema.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "http://json-schema.org/schema",
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
3
  "$id": "SchematicsNgAlainEmptyComponent",
4
4
  "title": "Ng Alain Empty Component Options Schema",
5
5
  "type": "object",
@@ -44,6 +44,7 @@
44
44
  "description": "Include template inline in the component.ts file. By default, an external template file is created and referenced in the component.ts file.",
45
45
  "type": "boolean",
46
46
  "default": false,
47
+ "alias": "t",
47
48
  "x-user-analytics": 10
48
49
  },
49
50
  "viewEncapsulation": {
@@ -119,12 +120,6 @@
119
120
  "description": "The declaring NgModule exports this component.",
120
121
  "x-user-analytics": 19
121
122
  },
122
- "lintFix": {
123
- "type": "boolean",
124
- "description": "Apply lint fixes after generating the component.",
125
- "x-user-analytics": 15,
126
- "x-deprecated": "Use \"ng lint --fix\" directly instead."
127
- },
128
123
  "withoutPrefix": {
129
124
  "type": "boolean",
130
125
  "description": "指定选择器名不加前缀 (Without prefix to selectors)",
package/list/index.js CHANGED
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const schematics_1 = require("@angular-devkit/schematics");
4
4
  const utils_1 = require("../utils");
5
5
  function default_1(options) {
6
- return schematics_1.chain([utils_1.buildAlain(Object.assign({ schematicName: 'list' }, options))]);
6
+ return (0, schematics_1.chain)([(0, utils_1.buildAlain)(Object.assign({ schematicName: 'list' }, options))]);
7
7
  }
8
8
  exports.default = default_1;
9
9
  //# sourceMappingURL=index.js.map
package/list/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/list/index.ts"],"names":[],"mappings":";;AAAA,2DAAyD;AAEzD,oCAAsC;AAGtC,mBAAyB,OAAe;IACtC,OAAO,kBAAK,CAAC,CAAC,kBAAU,iBAAG,aAAa,EAAE,MAAM,IAAK,OAAO,EAAG,CAAC,CAAC,CAAC;AACpE,CAAC;AAFD,4BAEC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/list/index.ts"],"names":[],"mappings":";;AAAA,2DAAyD;AAEzD,oCAAsC;AAGtC,mBAAyB,OAAe;IACtC,OAAO,IAAA,kBAAK,EAAC,CAAC,IAAA,kBAAU,kBAAG,aAAa,EAAE,MAAM,IAAK,OAAO,EAAG,CAAC,CAAC,CAAC;AACpE,CAAC;AAFD,4BAEC"}
package/list/schema.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "http://json-schema.org/schema",
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
3
  "$id": "SchematicsNgAlainListComponent",
4
4
  "title": "Ng Alain List Component Options Schema",
5
5
  "type": "object",
@@ -44,6 +44,7 @@
44
44
  "description": "Include template inline in the component.ts file. By default, an external template file is created and referenced in the component.ts file.",
45
45
  "type": "boolean",
46
46
  "default": false,
47
+ "alias": "t",
47
48
  "x-user-analytics": 10
48
49
  },
49
50
  "viewEncapsulation": {
@@ -119,12 +120,6 @@
119
120
  "description": "The declaring NgModule exports this component.",
120
121
  "x-user-analytics": 19
121
122
  },
122
- "lintFix": {
123
- "type": "boolean",
124
- "description": "Apply lint fixes after generating the component.",
125
- "x-user-analytics": 15,
126
- "x-deprecated": "Use \"ng lint --fix\" directly instead."
127
- },
128
123
  "withoutPrefix": {
129
124
  "type": "boolean",
130
125
  "description": "指定选择器名不加前缀 (Without prefix to selectors)",
package/migration.json CHANGED
@@ -1,21 +1,16 @@
1
1
  {
2
2
  "$schema": "./node_modules/@angular-devkit/schematics/collection-schema.json",
3
3
  "schematics": {
4
- "migration-v11": {
5
- "version": "11",
6
- "description": "Updates NG-ALAIN to v11 [https://github.com/ng-alain/ng-alain/issues/1863]",
7
- "factory": "./ng-update/index#updateToV11"
8
- },
9
- "migration-v117": {
10
- "version": "11.7.0",
11
- "description": "Updates NG-ALAIN to v11.7.0",
12
- "factory": "./ng-update/index#updateToV117"
13
- },
14
4
  "migration-v12": {
15
5
  "version": "12",
16
6
  "description": "Updates NG-ALAIN to v12 [https://github.com/ng-alain/ng-alain/issues/2027]",
17
7
  "factory": "./ng-update/index#updateToV12"
18
8
  },
9
+ "migration-v13": {
10
+ "version": "13",
11
+ "description": "Updates NG-ALAIN to v13 [https://github.com/ng-alain/ng-alain/issues/2174]",
12
+ "factory": "./ng-update/index#updateToV13"
13
+ },
19
14
  "ng-post-update": {
20
15
  "description": "Performs cleanup after ng-update.",
21
16
  "factory": "./ng-update/index#postUpdate",
package/module/index.js CHANGED
@@ -22,17 +22,17 @@ function addDeclarationToNgModule(options) {
22
22
  if (!options.module) {
23
23
  return tree;
24
24
  }
25
- const modulePath = core_1.normalize(`/${options.module}`);
25
+ const modulePath = (0, core_1.normalize)(`/${options.module}`);
26
26
  const text = tree.read(modulePath);
27
27
  if (text === null) {
28
28
  throw new schematics_1.SchematicsException(`File ${modulePath} does not exist.`);
29
29
  }
30
30
  const sourceText = text.toString('utf-8');
31
31
  const source = ts.createSourceFile(modulePath, sourceText, ts.ScriptTarget.Latest, true);
32
- const importModulePath = core_1.normalize(`/${options.path}/${options.flat ? '' : `${core_1.strings.dasherize(options.name)}/`}${core_1.strings.dasherize(options.name)}.module`);
33
- const relativeDir = core_1.relative(core_1.dirname(modulePath), core_1.dirname(importModulePath));
34
- const relativePath = `${relativeDir.startsWith('.') ? relativeDir : `./${relativeDir}`}/${core_1.basename(importModulePath)}`;
35
- const changes = ast_utils_1.addImportToModule(source, modulePath, core_1.strings.classify(`${options.name}Module`), relativePath);
32
+ const importModulePath = (0, core_1.normalize)(`/${options.path}/${options.flat ? '' : `${core_1.strings.dasherize(options.name)}/`}${core_1.strings.dasherize(options.name)}.module`);
33
+ const relativeDir = (0, core_1.relative)((0, core_1.dirname)(modulePath), (0, core_1.dirname)(importModulePath));
34
+ const relativePath = `${relativeDir.startsWith('.') ? relativeDir : `./${relativeDir}`}/${(0, core_1.basename)(importModulePath)}`;
35
+ const changes = (0, ast_utils_1.addImportToModule)(source, modulePath, core_1.strings.classify(`${options.name}Module`), relativePath);
36
36
  const recorder = tree.beginUpdate(modulePath);
37
37
  for (const change of changes) {
38
38
  if (change instanceof change_1.InsertChange) {
@@ -45,13 +45,13 @@ function addDeclarationToNgModule(options) {
45
45
  }
46
46
  function addRoutingModuleToTop(options) {
47
47
  return (tree) => {
48
- const modulePath = core_1.normalize(`${options.path}/routes-routing.module.ts`);
48
+ const modulePath = (0, core_1.normalize)(`${options.path}/routes-routing.module.ts`);
49
49
  if (!tree.exists(modulePath)) {
50
50
  return tree;
51
51
  }
52
52
  const sourceText = tree.read(modulePath).toString('utf-8');
53
53
  const source = ts.createSourceFile(modulePath, sourceText, ts.ScriptTarget.Latest, true);
54
- const routesNode = ast_utils_1.findNode(source, ts.SyntaxKind.Identifier, 'routes');
54
+ const routesNode = (0, ast_utils_1.findNode)(source, ts.SyntaxKind.Identifier, 'routes');
55
55
  if (routesNode == null || routesNode.parent == null) {
56
56
  return tree;
57
57
  }
@@ -60,7 +60,7 @@ function addRoutingModuleToTop(options) {
60
60
  parentNode.initializer.getChildCount() === 0) {
61
61
  return tree;
62
62
  }
63
- const childrenNode = ast_utils_1.findNode(parentNode.initializer, ts.SyntaxKind.Identifier, 'children');
63
+ const childrenNode = (0, ast_utils_1.findNode)(parentNode.initializer, ts.SyntaxKind.Identifier, 'children');
64
64
  if (childrenNode == null || childrenNode.parent == null) {
65
65
  return tree;
66
66
  }
@@ -76,23 +76,23 @@ function addRoutingModuleToTop(options) {
76
76
  }
77
77
  function default_1(schema) {
78
78
  return (tree) => __awaiter(this, void 0, void 0, function* () {
79
- const proj = yield utils_1.getProject(tree, schema.project);
80
- utils_1.refreshPathRoot(proj.project, schema, proj.alainProject);
79
+ const proj = yield (0, utils_1.getProject)(tree, schema.project);
80
+ (0, utils_1.refreshPathRoot)(proj.project, schema, proj.alainProject);
81
81
  if (schema.module) {
82
- schema.module = find_module_1.findModuleFromOptions(tree, schema);
82
+ schema.module = (0, find_module_1.findModuleFromOptions)(tree, schema);
83
83
  }
84
- const parsedPath = parse_name_1.parseName(schema.path, schema.name);
84
+ const parsedPath = (0, parse_name_1.parseName)(schema.path, schema.name);
85
85
  schema.name = parsedPath.name;
86
86
  schema.path = parsedPath.path;
87
87
  schema.routing = true;
88
88
  schema.flat = false;
89
- const templateSource = schematics_1.apply(schematics_1.url('./files'), [
90
- schema.routing ? schematics_1.noop() : schematics_1.filter(path => !path.endsWith('-routing.module.ts')),
91
- schematics_1.applyTemplates(Object.assign(Object.assign(Object.assign({}, core_1.strings), { 'if-flat': (s) => (schema.flat ? '' : s) }), schema)),
92
- schematics_1.move(parsedPath.path)
89
+ const templateSource = (0, schematics_1.apply)((0, schematics_1.url)('./files'), [
90
+ schema.routing ? (0, schematics_1.noop)() : (0, schematics_1.filter)(path => !path.endsWith('-routing.module.ts')),
91
+ (0, schematics_1.applyTemplates)(Object.assign(Object.assign(Object.assign({}, core_1.strings), { 'if-flat': (s) => (schema.flat ? '' : s) }), schema)),
92
+ (0, schematics_1.move)(parsedPath.path)
93
93
  ]);
94
- return schematics_1.chain([
95
- schematics_1.branchAndMerge(schematics_1.chain([addDeclarationToNgModule(schema), addRoutingModuleToTop(schema), schematics_1.mergeWith(templateSource)]))
94
+ return (0, schematics_1.chain)([
95
+ (0, schematics_1.branchAndMerge)((0, schematics_1.chain)([addDeclarationToNgModule(schema), addRoutingModuleToTop(schema), (0, schematics_1.mergeWith)(templateSource)]))
96
96
  ]);
97
97
  });
98
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/module/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/module/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "http://json-schema.org/schema",
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
3
  "$id": "SchematicsNgAlainModule",
4
4
  "title": "Ng Alain Module Options Schema",
5
5
  "type": "object",
package/ng-add/index.js CHANGED
@@ -3,52 +3,44 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const color_1 = require("@angular/cli/utilities/color");
4
4
  const schematics_1 = require("@angular-devkit/schematics");
5
5
  const tasks_1 = require("@angular-devkit/schematics/tasks");
6
- const fs_1 = require("fs");
7
- const path_1 = require("path");
8
6
  const utils_1 = require("../utils");
9
- const V = 12;
7
+ const node_1 = require("../utils/node");
8
+ const V = 13;
10
9
  function genRules(options) {
11
10
  return () => {
12
11
  const rules = [];
13
12
  const applicationOptions = Object.assign({}, options);
14
- rules.push(schematics_1.schematic('application', applicationOptions));
13
+ rules.push((0, schematics_1.schematic)('application', applicationOptions));
15
14
  if (options.codeStyle) {
16
- rules.push(schematics_1.schematic('plugin', { name: 'codeStyle', type: 'add' }));
15
+ rules.push((0, schematics_1.schematic)('plugin', { name: 'codeStyle', type: 'add' }));
17
16
  }
18
17
  if (options.defaultLanguage) {
19
- rules.push(schematics_1.schematic('plugin', {
18
+ rules.push((0, schematics_1.schematic)('plugin', {
20
19
  name: 'defaultLanguage',
21
20
  type: 'add',
22
21
  defaultLanguage: options.defaultLanguage
23
22
  }));
24
23
  }
25
24
  if (options.npm) {
26
- rules.push(schematics_1.schematic('plugin', {
25
+ rules.push((0, schematics_1.schematic)('plugin', {
27
26
  name: 'networkEnv',
28
27
  type: 'add',
29
28
  packageManager: 'npm'
30
29
  }));
31
30
  }
32
31
  if (options.yarn) {
33
- rules.push(schematics_1.schematic('plugin', {
32
+ rules.push((0, schematics_1.schematic)('plugin', {
34
33
  name: 'networkEnv',
35
34
  type: 'add',
36
35
  packageManager: 'yarn'
37
36
  }));
38
37
  }
39
- return schematics_1.chain(rules);
38
+ return (0, schematics_1.chain)(rules);
40
39
  };
41
40
  }
42
- function getFiles() {
43
- const nodeModulesPath = path_1.join(process.cwd(), 'node_modules');
44
- if (!fs_1.statSync(nodeModulesPath).isDirectory())
45
- return [];
46
- return fs_1.readdirSync(nodeModulesPath) || [];
47
- }
48
- function isUseCNPM() {
49
- const names = getFiles();
50
- const res = ['_@angular', '_ng-zorro-antd'].every(prefix => names.findIndex(w => w.startsWith(prefix)) !== -1);
51
- return res;
41
+ function isYarn(tree) {
42
+ var _a, _b;
43
+ return ((_b = (_a = (0, utils_1.readJSON)(tree, '/angular.json')) === null || _a === void 0 ? void 0 : _a.cli) === null || _b === void 0 ? void 0 : _b.packageManager) === 'yarn';
52
44
  }
53
45
  function finished() {
54
46
  return (_, context) => {
@@ -62,21 +54,27 @@ NG-ALAIN documentation site: https://ng-alain.com
62
54
  }
63
55
  function default_1(options) {
64
56
  return (tree, context) => {
65
- if (isUseCNPM()) {
66
- throw new Error(`Sorry, Don't use cnpm to install dependencies, pls refer to: https://ng-alain.com/docs/faq#Installation`);
57
+ if (!isYarn(tree)) {
58
+ context.logger.warn(`TIPS:: Please use yarn instead of NPM to install dependencies`);
59
+ }
60
+ const nodeVersion = (0, node_1.getNodeMajorVersion)();
61
+ const allowNodeVersions = [12, 14, 16];
62
+ if (!allowNodeVersions.some(v => nodeVersion === v)) {
63
+ const versions = allowNodeVersions.join(', ');
64
+ throw new schematics_1.SchematicsException(`Sorry, currently only supports ${versions} major version number of node (Got ${process.version}), pls refer to https://gist.github.com/LayZeeDK/c822cc812f75bb07b7c55d07ba2719b3`);
67
65
  }
68
- const pkg = utils_1.readPackage(tree);
66
+ const pkg = (0, utils_1.readPackage)(tree);
69
67
  if (pkg.devDependencies['ng-alain']) {
70
- throw new Error(`Already an NG-ALAIN project and can't be executed again: ng add ng-alain`);
68
+ throw new schematics_1.SchematicsException(`Already an NG-ALAIN project and can't be executed again: ng add ng-alain`);
71
69
  }
72
70
  let ngCoreVersion = pkg.dependencies['@angular/core'];
73
71
  if (/^[\^|\~]/g.test(ngCoreVersion)) {
74
- ngCoreVersion = ngCoreVersion.substr(1);
72
+ ngCoreVersion = ngCoreVersion.substring(1);
75
73
  }
76
74
  if (!ngCoreVersion.startsWith(`${V}.`)) {
77
- throw new Error(`Sorry, the current version only supports angular ${V}.x, pls downgrade the global Anguar-cli version: [yarn global add @angular/cli@${V}] (or via npm: [npm install -g @angular/cli@${V}])`);
75
+ throw new schematics_1.SchematicsException(`Sorry, the current version only supports angular ${V}.x, pls downgrade the global Anguar-cli version: [yarn global add @angular/cli@${V}] (or via npm: [npm install -g @angular/cli@${V}])`);
78
76
  }
79
- return schematics_1.chain([genRules(options), finished()])(tree, context);
77
+ return (0, schematics_1.chain)([genRules(options), finished()])(tree, context);
80
78
  };
81
79
  }
82
80
  exports.default = default_1;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,25 @@
1
1
  import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing';
2
2
 
3
+ import * as nodeUtils from '../utils/node';
3
4
  import { createAlainApp } from '../utils/testing';
4
5
 
5
6
  describe('Schematic: ng-add', () => {
6
7
  let runner: SchematicTestRunner;
7
8
  let tree: UnitTestTree;
8
9
 
9
- beforeEach(async () => ({ runner, tree } = await createAlainApp()));
10
-
11
- it('should dependencies @delon of an application', () => {
10
+ it('should dependencies @delon of an application', async () => {
11
+ ({ runner, tree } = await createAlainApp());
12
12
  const packageJson = JSON.parse(tree.readContent('package.json'));
13
13
  expect(packageJson.dependencies['@delon/theme']).toBeDefined();
14
14
  });
15
+
16
+ it('should throw errr when node version is not valid range', async () => {
17
+ spyOn(nodeUtils, 'getNodeMajorVersion').and.returnValue(10);
18
+ try {
19
+ await createAlainApp();
20
+ expect(true).toBe(false);
21
+ } catch (ex) {
22
+ expect(true).toBe(true);
23
+ }
24
+ });
15
25
  });
package/ng-add/index.ts CHANGED
@@ -1,15 +1,14 @@
1
1
  import { colors } from '@angular/cli/utilities/color';
2
2
 
3
- import { chain, Rule, schematic, Tree, SchematicContext } from '@angular-devkit/schematics';
3
+ import { chain, Rule, schematic, Tree, SchematicContext, SchematicsException } from '@angular-devkit/schematics';
4
4
  import { NodePackageInstallTask } from '@angular-devkit/schematics/tasks';
5
- import { readdirSync, statSync } from 'fs';
6
- import { join } from 'path';
7
5
 
8
6
  import { Schema as ApplicationOptions } from '../application/schema';
9
- import { readPackage } from '../utils';
7
+ import { readJSON, readPackage } from '../utils';
8
+ import { getNodeMajorVersion } from '../utils/node';
10
9
  import { Schema as NgAddOptions } from './schema';
11
10
 
12
- const V = 12;
11
+ const V = 13;
13
12
 
14
13
  function genRules(options: NgAddOptions): Rule {
15
14
  return () => {
@@ -56,16 +55,8 @@ function genRules(options: NgAddOptions): Rule {
56
55
  };
57
56
  }
58
57
 
59
- function getFiles(): string[] {
60
- const nodeModulesPath = join(process.cwd(), 'node_modules');
61
- if (!statSync(nodeModulesPath).isDirectory()) return [];
62
- return readdirSync(nodeModulesPath) || [];
63
- }
64
-
65
- function isUseCNPM(): boolean {
66
- const names = getFiles();
67
- const res = ['_@angular', '_ng-zorro-antd'].every(prefix => names.findIndex(w => w.startsWith(prefix)) !== -1);
68
- return res;
58
+ function isYarn(tree: Tree): boolean {
59
+ return readJSON(tree, '/angular.json')?.cli?.packageManager === 'yarn';
69
60
  }
70
61
 
71
62
  function finished(): Rule {
@@ -84,24 +75,31 @@ NG-ALAIN documentation site: https://ng-alain.com
84
75
 
85
76
  export default function (options: NgAddOptions): Rule {
86
77
  return (tree: Tree, context: SchematicContext) => {
87
- if (isUseCNPM()) {
88
- throw new Error(
89
- `Sorry, Don't use cnpm to install dependencies, pls refer to: https://ng-alain.com/docs/faq#Installation`
78
+ if (!isYarn(tree)) {
79
+ context.logger.warn(`TIPS:: Please use yarn instead of NPM to install dependencies`);
80
+ }
81
+
82
+ const nodeVersion = getNodeMajorVersion();
83
+ const allowNodeVersions = [12, 14, 16];
84
+ if (!allowNodeVersions.some(v => nodeVersion === v)) {
85
+ const versions = allowNodeVersions.join(', ');
86
+ throw new SchematicsException(
87
+ `Sorry, currently only supports ${versions} major version number of node (Got ${process.version}), pls refer to https://gist.github.com/LayZeeDK/c822cc812f75bb07b7c55d07ba2719b3`
90
88
  );
91
89
  }
92
90
 
93
91
  const pkg = readPackage(tree);
94
92
 
95
93
  if (pkg.devDependencies['ng-alain']) {
96
- throw new Error(`Already an NG-ALAIN project and can't be executed again: ng add ng-alain`);
94
+ throw new SchematicsException(`Already an NG-ALAIN project and can't be executed again: ng add ng-alain`);
97
95
  }
98
96
 
99
97
  let ngCoreVersion = pkg.dependencies['@angular/core'] as string;
100
98
  if (/^[\^|\~]/g.test(ngCoreVersion)) {
101
- ngCoreVersion = ngCoreVersion.substr(1);
99
+ ngCoreVersion = ngCoreVersion.substring(1);
102
100
  }
103
101
  if (!ngCoreVersion.startsWith(`${V}.`)) {
104
- throw new Error(
102
+ throw new SchematicsException(
105
103
  `Sorry, the current version only supports angular ${V}.x, pls downgrade the global Anguar-cli version: [yarn global add @angular/cli@${V}] (or via npm: [npm install -g @angular/cli@${V}])`
106
104
  );
107
105
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "http://json-schema.org/schema",
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
3
  "$id": "SchematicsNgAlainAdd",
4
4
  "title": "NgAlain Add Options Schema",
5
5
  "type": "object",
@@ -3,6 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.attributeSelectors = void 0;
4
4
  const schematics_1 = require("@angular/cdk/schematics");
5
5
  exports.attributeSelectors = {
6
- [schematics_1.TargetVersion.V12]: []
6
+ [schematics_1.TargetVersion.V13]: []
7
7
  };
8
8
  //# sourceMappingURL=attribute-selectors.js.map
@@ -1,5 +1,5 @@
1
1
  import { AttributeSelectorUpgradeData, TargetVersion, VersionChanges } from '@angular/cdk/schematics';
2
2
 
3
3
  export const attributeSelectors: VersionChanges<AttributeSelectorUpgradeData> = {
4
- [TargetVersion.V12]: []
4
+ [TargetVersion.V13]: []
5
5
  };
@@ -3,6 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.classNames = void 0;
4
4
  const schematics_1 = require("@angular/cdk/schematics");
5
5
  exports.classNames = {
6
- [schematics_1.TargetVersion.V12]: []
6
+ [schematics_1.TargetVersion.V13]: []
7
7
  };
8
8
  //# sourceMappingURL=class-names.js.map
@@ -1,5 +1,5 @@
1
1
  import { ClassNameUpgradeData, TargetVersion, VersionChanges } from '@angular/cdk/schematics';
2
2
 
3
3
  export const classNames: VersionChanges<ClassNameUpgradeData> = {
4
- [TargetVersion.V12]: []
4
+ [TargetVersion.V13]: []
5
5
  };
@@ -8,6 +8,6 @@ const schematics_1 = require("@angular/cdk/schematics");
8
8
  * automatically through type checking.
9
9
  */
10
10
  exports.constructorChecks = {
11
- [schematics_1.TargetVersion.V12]: []
11
+ [schematics_1.TargetVersion.V13]: []
12
12
  };
13
13
  //# sourceMappingURL=constructor-checks.js.map
@@ -6,5 +6,5 @@ import { ConstructorChecksUpgradeData, TargetVersion, VersionChanges } from '@an
6
6
  * automatically through type checking.
7
7
  */
8
8
  export const constructorChecks: VersionChanges<ConstructorChecksUpgradeData> = {
9
- [TargetVersion.V12]: []
9
+ [TargetVersion.V13]: []
10
10
  };
@@ -3,6 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.cssSelectors = void 0;
4
4
  const schematics_1 = require("@angular/cdk/schematics");
5
5
  exports.cssSelectors = {
6
- [schematics_1.TargetVersion.V12]: []
6
+ [schematics_1.TargetVersion.V13]: []
7
7
  };
8
8
  //# sourceMappingURL=css-selectors.js.map
@@ -1,5 +1,5 @@
1
1
  import { CssSelectorUpgradeData, TargetVersion, VersionChanges } from '@angular/cdk/schematics';
2
2
 
3
3
  export const cssSelectors: VersionChanges<CssSelectorUpgradeData> = {
4
- [TargetVersion.V12]: []
4
+ [TargetVersion.V13]: []
5
5
  };
@@ -3,6 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.elementSelectors = void 0;
4
4
  const schematics_1 = require("@angular/cdk/schematics");
5
5
  exports.elementSelectors = {
6
- [schematics_1.TargetVersion.V12]: []
6
+ [schematics_1.TargetVersion.V13]: []
7
7
  };
8
8
  //# sourceMappingURL=element-selectors.js.map
@@ -1,5 +1,5 @@
1
1
  import { ElementSelectorUpgradeData, TargetVersion, VersionChanges } from '@angular/cdk/schematics';
2
2
 
3
3
  export const elementSelectors: VersionChanges<ElementSelectorUpgradeData> = {
4
- [TargetVersion.V12]: []
4
+ [TargetVersion.V13]: []
5
5
  };
@@ -3,6 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.inputNames = void 0;
4
4
  const schematics_1 = require("@angular/cdk/schematics");
5
5
  exports.inputNames = {
6
- [schematics_1.TargetVersion.V12]: []
6
+ [schematics_1.TargetVersion.V13]: []
7
7
  };
8
8
  //# sourceMappingURL=input-names.js.map
@@ -1,5 +1,5 @@
1
1
  import { InputNameUpgradeData, TargetVersion, VersionChanges } from '@angular/cdk/schematics';
2
2
 
3
3
  export const inputNames: VersionChanges<InputNameUpgradeData> = {
4
- [TargetVersion.V12]: []
4
+ [TargetVersion.V13]: []
5
5
  };
@@ -3,6 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.methodCallChecks = void 0;
4
4
  const schematics_1 = require("@angular/cdk/schematics");
5
5
  exports.methodCallChecks = {
6
- [schematics_1.TargetVersion.V12]: []
6
+ [schematics_1.TargetVersion.V13]: []
7
7
  };
8
8
  //# sourceMappingURL=method-call-checks.js.map
@@ -1,5 +1,5 @@
1
1
  import { MethodCallUpgradeData, TargetVersion, VersionChanges } from '@angular/cdk/schematics';
2
2
 
3
3
  export const methodCallChecks: VersionChanges<MethodCallUpgradeData> = {
4
- [TargetVersion.V12]: []
4
+ [TargetVersion.V13]: []
5
5
  };
@@ -3,6 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.outputNames = void 0;
4
4
  const schematics_1 = require("@angular/cdk/schematics");
5
5
  exports.outputNames = {
6
- [schematics_1.TargetVersion.V12]: []
6
+ [schematics_1.TargetVersion.V13]: []
7
7
  };
8
8
  //# sourceMappingURL=output-names.js.map