@o3r/schematics 9.1.0-alpha.21 → 9.1.0-alpha.22

Sign up to get free protection for your applications and to get access to all the features.
Files changed (199) hide show
  1. package/index.d.ts +7 -0
  2. package/index.d.ts.map +1 -0
  3. package/index.js +10 -0
  4. package/index.js.map +1 -0
  5. package/interfaces/angular-workspace.d.ts +62 -0
  6. package/interfaces/angular-workspace.d.ts.map +1 -0
  7. package/interfaces/angular-workspace.js +3 -0
  8. package/interfaces/angular-workspace.js.map +1 -0
  9. package/interfaces/index.d.ts +3 -0
  10. package/interfaces/index.d.ts.map +1 -0
  11. package/interfaces/index.js +6 -0
  12. package/interfaces/index.js.map +1 -0
  13. package/interfaces/schematic-option.d.ts +5 -0
  14. package/interfaces/schematic-option.d.ts.map +1 -0
  15. package/interfaces/schematic-option.js +3 -0
  16. package/interfaces/schematic-option.js.map +1 -0
  17. package/modules/index.d.ts +3 -0
  18. package/modules/index.d.ts.map +1 -0
  19. package/modules/index.js +6 -0
  20. package/modules/index.js.map +1 -0
  21. package/modules/modules.constants.d.ts +34 -0
  22. package/modules/modules.constants.d.ts.map +1 -0
  23. package/modules/modules.constants.js +12 -0
  24. package/modules/modules.constants.js.map +1 -0
  25. package/modules/modules.helpers.d.ts +60 -0
  26. package/modules/modules.helpers.d.ts.map +1 -0
  27. package/modules/modules.helpers.js +165 -0
  28. package/modules/modules.helpers.js.map +1 -0
  29. package/package.json +4 -4
  30. package/public_api.d.ts +2 -0
  31. package/public_api.d.ts.map +1 -0
  32. package/public_api.js +5 -0
  33. package/public_api.js.map +1 -0
  34. package/rule-factories/add-imports/index.d.ts +12 -0
  35. package/rule-factories/add-imports/index.d.ts.map +1 -0
  36. package/rule-factories/add-imports/index.js +26 -0
  37. package/rule-factories/add-imports/index.js.map +1 -0
  38. package/rule-factories/check-packages-peers/index.d.ts +8 -0
  39. package/rule-factories/check-packages-peers/index.d.ts.map +1 -0
  40. package/rule-factories/check-packages-peers/index.js +106 -0
  41. package/rule-factories/check-packages-peers/index.js.map +1 -0
  42. package/rule-factories/eslint-fix/index.d.ts +28 -0
  43. package/rule-factories/eslint-fix/index.d.ts.map +1 -0
  44. package/rule-factories/eslint-fix/index.js +71 -0
  45. package/rule-factories/eslint-fix/index.js.map +1 -0
  46. package/rule-factories/index.d.ts +9 -0
  47. package/rule-factories/index.d.ts.map +1 -0
  48. package/rule-factories/index.js +12 -0
  49. package/rule-factories/index.js.map +1 -0
  50. package/rule-factories/interfaces.d.ts +6 -0
  51. package/rule-factories/interfaces.d.ts.map +1 -0
  52. package/rule-factories/interfaces.js +3 -0
  53. package/rule-factories/interfaces.js.map +1 -0
  54. package/rule-factories/ng-add/index.d.ts +38 -0
  55. package/rule-factories/ng-add/index.d.ts.map +1 -0
  56. package/rule-factories/ng-add/index.js +174 -0
  57. package/rule-factories/ng-add/index.js.map +1 -0
  58. package/rule-factories/remove-packages/index.d.ts +9 -0
  59. package/rule-factories/remove-packages/index.d.ts.map +1 -0
  60. package/rule-factories/remove-packages/index.js +29 -0
  61. package/rule-factories/remove-packages/index.js.map +1 -0
  62. package/rule-factories/update-imports/index.d.ts +5 -0
  63. package/rule-factories/update-imports/index.d.ts.map +1 -0
  64. package/rule-factories/update-imports/index.js +8 -0
  65. package/rule-factories/update-imports/index.js.map +1 -0
  66. package/rule-factories/update-imports/list-of-vars.d.ts +15 -0
  67. package/rule-factories/update-imports/list-of-vars.d.ts.map +1 -0
  68. package/rule-factories/update-imports/list-of-vars.js +44 -0
  69. package/rule-factories/update-imports/list-of-vars.js.map +1 -0
  70. package/rule-factories/update-imports/update-imports-with-scope.d.ts +12 -0
  71. package/rule-factories/update-imports/update-imports-with-scope.d.ts.map +1 -0
  72. package/rule-factories/update-imports/update-imports-with-scope.js +34 -0
  73. package/rule-factories/update-imports/update-imports-with-scope.js.map +1 -0
  74. package/rule-factories/update-imports/update-ts-imports.d.ts +11 -0
  75. package/rule-factories/update-imports/update-ts-imports.d.ts.map +1 -0
  76. package/rule-factories/update-imports/update-ts-imports.js +32 -0
  77. package/rule-factories/update-imports/update-ts-imports.js.map +1 -0
  78. package/rule-factories/update-imports/v7-to-v8-map-object.d.ts +8 -0
  79. package/rule-factories/update-imports/v7-to-v8-map-object.d.ts.map +1 -0
  80. package/rule-factories/update-imports/v7-to-v8-map-object.js +2049 -0
  81. package/rule-factories/update-imports/v7-to-v8-map-object.js.map +1 -0
  82. package/rule-factories/vscode-extensions/index.d.ts +8 -0
  83. package/rule-factories/vscode-extensions/index.d.ts.map +1 -0
  84. package/rule-factories/vscode-extensions/index.js +26 -0
  85. package/rule-factories/vscode-extensions/index.js.map +1 -0
  86. package/rules/index.d.ts +2 -0
  87. package/rules/index.d.ts.map +1 -0
  88. package/rules/index.js +5 -0
  89. package/rules/index.js.map +1 -0
  90. package/rules/install.d.ts +9 -0
  91. package/rules/install.d.ts.map +1 -0
  92. package/rules/install.js +21 -0
  93. package/rules/install.js.map +1 -0
  94. package/schematics/ng-add/index.js.map +1 -0
  95. package/schematics/ng-add/schema.js.map +1 -0
  96. package/tasks/eslint/index.d.ts +10 -0
  97. package/tasks/eslint/index.d.ts.map +1 -0
  98. package/tasks/eslint/index.js +29 -0
  99. package/tasks/eslint/index.js.map +1 -0
  100. package/tasks/index.d.ts +5 -0
  101. package/tasks/index.d.ts.map +1 -0
  102. package/tasks/index.js +8 -0
  103. package/tasks/index.js.map +1 -0
  104. package/tasks/link/index.d.ts +10 -0
  105. package/tasks/link/index.d.ts.map +1 -0
  106. package/tasks/link/index.js +26 -0
  107. package/tasks/link/index.js.map +1 -0
  108. package/tasks/ng-add/index.d.ts +30 -0
  109. package/tasks/ng-add/index.d.ts.map +1 -0
  110. package/tasks/ng-add/index.js +30 -0
  111. package/tasks/ng-add/index.js.map +1 -0
  112. package/tasks/package-manager/add-dev-dependency.d.ts +24 -0
  113. package/tasks/package-manager/add-dev-dependency.d.ts.map +1 -0
  114. package/tasks/package-manager/add-dev-dependency.js +34 -0
  115. package/tasks/package-manager/add-dev-dependency.js.map +1 -0
  116. package/tasks/package-manager/index.d.ts +4 -0
  117. package/tasks/package-manager/index.d.ts.map +1 -0
  118. package/tasks/package-manager/index.js +7 -0
  119. package/tasks/package-manager/index.js.map +1 -0
  120. package/tasks/package-manager/interfaces.d.ts +14 -0
  121. package/tasks/package-manager/interfaces.d.ts.map +1 -0
  122. package/tasks/package-manager/interfaces.js +3 -0
  123. package/tasks/package-manager/interfaces.js.map +1 -0
  124. package/tasks/package-manager/npm-install.d.ts +24 -0
  125. package/tasks/package-manager/npm-install.d.ts.map +1 -0
  126. package/tasks/package-manager/npm-install.js +35 -0
  127. package/tasks/package-manager/npm-install.js.map +1 -0
  128. package/utility/ast.d.ts +142 -0
  129. package/utility/ast.d.ts.map +1 -0
  130. package/utility/ast.js +325 -0
  131. package/utility/ast.js.map +1 -0
  132. package/utility/collection.d.ts +10 -0
  133. package/utility/collection.d.ts.map +1 -0
  134. package/utility/collection.js +20 -0
  135. package/utility/collection.js.map +1 -0
  136. package/utility/component.d.ts +46 -0
  137. package/utility/component.d.ts.map +1 -0
  138. package/utility/component.js +104 -0
  139. package/utility/component.js.map +1 -0
  140. package/utility/dependencies.d.ts +18 -0
  141. package/utility/dependencies.d.ts.map +1 -0
  142. package/utility/dependencies.js +31 -0
  143. package/utility/dependencies.js.map +1 -0
  144. package/utility/file-info.d.ts +23 -0
  145. package/utility/file-info.d.ts.map +1 -0
  146. package/utility/file-info.js +36 -0
  147. package/utility/file-info.js.map +1 -0
  148. package/utility/generation.d.ts +22 -0
  149. package/utility/generation.d.ts.map +1 -0
  150. package/utility/generation.js +67 -0
  151. package/utility/generation.js.map +1 -0
  152. package/utility/gitignore.d.ts +12 -0
  153. package/utility/gitignore.d.ts.map +1 -0
  154. package/utility/gitignore.js +28 -0
  155. package/utility/gitignore.js.map +1 -0
  156. package/utility/index.d.ts +18 -0
  157. package/utility/index.d.ts.map +1 -0
  158. package/utility/index.js +21 -0
  159. package/utility/index.js.map +1 -0
  160. package/utility/loaders.d.ts +122 -0
  161. package/utility/loaders.d.ts.map +1 -0
  162. package/utility/loaders.js +222 -0
  163. package/utility/loaders.js.map +1 -0
  164. package/utility/matching-peers.d.ts +24 -0
  165. package/utility/matching-peers.d.ts.map +1 -0
  166. package/utility/matching-peers.js +41 -0
  167. package/utility/matching-peers.js.map +1 -0
  168. package/utility/modules.d.ts +73 -0
  169. package/utility/modules.d.ts.map +1 -0
  170. package/utility/modules.js +201 -0
  171. package/utility/modules.js.map +1 -0
  172. package/utility/monorepo.d.ts +17 -0
  173. package/utility/monorepo.d.ts.map +1 -0
  174. package/utility/monorepo.js +30 -0
  175. package/utility/monorepo.js.map +1 -0
  176. package/utility/package-manager-runner.d.ts +43 -0
  177. package/utility/package-manager-runner.d.ts.map +1 -0
  178. package/utility/package-manager-runner.js +61 -0
  179. package/utility/package-manager-runner.js.map +1 -0
  180. package/utility/package-version.d.ts +17 -0
  181. package/utility/package-version.d.ts.map +1 -0
  182. package/utility/package-version.js +34 -0
  183. package/utility/package-version.js.map +1 -0
  184. package/utility/routes.d.ts +40 -0
  185. package/utility/routes.d.ts.map +1 -0
  186. package/utility/routes.js +103 -0
  187. package/utility/routes.js.map +1 -0
  188. package/utility/sub-entry.d.ts +18 -0
  189. package/utility/sub-entry.d.ts.map +1 -0
  190. package/utility/sub-entry.js +51 -0
  191. package/utility/sub-entry.js.map +1 -0
  192. package/utility/template-property.helper.d.ts +101 -0
  193. package/utility/template-property.helper.d.ts.map +1 -0
  194. package/utility/template-property.helper.js +175 -0
  195. package/utility/template-property.helper.js.map +1 -0
  196. package/utility/update-imports.d.ts +25 -0
  197. package/utility/update-imports.d.ts.map +1 -0
  198. package/utility/update-imports.js +86 -0
  199. package/utility/update-imports.js.map +1 -0
