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.
Files changed (46) 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/layout/passport/passport.component.less +14 -0
  4. package/application/files/src/app/routes/passport/lock/lock.component.less +1 -0
  5. package/application/files/src/app/routes/passport/login/login.component.less +12 -2
  6. package/application/files/src/app/routes/passport/register/register.component.less +9 -0
  7. package/application/index.js +1 -1
  8. package/application/index.js.map +1 -1
  9. package/application/index.ts +1 -1
  10. package/curd/index.js +1 -1
  11. package/curd/index.js.map +1 -1
  12. package/curd/index.ts +1 -1
  13. package/curd/schema.json +16 -0
  14. package/curd/schema.ts +1 -0
  15. package/docs/generate.en-US.md +3 -0
  16. package/docs/generate.zh-CN.md +3 -0
  17. package/edit/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.service.ts.template +9 -0
  18. package/edit/schema.json +16 -0
  19. package/edit/schema.ts +1 -0
  20. package/empty/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.service.ts.template +9 -0
  21. package/empty/index.spec.ts +25 -5
  22. package/empty/schema.json +16 -0
  23. package/empty/schema.ts +1 -0
  24. package/list/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.service.ts.template +9 -0
  25. package/list/index.spec.ts +7 -0
  26. package/list/schema.json +16 -0
  27. package/list/schema.ts +1 -0
  28. package/module/files/__name@dasherize@if-flat__/__name@dasherize__.service.ts.template +9 -0
  29. package/module/index.js +29 -3
  30. package/module/index.js.map +1 -1
  31. package/module/index.spec.ts +16 -0
  32. package/module/index.ts +33 -5
  33. package/module/schema.json +16 -0
  34. package/module/schema.ts +3 -1
  35. package/package.json +1 -1
  36. package/utils/alain.js +34 -8
  37. package/utils/alain.js.map +1 -1
  38. package/utils/alain.ts +44 -8
  39. package/utils/code-style.js +1 -1
  40. package/utils/code-style.js.map +1 -1
  41. package/utils/code-style.ts +1 -1
  42. package/utils/lib-versions.js +1 -1
  43. package/utils/lib-versions.ts +1 -1
  44. package/view/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.service.ts.template +9 -0
  45. package/view/schema.json +16 -0
  46. package/view/schema.ts +1 -0
@@ -1,5 +1,5 @@
1
1
  #!/bin/sh
2
2
  . "$(dirname "$0")/_/husky.sh"
3
3
  export NODE_OPTIONS="--max-old-space-size=4096"
4
- npx --no-install tsc -p tsconfig.json --noEmit
4
+ npx --no-install tsc -p tsconfig.app.json --noEmit
5
5
  npx --no-install lint-staged
@@ -4,6 +4,7 @@
4
4
  "stylelint-config-rational-order",
5
5
  "stylelint-config-prettier"
6
6
  ],
7
+ "customSyntax": "postcss-less",
7
8
  "plugins": [
8
9
  "stylelint-order",
9
10
  "stylelint-declaration-block-no-ignored-properties"
@@ -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
  }
@@ -3,6 +3,7 @@
3
3
  position: relative;
4
4
  margin-top: 80px;
5
5
  }
