ng-alain 12.4.2 → 13.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/application/files/root/.husky/pre-commit +1 -1
  2. package/application/files/root/.stylelintrc +1 -0
  3. package/application/files/src/app/core/i18n/i18n.service.ts +1 -1
  4. package/application/files/src/app/core/net/default.interceptor.ts +1 -1
  5. package/application/files/src/app/layout/basic/widgets/clear-storage.component.ts +1 -1
  6. package/application/files/src/app/layout/basic/widgets/fullscreen.component.ts +5 -8
  7. package/application/files/src/app/layout/basic/widgets/i18n.component.ts +3 -0
  8. package/application/files/src/app/layout/passport/passport.component.less +15 -1
  9. package/application/files/src/app/routes/exception/exception.component.ts +1 -1
  10. package/application/files/src/app/routes/passport/callback.component.ts +1 -1
  11. package/application/files/src/app/routes/passport/lock/lock.component.less +1 -0
  12. package/application/files/src/app/routes/passport/login/login.component.less +13 -3
  13. package/application/files/src/app/routes/passport/login/login.component.ts +4 -4
  14. package/application/files/src/app/routes/passport/register/register.component.less +10 -1
  15. package/application/files/src/app/routes/passport/register/register.component.ts +5 -5
  16. package/application/files/src/app/routes/passport/register-result/register-result.component.ts +1 -1
  17. package/application/files/src/styles/theme.less +1 -1
  18. package/application/files/src/styles.less +5 -5
  19. package/application/files/src/test.ts +3 -1
  20. package/application/index.js +45 -44
  21. package/application/index.js.map +1 -1
  22. package/application/index.ts +12 -9
  23. package/collection.json +2 -3
  24. package/curd/index.js +3 -3
  25. package/curd/index.js.map +1 -1
  26. package/curd/index.ts +1 -1
  27. package/curd/schema.json +16 -0
  28. package/curd/schema.ts +1 -0
  29. package/docs/generate.en-US.md +3 -0
  30. package/docs/generate.zh-CN.md +3 -0
  31. package/docs/plugin.en-US.md +0 -13
  32. package/docs/plugin.zh-CN.md +0 -13
  33. package/edit/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.service.ts.template +9 -0
  34. package/edit/index.js +1 -1
  35. package/edit/index.js.map +1 -1
  36. package/edit/schema.json +16 -0
  37. package/edit/schema.ts +1 -0
  38. package/empty/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.service.ts.template +9 -0
  39. package/empty/index.js +1 -1
  40. package/empty/index.js.map +1 -1
  41. package/empty/index.spec.ts +25 -5
  42. package/empty/schema.json +16 -0
  43. package/empty/schema.ts +1 -0
  44. package/list/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.service.ts.template +9 -0
  45. package/list/index.js +1 -1
  46. package/list/index.js.map +1 -1
  47. package/list/index.spec.ts +7 -0
  48. package/list/schema.json +16 -0
  49. package/list/schema.ts +1 -0
  50. package/migration.json +5 -10
  51. package/module/files/__name@dasherize@if-flat__/__name@dasherize__.service.ts.template +9 -0
  52. package/module/index.js +46 -20
  53. package/module/index.js.map +1 -1
  54. package/module/index.spec.ts +16 -0
  55. package/module/index.ts +33 -5
  56. package/module/schema.json +16 -0
  57. package/module/schema.ts +3 -1
  58. package/ng-add/index.js +24 -26
  59. package/ng-add/index.js.map +1 -1
  60. package/ng-add/index.spec.ts +13 -3
  61. package/ng-add/index.ts +19 -21
  62. package/ng-update/data/attribute-selectors.js +1 -1
  63. package/ng-update/data/attribute-selectors.ts +1 -1
  64. package/ng-update/data/class-names.js +1 -1
  65. package/ng-update/data/class-names.ts +1 -1
  66. package/ng-update/data/constructor-checks.js +1 -1
  67. package/ng-update/data/constructor-checks.ts +1 -1
  68. package/ng-update/data/css-selectors.js +1 -1
  69. package/ng-update/data/css-selectors.ts +1 -1
  70. package/ng-update/data/element-selectors.js +1 -1
  71. package/ng-update/data/element-selectors.ts +1 -1
  72. package/ng-update/data/input-names.js +1 -1
  73. package/ng-update/data/input-names.ts +1 -1
  74. package/ng-update/data/method-call-checks.js +1 -1
  75. package/ng-update/data/method-call-checks.ts +1 -1
  76. package/ng-update/data/output-names.js +1 -1
  77. package/ng-update/data/output-names.ts +1 -1
  78. package/ng-update/data/property-names.js +1 -1
  79. package/ng-update/data/property-names.ts +1 -1
  80. package/ng-update/index.js +8 -13
  81. package/ng-update/index.js.map +1 -1
  82. package/ng-update/index.ts +5 -10
  83. package/ng-update/upgrade-data.js +3 -1
  84. package/ng-update/upgrade-data.js.map +1 -1
  85. package/ng-update/upgrade-data.ts +3 -2
  86. package/ng-update/upgrade-rules/checks/_src-to-nz-image-rule.js +1 -1
  87. package/ng-update/upgrade-rules/checks/_src-to-nz-image-rule.js.map +1 -1
  88. package/ng-update/upgrade-rules/v12/index.js +32 -32
  89. package/ng-update/upgrade-rules/v12/index.js.map +1 -1
  90. package/ng-update/upgrade-rules/v12/index.ts +1 -5
  91. package/ng-update/upgrade-rules/v13/index.js +100 -0
  92. package/ng-update/upgrade-rules/v13/index.js.map +1 -0
  93. package/ng-update/upgrade-rules/v13/index.spec.ts +39 -0
  94. package/ng-update/upgrade-rules/v13/index.ts +111 -0
  95. package/package.json +1 -1
  96. package/plugin/files/rtl/layout/basic/widgets/rtl.component.ts +1 -1
  97. package/plugin/index.js +10 -14
  98. package/plugin/index.js.map +1 -1
  99. package/plugin/index.ts +0 -4
  100. package/plugin/plugin.code-style.js +2 -2
  101. package/plugin/plugin.code-style.js.map +1 -1
  102. package/plugin/plugin.default-language.js +3 -3
  103. package/plugin/plugin.default-language.js.map +1 -1
  104. package/plugin/plugin.default-language.ts +1 -1
  105. package/plugin/plugin.docker.js +6 -6
  106. package/plugin/plugin.docker.js.map +1 -1
  107. package/plugin/plugin.icon.js +7 -7
  108. package/plugin/plugin.icon.js.map +1 -1
  109. package/plugin/plugin.icon.ts +2 -2
  110. package/plugin/plugin.rtl.js +11 -11
  111. package/plugin/plugin.rtl.js.map +1 -1
  112. package/plugin/plugin.sts.js +1 -1
  113. package/plugin/plugin.sts.js.map +1 -1
  114. package/schema.json +10 -0
  115. package/sta/index.js +13 -13
  116. package/sta/index.js.map +1 -1
  117. package/tpl/index.js +2 -2
  118. package/tpl/index.js.map +1 -1
  119. package/tpl/index.ts +1 -1
  120. package/utils/alain.js +51 -26
  121. package/utils/alain.js.map +1 -1
  122. package/utils/alain.ts +45 -10
  123. package/utils/code-style.js +1 -1
  124. package/utils/code-style.js.map +1 -1
  125. package/utils/code-style.ts +1 -1
  126. package/utils/file.js +2 -2
  127. package/utils/file.js.map +1 -1
  128. package/utils/html.js +1 -1
  129. package/utils/html.js.map +1 -1
  130. package/utils/json.js +1 -1
  131. package/utils/json.js.map +1 -1
  132. package/utils/lib-versions.js +2 -2
  133. package/utils/lib-versions.ts +2 -2
  134. package/utils/log.js +3 -3
  135. package/utils/log.js.map +1 -1
  136. package/utils/log.ts +3 -3
  137. package/utils/node.js +8 -0
  138. package/utils/node.js.map +1 -0
  139. package/utils/node.ts +3 -0
  140. package/utils/package.js +4 -4
  141. package/utils/package.js.map +1 -1
  142. package/utils/package.ts +2 -2
  143. package/utils/testing.js +3 -3
  144. package/utils/testing.js.map +1 -1
  145. package/utils/versions.js +24 -20
  146. package/utils/versions.js.map +1 -1
  147. package/utils/versions.ts +20 -16
  148. package/utils/workspace.js +25 -6
  149. package/utils/workspace.js.map +1 -1
  150. package/utils/workspace.ts +15 -0
  151. package/view/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.service.ts.template +9 -0
  152. package/view/index.js +1 -1
  153. package/view/index.js.map +1 -1
  154. package/view/schema.json +16 -0
  155. package/view/schema.ts +1 -0
  156. package/ng-update/upgrade-rules/v11/files-tpl/main.js +0 -31
  157. package/ng-update/upgrade-rules/v11/files-tpl/main.js.map +0 -1
  158. package/ng-update/upgrade-rules/v11/files-tpl/main.ts +0 -28
  159. package/ng-update/upgrade-rules/v11/hmr.js +0 -103
  160. package/ng-update/upgrade-rules/v11/hmr.js.map +0 -1
  161. package/ng-update/upgrade-rules/v11/hmr.ts +0 -109
  162. package/ng-update/upgrade-rules/v11/index.js +0 -72
  163. package/ng-update/upgrade-rules/v11/index.js.map +0 -1
  164. package/ng-update/upgrade-rules/v11/index.spec.ts +0 -51
  165. package/ng-update/upgrade-rules/v11/index.ts +0 -80
  166. package/ng-update/upgrade-rules/v11/layout.js +0 -39
  167. package/ng-update/upgrade-rules/v11/layout.js.map +0 -1
  168. package/ng-update/upgrade-rules/v11/layout.ts +0 -47
  169. package/ng-update/upgrade-rules/v117/index.js +0 -82
  170. package/ng-update/upgrade-rules/v117/index.js.map +0 -1
  171. package/ng-update/upgrade-rules/v117/index.spec.ts +0 -58
  172. package/ng-update/upgrade-rules/v117/index.ts +0 -71
  173. package/plugin/files/ie/tsconfig-es5.app.js +0 -9
  174. package/plugin/files/ie/tsconfig-es5.app.js.map +0 -1
  175. package/plugin/files/ie/tsconfig-es5.spec.js +0 -9
  176. package/plugin/files/ie/tsconfig-es5.spec.js.map +0 -1
  177. package/plugin/plugin.ie.js +0 -128
  178. package/plugin/plugin.ie.js.map +0 -1
  179. package/plugin/plugin.ie.spec.ts +0 -35
  180. package/plugin/plugin.ie.ts +0 -144