package/index.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ export * from './interfaces/index';
2
+ export * from './rule-factories/index';
3
+ export * from './rules/index';
4
+ export * from './tasks/index';
5
+ export * from './utility/index';
6
+ export * from './modules/index';
7
+ //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC"}
package/index.js ADDED
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./interfaces/index"), exports);
5
+ tslib_1.__exportStar(require("./rule-factories/index"), exports);
6
+ tslib_1.__exportStar(require("./rules/index"), exports);
7
+ tslib_1.__exportStar(require("./tasks/index"), exports);
8
+ tslib_1.__exportStar(require("./utility/index"), exports);
9
+ tslib_1.__exportStar(require("./modules/index"), exports);
10
+ //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,iEAAuC;AACvC,wDAA8B;AAC9B,wDAA8B;AAC9B,0DAAgC;AAChC,0DAAgC"}
@@ -0,0 +1,62 @@
1
+ import type { Projects as NgWorkspaceProject, Schema as NgWorkspaceSchema, SchematicOptions } from '@angular/cli/lib/config/workspace-schema';
2
+ export interface WorkspaceProjectI18n {
3
+ locales: Record<string, string>;
4
+ sourceLocale?: string;
5
+ }
6
+ export interface WorkspaceTool {
7
+ [k: string]: any;
8
+ }
9
+ export interface WorkspaceSchematics extends SchematicOptions {
10
+ /** @deprecated */
11
+ '@otter/ng-tools:api-service'?: {
12
+ path: string;
13
+ };
14
+ /** @deprecated */
15
+ '@otter/ng-tools:component'?: {
16
+ path: string;
17
+ };
18
+ /** @deprecated */
19
+ '@otter/ng-tools:service'?: {
20
+ path: string;
21
+ };
22
+ /** @deprecated */
23
+ '@otter/ng-tools:store'?: {
24
+ path: string;
25
+ };
26
+ /** @deprecated */
27
+ '@otter/ng-tools:schematics'?: {
28
+ path: string;
29
+ };
30
+ '@o3r/components:component'?: {
31
+ path: string;
32
+ };
33
+ '@o3r/services:service'?: {
34
+ path: string;
35
+ };
36
+ '@o3r/store:store'?: {
37
+ path: string;
38
+ };
39
+ '@o3r/core:schematics'?: {
40
+ path: string;
41
+ };
42
+ '*:ng-add'?: {
43
+ enableMetadataExtract?: boolean;
44
+ };
45
+ }
46
+ export interface WorkspaceProject extends NgWorkspaceProject {
47
+ architect?: WorkspaceTool;
48
+ i18n?: WorkspaceProjectI18n;
49
+ prefix: string;
50
+ projectType: 'application' | 'library';
51
+ root: string;
52
+ schematics?: WorkspaceSchematics;
53
+ sourceRoot?: string;
54
+ targets?: WorkspaceTool;
55
+ }
56
+ export interface WorkspaceSchema extends NgWorkspaceSchema {
57
+ projects: {
58
+ [k: string]: WorkspaceProject;
59
+ };
60
+ schematics?: WorkspaceSchematics;
61
+ }
62
+ //# sourceMappingURL=angular-workspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"angular-workspace.d.ts","sourceRoot":"","sources":["../../src/interfaces/angular-workspace.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,QAAQ,IAAI,kBAAkB,EAC9B,MAAM,IAAI,iBAAiB,EAC3B,gBAAgB,EACjB,MAAM,0CAA0C,CAAC;AAElD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AACD,MAAM,WAAW,aAAa;IAC5B,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,kBAAkB;IAClB,6BAA6B,CAAC,EAAE;QAC9B,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,kBAAkB;IAClB,2BAA2B,CAAC,EAAE;QAC5B,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,kBAAkB;IAClB,yBAAyB,CAAC,EAAE;QAC1B,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,kBAAkB;IAClB,uBAAuB,CAAC,EAAE;QACxB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,kBAAkB;IAClB,4BAA4B,CAAC,EAAE;QAC7B,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IAEF,2BAA2B,CAAC,EAAE;QAC5B,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,uBAAuB,CAAC,EAAE;QACxB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,kBAAkB,CAAC,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,sBAAsB,CAAC,EAAE;QACvB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,UAAU,CAAC,EAAE;QACX,qBAAqB,CAAC,EAAE,OAAO,CAAC;KACjC,CAAC;CACH;AACD,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB;IAC1D,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,aAAa,GAAG,SAAS,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD,QAAQ,EAAE;QACN,CAAC,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC;KACjC,CAAC;IACF,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAClC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=angular-workspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"angular-workspace.js","sourceRoot":"","sources":["../../src/interfaces/angular-workspace.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export * from './angular-workspace';
2
+ export * from './schematic-option';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./angular-workspace"), exports);
5
+ tslib_1.__exportStar(require("./schematic-option"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC;AACpC,6DAAmC"}
@@ -0,0 +1,5 @@
1
+ export interface SchematicOptionObject {
2
+ [optionName: string]: SchematicOptionValue;
3
+ }
4
+ export type SchematicOptionValue = boolean | number | string | undefined | SchematicOptionValue[] | SchematicOptionObject;
5
+ //# sourceMappingURL=schematic-option.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schematic-option.d.ts","sourceRoot":"","sources":["../../src/interfaces/schematic-option.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,qBAAqB;IACpC,CAAC,UAAU,EAAE,MAAM,GAAG,oBAAoB,CAAC;CAC5C;AAED,MAAM,MAAM,oBAAoB,GAC5B,OAAO,GACP,MAAM,GACN,MAAM,GACN,SAAS,GACT,oBAAoB,EAAE,GACtB,qBAAqB,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=schematic-option.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schematic-option.js","sourceRoot":"","sources":["../../src/interfaces/schematic-option.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export * from './modules.constants';
2
+ export * from './modules.helpers';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/modules/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./modules.constants"), exports);
5
+ tslib_1.__exportStar(require("./modules.helpers"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/modules/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC;AACpC,4DAAkC"}
@@ -0,0 +1,34 @@
1
+ import type { PackageJson } from 'type-fest';
2
+ /** Package as return by the NPM Registry */
3
+ export type NpmRegistryPackage = Pick<PackageJson, 'name' | 'description' | 'version' | 'keywords'> & {
4
+ /** Package name */
5
+ name: string;
6
+ /** Scope of the package */
7
+ scope?: string;
8
+ /** Links provided for the package */
9
+ links?: {
10
+ npm: string;
11
+ homepage?: string;
12
+ repository?: string;
13
+ bugs?: string;
14
+ };
15
+ /** package.json information */
16
+ package?: PackageJson;
17
+ };
18
+ /** Message Return by the NPM Registry Search commend */
19
+ export type NPMRegistrySearchResponse = {
20
+ objects: {
21
+ package?: NpmRegistryPackage;
22
+ }[];
23
+ };
24
+ /** Prefix of the Otter module keyword tags */
25
+ export declare const OTTER_MODULE_PREFIX = "otter-";
26
+ /** Otter NPM Keyword pattern */
27
+ export type OtterModuleTag<T extends string = ''> = `${typeof OTTER_MODULE_PREFIX}${T}`;
28
+ /** List of whitelisted package scopes for Otter modules */
29
+ export declare const OTTER_MODULE_SUPPORTED_SCOPES: readonly ["otter", "o3r"];
30
+ /** Keyword defining an Otter compatible module */
31
+ export declare const OTTER_MODULE_KEYWORD: OtterModuleTag<'module'>;
32
+ /** Package Keyword to identify the module allowing CMS administration */
33
+ export declare const OTTER_KEYWORD_CMS: OtterModuleTag<'cms'>;
34
+ //# sourceMappingURL=modules.constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modules.constants.d.ts","sourceRoot":"","sources":["../../src/modules/modules.constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,4CAA4C;AAC5C,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,GAAG,UAAU,CAAC,GACnG;IACE,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,KAAK,CAAC,EAAE;QACN,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,+BAA+B;IAC/B,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF,wDAAwD;AACxD,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE;QAAE,OAAO,CAAC,EAAE,kBAAkB,CAAA;KAAE,EAAE,CAAC;CAC7C,CAAC;AAEF,8CAA8C;AAC9C,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAC5C,gCAAgC;AAChC,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,EAAE,IAAI,GAAG,OAAO,mBAAmB,GAAG,CAAC,EAAE,CAAC;AACxF,2DAA2D;AAC3D,eAAO,MAAM,6BAA6B,2BAA4B,CAAC;AACvE,kDAAkD;AAClD,eAAO,MAAM,oBAAoB,EAAE,cAAc,CAAC,QAAQ,CAAkB,CAAC;AAC7E,yEAAyE;AACzE,eAAO,MAAM,iBAAiB,EAAE,cAAc,CAAC,KAAK,CAAe,CAAC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OTTER_KEYWORD_CMS = exports.OTTER_MODULE_KEYWORD = exports.OTTER_MODULE_SUPPORTED_SCOPES = exports.OTTER_MODULE_PREFIX = void 0;
4
+ /** Prefix of the Otter module keyword tags */
5
+ exports.OTTER_MODULE_PREFIX = 'otter-';
6
+ /** List of whitelisted package scopes for Otter modules */
7
+ exports.OTTER_MODULE_SUPPORTED_SCOPES = ['otter', 'o3r'];
8
+ /** Keyword defining an Otter compatible module */
9
+ exports.OTTER_MODULE_KEYWORD = 'otter-module';
10
+ /** Package Keyword to identify the module allowing CMS administration */
11
+ exports.OTTER_KEYWORD_CMS = 'otter-cms';
12
+ //# sourceMappingURL=modules.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modules.constants.js","sourceRoot":"","sources":["../../src/modules/modules.constants.ts"],"names":[],"mappings":";;;AAyBA,8CAA8C;AACjC,QAAA,mBAAmB,GAAG,QAAQ,CAAC;AAG5C,2DAA2D;AAC9C,QAAA,6BAA6B,GAAG,CAAC,OAAO,EAAE,KAAK,CAAU,CAAC;AACvE,kDAAkD;AACrC,QAAA,oBAAoB,GAA6B,cAAc,CAAC;AAC7E,yEAAyE;AAC5D,QAAA,iBAAiB,GAA0B,WAAW,CAAC"}
@@ -0,0 +1,60 @@
1
+ import { NpmRegistryPackage } from './modules.constants';
2
+ import type { logging } from '@angular-devkit/core';
3
+ import { PackageManagerOptions, SupportedPackageManagerExecutors } from '../utility';
4
+ /**
5
+ * Determine if the given keyword is an Otter tag
6
+ *
7
+ * @param keyword Keyword to identify
8
+ * @param expect tag expected for the Otter keyword
9
+ */
10
+ export declare const isOtterTag: <T extends string | undefined>(keyword: any, expect?: T | undefined) => keyword is `otter-${T extends undefined ? "" : T}`;
11
+ /** Options for getAvailableModules function */
12
+ export interface AvailableModuleOptions extends PackageManagerOptions {
13
+ /**
14
+ * Determine if only the packages that are NOT installed should be returned
15
+ *
16
+ * @default false
17
+ */
18
+ onlyNotInstalled?: boolean;
19
+ /**
20
+ * Npm Registry to fetch to get the package information
21
+ *
22
+ * @default registry.npmjs.org
23
+ */
24
+ npmRegistryToFetch?: string;
25
+ }
26
+ /**
27
+ * Get Available Otter modules on NPMjs.org
28
+ *
29
+ * @param keyword Keyword to search for Otter modules
30
+ * @param scopeWhitelist List of whitelisted scopes
31
+ * @param options
32
+ */
33
+ export declare function getAvailableModules(keyword: string, scopeWhitelist: string[] | readonly string[], options?: AvailableModuleOptions): Promise<NpmRegistryPackage[]>;
34
+ /** Options for getAvailableModulesWithLatestPackage function */
35
+ export interface AvailableModuleOptionsWithLatestPackage extends AvailableModuleOptions {
36
+ /**
37
+ * List of whitelisted scopes
38
+ *
39
+ * @default {@see OTTER_MODULE_SUPPORTED_SCOPES}
40
+ */
41
+ scopeWhitelist?: string[] | readonly string[];
42
+ }
43
+ /**
44
+ * Get Available Otter modules on NPMjs.org and get latest package information
45
+ * Similar to {@link getAvailableModules} with additional calls to retrieve all the package's information
46
+ *
47
+ * @param keyword Keyword to search for Otter modules
48
+ * @param options
49
+ */
50
+ export declare function getAvailableModulesWithLatestPackage(keyword: string | undefined, options: AvailableModuleOptionsWithLatestPackage): Promise<NpmRegistryPackage[]>;
51
+ /**
52
+ * Format a module description to be displayed in the terminal
53
+ *
54
+ * @param npmPackage Npm Package to display
55
+ * @param runner runner according to the context
56
+ * @param keywordTags Mapping of the NPM package Keywords and a displayed tag
57
+ * @param logger Logger to use to report package read failure (as debug message)
58
+ */
59
+ export declare function formatModuleDescription(npmPackage: NpmRegistryPackage, runner?: SupportedPackageManagerExecutors, keywordTags?: Record<string, string>, logger?: logging.LoggerApi): string;
60
+ //# sourceMappingURL=modules.helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modules.helpers.d.ts","sourceRoot":"","sources":["../../src/modules/modules.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAuH,MAAM,qBAAqB,CAAC;AAG9K,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAUpD,OAAO,EAAqB,qBAAqB,EAAE,gCAAgC,EAAE,MAAM,YAAY,CAAC;AAmDxG;;;;;GAKG;AACH,eAAO,MAAM,UAAU,0CAA2C,GAAG,+EAGpE,CAAC;AAEF,+CAA+C;AAC/C,MAAM,WAAW,sBAAuB,SAAQ,qBAAqB;IACnE;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAsBxK;AAED,gEAAgE;AAChE,MAAM,WAAW,uCAAwC,SAAQ,sBAAsB;IACrF;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,CAAC;CAC/C;AAED;;;;;;GAMG;AACH,wBAAsB,oCAAoC,CAAC,OAAO,oBAA+B,EAAE,OAAO,EAAE,uCAAuC,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAoBlL;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,kBAAkB,EAAE,MAAM,GAAE,gCAAwC,EAAE,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,UA8B7L"}
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatModuleDescription = exports.getAvailableModulesWithLatestPackage = exports.getAvailableModules = exports.isOtterTag = void 0;
4
+ const modules_constants_1 = require("./modules.constants");
5
+ const package_version_1 = require("../utility/package-version");
6
+ const semver_1 = require("semver");
7
+ const node_https_1 = require("node:https");
8
+ const node_os_1 = require("node:os");
9
+ const fs = require("node:fs");
10
+ const path = require("node:path");
11
+ const node_util_1 = require("node:util");
12
+ const node_child_process_1 = require("node:child_process");
13
+ const chalk = require("chalk");
14
+ const utility_1 = require("../utility");
15
+ const DEFAULT_NPM_REGISTRY = 'registry.npmjs.org';
16
+ async function promiseGetRequest(url) {
17
+ const res = await new Promise((resolve, reject) => (0, node_https_1.get)(url, resolve)
18
+ .on('error', (err) => reject(err)));
19
+ return new Promise((resolve, reject) => {
20
+ const data = [];
21
+ res.on('data', (chunk) => data.push(chunk));
22
+ res.on('end', () => resolve(JSON.parse(Buffer.concat(data).toString())));
23
+ res.on('error', reject);
24
+ });
25
+ }
26
+ /**
27
+ * Execute NPM search command if not run with other client
28
+ *
29
+ * @param search search text
30
+ * @param packageManager Package manager to use, determined automatically if not specified
31
+ * @param packageManagerOptions
32
+ * @param logger
33
+ */
34
+ async function npmSearchExec(search, packageManagerOptions, logger) {
35
+ const manager = (0, utility_1.getPackageManager)(packageManagerOptions);
36
+ switch (manager) {
37
+ case 'npm': {
38
+ const remoteModulesPromise = (0, node_util_1.promisify)(node_child_process_1.exec)(`npm search "${search}" --json`);
39
+ try {
40
+ const results = JSON.parse((await remoteModulesPromise).stdout);
41
+ return results
42
+ .reduce((acc, pck) => {
43
+ acc.objects.push({ package: pck });
44
+ return acc;
45
+ }, { objects: [] });
46
+ }
47
+ catch {
48
+ return undefined;
49
+ }
50
+ }
51
+ case 'yarn': {
52
+ logger?.warn('The Yarn Package Manager is not supported, the Rest API will be used (the registry configuration will be ignored)');
53
+ return undefined;
54
+ }
55
+ default: {
56
+ logger?.warn('Not supported Package Manager, the Rest API will be used');
57
+ return undefined;
58
+ }
59
+ }
60
+ }
61
+ /**
62
+ * Determine if the given keyword is an Otter tag
63
+ *
64
+ * @param keyword Keyword to identify
65
+ * @param expect tag expected for the Otter keyword
66
+ */
67
+ const isOtterTag = (keyword, expect) => {
68
+ const isTag = typeof keyword === 'string' && keyword.startsWith(modules_constants_1.OTTER_MODULE_PREFIX);
69
+ return (isTag && expect && keyword === `${modules_constants_1.OTTER_MODULE_PREFIX}${expect}`) || isTag;
70
+ };
71
+ exports.isOtterTag = isOtterTag;
72
+ /**
73
+ * Get Available Otter modules on NPMjs.org
74
+ *
75
+ * @param keyword Keyword to search for Otter modules
76
+ * @param scopeWhitelist List of whitelisted scopes
77
+ * @param options
78
+ */
79
+ async function getAvailableModules(keyword, scopeWhitelist, options) {
80
+ const search = `keywords:${keyword}`;
81
+ const npmRegistry = options?.npmRegistryToFetch || DEFAULT_NPM_REGISTRY;
82
+ const registry = await npmSearchExec(search) || await promiseGetRequest(`https://${npmRegistry}/-/v1/search?text=${search}&size=250`);
83
+ let packages = registry.objects
84
+ .filter((pck) => pck.package?.scope && scopeWhitelist.includes(pck.package?.scope))
85
+ .map((pck) => pck.package);
86
+ if (options?.onlyNotInstalled) {
87
+ packages = packages
88
+ .filter((pck) => {
89
+ try {
90
+ require.resolve(path.posix.join(pck.name, 'package.json'));
91
+ return false;
92
+ }
93
+ catch {
94
+ return true;
95
+ }
96
+ });
97
+ }
98
+ return packages;
99
+ }
100
+ exports.getAvailableModules = getAvailableModules;
101
+ /**
102
+ * Get Available Otter modules on NPMjs.org and get latest package information
103
+ * Similar to {@link getAvailableModules} with additional calls to retrieve all the package's information
104
+ *
105
+ * @param keyword Keyword to search for Otter modules
106
+ * @param options
107
+ */
108
+ async function getAvailableModulesWithLatestPackage(keyword = modules_constants_1.OTTER_MODULE_KEYWORD, options) {
109
+ const scopeWhitelist = options.scopeWhitelist || modules_constants_1.OTTER_MODULE_SUPPORTED_SCOPES;
110
+ const packages = await getAvailableModules(keyword, scopeWhitelist, options);
111
+ const npmRegistry = options?.npmRegistryToFetch || DEFAULT_NPM_REGISTRY;
112
+ return Promise.all(packages
113
+ .map(async (pck) => {
114
+ try {
115
+ const pckInfo = await promiseGetRequest(`https://${npmRegistry}/${pck.name}/latest`);
116
+ return {
117
+ ...pck,
118
+ package: pckInfo
119
+ };
120
+ }
121
+ catch {
122
+ options.logger?.debug(`Failed to retrieve information for ${pck.name}`);
123
+ return pck;
124
+ }
125
+ }));
126
+ }
127
+ exports.getAvailableModulesWithLatestPackage = getAvailableModulesWithLatestPackage;
128
+ /**
129
+ * Format a module description to be displayed in the terminal
130
+ *
131
+ * @param npmPackage Npm Package to display
132
+ * @param runner runner according to the context
133
+ * @param keywordTags Mapping of the NPM package Keywords and a displayed tag
134
+ * @param logger Logger to use to report package read failure (as debug message)
135
+ */
136
+ function formatModuleDescription(npmPackage, runner = 'npx', keywordTags = {}, logger) {
137
+ let otterVersion;
138
+ const otterCorePackageName = '@o3r/core';
139
+ const otterCoreRange = npmPackage.package?.peerDependencies?.[otterCorePackageName];
140
+ if (npmPackage.package) {
141
+ try {
142
+ const otterCorePackage = (0, package_version_1.findClosestPackageJson)(require.resolve(otterCorePackageName));
143
+ if (otterCorePackage) {
144
+ const { version } = JSON.parse(fs.readFileSync(otterCorePackage, { encoding: 'utf-8' }));
145
+ otterVersion = version;
146
+ }
147
+ }
148
+ catch {
149
+ logger?.debug('Fail to find local Otter installation');
150
+ }
151
+ }
152
+ const flags = npmPackage.keywords
153
+ ?.filter((key) => (0, exports.isOtterTag)(key) && key !== modules_constants_1.OTTER_MODULE_KEYWORD)
154
+ .map((key) => keywordTags[key] || key.replace(modules_constants_1.OTTER_MODULE_PREFIX, '')) || [];
155
+ const outdatedWarning = otterVersion && otterCoreRange && !(0, semver_1.satisfies)(otterVersion, otterCoreRange) ? ' ' + chalk.yellow(`(outdated, supporting ${otterCoreRange})`) : '';
156
+ const lines = [
157
+ chalk.bold(`${runner} ng add ${chalk.cyan(npmPackage.name)}`) + outdatedWarning,
158
+ chalk.italic(npmPackage.description || '<no description>'),
159
+ ...(npmPackage.links?.npm ? [chalk.italic.grey(`(details on ${npmPackage.links.npm})`)] : []),
160
+ ...(flags.length > 0 ? [`Tags: ${flags.map((flag) => chalk.cyan(flag)).join(', ')}`] : [])
161
+ ];
162
+ return lines.join(node_os_1.EOL);
163
+ }
164
+ exports.formatModuleDescription = formatModuleDescription;
165
+ //# sourceMappingURL=modules.helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modules.helpers.js","sourceRoot":"","sources":["../../src/modules/modules.helpers.ts"],"names":[],"mappings":";;;AAAA,2DAA8K;AAI9K,gEAAoE;AACpE,mCAAmC;AACnC,2CAAiC;AACjC,qCAA8B;AAC9B,8BAA8B;AAC9B,kCAAkC;AAClC,yCAAsC;AACtC,2DAA0C;AAC1C,+BAA+B;AAC/B,wCAAwG;AAExG,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AAElD,KAAK,UAAU,iBAAiB,CAAuB,GAAW;IAChE,MAAM,GAAG,GAAG,MAAM,IAAI,OAAO,CAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,IAAA,gBAAG,EAAC,GAAG,EAAE,OAAO,CAAC;SAClF,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEtC,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxC,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5C,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QACzE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,aAAa,CAAC,MAAc,EAAE,qBAA6C,EAAE,MAA0B;IACpH,MAAM,OAAO,GAAG,IAAA,2BAAiB,EAAC,qBAAqB,CAAC,CAAC;IACzD,QAAQ,OAAO,EAAE;QACf,KAAK,KAAK,CAAC,CAAC;YACV,MAAM,oBAAoB,GAAG,IAAA,qBAAS,EAAC,yBAAI,CAAC,CAAC,eAAe,MAAM,UAAU,CAAC,CAAC;YAC9E,IAAI;gBACF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,oBAAoB,CAAC,CAAC,MAAM,CAAyB,CAAC;gBACxF,OAAO,OAAO;qBACX,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;oBACnB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;oBACnC,OAAO,GAAG,CAAC;gBACb,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAA+B,CAAC,CAAC;aACpD;YAAC,MAAM;gBACN,OAAO,SAAS,CAAC;aAClB;SACF;QACD,KAAK,MAAM,CAAC,CAAC;YACX,MAAM,EAAE,IAAI,CAAC,mHAAmH,CAAC,CAAC;YAClI,OAAO,SAAS,CAAC;SAClB;QACD,OAAO,CAAC,CAAC;YACP,MAAM,EAAE,IAAI,CAAC,0DAA0D,CAAC,CAAC;YACzE,OAAO,SAAS,CAAC;SAClB;KACF;AACH,CAAC;AAED;;;;;GAKG;AACI,MAAM,UAAU,GAAG,CAA+B,OAAY,EAAE,MAAU,EAA2D,EAAE;IAC5I,MAAM,KAAK,GAAG,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,uCAAmB,CAAC,CAAC;IACrF,OAAO,CAAC,KAAK,IAAI,MAAM,IAAI,OAAO,KAAK,GAAG,uCAAmB,GAAG,MAAM,EAAE,CAAC,IAAI,KAAK,CAAC;AACrF,CAAC,CAAC;AAHW,QAAA,UAAU,cAGrB;AAmBF;;;;;;GAMG;AACI,KAAK,UAAU,mBAAmB,CAAC,OAAe,EAAE,cAA4C,EAAE,OAAgC;IACvI,MAAM,MAAM,GAAG,YAAY,OAAO,EAAE,CAAC;IACrC,MAAM,WAAW,GAAG,OAAO,EAAE,kBAAkB,IAAI,oBAAoB,CAAC;IACxE,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,iBAAiB,CAA4B,WAAW,WAAW,qBAAqB,MAAM,WAAW,CAAC,CAAC;IAEjK,IAAI,QAAQ,GAAG,QAAQ,CAAC,OAAO;SAC5B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SAClF,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAQ,CAAC,CAAC;IAE9B,IAAI,OAAO,EAAE,gBAAgB,EAAE;QAC7B,QAAQ,GAAG,QAAQ;aAChB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;YACd,IAAI;gBACF,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;gBAC3D,OAAO,KAAK,CAAC;aACd;YAAC,MAAM;gBACN,OAAO,IAAI,CAAC;aACb;QACH,CAAC,CAAC,CAAC;KACN;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAtBD,kDAsBC;AAYD;;;;;;GAMG;AACI,KAAK,UAAU,oCAAoC,CAAC,UAAkB,wCAAoB,EAAE,OAAgD;IACjJ,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,iDAA6B,CAAC;IAC/E,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAC7E,MAAM,WAAW,GAAG,OAAO,EAAE,kBAAkB,IAAI,oBAAoB,CAAC;IAExE,OAAO,OAAO,CAAC,GAAG,CAChB,QAAQ;SACL,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACjB,IAAI;YACF,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAc,WAAW,WAAW,IAAI,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC;YAClG,OAAO;gBACL,GAAG,GAAG;gBACN,OAAO,EAAE,OAAO;aACjB,CAAC;SACH;QAAC,MAAM;YACN,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,sCAAsC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YACxE,OAAO,GAAG,CAAC;SACZ;IACH,CAAC,CAAC,CACL,CAAC;AACJ,CAAC;AApBD,oFAoBC;AAED;;;;;;;GAOG;AACH,SAAgB,uBAAuB,CAAC,UAA8B,EAAE,SAA2C,KAAK,EAAE,cAAsC,EAAE,EAAE,MAA0B;IAC5L,IAAI,YAAgC,CAAC;IACrC,MAAM,oBAAoB,GAAG,WAAW,CAAC;IACzC,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC,oBAAoB,CAAC,CAAC;IAEpF,IAAI,UAAU,CAAC,OAAO,EAAE;QACtB,IAAI;YACF,MAAM,gBAAgB,GAAG,IAAA,wCAAsB,EAAC,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;YACvF,IAAI,gBAAgB,EAAE;gBACpB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAgB,CAAC;gBACxG,YAAY,GAAG,OAAO,CAAC;aACxB;SACF;QAAC,MAAM;YACN,MAAM,EAAE,KAAK,CAAC,uCAAuC,CAAC,CAAC;SACxD;KACF;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ;QAC/B,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,kBAAU,EAAC,GAAG,CAAC,IAAI,GAAG,KAAK,wCAAoB,CAAC;SACjE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,uCAAmB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAEhF,MAAM,eAAe,GAAG,YAAY,IAAI,cAAc,IAAI,CAAC,IAAA,kBAAS,EAAC,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,yBAAyB,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzK,MAAM,KAAK,GAAG;QACZ,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,WAAW,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,eAAe;QAC/E,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,IAAI,kBAAkB,CAAC;QAC1D,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7F,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3F,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,aAAG,CAAC,CAAC;AACzB,CAAC;AA9BD,0DA8BC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@o3r/schematics",
3
- "version": "9.1.0-alpha.21",
3
+ "version": "9.1.0-alpha.22",
4
4
  "description": "Schematics module of the Otter framework",
5
5
  "main": "./src/index.js",
6
6
  "keywords": [
@@ -59,9 +59,9 @@
59
59
  "@nx/jest": "~16.5.0",
60
60
  "@nx/js": "~16.5.0",
61
61
  "@nx/linter": "~16.5.0",
62
- "@o3r/build-helpers": "^9.1.0-alpha.21",
63
- "@o3r/dev-tools": "^9.1.0-alpha.21",
64
- "@o3r/eslint-plugin": "^9.1.0-alpha.21",
62
+ "@o3r/build-helpers": "^9.1.0-alpha.22",
63
+ "@o3r/dev-tools": "^9.1.0-alpha.22",
64
+ "@o3r/eslint-plugin": "^9.1.0-alpha.22",
65
65
  "@schematics/angular": "~16.0.5",
66
66
  "@types/jest": "~29.5.2",
67
67
  "@types/node": "^18.0.0",
@@ -0,0 +1,2 @@
1
+ export * from './index';
2
+ //# sourceMappingURL=public_api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public_api.d.ts","sourceRoot":"","sources":["../src/public_api.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
package/public_api.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./index"), exports);
5
+ //# sourceMappingURL=public_api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public_api.js","sourceRoot":"","sources":["../src/public_api.ts"],"names":[],"mappings":";;;AAAA,kDAAwB"}
@@ -0,0 +1,12 @@
1
+ import { Rule } from '@angular-devkit/schematics';
2
+ /**
3
+ * Rule to add imports to a file
4
+ *
5
+ * @param filePath
6
+ * @param imports
7
+ */
8
+ export declare const addImportsRule: (filePath: string, imports: {
9
+ from: string;
10
+ importNames: string[];
11
+ }[]) => Rule;
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rule-factories/add-imports/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAKlD;;;;;GAKG;AACH,eAAO,MAAM,cAAc,aACf,MAAM,WACP;IACP,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,EAAE,KACF,IAkBF,CAAC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addImportsRule = void 0;
4
+ const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
5
+ const change_1 = require("@schematics/angular/utility/change");
6
+ const ts = require("typescript");
7
+ /**
8
+ * Rule to add imports to a file
9
+ *
10
+ * @param filePath
11
+ * @param imports
12
+ */
13
+ const addImportsRule = (filePath, imports) => (tree, context) => {
14
+ if (!tree.exists(filePath)) {
15
+ context.logger.warn(`No update applied on file because ${filePath} does not exist.`);
16
+ return;
17
+ }
18
+ const sourceFile = ts.createSourceFile(filePath, tree.readText(filePath), ts.ScriptTarget.ES2020, true);
19
+ const recorder = tree.beginUpdate(filePath);
20
+ const changes = imports.reduce((acc, { importNames, from }) => acc.concat(importNames.map((importName) => (0, ast_utils_1.insertImport)(sourceFile, filePath, importName, from))), []);
21
+ (0, change_1.applyToUpdateRecorder)(recorder, changes);
22
+ tree.commitUpdate(recorder);
23
+ return tree;
24
+ };
25
+ exports.addImportsRule = addImportsRule;
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rule-factories/add-imports/index.ts"],"names":[],"mappings":";;;AACA,qEAAqE;AACrE,+DAAmF;AACnF,iCAAiC;AAEjC;;;;;GAKG;AACI,MAAM,cAAc,GAAG,CAC5B,QAAgB,EAChB,OAGG,EACG,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;QAC1B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,QAAQ,kBAAkB,CAAC,CAAC;QACrF,OAAO;KACR;IACD,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CACpC,QAAQ,EACR,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EACvB,EAAE,CAAC,YAAY,CAAC,MAAM,EACtB,IAAI,CACL,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAa,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CACjF,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAA,wBAAY,EAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CACtF,EAAE,EAAE,CAAC,CAAC;IACP,IAAA,8BAAqB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACzC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC5B,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAxBW,QAAA,cAAc,kBAwBzB"}
@@ -0,0 +1,8 @@
1
+ import { SchematicContext, Tree } from '@angular-devkit/schematics';
2
+ /**
3
+ * List peer deps packages of the given package, display a warning if version mismatch, error if peer dep is missing
4
+ *
5
+ * @param packageName The package to check peer deps for
6
+ */
7
+ export declare function checkPackagesRule(packageName: string): (tree: Tree, context: SchematicContext) => import("@angular-devkit/schematics/src/tree/interface").Tree;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rule-factories/check-packages-peers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAgHpE;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,UACrC,IAAI,6FAKnB"}