6
+
6
7
  .avatar {
7
8
  position: absolute;
8
9
  top: -20px;
@@ -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: rgba(0, 0, 0, 0.2);
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: rgba(255, 255, 255, 0.2);
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;
@@ -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\" --syntax less --fix`;
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
@@ -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":";;;;;;;;;;;AAAA,+CAA2D;AAE3D,2DAaoC;AACpC,qEAAwE;AAExE,qDAAkD;AAClD,oCAoBkB;AAClB,gDAAuE;AAGvE,IAAI,OAA0B,CAAC;AAE/B,mCAAmC;AACnC,SAAS,kBAAkB;IACzB,OAAO,CAAC,IAAU,EAAE,EAAE;QACpB;YACE,GAAG,OAAO,CAAC,IAAI,YAAY;YAC3B,GAAG,OAAO,CAAC,UAAU,UAAU;YAC/B,GAAG,OAAO,CAAC,UAAU,UAAU;YAC/B,GAAG,OAAO,CAAC,UAAU,mCAAmC;YACxD,GAAG,OAAO,CAAC,UAAU,8BAA8B;YACnD,GAAG,OAAO,CAAC,UAAU,cAAc;YACnC,GAAG,OAAO,CAAC,UAAU,cAAc;YACnC,GAAG,OAAO,CAAC,UAAU,oBAAoB;YACzC,GAAG,OAAO,CAAC,UAAU,4BAA4B;YACjD,GAAG,OAAO,CAAC,UAAU,uBAAuB;YAC5C,GAAG,OAAO,CAAC,UAAU,yBAAyB;YAC9C,GAAG,OAAO,CAAC,UAAU,yBAAyB;YAC9C,GAAG,OAAO,CAAC,UAAU,4BAA4B;SAClD;aACE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aAC3B,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,OAA2B;IACjD,OAAO,IAAA,2BAAe,EAAC,CAAM,SAAS,EAAC,EAAE;;QACvC,MAAM,CAAC,GAAG,IAAA,+BAAuB,EAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9D,oBAAoB;QACpB,MAAM,WAAW,GAAG,MAAA,CAAC,CAAC,OAAO,0CAAE,GAAG,CAAC,0BAAkB,CAAC,CAAC;QACvD,IAAI,WAAW,CAAC,OAAO,IAAI,IAAI;YAAE,WAAW,CAAC,OAAO,GAAG,EAAE,CAAC;QAC1D,WAAW,CAAC,OAAO,CAAC,WAAW,GAAG,eAAe,CAAC;QAClD,YAAY;QACZ,MAAM,OAAO,GAAI,IAAA,wBAAgB,EAAC,CAAC,EAAE,0BAAkB,EAAE,gBAAgB,CAAC,CAAC,UAAyB;aACjG,OAID,CAAC;QACH,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;YACxD,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC/B,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC;aAC9B;SACF;QAED,IAAA,+CAAuC,EAAC,SAAS,CAAC,CAAC;IACrD,CAAC,CAAA,CAAC,CAAC;AACL,CAAC;AAED,SAAS,4BAA4B,CAAC,OAA2B;IAC/D,OAAO,CAAC,IAAU,EAAE,EAAE;QACpB,IAAA,8BAAmB,EAAC,IAAI,CAAC,CAAC;QAC1B,MAAM;QACN,IAAA,kBAAU,EAAC,IAAI,EAAE,CAAC,kCAAkC,CAAC,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB;IAChC,OAAO,CAAC,IAAU,EAAE,EAAE;QACpB,MAAM,IAAI,GAAG,IAAA,mBAAW,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC1C,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,mEAAmE,CAAC;QACrG,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,eAAe,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,8BAA8B,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,8CAA8C,CAAC;QACtE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,kCAAkC,CAAC;QAClE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,uCAAuC,CAAC;QACxE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,oCAAoC,CAAC;QAClE,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,mCAAmC,CAAC;QACzD,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,2BAA2B,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,eAAe,CAAC;QACvC,IAAA,oBAAY,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO,CAAC,IAAU,EAAE,EAAE;QACpB,MAAM,IAAI,GAAG,IAAA,gBAAQ,EAAC,IAAI,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAAC;QAChE,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,eAAe;YAAE,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK;YAAE,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,EAAE,CAAC;QACjE,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;QACzC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAC5C,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACxC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACzC,IAAA,iBAAS,EAAC,IAAI,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B;IACjC,OAAO,CAAC,IAAU,EAAE,EAAE;QACpB,MAAM,IAAI,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,uCAAuC,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,uCAAuC,CAAC;QACrE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC;QAC1C,IAAA,oBAAY,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzB,mBAAmB;QACnB,MAAM,aAAa,GAAG,GAAG,OAAO,CAAC,UAAU,eAAe,CAAC;QAC3D,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;YAC9B,MAAM,gBAAgB,GAAG,qDAAqD,IAAA,mBAAW,EAAC,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC;YACjH,IAAA,iBAAS,EAAC,IAAI,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;SAClD;QACD,eAAe;QACf,IAAA,kBAAU,EACR,IAAI,EACJ;YACE,6BAA6B;YAC7B,mCAAmC;YACnC,gCAAgC;YAChC,iCAAiC;YACjC,iDAAiD;YACjD,uDAAuD;YACvD,iDAAiD;YACjD,yEAAyE;YACzE,uCAAuC;SACxC,EACD,iBAAiB,CAClB,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,OAA2B;IAChD,OAAO,IAAA,2BAAe,EAAC,CAAM,SAAS,EAAC,EAAE;QACvC,MAAM,CAAC,GAAG,IAAA,+BAAuB,EAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;QAC3C,UAAU,CAAC,iBAAiB,CAAC,GAAG;YAC9B,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,KAAK;SACjB,CAAC;QACF,UAAU,CAAC,eAAe,CAAC,GAAG;YAC5B,SAAS,EAAE,KAAK;SACjB,CAAC;QACF,UAAU,CAAC,eAAe,CAAC,GAAG;YAC5B,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,IAAI;SACZ,CAAC;QACF,UAAU,CAAC,eAAe,CAAC,GAAG;YAC5B,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,IAAI;SACZ,CAAC;QACF,UAAU,CAAC,eAAe,CAAC,GAAG;YAC5B,SAAS,EAAE,KAAK;SACjB,CAAC;QACF,UAAU,CAAC,4BAA4B,CAAC,GAAG;YACzC,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,KAAK;SACjB,CAAC;QACF,UAAU,CAAC,+BAA+B,CAAC,mBACzC,SAAS,EAAE,KAAK,EAChB,IAAI,EAAE,KAAK,EACX,WAAW,EAAE,IAAI,EACjB,cAAc,EAAE,KAAK,IAClB,UAAU,CAAC,+BAA+B,CAAC,CAC/C,CAAC;QACF,UAAU,CAAC,+BAA+B,CAAC,GAAG;YAC5C,SAAS,EAAE,KAAK;SACjB,CAAC;QACF,UAAU,CAAC,6BAA6B,CAAC,GAAG;YAC1C,SAAS,EAAE,KAAK;SACjB,CAAC;IACJ,CAAC,CAAA,CAAC,CAAC;AACL,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,GAAG,EAAE;QACV,IAAA,yBAAiB,EAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,0BAAkB,CAAC,EAAE,IAAK,EAAE,IAAI,CAAC,CAAC;IAC7G,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ;IACf,OAAO,CAAC,IAAU,EAAE,EAAE;QACpB,IAAA,oBAAY,EACV,IAAI,EACJ,OAAO,EACP,kpCAAkpC,CACnpC,CAAC;QACF,IAAA,qBAAa,EACX,IAAI,EACJ,OAAO,EACP,yMAAyM,CAC1M,CAAC;QACF,gBAAgB;QAChB,wGAAwG;QACxG,yGAAyG;QACzG,MAAM;QAEN,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,OAA2B;IACjD,OAAO,IAAA,kBAAK,EAAC;QACX,IAAA,sBAAS,EACP,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,aAAa,CAAC,EAAE;YACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,iBAAI,GAAE,CAAC,CAAC,CAAC,IAAA,mBAAM,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,iBAAI,GAAE,CAAC,CAAC,CAAC,IAAA,mBAAM,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;YACpE,IAAA,qBAAQ,gCACN,KAAK,EAAE,cAAO,IACX,OAAO,KACV,GAAG,EAAE,GAAG,EACR,OAAO,EAAP,eAAO;gBACP,YAAY,EAAZ,oBAAY,IACZ;YACF,IAAA,iBAAI,EAAC,OAAO,CAAC,UAAU,CAAC;SACzB,CAAC,CACH;QACD,IAAA,sBAAS,EACP,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,cAAc,CAAC,EAAE;YACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,iBAAI,GAAE,CAAC,CAAC,CAAC,IAAA,mBAAM,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,iBAAI,GAAE,CAAC,CAAC,CAAC,IAAA,mBAAM,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;YACpE,IAAA,qBAAQ,gCACN,KAAK,EAAE,cAAO,IACX,OAAO,KACV,GAAG,EAAE,GAAG,EACR,OAAO,EAAP,eAAO;gBACP,YAAY,EAAZ,oBAAY,IACZ;YACF,YAAY;SACb,CAAC,EACF,0BAAa,CAAC,SAAS,CACxB;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,OAAO,CAAC,OAA2B;IAC1C,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAC/C,IAAI,OAAO,CAAC,IAAI;YAAE,OAAO;QACzB,MAAM,KAAK,GAAG,IAAA,yBAAW,EAAC,OAAO,CAAC,eAAgB,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,OAAO,CAAC,eAAe,2BAA2B,CAAC,CAAC;QAErG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACb,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBAAE,OAAO;YAEzC,aAAa,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,IAAU,EAAE,CAAS,EAAE,KAAS;IACrD,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,oEAAoE;IACpE,qEAAqE;IACrE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,2DAA2D,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;QACrG,EAAE,UAAU,CAAC;QACb,OAAO,gBAAgB,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC;IAC9E,CAAC,CAAC,CAAC;IACH,iDAAiD;IACjD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,4CAA4C,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC/E,EAAE,UAAU,CAAC;QACb,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;IAC3B,CAAC,CAAC,CAAC;IACH,6CAA6C;IAC7C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,oCAAoC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACvE,EAAE,UAAU,CAAC;QACb,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;IAC3B,CAAC,CAAC,CAAC;IACH,uDAAuD;IACvD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3D,EAAE,UAAU,CAAC;QACb,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;QAChC,OAAO,IAAI,KAAK,GAAG,CAAC;IACtB,CAAC,CAAC,CAAC;IACH,8CAA8C;IAC9C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACvD,EAAE,UAAU,CAAC;QACb,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;IAC3B,CAAC,CAAC,CAAC;IACH,wBAAwB;IACxB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,8DAA8D,CAAC,EAAE;QACjF,EAAE,UAAU,CAAC;QACb,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,8DAA8D,EAAE,EAAE,CAAC,CAAC;KACzF;IACD,IAAI,UAAU,GAAG,CAAC,EAAE;QAClB,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;KACzB;AACH,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,CAAC,IAAU,EAAE,EAAE;QACpB,MAAM,QAAQ,GAAG,yBAAyB,CAAC;QAC3C,IAAI,IAAI,GAAG,IAAA,gBAAQ,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACpC,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC1B,IAAI,GAAG,EAAE,CAAC;SACX;QACD,IAAI,CAAC,eAAe,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC1D,IAAA,iBAAS,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC;AACJ,CAAC;AAED,mBAAyB,OAA2B;IAClD,OAAO,CAAO,IAAU,EAAE,OAAyB,EAAE,EAAE;QACrD,OAAO,GAAG,CAAC,MAAM,IAAA,kBAAU,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QAC5D,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACvD,OAAO,IAAA,kBAAK,EAAC;YACX,wBAAwB;YACxB,4BAA4B,CAAC,OAAO,CAAC;YACrC,oCAAoC;YACpC,mEAAmE;YACnE,IAAA,sCAA8B,EAAC,EAAE,CAAC;YAClC,KAAK;YACL,yBAAyB,EAAE;YAC3B,kBAAkB,EAAE;YACpB,aAAa;YACb,0BAA0B,EAAE;YAC5B,aAAa,CAAC,OAAO,CAAC;YACtB,IAAA,wBAAa,EAAC,OAAO,EAAE,KAAK,CAAC;YAC7B,QAAQ;YACR,kBAAkB,EAAE;YACpB,cAAc,CAAC,OAAO,CAAC;YACvB,SAAS,EAAE;YACX,QAAQ,EAAE;YACV,OAAO,CAAC,OAAO,CAAC;YAChB,SAAS,EAAE;YACX,cAAc,CAAC,OAAO,CAAC;SACxB,CAAC,CAAC;IACL,CAAC,CAAA,CAAC;AACJ,CAAC;AA3BD,4BA2BC"}
@@ -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\" --syntax less --fix`;
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;QACjD,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"}
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
@@ -13,4 +13,5 @@ export interface Schema extends ComponentSchema {
13
13
  * 组件名不加模块名前缀 (Without prefix to component name), Default: `false`
14
14
  */
15
15
  withoutModulePrefixInComponentName?: boolean;
16
+ service?: 'ignore' | 'none' | 'root';
16
17
  }
@@ -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
 
@@ -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
 
@@ -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 <%= serviceName %> {
6
+
7
+ constructor(private http: _HttpClient) { }
8
+
9
+ }
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
@@ -17,4 +17,5 @@ export interface Schema extends ComponentSchema {
17
17
  * 指定是否使用模态框 (Specifies using modal mode)
18
18
  */
19
19
  modal?: boolean;
20
+ service?: 'ignore' | 'none' | 'root';
20
21
  }
@@ -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 <%= serviceName %> {
6
+
7
+ constructor(private http: _HttpClient) { }
8
+
9
+ }
@@ -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
@@ -13,4 +13,5 @@ export interface Schema extends ComponentSchema {
13
13
  * 组件名不加模块名前缀 (Without prefix to component name), Default: `false`
14
14
  */
15
15
  withoutModulePrefixInComponentName?: boolean;
16
+ service?: 'ignore' | 'none' | 'root';
16
17
  }
@@ -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 <%= serviceName %> {
6
+
7
+ constructor(private http: _HttpClient) { }
8
+
9
+ }
@@ -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
@@ -13,4 +13,5 @@ export interface Schema extends ComponentSchema {
13
13
  * 组件名不加模块名前缀 (Without prefix to component name), Default: `false`
14
14
  */
15
15
  withoutModulePrefixInComponentName?: boolean;
16
+ service?: 'ignore' | 'none' | 'root';
16
17
  }
@@ -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(--pos, code);
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)([addDeclarationToNgModule(schema), addRoutingModuleToTop(schema), (0, schematics_1.mergeWith)(templateSource)]))
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
  }