@@ -1,128 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.pluginIE = void 0;
13
- const schematics_1 = require("@angular-devkit/schematics");
14
- const workspace_1 = require("@schematics/angular/utility/workspace");
15
- const colors = require("ansi-colors");
16
- const utils_1 = require("../utils");
17
- const tsconfig_es5_app_1 = require("./files/ie/tsconfig-es5.app");
18
- const tsconfig_es5_spec_1 = require("./files/ie/tsconfig-es5.spec");
19
- let project;
20
- function setAngularJson(options) {
21
- return workspace_1.updateWorkspace((workspace) => __awaiter(this, void 0, void 0, function* () {
22
- const p = utils_1.getProjectFromWorkspace(workspace, options.project);
23
- if (options.type === 'add') {
24
- p.targets.get(utils_1.BUILD_TARGET_BUILD).configurations.es5 = { tsConfig: './tsconfig-es5.app.json' };
25
- p.targets.get(utils_1.BUILD_TARGET_SERVE).configurations.es5 = {
26
- browserTarget: `${options.project}:${utils_1.BUILD_TARGET_BUILD}:es5`
27
- };
28
- p.targets.get(utils_1.BUILD_TARGET_TEST).configurations = {
29
- es5: { tsConfig: './tsconfig-es5.app.json' }
30
- };
31
- }
32
- else {
33
- [utils_1.BUILD_TARGET_BUILD, utils_1.BUILD_TARGET_SERVE, utils_1.BUILD_TARGET_TEST]
34
- .map(key => p.targets.get(key))
35
- .filter(item => !!item)
36
- .forEach(item => {
37
- delete item.configurations.es5;
38
- });
39
- }
40
- }));
41
- }
42
- function setBrowserslist(options) {
43
- return (tree) => {
44
- const filePath = `${options.root}/.browserslistrc`;
45
- let content = utils_1.readContent(tree, filePath);
46
- if (options.type === 'add') {
47
- content = content.replace(`not IE 11`, `IE 11`);
48
- }
49
- else {
50
- content = content.replace(`IE 11`, `not IE 11`);
51
- }
52
- utils_1.overwriteFile({ tree, filePath, content, overwrite: true, contentIsString: true });
53
- };
54
- }
55
- function setPackage(options) {
56
- return (tree) => {
57
- // libs
58
- (options.type === 'add' ? utils_1.addPackage : utils_1.removePackage)(tree, ['classlist.js@^1.1.0', 'web-animations-js@^2.3.2'], 'dependencies');
59
- // scripts
60
- (options.type === 'add' ? utils_1.addPackage : utils_1.removePackage)(tree, ['ie:start@ng serve -o --configuration es5', 'ie:hmr@ng serve --hmr --configuration es5'], 'scripts');
61
- };
62
- }
63
- function setPolyfills(options) {
64
- return (tree) => {
65
- const filePath = `${project.sourceRoot}/polyfills.ts`;
66
- let content = '';
67
- if (options.type === 'add') {
68
- content = `import 'core-js/modules/es.array.includes';
69
- import 'classlist.js';
70
- import 'web-animations-js';
71
- import 'zone.js';`;
72
- }
73
- else {
74
- content = `import 'zone.js';`;
75
- }
76
- utils_1.overwriteFile({ tree, filePath, content, overwrite: true, contentIsString: true });
77
- };
78
- }
79
- function setTsConfig(options) {
80
- return (tree) => {
81
- const buildFilePath = `${options.root}/tsconfig-es5.app.json`;
82
- if (tree.exists(buildFilePath)) {
83
- tree.delete(buildFilePath);
84
- }
85
- if (options.type === 'add') {
86
- utils_1.overwriteFile({
87
- tree,
88
- filePath: buildFilePath,
89
- content: JSON.stringify(tsconfig_es5_app_1.default, null, 2),
90
- overwrite: true,
91
- contentIsString: true
92
- });
93
- }
94
- // spec
95
- const specFilePath = `${options.root}/tsconfig-es5.spec.json`;
96
- if (tree.exists(specFilePath))
97
- tree.delete(specFilePath);
98
- if (options.type === 'add') {
99
- utils_1.overwriteFile({
100
- tree,
101
- filePath: specFilePath,
102
- content: JSON.stringify(tsconfig_es5_spec_1.default, null, 2),
103
- overwrite: true,
104
- contentIsString: true
105
- });
106
- }
107
- };
108
- }
109
- function finished() {
110
- return (_, context) => {
111
- context.logger.info(colors.yellow(` ⚠ If you encounter [No provider for AlainConfigService], please refer to https://github.com/ng-alain/ng-alain/issues/1624#issuecomment-623071468`));
112
- };
113
- }
114
- function pluginIE(options) {
115
- return (tree) => __awaiter(this, void 0, void 0, function* () {
116
- project = (yield utils_1.getProject(tree, options.project)).project;
117
- return schematics_1.chain([
118
- setAngularJson(options),
119
- setBrowserslist(options),
120
- setPackage(options),
121
- setPolyfills(options),
122
- setTsConfig(options),
123
- finished()
124
- ]);
125
- });
126
- }
127
- exports.pluginIE = pluginIE;
128
- //# sourceMappingURL=plugin.ie.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin.ie.js","sourceRoot":"","sources":["../../../schematics/plugin/plugin.ie.ts"],"names":[],"mappings":"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"}
@@ -1,35 +0,0 @@
1
- import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing';
2
-
3
- import { APPNAME, createAlainApp } from '../utils/testing';
4
-
5
- describe('NgAlainSchematic: plugin: ie', () => {
6
- let runner: SchematicTestRunner;
7
- let tree: UnitTestTree;
8
-
9
- beforeEach(async () => {
10
- ({ runner, tree } = await createAlainApp());
11
- tree = await runner.runSchematicAsync('plugin', { name: 'ie', type: 'add', project: APPNAME }, tree).toPromise();
12
- });
13
-
14
- describe('when add', () => {
15
- it(`should be working`, () => {
16
- expect(tree.exists(`/projects/${APPNAME}/tsconfig-es5.app.json`)).toBe(true);
17
- expect(tree.exists(`/projects/${APPNAME}/tsconfig-es5.spec.json`)).toBe(true);
18
- expect(tree.readContent(`/projects/${APPNAME}/.browserslistrc`).includes(`IE 11`)).toBe(true);
19
- });
20
- });
21
-
22
- describe('when remove', () => {
23
- beforeEach(
24
- async () =>
25
- (tree = await runner
26
- .runSchematicAsync('plugin', { name: 'ie', type: 'remove', project: APPNAME }, tree)
27
- .toPromise())
28
- );
29
- it(`should be working`, () => {
30
- expect(tree.exists(`/projects/${APPNAME}/tsconfig-es5.app.json`)).toBe(false);
31
- expect(tree.exists(`/projects/${APPNAME}/tsconfig-es5.spec.json`)).toBe(false);
32
- expect(tree.readContent(`/projects/${APPNAME}/.browserslistrc`).includes(`not IE 11`)).toBe(true);
33
- });
34
- });
35
- });
@@ -1,144 +0,0 @@
1
- import { ProjectDefinition } from '@angular-devkit/core/src/workspace';
2
- import { chain, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';
3
- import { updateWorkspace } from '@schematics/angular/utility/workspace';
4
- import * as colors from 'ansi-colors';
5
-
6
- import {
7
- addPackage,
8
- BUILD_TARGET_BUILD,
9
- BUILD_TARGET_SERVE,
10
- BUILD_TARGET_TEST,
11
- getProject,
12
- getProjectFromWorkspace,
13
- overwriteFile,
14
- readContent,
15
- removePackage
16
- } from '../utils';
17
- import tsConfigEs5App from './files/ie/tsconfig-es5.app';
18
- import tsConfigEs5Spec from './files/ie/tsconfig-es5.spec';
19
- import { PluginOptions } from './interface';
20
-
21
- let project: ProjectDefinition;
22
-
23
- function setAngularJson(options: PluginOptions): Rule {
24
- return updateWorkspace(async workspace => {
25
- const p = getProjectFromWorkspace(workspace, options.project);
26
- if (options.type === 'add') {
27
- p.targets.get(BUILD_TARGET_BUILD).configurations.es5 = { tsConfig: './tsconfig-es5.app.json' };
28
- p.targets.get(BUILD_TARGET_SERVE).configurations.es5 = {
29
- browserTarget: `${options.project}:${BUILD_TARGET_BUILD}:es5`
30
- };
31
- p.targets.get(BUILD_TARGET_TEST).configurations = {
32
- es5: { tsConfig: './tsconfig-es5.app.json' }
33
- };
34
- } else {
35
- [BUILD_TARGET_BUILD, BUILD_TARGET_SERVE, BUILD_TARGET_TEST]
36
- .map(key => p.targets.get(key))
37
- .filter(item => !!item)
38
- .forEach(item => {
39
- delete item.configurations.es5;
40
- });
41
- }
42
- });
43
- }
44
-
45
- function setBrowserslist(options: PluginOptions): Rule {
46
- return (tree: Tree) => {
47
- const filePath = `${options.root}/.browserslistrc`;
48
- let content = readContent(tree, filePath);
49
- if (options.type === 'add') {
50
- content = content.replace(`not IE 11`, `IE 11`);
51
- } else {
52
- content = content.replace(`IE 11`, `not IE 11`);
53
- }
54
- overwriteFile({ tree, filePath, content, overwrite: true, contentIsString: true });
55
- };
56
- }
57
-
58
- function setPackage(options: PluginOptions): Rule {
59
- return (tree: Tree) => {
60
- // libs
61
- (options.type === 'add' ? addPackage : removePackage)(
62
- tree,
63
- ['classlist.js@^1.1.0', 'web-animations-js@^2.3.2'],
64
- 'dependencies'
65
- );
66
- // scripts
67
- (options.type === 'add' ? addPackage : removePackage)(
68
- tree,
69
- ['ie:start@ng serve -o --configuration es5', 'ie:hmr@ng serve --hmr --configuration es5'],
70
- 'scripts'
71
- );
72
- };
73
- }
74
-
75
- function setPolyfills(options: PluginOptions): Rule {
76
- return (tree: Tree) => {
77
- const filePath = `${project.sourceRoot}/polyfills.ts`;
78
- let content = '';
79
- if (options.type === 'add') {
80
- content = `import 'core-js/modules/es.array.includes';
81
- import 'classlist.js';
82
- import 'web-animations-js';
83
- import 'zone.js';`;
84
- } else {
85
- content = `import 'zone.js';`;
86
- }
87
- overwriteFile({ tree, filePath, content, overwrite: true, contentIsString: true });
88
- };
89
- }
90
-
91
- function setTsConfig(options: PluginOptions): Rule {
92
- return (tree: Tree) => {
93
- const buildFilePath = `${options.root}/tsconfig-es5.app.json`;
94
- if (tree.exists(buildFilePath)) {
95
- tree.delete(buildFilePath);
96
- }
97
- if (options.type === 'add') {
98
- overwriteFile({
99
- tree,
100
- filePath: buildFilePath,
101
- content: JSON.stringify(tsConfigEs5App, null, 2),
102
- overwrite: true,
103
- contentIsString: true
104
- });
105
- }
106
- // spec
107
- const specFilePath = `${options.root}/tsconfig-es5.spec.json`;
108
- if (tree.exists(specFilePath)) tree.delete(specFilePath);
109
- if (options.type === 'add') {
110
- overwriteFile({
111
- tree,
112
- filePath: specFilePath,
113
- content: JSON.stringify(tsConfigEs5Spec, null, 2),
114
- overwrite: true,
115
- contentIsString: true
116
- });
117
- }
118
- };
119
- }
120
-
121
- function finished(): Rule {
122
- return (_: Tree, context: SchematicContext) => {
123
- context.logger.info(
124
- colors.yellow(
125
- ` ⚠ If you encounter [No provider for AlainConfigService], please refer to https://github.com/ng-alain/ng-alain/issues/1624#issuecomment-623071468`
126
- )
127
- );
128
- };
129
- }
130
-
131
- export function pluginIE(options: PluginOptions): Rule {
132
- return async (tree: Tree) => {
133
- project = (await getProject(tree, options.project)).project;
134
-
135
- return chain([
136
- setAngularJson(options),
137
- setBrowserslist(options),
138
- setPackage(options),
139
- setPolyfills(options),
140
- setTsConfig(options),
141
- finished()
142
- ]);
143
- };
144
- }