ng-alain 13.0.0 → 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.
- package/application/files/root/.husky/pre-commit +1 -1
- package/application/files/root/.stylelintrc +1 -0
- package/application/files/src/app/layout/passport/passport.component.less +14 -0
- package/application/files/src/app/routes/passport/lock/lock.component.less +1 -0
- package/application/files/src/app/routes/passport/login/login.component.less +12 -2
- package/application/files/src/app/routes/passport/register/register.component.less +9 -0
- package/application/index.js +1 -1
- package/application/index.js.map +1 -1
- package/application/index.ts +1 -1
- package/curd/index.js +1 -1
- package/curd/index.js.map +1 -1
- package/curd/index.ts +1 -1
- package/curd/schema.json +16 -0
- package/curd/schema.ts +1 -0
- package/docs/generate.en-US.md +3 -0
- package/docs/generate.zh-CN.md +3 -0
- package/edit/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.service.ts.template +9 -0
- package/edit/schema.json +16 -0
- package/edit/schema.ts +1 -0
- package/empty/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.service.ts.template +9 -0
- package/empty/index.spec.ts +25 -5
- package/empty/schema.json +16 -0
- package/empty/schema.ts +1 -0
- package/list/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.service.ts.template +9 -0
- package/list/index.spec.ts +7 -0
- package/list/schema.json +16 -0
- package/list/schema.ts +1 -0
- package/module/files/__name@dasherize@if-flat__/__name@dasherize__.service.ts.template +9 -0
- package/module/index.js +29 -3
- package/module/index.js.map +1 -1
- package/module/index.spec.ts +16 -0
- package/module/index.ts +33 -5
- package/module/schema.json +16 -0
- package/module/schema.ts +3 -1
- package/package.json +1 -1
- package/utils/alain.js +34 -8
- package/utils/alain.js.map +1 -1
- package/utils/alain.ts +44 -8
- package/utils/code-style.js +1 -1
- package/utils/code-style.js.map +1 -1
- package/utils/code-style.ts +1 -1
- package/utils/lib-versions.js +1 -1
- package/utils/lib-versions.ts +1 -1
- package/view/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.service.ts.template +9 -0
- package/view/schema.json +16 -0
- package/view/schema.ts +1 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
@import '@delon/theme/index';
|
|
2
|
+
|
|
2
3
|
:host ::ng-deep {
|
|
3
4
|
.container {
|
|
4
5
|
display: flex;
|
|
@@ -6,11 +7,13 @@
|
|
|
6
7
|
min-height: 100%;
|
|
7
8
|
background: #f0f2f5;
|
|
8
9
|
}
|
|
10
|
+
|
|
9
11
|
.langs {
|
|
10
12
|
width: 100%;
|
|
11
13
|
height: 40px;
|
|
12
14
|
line-height: 44px;
|
|
13
15
|
text-align: right;
|
|
16
|
+
|
|
14
17
|
.anticon {
|
|
15
18
|
margin-top: 24px;
|
|
16
19
|
margin-right: 24px;
|
|
@@ -19,10 +22,12 @@
|
|
|
19
22
|
cursor: pointer;
|
|
20
23
|
}
|
|
21
24
|
}
|
|
25
|
+
|
|
22
26
|
.wrap {
|
|
23
27
|
flex: 1;
|
|
24
28
|
padding: 32px 0;
|
|
25
29
|
}
|
|
30
|
+
|
|
26
31
|
.ant-form-item {
|
|
27
32
|
display: flex;
|
|
28
33
|
justify-content: space-between;
|
|
@@ -36,24 +41,30 @@
|
|
|
36
41
|
background-position: center 110px;
|
|
37
42
|
background-size: 100%;
|
|
38
43
|
}
|
|
44
|
+
|
|
39
45
|
.wrap {
|
|
40
46
|
padding: 32px 0 24px;
|
|
41
47
|
}
|
|
42
48
|
}
|
|
49
|
+
|
|
43
50
|
.top {
|
|
44
51
|
text-align: center;
|
|
45
52
|
}
|
|
53
|
+
|
|
46
54
|
.header {
|
|
47
55
|
height: 44px;
|
|
48
56
|
line-height: 44px;
|
|
57
|
+
|
|
49
58
|
a {
|
|
50
59
|
text-decoration: none;
|
|
51
60
|
}
|
|
52
61
|
}
|
|
62
|
+
|
|
53
63
|
.logo {
|
|
54
64
|
height: 44px;
|
|
55
65
|
margin-right: 16px;
|
|
56
66
|
}
|
|
67
|
+
|
|
57
68
|
.title {
|
|
58
69
|
position: relative;
|
|
59
70
|
color: @heading-color;
|
|
@@ -62,6 +73,7 @@
|
|
|
62
73
|
font-family: 'Myriad Pro', 'Helvetica Neue', Arial, Helvetica, sans-serif;
|
|
63
74
|
vertical-align: middle;
|
|
64
75
|
}
|
|
76
|
+
|
|
65
77
|
.desc {
|
|
66
78
|
margin-top: 12px;
|
|
67
79
|
margin-bottom: 40px;
|
|
@@ -75,9 +87,11 @@
|
|
|
75
87
|
.container {
|
|
76
88
|
background: #141414;
|
|
77
89
|
}
|
|
90
|
+
|
|
78
91
|
.title {
|
|
79
92
|
color: fade(@white, 85%);
|
|
80
93
|
}
|
|
94
|
+
|
|
81
95
|
.desc {
|
|
82
96
|
color: fade(@white, 45%);
|
|
83
97
|
}
|
|
@@ -1,39 +1,48 @@
|
|
|
1
1
|
@import '@delon/theme/index';
|
|
2
|
+
|
|
2
3
|
:host {
|
|
3
4
|
display: block;
|
|
4
5
|
width: 368px;
|
|
5
6
|
margin: 0 auto;
|
|
7
|
+
|
|
6
8
|
::ng-deep {
|
|
7
9
|
.ant-tabs .ant-tabs-bar {
|
|
8
10
|
margin-bottom: 24px;
|
|
9
11
|
text-align: center;
|
|
10
12
|
border-bottom: 0;
|
|
11
13
|
}
|
|
14
|
+
|
|
12
15
|
.ant-tabs-tab {
|
|
13
16
|
font-size: 16px;
|
|
14
17
|
line-height: 24px;
|
|
15
18
|
}
|
|
19
|
+
|
|
16
20
|
.ant-input-affix-wrapper .ant-input:not(:first-child) {
|
|
17
21
|
padding-left: 4px;
|
|
18
22
|
}
|
|
23
|
+
|
|
19
24
|
.icon {
|
|
20
25
|
margin-left: 16px;
|
|
21
|
-
color:
|
|
26
|
+
color: rgb(0 0 0 / 20%);
|
|
22
27
|
font-size: 24px;
|
|
23
28
|
vertical-align: middle;
|
|
24
29
|
cursor: pointer;
|
|
25
30
|
transition: color 0.3s;
|
|
31
|
+
|
|
26
32
|
&:hover {
|
|
27
33
|
color: @primary-color;
|
|
28
34
|
}
|
|
29
35
|
}
|
|
36
|
+
|
|
30
37
|
.other {
|
|
31
38
|
margin-top: 24px;
|
|
32
39
|
line-height: 22px;
|
|
33
40
|
text-align: left;
|
|
41
|
+
|
|
34
42
|
nz-tooltip {
|
|
35
43
|
vertical-align: middle;
|
|
36
44
|
}
|
|
45
|
+
|
|
37
46
|
.register {
|
|
38
47
|
float: right;
|
|
39
48
|
}
|
|
@@ -44,7 +53,8 @@
|
|
|
44
53
|
[data-theme='dark'] {
|
|
45
54
|
:host ::ng-deep {
|
|
46
55
|
.icon {
|
|
47
|
-
color:
|
|
56
|
+
color: rgb(255 255 255 / 20%);
|
|
57
|
+
|
|
48
58
|
&:hover {
|
|
49
59
|
color: #fff;
|
|
50
60
|
}
|
|
@@ -1,22 +1,27 @@
|
|
|
1
1
|
@import '@delon/theme/index';
|
|
2
|
+
|
|
2
3
|
:host {
|
|
3
4
|
display: block;
|
|
4
5
|
width: 368px;
|
|
5
6
|
margin: 0 auto;
|
|
7
|
+
|
|
6
8
|
::ng-deep {
|
|
7
9
|
h3 {
|
|
8
10
|
margin-bottom: 20px;
|
|
9
11
|
font-size: 16px;
|
|
10
12
|
}
|
|
13
|
+
|
|
11
14
|
.submit {
|
|
12
15
|
width: 50%;
|
|
13
16
|
}
|
|
17
|
+
|
|
14
18
|
.login {
|
|
15
19
|
float: right;
|
|
16
20
|
line-height: @btn-height-lg;
|
|
17
21
|
}
|
|
18
22
|
}
|
|
19
23
|
}
|
|
24
|
+
|
|
20
25
|
::ng-deep {
|
|
21
26
|
.register-password-cdk {
|
|
22
27
|
.success,
|
|
@@ -24,15 +29,19 @@
|
|
|
24
29
|
.error {
|
|
25
30
|
transition: color 0.3s;
|
|
26
31
|
}
|
|
32
|
+
|
|
27
33
|
.success {
|
|
28
34
|
color: @success-color;
|
|
29
35
|
}
|
|
36
|
+
|
|
30
37
|
.warning {
|
|
31
38
|
color: @warning-color;
|
|
32
39
|
}
|
|
40
|
+
|
|
33
41
|
.error {
|
|
34
42
|
color: @error-color;
|
|
35
43
|
}
|
|
44
|
+
|
|
36
45
|
.progress-pass > .progress {
|
|
37
46
|
.ant-progress-bg {
|
|
38
47
|
background-color: @warning-color;
|
package/application/index.js
CHANGED
|
@@ -112,7 +112,7 @@ function addCodeStylesToPackageJson() {
|
|
|
112
112
|
return tree;
|
|
113
113
|
json.scripts.lint = `npm run lint:ts && npm run lint:style`;
|
|
114
114
|
json.scripts['lint:ts'] = `ng lint --fix`;
|
|
115
|
-
json.scripts['lint:style'] = `stylelint \"src/**/*.less\" --
|
|
115
|
+
json.scripts['lint:style'] = `npx stylelint \"src/**/*.less\" --fix`;
|
|
116
116
|
json.scripts['prepare'] = 'husky install';
|
|
117
117
|
(0, utils_1.writePackage)(tree, json);
|
|
118
118
|
// fix polyfills.ts
|
package/application/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/application/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/application/index.ts"],"names":[],"mappings":"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"}
|
package/application/index.ts
CHANGED
|
@@ -142,7 +142,7 @@ function addCodeStylesToPackageJson(): Rule {
|
|
|
142
142
|
if (json == null) return tree;
|
|
143
143
|
json.scripts.lint = `npm run lint:ts && npm run lint:style`;
|
|
144
144
|
json.scripts['lint:ts'] = `ng lint --fix`;
|
|
145
|
-
json.scripts['lint:style'] = `stylelint \"src/**/*.less\" --
|
|
145
|
+
json.scripts['lint:style'] = `npx stylelint \"src/**/*.less\" --fix`;
|
|
146
146
|
json.scripts['prepare'] = 'husky install';
|
|
147
147
|
writePackage(tree, json);
|
|
148
148
|
// fix polyfills.ts
|
package/curd/index.js
CHANGED
|
@@ -6,7 +6,7 @@ function default_1(options) {
|
|
|
6
6
|
const name = options.name || 'list';
|
|
7
7
|
delete options.name;
|
|
8
8
|
[
|
|
9
|
-
{ name: 'list', options: { name, modal: false } },
|
|
9
|
+
{ name: 'list', options: { name, modal: false, service: options.service } },
|
|
10
10
|
{ name: 'edit', options: { name: 'edit', modal: true, target: name } },
|
|
11
11
|
{ name: 'view', options: { name: 'view', modal: true, target: name } }
|
|
12
12
|
].forEach(item => rules.push((0, schematics_1.schematic)(item.name, Object.assign(Object.assign({}, options), item.options))));
|
package/curd/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/curd/index.ts"],"names":[],"mappings":";;AAAA,2DAAoE;AAIpE,mBAAyB,OAAoB;IAC3C,MAAM,KAAK,GAAW,EAAE,CAAC;IAEzB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC;IACpC,OAAO,OAAO,CAAC,IAAI,CAAC;IAEpB;QACE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/curd/index.ts"],"names":[],"mappings":";;AAAA,2DAAoE;AAIpE,mBAAyB,OAAoB;IAC3C,MAAM,KAAK,GAAW,EAAE,CAAC;IAEzB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC;IACpC,OAAO,OAAO,CAAC,IAAI,CAAC;IAEpB;QACE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE;QAC3E,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;QACtE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;KACvE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAA,sBAAS,EAAC,IAAI,CAAC,IAAI,kCAAO,OAAO,GAAK,IAAI,CAAC,OAAO,EAAG,CAAC,CAAC,CAAC;IAErF,OAAO,IAAA,kBAAK,EAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAbD,4BAaC"}
|
package/curd/index.ts
CHANGED
|
@@ -9,7 +9,7 @@ export default function (options: CURDOptions): Rule {
|
|
|
9
9
|
delete options.name;
|
|
10
10
|
|
|
11
11
|
[
|
|
12
|
-
{ name: 'list', options: { name, modal: false } },
|
|
12
|
+
{ name: 'list', options: { name, modal: false, service: options.service } },
|
|
13
13
|
{ name: 'edit', options: { name: 'edit', modal: true, target: name } },
|
|
14
14
|
{ name: 'view', options: { name: 'view', modal: true, target: name } }
|
|
15
15
|
].forEach(item => rules.push(schematic(item.name, { ...options, ...item.options })));
|
package/curd/schema.json
CHANGED
|
@@ -139,6 +139,22 @@
|
|
|
139
139
|
"type": "string",
|
|
140
140
|
"description": "指定目标路径,支持 `bus/list` 写法 (Specifies relative path, could be set like `bus/list`.)",
|
|
141
141
|
"alias": "t"
|
|
142
|
+
},
|
|
143
|
+
"service": {
|
|
144
|
+
"type": "string",
|
|
145
|
+
"description": "The service file to use in the new component.",
|
|
146
|
+
"default": "ignore",
|
|
147
|
+
"enum": ["ignore", "none", "root"],
|
|
148
|
+
"x-prompt": {
|
|
149
|
+
"message": "Which service injectors would you like to use?",
|
|
150
|
+
"type": "list",
|
|
151
|
+
"items": [
|
|
152
|
+
{ "value": "ignore", "label": "Ignore generation of Service files" },
|
|
153
|
+
{ "value": "root", "label": "Use \"@Injectable({ providedIn: 'root' })\"" },
|
|
154
|
+
{ "value": "none", "label": "Use \"@Injectable()\" (Should be automatically register to the nearest module)" }
|
|
155
|
+
]
|
|
156
|
+
},
|
|
157
|
+
"x-user-analytics": 20
|
|
142
158
|
}
|
|
143
159
|
},
|
|
144
160
|
"required": ["name", "module"]
|
package/curd/schema.ts
CHANGED
package/docs/generate.en-US.md
CHANGED
|
@@ -24,6 +24,8 @@ Examples:
|
|
|
24
24
|
ng g ng-alain:module trade
|
|
25
25
|
# Generate a TradeListComponent List component under the trade module
|
|
26
26
|
ng g ng-alain:list list -m=trade
|
|
27
|
+
# Generate a TradeListComponent List component and TradeService class under the trade module
|
|
28
|
+
ng g ng-alain:list list -m=trade --service=root
|
|
27
29
|
# Generate a ListComponent List component under the trade module
|
|
28
30
|
ng g ng-alain:list list -m=trade --withoutModulePrefixInComponentName=true
|
|
29
31
|
# Generate a TradeEditComponent Edit component under the trade module
|
|
@@ -39,6 +41,7 @@ ng g ng-alain:edit edit -m=trade
|
|
|
39
41
|
| `--modal` | Specifies using modal mode |
|
|
40
42
|
| `--withoutPrefix` | Without prefix to selectors |
|
|
41
43
|
| `--withoutModulePrefixInComponentName` | Without prefix to component name |
|
|
44
|
+
| `--service` | Specifies how to generate service classes, can be set: `ignore`, `root`, `none` |
|
|
42
45
|
|
|
43
46
|
## Module
|
|
44
47
|
|
package/docs/generate.zh-CN.md
CHANGED
|
@@ -38,6 +38,8 @@ ng g ng-alain:[command name] [name] [options]
|
|
|
38
38
|
ng g ng-alain:module trade
|
|
39
39
|
# trade 模块下生成一个 TradeListComponent List组件
|
|
40
40
|
ng g ng-alain:list list -m=trade
|
|
41
|
+
# trade 模块下生成一个 TradeEditComponent List组件 及 TradeService 服务类
|
|
42
|
+
ng g ng-alain:list list -m=trade --service=root
|
|
41
43
|
# trade 模块下生成一个 ListComponent List组件
|
|
42
44
|
ng g ng-alain:list list -m=trade --withoutModulePrefixInComponentName=true
|
|
43
45
|
# trade 模块下生成一个 TradeEditComponent Edit组件
|
|
@@ -53,6 +55,7 @@ ng g ng-alain:edit edit -m=trade
|
|
|
53
55
|
| `--modal` | 指定是否使用模态框 |
|
|
54
56
|
| `--withoutPrefix` | 指定选择器名不加前缀 |
|
|
55
57
|
| `--withoutModulePrefixInComponentName` | 组件名不加模块名前缀 |
|
|
58
|
+
| `--service` | 指定如何生成服务类,包含:`ignore`、`root`、`none` |
|
|
56
59
|
|
|
57
60
|
## Module 模块
|
|
58
61
|
|
package/edit/schema.json
CHANGED
|
@@ -146,6 +146,22 @@
|
|
|
146
146
|
"default": true,
|
|
147
147
|
"description": "指定是否使用模态框 (Specifies using modal mode)",
|
|
148
148
|
"x-prompt": "Would you like to modal mode?"
|
|
149
|
+
},
|
|
150
|
+
"service": {
|
|
151
|
+
"type": "string",
|
|
152
|
+
"description": "The service file to use in the new component.",
|
|
153
|
+
"default": "ignore",
|
|
154
|
+
"enum": ["ignore", "none", "root"],
|
|
155
|
+
"x-prompt": {
|
|
156
|
+
"message": "Which service injectors would you like to use?",
|
|
157
|
+
"type": "list",
|
|
158
|
+
"items": [
|
|
159
|
+
{ "value": "ignore", "label": "Ignore generation of Service files" },
|
|
160
|
+
{ "value": "root", "label": "Use \"@Injectable({ providedIn: 'root' })\"" },
|
|
161
|
+
{ "value": "none", "label": "Use \"@Injectable()\" (Should be automatically register to the nearest module)" }
|
|
162
|
+
]
|
|
163
|
+
},
|
|
164
|
+
"x-user-analytics": 20
|
|
149
165
|
}
|
|
150
166
|
},
|
|
151
167
|
"required": ["name", "module"]
|
package/edit/schema.ts
CHANGED
package/empty/index.spec.ts
CHANGED
|
@@ -8,29 +8,49 @@ describe('Schematic: empty', () => {
|
|
|
8
8
|
const modulePath = '/projects/foo/src/app/routes/trade/trade.module.ts';
|
|
9
9
|
const routingPath = '/projects/foo/src/app/routes/trade/trade-routing.module.ts';
|
|
10
10
|
const tsPath = '/projects/foo/src/app/routes/trade/list/list.component.ts';
|
|
11
|
+
const servicePath = '/projects/foo/src/app/routes/trade/list/list.service.ts';
|
|
11
12
|
const htmlPath = '/projects/foo/src/app/routes/trade/list/list.component.html';
|
|
12
13
|
|
|
13
14
|
describe('', () => {
|
|
14
15
|
beforeEach(async () => {
|
|
15
16
|
({ runner, tree } = await createAlainAndModuleApp());
|
|
16
|
-
tree = await runner.runSchematicAsync('empty', { name: 'list', module: 'trade' }, tree).toPromise();
|
|
17
17
|
});
|
|
18
18
|
|
|
19
|
-
it('should be generate list page', () => {
|
|
19
|
+
it('should be generate list page', async () => {
|
|
20
|
+
tree = await runner.runSchematicAsync('empty', { name: 'list', module: 'trade' }, tree).toPromise();
|
|
20
21
|
[modulePath, routingPath, tsPath, htmlPath].forEach(path => expect(tree.exists(path)).toBe(true));
|
|
22
|
+
expect(tree.exists(servicePath)).toBe(false);
|
|
21
23
|
});
|
|
22
24
|
|
|
23
|
-
it('should be has import code', () => {
|
|
25
|
+
it('should be has import code', async () => {
|
|
26
|
+
tree = await runner.runSchematicAsync('empty', { name: 'list', module: 'trade' }, tree).toPromise();
|
|
24
27
|
expect(tree.readContent(modulePath)).toContain(`import { TradeListComponent } from './list/list.component';`);
|
|
25
28
|
});
|
|
26
29
|
|
|
27
|
-
it('should be include module name in component name', () => {
|
|
30
|
+
it('should be include module name in component name', async () => {
|
|
31
|
+
tree = await runner.runSchematicAsync('empty', { name: 'list', module: 'trade' }, tree).toPromise();
|
|
28
32
|
expect(tree.readContent(tsPath)).toContain(`TradeListComponent`);
|
|
29
33
|
});
|
|
30
34
|
|
|
31
|
-
it('shuold be exclude style', () => {
|
|
35
|
+
it('shuold be exclude style', async () => {
|
|
36
|
+
tree = await runner.runSchematicAsync('empty', { name: 'list', module: 'trade' }, tree).toPromise();
|
|
32
37
|
expect(tree.readContent(tsPath)).not.toContain(`styleUrls`);
|
|
33
38
|
});
|
|
39
|
+
|
|
40
|
+
it('shuold be include service', async () => {
|
|
41
|
+
tree = await runner
|
|
42
|
+
.runSchematicAsync('empty', { name: 'list', module: 'trade', service: 'none' }, tree)
|
|
43
|
+
.toPromise();
|
|
44
|
+
expect(tree.readContent(servicePath)).toContain(`@Injectable()`);
|
|
45
|
+
expect(tree.readContent(modulePath)).toContain(`TradeService`);
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
it('shuold be include root service', async () => {
|
|
49
|
+
tree = await runner
|
|
50
|
+
.runSchematicAsync('empty', { name: 'list', module: 'trade', service: 'root' }, tree)
|
|
51
|
+
.toPromise();
|
|
52
|
+
expect(tree.readContent(servicePath)).toContain(`@Injectable({ providedIn: 'root' })`);
|
|
53
|
+
});
|
|
34
54
|
});
|
|
35
55
|
|
|
36
56
|
describe('ng-alain.json', () => {
|
package/empty/schema.json
CHANGED
|
@@ -140,6 +140,22 @@
|
|
|
140
140
|
"type": "string",
|
|
141
141
|
"description": "指定目标路径,支持 `bus/list` 写法 (Specifies relative path, could be set like `bus/list`.)",
|
|
142
142
|
"alias": "t"
|
|
143
|
+
},
|
|
144
|
+
"service": {
|
|
145
|
+
"type": "string",
|
|
146
|
+
"description": "The service file to use in the new component.",
|
|
147
|
+
"default": "ignore",
|
|
148
|
+
"enum": ["ignore", "none", "root"],
|
|
149
|
+
"x-prompt": {
|
|
150
|
+
"message": "Which service injectors would you like to use?",
|
|
151
|
+
"type": "list",
|
|
152
|
+
"items": [
|
|
153
|
+
{ "value": "ignore", "label": "Ignore generation of Service files" },
|
|
154
|
+
{ "value": "root", "label": "Use \"@Injectable({ providedIn: 'root' })\"" },
|
|
155
|
+
{ "value": "none", "label": "Use \"@Injectable()\" (Should be automatically register to the nearest module)" }
|
|
156
|
+
]
|
|
157
|
+
},
|
|
158
|
+
"x-user-analytics": 20
|
|
143
159
|
}
|
|
144
160
|
},
|
|
145
161
|
"required": ["name", "module"]
|
package/empty/schema.ts
CHANGED
package/list/index.spec.ts
CHANGED
|
@@ -51,4 +51,11 @@ describe('Schematic: list', () => {
|
|
|
51
51
|
expect(e.message).toContain(`already exists`);
|
|
52
52
|
}
|
|
53
53
|
});
|
|
54
|
+
|
|
55
|
+
it('shuold be include service', async () => {
|
|
56
|
+
tree = await runner.runSchematicAsync('list', { name: 'list', module: 'trade', service: 'none' }, tree).toPromise();
|
|
57
|
+
const servicePath = '/projects/foo/src/app/routes/trade/list/list.service.ts';
|
|
58
|
+
expect(tree.readContent(servicePath)).toContain(`@Injectable()`);
|
|
59
|
+
expect(tree.readContent(modulePath)).toContain(`TradeService`);
|
|
60
|
+
});
|
|
54
61
|
});
|
package/list/schema.json
CHANGED
|
@@ -140,6 +140,22 @@
|
|
|
140
140
|
"type": "string",
|
|
141
141
|
"description": "指定目标路径,支持 `bus/list` 写法 (Specifies relative path, could be set like `bus/list`.)",
|
|
142
142
|
"alias": "t"
|
|
143
|
+
},
|
|
144
|
+
"service": {
|
|
145
|
+
"type": "string",
|
|
146
|
+
"description": "The service file to use in the new component.",
|
|
147
|
+
"default": "ignore",
|
|
148
|
+
"enum": ["ignore", "none", "root"],
|
|
149
|
+
"x-prompt": {
|
|
150
|
+
"message": "Which service injectors would you like to use?",
|
|
151
|
+
"type": "list",
|
|
152
|
+
"items": [
|
|
153
|
+
{ "value": "ignore", "label": "Ignore generation of Service files" },
|
|
154
|
+
{ "value": "root", "label": "Use \"@Injectable({ providedIn: 'root' })\"" },
|
|
155
|
+
{ "value": "none", "label": "Use \"@Injectable()\" (Should be automatically register to the nearest module)" }
|
|
156
|
+
]
|
|
157
|
+
},
|
|
158
|
+
"x-user-analytics": 20
|
|
143
159
|
}
|
|
144
160
|
},
|
|
145
161
|
"required": ["name", "module"]
|
package/list/schema.ts
CHANGED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { _HttpClient } from '@delon/theme';
|
|
3
|
+
|
|
4
|
+
@Injectable(<% if(service === 'root') { %>{ providedIn: 'root' }<% } %>)
|
|
5
|
+
export class <%= classify(name) %>Service {
|
|
6
|
+
|
|
7
|
+
constructor(private http: _HttpClient) { }
|
|
8
|
+
|
|
9
|
+
}
|
package/module/index.js
CHANGED
|
@@ -45,6 +45,7 @@ function addDeclarationToNgModule(options) {
|
|
|
45
45
|
}
|
|
46
46
|
function addRoutingModuleToTop(options) {
|
|
47
47
|
return (tree) => {
|
|
48
|
+
var _a;
|
|
48
49
|
const modulePath = (0, core_1.normalize)(`${options.path}/routes-routing.module.ts`);
|
|
49
50
|
if (!tree.exists(modulePath)) {
|
|
50
51
|
return tree;
|
|
@@ -66,14 +67,33 @@ function addRoutingModuleToTop(options) {
|
|
|
66
67
|
}
|
|
67
68
|
const recorder = tree.beginUpdate(modulePath);
|
|
68
69
|
const moduleName = core_1.strings.classify(`${options.name}Module`);
|
|
69
|
-
const code = `{ path: '${options.name}', loadChildren: () => import('./${options.name}/${options.name}.module').then((m) => m.${moduleName}) },`;
|
|
70
70
|
let pos = childrenNode.parent.end;
|
|
71
|
+
const validLines = childrenNode.parent
|
|
72
|
+
.getText()
|
|
73
|
+
.trim()
|
|
74
|
+
.split('\n')
|
|
75
|
+
.map(v => v.trim())
|
|
76
|
+
.filter(v => v.length > 1 && !v.startsWith('//'));
|
|
77
|
+
const comma = ((_a = validLines.pop()) === null || _a === void 0 ? void 0 : _a.endsWith(',')) === false ? ', ' : '';
|
|
78
|
+
const code = `${comma} { path: '${options.name}', loadChildren: () => import('./${options.name}/${options.name}.module').then((m) => m.${moduleName}) }`;
|
|
71
79
|
// Insert it just before the `]`.
|
|
72
|
-
recorder.insertRight(
|
|
80
|
+
recorder.insertRight(pos - 1, code);
|
|
73
81
|
tree.commitUpdate(recorder);
|
|
74
82
|
return tree;
|
|
75
83
|
};
|
|
76
84
|
}
|
|
85
|
+
function addServiceToNgModule(options) {
|
|
86
|
+
return (tree) => {
|
|
87
|
+
if (options.service !== 'none')
|
|
88
|
+
return tree;
|
|
89
|
+
const basePath = `/${options.path}/${options.flat ? '' : `${core_1.strings.dasherize(options.name)}/`}${core_1.strings.dasherize(options.name)}`;
|
|
90
|
+
const servicePath = (0, core_1.normalize)(`${basePath}.service`);
|
|
91
|
+
const importModulePath = (0, core_1.normalize)(`${basePath}.module`);
|
|
92
|
+
const importServicePath = (0, find_module_1.buildRelativePath)(importModulePath, servicePath);
|
|
93
|
+
(0, utils_1.addProviderToModule)(tree, `${importModulePath}.ts`, core_1.strings.classify(`${options.name}Service`), importServicePath);
|
|
94
|
+
return tree;
|
|
95
|
+
};
|
|
96
|
+
}
|
|
77
97
|
function default_1(schema) {
|
|
78
98
|
return (tree) => __awaiter(this, void 0, void 0, function* () {
|
|
79
99
|
const proj = yield (0, utils_1.getProject)(tree, schema.project);
|
|
@@ -87,12 +107,18 @@ function default_1(schema) {
|
|
|
87
107
|
schema.routing = true;
|
|
88
108
|
schema.flat = false;
|
|
89
109
|
const templateSource = (0, schematics_1.apply)((0, schematics_1.url)('./files'), [
|
|
110
|
+
schema.service === 'ignore' ? (0, schematics_1.filter)(filePath => !filePath.endsWith('.service.ts.template')) : (0, schematics_1.noop)(),
|
|
90
111
|
schema.routing ? (0, schematics_1.noop)() : (0, schematics_1.filter)(path => !path.endsWith('-routing.module.ts')),
|
|
91
112
|
(0, schematics_1.applyTemplates)(Object.assign(Object.assign(Object.assign({}, core_1.strings), { 'if-flat': (s) => (schema.flat ? '' : s) }), schema)),
|
|
92
113
|
(0, schematics_1.move)(parsedPath.path)
|
|
93
114
|
]);
|
|
94
115
|
return (0, schematics_1.chain)([
|
|
95
|
-
(0, schematics_1.branchAndMerge)((0, schematics_1.chain)([
|
|
116
|
+
(0, schematics_1.branchAndMerge)((0, schematics_1.chain)([
|
|
117
|
+
addDeclarationToNgModule(schema),
|
|
118
|
+
addRoutingModuleToTop(schema),
|
|
119
|
+
(0, schematics_1.mergeWith)(templateSource),
|
|
120
|
+
addServiceToNgModule(schema)
|
|
121
|
+
]))
|
|
96
122
|
]);
|
|
97
123
|
});
|
|
98
124
|
}
|
package/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/module/index.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+CAAuF;AACvF,2DAaoC;AACpC,qEAAoF;AACpF,+DAAkE;AAClE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/module/index.ts"],"names":[],"mappings":"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"}
|
package/module/index.spec.ts
CHANGED
|
@@ -33,4 +33,20 @@ describe('NgAlainSchematic: module', () => {
|
|
|
33
33
|
const content = tree.readContent('/projects/foo/src/app/app.module.ts');
|
|
34
34
|
expect(content).toContain(`import { TradeModule } from './trade/trade.module';`);
|
|
35
35
|
});
|
|
36
|
+
|
|
37
|
+
it('shuold be include service', async () => {
|
|
38
|
+
tree = await runner.runSchematicAsync('module', { ...defaultOptions, service: 'none' }, tree).toPromise();
|
|
39
|
+
const content = tree.readContent('/projects/foo/src/app/routes/trade/trade.service.ts');
|
|
40
|
+
const contentModule = tree.readContent('/projects/foo/src/app/routes/trade/trade.module.ts');
|
|
41
|
+
expect(content).toContain(`@Injectable()`);
|
|
42
|
+
expect(content).toContain(`TradeService`);
|
|
43
|
+
expect(contentModule).toContain(`import { TradeService } from './trade.service';`);
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
it('shuold be include root service', async () => {
|
|
47
|
+
tree = await runner.runSchematicAsync('module', { ...defaultOptions, service: 'root' }, tree).toPromise();
|
|
48
|
+
const content = tree.readContent('/projects/foo/src/app/routes/trade/trade.service.ts');
|
|
49
|
+
expect(content).toContain(`@Injectable({ providedIn: 'root' })`);
|
|
50
|
+
expect(content).toContain(`TradeService`);
|
|
51
|
+
});
|
|
36
52
|
});
|
package/module/index.ts
CHANGED
|
@@ -15,11 +15,11 @@ import {
|
|
|
15
15
|
} from '@angular-devkit/schematics';
|
|
16
16
|
import { addImportToModule, findNode } from '@schematics/angular/utility/ast-utils';
|
|
17
17
|
import { InsertChange } from '@schematics/angular/utility/change';
|
|
18
|
-
import { findModuleFromOptions } from '@schematics/angular/utility/find-module';
|
|
18
|
+
import { findModuleFromOptions, buildRelativePath } from '@schematics/angular/utility/find-module';
|
|
19
19
|
import { parseName } from '@schematics/angular/utility/parse-name';
|
|
20
20
|
import * as ts from 'typescript';
|
|
21
21
|
|
|
22
|
-
import { getProject, refreshPathRoot } from '../utils';
|
|
22
|
+
import { addProviderToModule, getProject, refreshPathRoot } from '../utils';
|
|
23
23
|
import { Schema as ModuleSchema } from './schema';
|
|
24
24
|
|
|
25
25
|
function addDeclarationToNgModule(options: ModuleSchema): Rule {
|
|
@@ -86,15 +86,37 @@ function addRoutingModuleToTop(options: ModuleSchema): Rule {
|
|
|
86
86
|
}
|
|
87
87
|
const recorder = tree.beginUpdate(modulePath);
|
|
88
88
|
const moduleName = strings.classify(`${options.name}Module`);
|
|
89
|
-
const code = `{ path: '${options.name}', loadChildren: () => import('./${options.name}/${options.name}.module').then((m) => m.${moduleName}) },`;
|
|
90
89
|
let pos = childrenNode.parent.end;
|
|
90
|
+
const validLines = childrenNode.parent
|
|
91
|
+
.getText()
|
|
92
|
+
.trim()
|
|
93
|
+
.split('\n')
|
|
94
|
+
.map(v => v.trim())
|
|
95
|
+
.filter(v => v.length > 1 && !v.startsWith('//'));
|
|
96
|
+
const comma = validLines.pop()?.endsWith(',') === false ? ', ' : '';
|
|
97
|
+
const code = `${comma} { path: '${options.name}', loadChildren: () => import('./${options.name}/${options.name}.module').then((m) => m.${moduleName}) }`;
|
|
91
98
|
// Insert it just before the `]`.
|
|
92
|
-
recorder.insertRight(
|
|
99
|
+
recorder.insertRight(pos - 1, code);
|
|
93
100
|
tree.commitUpdate(recorder);
|
|
94
101
|
return tree;
|
|
95
102
|
};
|
|
96
103
|
}
|
|
97
104
|
|
|
105
|
+
function addServiceToNgModule(options: ModuleSchema): Rule {
|
|
106
|
+
return (tree: Tree) => {
|
|
107
|
+
if (options.service !== 'none') return tree;
|
|
108
|
+
|
|
109
|
+
const basePath = `/${options.path}/${options.flat ? '' : `${strings.dasherize(options.name)}/`}${strings.dasherize(
|
|
110
|
+
options.name
|
|
111
|
+
)}`;
|
|
112
|
+
const servicePath = normalize(`${basePath}.service`);
|
|
113
|
+
const importModulePath = normalize(`${basePath}.module`);
|
|
114
|
+
const importServicePath = buildRelativePath(importModulePath, servicePath);
|
|
115
|
+
addProviderToModule(tree, `${importModulePath}.ts`, strings.classify(`${options.name}Service`), importServicePath);
|
|
116
|
+
return tree;
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
|
|
98
120
|
export default function (schema: ModuleSchema): Rule {
|
|
99
121
|
return async (tree: Tree) => {
|
|
100
122
|
const proj = await getProject(tree, schema.project);
|
|
@@ -113,6 +135,7 @@ export default function (schema: ModuleSchema): Rule {
|
|
|
113
135
|
schema.flat = false;
|
|
114
136
|
|
|
115
137
|
const templateSource = apply(url('./files'), [
|
|
138
|
+
schema.service === 'ignore' ? filter(filePath => !filePath.endsWith('.service.ts.template')) : noop(),
|
|
116
139
|
schema.routing ? noop() : filter(path => !path.endsWith('-routing.module.ts')),
|
|
117
140
|
applyTemplates({
|
|
118
141
|
...strings,
|
|
@@ -124,7 +147,12 @@ export default function (schema: ModuleSchema): Rule {
|
|
|
124
147
|
|
|
125
148
|
return chain([
|
|
126
149
|
branchAndMerge(
|
|
127
|
-
chain([
|
|
150
|
+
chain([
|
|
151
|
+
addDeclarationToNgModule(schema),
|
|
152
|
+
addRoutingModuleToTop(schema),
|
|
153
|
+
mergeWith(templateSource),
|
|
154
|
+
addServiceToNgModule(schema)
|
|
155
|
+
])
|
|
128
156
|
)
|
|
129
157
|
]);
|
|
130
158
|
};
|
package/module/schema.json
CHANGED
|
@@ -63,6 +63,22 @@
|
|
|
63
63
|
"description": "Apply lint fixes after generating the module.",
|
|
64
64
|
"x-user-analytics": 15,
|
|
65
65
|
"x-deprecated": "Use \"ng lint --fix\" directly instead."
|
|
66
|
+
},
|
|
67
|
+
"service": {
|
|
68
|
+
"type": "string",
|
|
69
|
+
"description": "The service file to use in the new component.",
|
|
70
|
+
"default": "ignore",
|
|
71
|
+
"enum": ["ignore", "none", "root"],
|
|
72
|
+
"x-prompt": {
|
|
73
|
+
"message": "Which service injectors would you like to use?",
|
|
74
|
+
"type": "list",
|
|
75
|
+
"items": [
|
|
76
|
+
{ "value": "ignore", "label": "Ignore generation of Service files" },
|
|
77
|
+
{ "value": "root", "label": "Use \"@Injectable({ providedIn: 'root' })\"" },
|
|
78
|
+
{ "value": "none", "label": "Use \"@Injectable()\" (Should be automatically register to the nearest module)" }
|
|
79
|
+
]
|
|
80
|
+
},
|
|
81
|
+
"x-user-analytics": 20
|
|
66
82
|
}
|
|
67
83
|
},
|
|
68
84
|
"required": ["name"]
|
package/module/schema.ts
CHANGED
package/package.json
CHANGED
package/utils/alain.js
CHANGED
|
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.buildAlain = exports.addValueToVariable = exports.addImportToModule = exports.refreshPathRoot = void 0;
|
|
12
|
+
exports.buildAlain = exports.addValueToVariable = exports.addProviderToModule = exports.addImportToModule = exports.refreshPathRoot = void 0;
|
|
13
13
|
const core_1 = require("@angular-devkit/core");
|
|
14
14
|
const schematics_1 = require("@angular-devkit/schematics");
|
|
15
15
|
const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
|
|
@@ -45,13 +45,17 @@ function buildSelector(schema, projectPrefix) {
|
|
|
45
45
|
ret.push(core_1.strings.dasherize(schema.name));
|
|
46
46
|
return ret.join('-');
|
|
47
47
|
}
|
|
48
|
-
function
|
|
48
|
+
function buildName(schema, prefix) {
|
|
49
49
|
const ret = schema.withoutModulePrefixInComponentName === true ? [] : [schema.module];
|
|
50
50
|
if (schema.target && schema.target.length > 0) {
|
|
51
51
|
ret.push(...schema.target.split('/'));
|
|
52
52
|
}
|
|
53
53
|
ret.push(schema.name);
|
|
54
|
-
|
|
54
|
+
// 服务类自动过滤 list, empty 两个页面的后缀
|
|
55
|
+
if (prefix === 'Service' && ['list', 'empty'].includes(schema.name)) {
|
|
56
|
+
ret.pop();
|
|
57
|
+
}
|
|
58
|
+
ret.push(prefix);
|
|
55
59
|
return core_1.strings.classify(ret.join('-'));
|
|
56
60
|
}
|
|
57
61
|
function refreshPathRoot(project, schema, alainProject) {
|
|
@@ -101,11 +105,27 @@ function resolveSchema(tree, project, schema, alainProject) {
|
|
|
101
105
|
function addImportToModule(tree, filePath, symbolName, fileName) {
|
|
102
106
|
const source = (0, ast_1.getSourceFile)(tree, filePath);
|
|
103
107
|
const change = (0, ast_utils_1.insertImport)(source, filePath, symbolName, fileName);
|
|
108
|
+
if (change.path == null)
|
|
109
|
+
return;
|
|
104
110
|
const declarationRecorder = tree.beginUpdate(filePath);
|
|
105
111
|
declarationRecorder.insertLeft(change.pos, change.toAdd);
|
|
106
112
|
tree.commitUpdate(declarationRecorder);
|
|
107
113
|
}
|
|
108
114
|
exports.addImportToModule = addImportToModule;
|
|
115
|
+
function addProviderToModule(tree, filePath, serviceName, importPath) {
|
|
116
|
+
const source = (0, ast_1.getSourceFile)(tree, filePath);
|
|
117
|
+
const changes = (0, ast_utils_1.addProviderToModule)(source, filePath, serviceName, importPath);
|
|
118
|
+
const declarationRecorder = tree.beginUpdate(filePath);
|
|
119
|
+
changes.forEach(change => {
|
|
120
|
+
if (change.path == null)
|
|
121
|
+
return;
|
|
122
|
+
if (change instanceof change_1.InsertChange) {
|
|
123
|
+
declarationRecorder.insertLeft(change.pos, change.toAdd);
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
tree.commitUpdate(declarationRecorder);
|
|
127
|
+
}
|
|
128
|
+
exports.addProviderToModule = addProviderToModule;
|
|
109
129
|
function addValueToVariable(tree, filePath, variableName, text, needWrap = true) {
|
|
110
130
|
const source = (0, ast_1.getSourceFile)(tree, filePath);
|
|
111
131
|
const node = (0, ast_utils_1.findNode)(source, ts.SyntaxKind.Identifier, variableName);
|
|
@@ -120,8 +140,8 @@ function addValueToVariable(tree, filePath, variableName, text, needWrap = true)
|
|
|
120
140
|
tree.commitUpdate(declarationRecorder);
|
|
121
141
|
}
|
|
122
142
|
exports.addValueToVariable = addValueToVariable;
|
|
123
|
-
function getRelativePath(filePath, schema) {
|
|
124
|
-
const importPath = `/${schema.path}/${schema.flat ? '' : `${core_1.strings.dasherize(schema.name)}/`}${core_1.strings.dasherize(schema.name)}
|
|
143
|
+
function getRelativePath(filePath, schema, prefix) {
|
|
144
|
+
const importPath = `/${schema.path}/${schema.flat ? '' : `${core_1.strings.dasherize(schema.name)}/`}${core_1.strings.dasherize(schema.name)}.${prefix}`;
|
|
125
145
|
return (0, find_module_1.buildRelativePath)(filePath, importPath);
|
|
126
146
|
}
|
|
127
147
|
function addDeclaration(schema) {
|
|
@@ -130,14 +150,18 @@ function addDeclaration(schema) {
|
|
|
130
150
|
return tree;
|
|
131
151
|
}
|
|
132
152
|
// imports
|
|
133
|
-
addImportToModule(tree, schema.importModulePath, schema.componentName, getRelativePath(schema.importModulePath, schema));
|
|
153
|
+
addImportToModule(tree, schema.importModulePath, schema.componentName, getRelativePath(schema.importModulePath, schema, 'component'));
|
|
134
154
|
addValueToVariable(tree, schema.importModulePath, 'COMPONENTS', schema.componentName);
|
|
135
155
|
// component
|
|
136
156
|
if (schema.modal !== true) {
|
|
137
157
|
// routing
|
|
138
|
-
addImportToModule(tree, schema.routerModulePath, schema.componentName, getRelativePath(schema.routerModulePath, schema));
|
|
158
|
+
addImportToModule(tree, schema.routerModulePath, schema.componentName, getRelativePath(schema.routerModulePath, schema, 'component'));
|
|
139
159
|
addValueToVariable(tree, schema.routerModulePath, 'routes', `{ path: '${schema.name}', component: ${schema.componentName} }`);
|
|
140
160
|
}
|
|
161
|
+
// service
|
|
162
|
+
if (schema.service === 'none') {
|
|
163
|
+
addProviderToModule(tree, schema.importModulePath, schema.serviceName, getRelativePath(schema.importModulePath, schema, 'service'));
|
|
164
|
+
}
|
|
141
165
|
return tree;
|
|
142
166
|
};
|
|
143
167
|
}
|
|
@@ -149,11 +173,13 @@ function buildAlain(schema) {
|
|
|
149
173
|
}
|
|
150
174
|
const project = res.project;
|
|
151
175
|
resolveSchema(tree, project, schema, res.alainProject);
|
|
152
|
-
schema.componentName =
|
|
176
|
+
schema.componentName = buildName(schema, 'Component');
|
|
177
|
+
schema.serviceName = buildName(schema, 'Service');
|
|
153
178
|
// Don't support inline
|
|
154
179
|
schema.inlineTemplate = false;
|
|
155
180
|
const templateSource = (0, schematics_1.apply)((0, schematics_1.url)(schema._filesPath), [
|
|
156
181
|
(0, schematics_1.filter)(filePath => !filePath.endsWith('.DS_Store')),
|
|
182
|
+
schema.service === 'ignore' ? (0, schematics_1.filter)(filePath => !filePath.endsWith('.service.ts.template')) : (0, schematics_1.noop)(),
|
|
157
183
|
schema.skipTests ? (0, schematics_1.filter)(filePath => !filePath.endsWith('.spec.ts.template')) : (0, schematics_1.noop)(),
|
|
158
184
|
schema.inlineStyle ? (0, schematics_1.filter)(filePath => !filePath.endsWith('.__style__.template')) : (0, schematics_1.noop)(),
|
|
159
185
|
schema.inlineTemplate ? (0, schematics_1.filter)(filePath => !filePath.endsWith('.html.template')) : (0, schematics_1.noop)(),
|
package/utils/alain.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alain.js","sourceRoot":"","sources":["../../../schematics/utils/alain.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA+C;AAE/C,2DAaoC;AAEpC,
|
|
1
|
+
{"version":3,"file":"alain.js","sourceRoot":"","sources":["../../../schematics/utils/alain.ts"],"names":[],"mappings":"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"}
|
package/utils/alain.ts
CHANGED
|
@@ -15,7 +15,11 @@ import {
|
|
|
15
15
|
url
|
|
16
16
|
} from '@angular-devkit/schematics';
|
|
17
17
|
import { Schema as ComponentSchema } from '@schematics/angular/component/schema';
|
|
18
|
-
import {
|
|
18
|
+
import {
|
|
19
|
+
findNode,
|
|
20
|
+
insertImport,
|
|
21
|
+
addProviderToModule as _addProviderToModule
|
|
22
|
+
} from '@schematics/angular/utility/ast-utils';
|
|
19
23
|
import { InsertChange } from '@schematics/angular/utility/change';
|
|
20
24
|
import { buildRelativePath, findModuleFromOptions, ModuleOptions } from '@schematics/angular/utility/find-module';
|
|
21
25
|
import { parseName } from '@schematics/angular/utility/parse-name';
|
|
@@ -36,12 +40,14 @@ export interface CommonSchema extends ComponentSchema {
|
|
|
36
40
|
schematicName?: string;
|
|
37
41
|
target?: string;
|
|
38
42
|
componentName?: string;
|
|
43
|
+
serviceName?: string;
|
|
39
44
|
importModulePath?: string;
|
|
40
45
|
routerModulePath?: string;
|
|
41
46
|
selector?: string;
|
|
42
47
|
withoutPrefix?: boolean;
|
|
43
48
|
withoutModulePrefixInComponentName?: boolean;
|
|
44
49
|
skipTests?: boolean;
|
|
50
|
+
service?: 'ignore' | 'none' | 'root';
|
|
45
51
|
flat?: boolean;
|
|
46
52
|
modal?: boolean;
|
|
47
53
|
}
|
|
@@ -68,13 +74,17 @@ function buildSelector(schema: CommonSchema, projectPrefix: string): string {
|
|
|
68
74
|
return ret.join('-');
|
|
69
75
|
}
|
|
70
76
|
|
|
71
|
-
function
|
|
77
|
+
function buildName(schema: CommonSchema, prefix: 'Component' | 'Service'): string {
|
|
72
78
|
const ret: string[] = schema.withoutModulePrefixInComponentName === true ? [] : [schema.module!];
|
|
73
79
|
if (schema.target && schema.target.length > 0) {
|
|
74
80
|
ret.push(...schema.target.split('/'));
|
|
75
81
|
}
|
|
76
82
|
ret.push(schema.name!);
|
|
77
|
-
|
|
83
|
+
// 服务类自动过滤 list, empty 两个页面的后缀
|
|
84
|
+
if (prefix === 'Service' && ['list', 'empty'].includes(schema.name)) {
|
|
85
|
+
ret.pop();
|
|
86
|
+
}
|
|
87
|
+
ret.push(prefix);
|
|
78
88
|
return strings.classify(ret.join('-'));
|
|
79
89
|
}
|
|
80
90
|
|
|
@@ -140,11 +150,25 @@ function resolveSchema(
|
|
|
140
150
|
export function addImportToModule(tree: Tree, filePath: string, symbolName: string, fileName: string): void {
|
|
141
151
|
const source = getSourceFile(tree, filePath);
|
|
142
152
|
const change = insertImport(source, filePath, symbolName, fileName) as InsertChange;
|
|
153
|
+
if (change.path == null) return;
|
|
143
154
|
const declarationRecorder = tree.beginUpdate(filePath);
|
|
144
155
|
declarationRecorder.insertLeft(change.pos, change.toAdd);
|
|
145
156
|
tree.commitUpdate(declarationRecorder);
|
|
146
157
|
}
|
|
147
158
|
|
|
159
|
+
export function addProviderToModule(tree: Tree, filePath: string, serviceName: string, importPath: string): void {
|
|
160
|
+
const source = getSourceFile(tree, filePath);
|
|
161
|
+
const changes = _addProviderToModule(source, filePath, serviceName, importPath);
|
|
162
|
+
const declarationRecorder = tree.beginUpdate(filePath);
|
|
163
|
+
changes.forEach(change => {
|
|
164
|
+
if (change.path == null) return;
|
|
165
|
+
if (change instanceof InsertChange) {
|
|
166
|
+
declarationRecorder.insertLeft(change.pos, change.toAdd);
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
tree.commitUpdate(declarationRecorder);
|
|
170
|
+
}
|
|
171
|
+
|
|
148
172
|
export function addValueToVariable(
|
|
149
173
|
tree: Tree,
|
|
150
174
|
filePath: string,
|
|
@@ -171,10 +195,10 @@ export function addValueToVariable(
|
|
|
171
195
|
tree.commitUpdate(declarationRecorder);
|
|
172
196
|
}
|
|
173
197
|
|
|
174
|
-
function getRelativePath(filePath: string, schema: CommonSchema): string {
|
|
198
|
+
function getRelativePath(filePath: string, schema: CommonSchema, prefix: 'component' | 'service'): string {
|
|
175
199
|
const importPath = `/${schema.path}/${schema.flat ? '' : `${strings.dasherize(schema.name!)}/`}${strings.dasherize(
|
|
176
200
|
schema.name!
|
|
177
|
-
)}
|
|
201
|
+
)}.${prefix}`;
|
|
178
202
|
return buildRelativePath(filePath, importPath);
|
|
179
203
|
}
|
|
180
204
|
|
|
@@ -189,7 +213,7 @@ function addDeclaration(schema: CommonSchema): Rule {
|
|
|
189
213
|
tree,
|
|
190
214
|
schema.importModulePath!,
|
|
191
215
|
schema.componentName!,
|
|
192
|
-
getRelativePath(schema.importModulePath!, schema)
|
|
216
|
+
getRelativePath(schema.importModulePath!, schema, 'component')
|
|
193
217
|
);
|
|
194
218
|
addValueToVariable(tree, schema.importModulePath!, 'COMPONENTS', schema.componentName!);
|
|
195
219
|
|
|
@@ -200,7 +224,7 @@ function addDeclaration(schema: CommonSchema): Rule {
|
|
|
200
224
|
tree,
|
|
201
225
|
schema.routerModulePath!,
|
|
202
226
|
schema.componentName!,
|
|
203
|
-
getRelativePath(schema.routerModulePath!, schema)
|
|
227
|
+
getRelativePath(schema.routerModulePath!, schema, 'component')
|
|
204
228
|
);
|
|
205
229
|
addValueToVariable(
|
|
206
230
|
tree,
|
|
@@ -210,6 +234,16 @@ function addDeclaration(schema: CommonSchema): Rule {
|
|
|
210
234
|
);
|
|
211
235
|
}
|
|
212
236
|
|
|
237
|
+
// service
|
|
238
|
+
if (schema.service === 'none') {
|
|
239
|
+
addProviderToModule(
|
|
240
|
+
tree,
|
|
241
|
+
schema.importModulePath!,
|
|
242
|
+
schema.serviceName!,
|
|
243
|
+
getRelativePath(schema.importModulePath!, schema, 'service')
|
|
244
|
+
);
|
|
245
|
+
}
|
|
246
|
+
|
|
213
247
|
return tree;
|
|
214
248
|
};
|
|
215
249
|
}
|
|
@@ -223,13 +257,15 @@ export function buildAlain(schema: CommonSchema): Rule {
|
|
|
223
257
|
const project = res.project;
|
|
224
258
|
resolveSchema(tree, project, schema, res.alainProject);
|
|
225
259
|
|
|
226
|
-
schema.componentName =
|
|
260
|
+
schema.componentName = buildName(schema, 'Component');
|
|
261
|
+
schema.serviceName = buildName(schema, 'Service');
|
|
227
262
|
|
|
228
263
|
// Don't support inline
|
|
229
264
|
schema.inlineTemplate = false;
|
|
230
265
|
|
|
231
266
|
const templateSource = apply(url(schema._filesPath!), [
|
|
232
267
|
filter(filePath => !filePath.endsWith('.DS_Store')),
|
|
268
|
+
schema.service === 'ignore' ? filter(filePath => !filePath.endsWith('.service.ts.template')) : noop(),
|
|
233
269
|
schema.skipTests ? filter(filePath => !filePath.endsWith('.spec.ts.template')) : noop(),
|
|
234
270
|
schema.inlineStyle ? filter(filePath => !filePath.endsWith('.__style__.template')) : noop(),
|
|
235
271
|
schema.inlineTemplate ? filter(filePath => !filePath.endsWith('.html.template')) : noop(),
|
package/utils/code-style.js
CHANGED
|
@@ -4,6 +4,6 @@ exports.LINT_STAGED_CONFIG = exports.LINT_STAGED = void 0;
|
|
|
4
4
|
exports.LINT_STAGED = 'lint-staged';
|
|
5
5
|
exports.LINT_STAGED_CONFIG = {
|
|
6
6
|
'(src)/**/*.{html,ts}': ['eslint --fix'],
|
|
7
|
-
'(src)/**/*.less': ['stylelint --syntax less --fix']
|
|
7
|
+
'(src)/**/*.less': ['npx stylelint --syntax less --fix']
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=code-style.js.map
|
package/utils/code-style.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-style.js","sourceRoot":"","sources":["../../../schematics/utils/code-style.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,aAAa,CAAC;AAE5B,QAAA,kBAAkB,GAAG;IAChC,sBAAsB,EAAE,CAAC,cAAc,CAAC;IACxC,iBAAiB,EAAE,CAAC
|
|
1
|
+
{"version":3,"file":"code-style.js","sourceRoot":"","sources":["../../../schematics/utils/code-style.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,aAAa,CAAC;AAE5B,QAAA,kBAAkB,GAAG;IAChC,sBAAsB,EAAE,CAAC,cAAc,CAAC;IACxC,iBAAiB,EAAE,CAAC,mCAAmC,CAAC;CACzD,CAAC"}
|
package/utils/code-style.ts
CHANGED
package/utils/lib-versions.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ZORROVERSION = exports.VERSION = void 0;
|
|
4
|
-
exports.VERSION = '^13.
|
|
4
|
+
exports.VERSION = '^13.1.0';
|
|
5
5
|
exports.ZORROVERSION = '^13.0.0';
|
|
6
6
|
//# sourceMappingURL=lib-versions.js.map
|
package/utils/lib-versions.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const VERSION = '^13.
|
|
1
|
+
export const VERSION = '^13.1.0';
|
|
2
2
|
export const ZORROVERSION = '^13.0.0';
|
package/view/schema.json
CHANGED
|
@@ -141,6 +141,22 @@
|
|
|
141
141
|
"default": true,
|
|
142
142
|
"description": "指定是否使用模态框 (Specifies using modal mode)",
|
|
143
143
|
"x-prompt": "Would you like to modal mode?"
|
|
144
|
+
},
|
|
145
|
+
"service": {
|
|
146
|
+
"type": "string",
|
|
147
|
+
"description": "The service file to use in the new component.",
|
|
148
|
+
"default": "ignore",
|
|
149
|
+
"enum": ["ignore", "none", "root"],
|
|
150
|
+
"x-prompt": {
|
|
151
|
+
"message": "Which service injectors would you like to use?",
|
|
152
|
+
"type": "list",
|
|
153
|
+
"items": [
|
|
154
|
+
{ "value": "ignore", "label": "Ignore generation of Service files" },
|
|
155
|
+
{ "value": "root", "label": "Use \"@Injectable({ providedIn: 'root' })\"" },
|
|
156
|
+
{ "value": "none", "label": "Use \"@Injectable()\" (Should be automatically register to the nearest module)" }
|
|
157
|
+
]
|
|
158
|
+
},
|
|
159
|
+
"x-user-analytics": 20
|
|
144
160
|
}
|
|
145
161
|
},
|
|
146
162
|
"required": ["name", "module"]
|