@@ -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,yEAAgF;AAChF,uEAAmE;AACnE,iCAAiC;AAEjC,oCAAuD;AAGvD,SAAS,wBAAwB,CAAC,OAAqB;IACrD,OAAO,CAAC,IAAU,EAAE,EAAE;QACpB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACnB,OAAO,IAAI,CAAC;SACb;QAED,MAAM,UAAU,GAAG,IAAA,gBAAS,EAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAEnD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnC,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,MAAM,IAAI,gCAAmB,CAAC,QAAQ,UAAU,kBAAkB,CAAC,CAAC;SACrE;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAEzF,MAAM,gBAAgB,GAAG,IAAA,gBAAS,EAChC,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,cAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,cAAO,CAAC,SAAS,CAC/F,OAAO,CAAC,IAAI,CACb,SAAS,CACX,CAAC;QACF,MAAM,WAAW,GAAG,IAAA,eAAQ,EAAC,IAAA,cAAO,EAAC,UAAU,CAAC,EAAE,IAAA,cAAO,EAAC,gBAAgB,CAAC,CAAC,CAAC;QAE7E,MAAM,YAAY,GAAG,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,IAAI,IAAA,eAAQ,EAChG,gBAAgB,CACjB,EAAE,CAAC;QACJ,MAAM,OAAO,GAAG,IAAA,6BAAiB,EAAC,MAAM,EAAE,UAAU,EAAE,cAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC;QAE/G,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC9C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,IAAI,MAAM,YAAY,qBAAY,EAAE;gBAClC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;aAC/C;SACF;QACD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE5B,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAqB;IAClD,OAAO,CAAC,IAAU,EAAE,EAAE;QACpB,MAAM,UAAU,GAAG,IAAA,gBAAS,EAAC,GAAG,OAAO,CAAC,IAAI,2BAA2B,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;YAC5B,OAAO,IAAI,CAAC;SACb;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACzF,MAAM,UAAU,GAAG,IAAA,oBAAQ,EAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACxE,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,CAAC,MAAM,IAAI,IAAI,EAAE;YACnD,OAAO,IAAI,CAAC;SACb;QACD,MAAM,UAAU,GAAG,UAAU,CAAC,MAA+B,CAAC;QAC9D,IACE,UAAU,CAAC,WAAW,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,sBAAsB;YACpE,UAAU,CAAC,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,EAC5C;YACA,OAAO,IAAI,CAAC;SACb;QACD,MAAM,YAAY,GAAG,IAAA,oBAAQ,EAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC5F,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,CAAC,MAAM,IAAI,IAAI,EAAE;YACvD,OAAO,IAAI,CAAC;SACb;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,cAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,QAAQ,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,YAAY,OAAO,CAAC,IAAI,oCAAoC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,2BAA2B,UAAU,MAAM,CAAC;QACjJ,IAAI,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC;QAClC,iCAAiC;QACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAED,mBAAyB,MAAoB;IAC3C,OAAO,CAAO,IAAU,EAAE,EAAE;QAC1B,MAAM,IAAI,GAAG,MAAM,IAAA,kBAAU,EAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAEpD,IAAA,uBAAe,EAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAEzD,IAAI,MAAM,CAAC,MAAM,EAAE;YACjB,MAAM,CAAC,MAAM,GAAG,IAAA,mCAAqB,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SACrD;QAED,MAAM,UAAU,GAAG,IAAA,sBAAS,EAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC9B,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAE9B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;QAEpB,MAAM,cAAc,GAAG,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,SAAS,CAAC,EAAE;YAC3C,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,iBAAI,GAAE,CAAC,CAAC,CAAC,IAAA,mBAAM,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;YAC9E,IAAA,2BAAc,gDACT,cAAO,KACV,SAAS,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAC7C,MAAM,EACT;YACF,IAAA,iBAAI,EAAC,UAAU,CAAC,IAAI,CAAC;SACtB,CAAC,CAAC;QAEH,OAAO,IAAA,kBAAK,EAAC;YACX,IAAA,2BAAc,EACZ,IAAA,kBAAK,EAAC,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,EAAE,IAAA,sBAAS,EAAC,cAAc,CAAC,CAAC,CAAC,CACpG;SACF,CAAC,CAAC;IACL,CAAC,CAAA,CAAC;AACJ,CAAC;AAjCD,4BAiCC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/module/index.ts"],"names":[],"mappings":"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"}
@@ -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(--pos, code);
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([addDeclarationToNgModule(schema), addRoutingModuleToTop(schema), mergeWith(templateSource)])
150
+ chain([
151
+ addDeclarationToNgModule(schema),
152
+ addRoutingModuleToTop(schema),
153
+ mergeWith(templateSource),
154
+ addServiceToNgModule(schema)
155
+ ])
128
156
  )
129
157
  ]);
130
158
  };
@@ -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
@@ -1,3 +1,5 @@
1
1
  import { Schema as ModuleSchema } from '@schematics/angular/module/schema';
2
2
 
3
- export interface Schema extends ModuleSchema {}
3
+ export interface Schema extends ModuleSchema {
4
+ service?: 'ignore' | 'none' | 'root';
5
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ng-alain",
3
- "version": "13.0.0",
3
+ "version": "13.1.0",
4
4
  "description": "Schematics specific to ng-alain",
5
5
  "author": "cipchk<cipchk@qq.com>",
6
6
  "license": "MIT",
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 buildComponentName(schema, _projectPrefix) {
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
- ret.push(`Component`);
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)}.component`;
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 = buildComponentName(schema, project.prefix);
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)(),
@@ -1 +1 @@
1
- {"version":3,"file":"alain.js","sourceRoot":"","sources":["../../../schematics/utils/alain.ts"],"names":[],"mappings":"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"}
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 { findNode, insertImport } from '@schematics/angular/utility/ast-utils';
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 buildComponentName(schema: CommonSchema, _projectPrefix: string): string {
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
- ret.push(`Component`);
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
- )}.component`;
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 = buildComponentName(schema, project.prefix);
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(),
@@ -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
@@ -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,+BAA+B,CAAC;CACrD,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"}
@@ -2,5 +2,5 @@ export const LINT_STAGED = 'lint-staged';
2
2
 
3
3
  export const LINT_STAGED_CONFIG = {
4
4
  '(src)/**/*.{html,ts}': ['eslint --fix'],
5
- '(src)/**/*.less': ['stylelint --syntax less --fix']
5
+ '(src)/**/*.less': ['npx stylelint --syntax less --fix']
6
6
  };
@@ -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.0.0';
4
+ exports.VERSION = '^13.1.0';
5
5
  exports.ZORROVERSION = '^13.0.0';
6
6
  //# sourceMappingURL=lib-versions.js.map
@@ -1,2 +1,2 @@
1
- export const VERSION = '^13.0.0';
1
+ export const VERSION = '^13.1.0';
2
2
  export const ZORROVERSION = '^13.0.0';
@@ -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 <%= serviceName %> {
6
+
7
+ constructor(private http: _HttpClient) { }
8
+
9
+ }
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"]
package/view/schema.ts CHANGED
@@ -13,4 +13,5 @@ export interface Schema extends ComponentSchema {
13
13
  * 指定是否使用模态框 (Specifies using modal mode)
14
14
  */
15
15
  modal?: boolean;
16
+ service?: 'ignore' | 'none' | 'root';
16
17
  }