@rxap/plugin-angular 20.0.1-dev.1 → 20.0.1-dev.11

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 (274) hide show
  1. package/.eslintignore +6 -0
  2. package/.eslintrc.json +44 -0
  3. package/CHANGELOG.md +43 -0
  4. package/LICENSE +621 -0
  5. package/README.md.handlebars +115 -0
  6. package/jest.config.ts +11 -0
  7. package/package.json +11 -24
  8. package/project.json +68 -0
  9. package/schematics.yaml +6 -0
  10. package/src/application.ts +124 -0
  11. package/src/executors/check-ng-package/executor.ts +33 -0
  12. package/src/executors/config/executor.ts +74 -0
  13. package/src/executors/i18n/executor.ts +198 -0
  14. package/src/executors/tailwind/executor.ts +34 -0
  15. package/src/generators/convert-to-buildable-library/generator.ts +110 -0
  16. package/src/generators/fix-schematic/generator.ts +103 -0
  17. package/src/generators/fix-schematic/index.ts +5 -0
  18. package/src/generators/init/coerce-nx-json.ts +72 -0
  19. package/src/generators/init/generator.ts +28 -0
  20. package/src/generators/init/index.ts +5 -0
  21. package/src/generators/init/init-workspace.ts +84 -0
  22. package/src/generators/init-application/assert-main-statements.ts +74 -0
  23. package/src/generators/init-application/cleanup.ts +127 -0
  24. package/src/generators/init-application/coerce-app-config.ts +147 -0
  25. package/src/generators/init-application/coerce-environment-files.ts +105 -0
  26. package/src/generators/init-application/coerce-localazy-config-file.ts +26 -0
  27. package/src/generators/init-application/coerce-project.ts +128 -0
  28. package/src/generators/init-application/generate-authentication.ts +122 -0
  29. package/src/generators/init-application/generate-monolithic.spec.ts +45 -0
  30. package/src/generators/init-application/generate-monolithic.ts +57 -0
  31. package/src/generators/init-application/generator.ts +356 -0
  32. package/src/generators/init-application/index.ts +5 -0
  33. package/src/generators/init-application/link-mfe-remote-with-host.ts +60 -0
  34. package/src/generators/init-application/project-i18n-configuration.ts +4 -0
  35. package/src/generators/init-application/update-git-ignore.ts +22 -0
  36. package/src/generators/init-application/update-main-file.ts +118 -0
  37. package/src/generators/init-application/update-project-targets.ts +229 -0
  38. package/src/generators/init-application/update-tags.ts +30 -0
  39. package/src/generators/init-application/update-target-defaults.ts +43 -0
  40. package/src/generators/init-application/update-ts-config.ts +31 -0
  41. package/src/generators/init-component/generator.ts +147 -0
  42. package/src/generators/init-component/index.ts +5 -0
  43. package/src/generators/init-feature/generator.ts +77 -0
  44. package/src/generators/init-feature/index.ts +5 -0
  45. package/src/generators/init-feature-library/generator.ts +82 -0
  46. package/src/generators/init-feature-library/index.ts +5 -0
  47. package/src/generators/init-feature-library/init-project.ts +53 -0
  48. package/src/generators/init-feature-library/init-workspace.ts +10 -0
  49. package/src/generators/init-library/check-if-secondary-entrypoint-include-in-the-ts-config.ts +46 -0
  50. package/src/generators/init-library/cleanup.ts +22 -0
  51. package/src/generators/init-library/coerce-projects.ts +118 -0
  52. package/src/generators/init-library/coerce-tailwind-theme-scss.ts +27 -0
  53. package/src/generators/init-library/extend-angular-specific-eslint.ts +37 -0
  54. package/src/generators/init-library/generator.ts +87 -0
  55. package/src/generators/init-library/has-index-scss.ts +14 -0
  56. package/src/generators/init-library/has-tailwind-config.ts +9 -0
  57. package/src/generators/init-library/index.ts +5 -0
  58. package/src/generators/init-library/init-project.ts +46 -0
  59. package/src/generators/init-library/init-workspace.ts +26 -0
  60. package/src/generators/init-library/is-ng-packagr-project.ts +9 -0
  61. package/src/generators/init-library/ng-package-json.ts +23 -0
  62. package/src/generators/init-library/set-general-target-defaults.ts +36 -0
  63. package/src/generators/init-library/update-package-json.ts +26 -0
  64. package/src/generators/init-library/update-project-ng-package-configuration.ts +51 -0
  65. package/src/generators/init-library/update-ts-config.ts +24 -0
  66. package/src/generators/schematic/generator.ts +179 -0
  67. package/src/generators/schematic/index.ts +5 -0
  68. package/src/i18n.ts +130 -0
  69. package/src/lib/angular-version.ts +1 -0
  70. package/src/lib/coerce-cypress-component-testing.ts +113 -0
  71. package/src/lib/coerce-test-setup.ts +60 -0
  72. package/src/library.ts +153 -0
  73. package/src/migrations/update-19-0-0/add-m2-prefix-to-material-scss-functions.ts +32 -0
  74. package/src/migrations/update-19-0-0/migration.ts +283 -0
  75. package/src/test-setup.ts +24 -0
  76. package/tsconfig.json +20 -0
  77. package/tsconfig.lib.json +10 -0
  78. package/tsconfig.spec.json +15 -0
  79. package/tsconfig.typedoc.json +5 -0
  80. package/src/application.d.ts +0 -6
  81. package/src/application.js +0 -77
  82. package/src/application.js.map +0 -1
  83. package/src/executors/check-ng-package/executor.d.ts +0 -5
  84. package/src/executors/check-ng-package/executor.js +0 -30
  85. package/src/executors/check-ng-package/executor.js.map +0 -1
  86. package/src/executors/config/executor.d.ts +0 -10
  87. package/src/executors/config/executor.js +0 -65
  88. package/src/executors/config/executor.js.map +0 -1
  89. package/src/executors/i18n/executor.d.ts +0 -9
  90. package/src/executors/i18n/executor.js +0 -158
  91. package/src/executors/i18n/executor.js.map +0 -1
  92. package/src/executors/tailwind/executor.d.ts +0 -5
  93. package/src/executors/tailwind/executor.js +0 -31
  94. package/src/executors/tailwind/executor.js.map +0 -1
  95. package/src/generators/convert-to-buildable-library/generator.d.ts +0 -4
  96. package/src/generators/convert-to-buildable-library/generator.js +0 -88
  97. package/src/generators/convert-to-buildable-library/generator.js.map +0 -1
  98. package/src/generators/fix-schematic/generator.d.ts +0 -4
  99. package/src/generators/fix-schematic/generator.js +0 -72
  100. package/src/generators/fix-schematic/generator.js.map +0 -1
  101. package/src/generators/fix-schematic/index.d.ts +0 -2
  102. package/src/generators/fix-schematic/index.js +0 -7
  103. package/src/generators/fix-schematic/index.js.map +0 -1
  104. package/src/generators/init/coerce-nx-json.d.ts +0 -3
  105. package/src/generators/init/coerce-nx-json.js +0 -74
  106. package/src/generators/init/coerce-nx-json.js.map +0 -1
  107. package/src/generators/init/generator.d.ts +0 -4
  108. package/src/generators/init/generator.js +0 -19
  109. package/src/generators/init/generator.js.map +0 -1
  110. package/src/generators/init/index.d.ts +0 -2
  111. package/src/generators/init/index.js +0 -7
  112. package/src/generators/init/index.js.map +0 -1
  113. package/src/generators/init/init-workspace.d.ts +0 -3
  114. package/src/generators/init/init-workspace.js +0 -73
  115. package/src/generators/init/init-workspace.js.map +0 -1
  116. package/src/generators/init-application/assert-main-statements.d.ts +0 -4
  117. package/src/generators/init-application/assert-main-statements.js +0 -76
  118. package/src/generators/init-application/assert-main-statements.js.map +0 -1
  119. package/src/generators/init-application/cleanup.d.ts +0 -3
  120. package/src/generators/init-application/cleanup.js +0 -108
  121. package/src/generators/init-application/cleanup.js.map +0 -1
  122. package/src/generators/init-application/coerce-app-config.d.ts +0 -3
  123. package/src/generators/init-application/coerce-app-config.js +0 -143
  124. package/src/generators/init-application/coerce-app-config.js.map +0 -1
  125. package/src/generators/init-application/coerce-environment-files.d.ts +0 -5
  126. package/src/generators/init-application/coerce-environment-files.js +0 -75
  127. package/src/generators/init-application/coerce-environment-files.js.map +0 -1
  128. package/src/generators/init-application/coerce-localazy-config-file.d.ts +0 -2
  129. package/src/generators/init-application/coerce-localazy-config-file.js +0 -25
  130. package/src/generators/init-application/coerce-localazy-config-file.js.map +0 -1
  131. package/src/generators/init-application/coerce-project.d.ts +0 -4
  132. package/src/generators/init-application/coerce-project.js +0 -56
  133. package/src/generators/init-application/coerce-project.js.map +0 -1
  134. package/src/generators/init-application/generate-authentication.d.ts +0 -3
  135. package/src/generators/init-application/generate-authentication.js +0 -97
  136. package/src/generators/init-application/generate-authentication.js.map +0 -1
  137. package/src/generators/init-application/generate-monolithic.d.ts +0 -3
  138. package/src/generators/init-application/generate-monolithic.js +0 -45
  139. package/src/generators/init-application/generate-monolithic.js.map +0 -1
  140. package/src/generators/init-application/generator.d.ts +0 -4
  141. package/src/generators/init-application/generator.js +0 -257
  142. package/src/generators/init-application/generator.js.map +0 -1
  143. package/src/generators/init-application/index.d.ts +0 -2
  144. package/src/generators/init-application/index.js +0 -7
  145. package/src/generators/init-application/index.js.map +0 -1
  146. package/src/generators/init-application/link-mfe-remote-with-host.d.ts +0 -3
  147. package/src/generators/init-application/link-mfe-remote-with-host.js +0 -54
  148. package/src/generators/init-application/link-mfe-remote-with-host.js.map +0 -1
  149. package/src/generators/init-application/project-i18n-configuration.d.ts +0 -7
  150. package/src/generators/init-application/project-i18n-configuration.js +0 -3
  151. package/src/generators/init-application/project-i18n-configuration.js.map +0 -1
  152. package/src/generators/init-application/update-git-ignore.d.ts +0 -3
  153. package/src/generators/init-application/update-git-ignore.js +0 -17
  154. package/src/generators/init-application/update-git-ignore.js.map +0 -1
  155. package/src/generators/init-application/update-main-file.d.ts +0 -3
  156. package/src/generators/init-application/update-main-file.js +0 -106
  157. package/src/generators/init-application/update-main-file.js.map +0 -1
  158. package/src/generators/init-application/update-project-targets.d.ts +0 -6
  159. package/src/generators/init-application/update-project-targets.js +0 -210
  160. package/src/generators/init-application/update-project-targets.js.map +0 -1
  161. package/src/generators/init-application/update-tags.d.ts +0 -3
  162. package/src/generators/init-application/update-tags.js +0 -25
  163. package/src/generators/init-application/update-tags.js.map +0 -1
  164. package/src/generators/init-application/update-target-defaults.d.ts +0 -3
  165. package/src/generators/init-application/update-target-defaults.js +0 -30
  166. package/src/generators/init-application/update-target-defaults.js.map +0 -1
  167. package/src/generators/init-application/update-ts-config.d.ts +0 -2
  168. package/src/generators/init-application/update-ts-config.js +0 -30
  169. package/src/generators/init-application/update-ts-config.js.map +0 -1
  170. package/src/generators/init-component/generator.d.ts +0 -5
  171. package/src/generators/init-component/generator.js +0 -106
  172. package/src/generators/init-component/generator.js.map +0 -1
  173. package/src/generators/init-component/index.d.ts +0 -2
  174. package/src/generators/init-component/index.js +0 -7
  175. package/src/generators/init-component/index.js.map +0 -1
  176. package/src/generators/init-feature/generator.d.ts +0 -4
  177. package/src/generators/init-feature/generator.js +0 -53
  178. package/src/generators/init-feature/generator.js.map +0 -1
  179. package/src/generators/init-feature/index.d.ts +0 -2
  180. package/src/generators/init-feature/index.js +0 -7
  181. package/src/generators/init-feature/index.js.map +0 -1
  182. package/src/generators/init-feature-library/generator.d.ts +0 -4
  183. package/src/generators/init-feature-library/generator.js +0 -51
  184. package/src/generators/init-feature-library/generator.js.map +0 -1
  185. package/src/generators/init-feature-library/index.d.ts +0 -2
  186. package/src/generators/init-feature-library/index.js +0 -7
  187. package/src/generators/init-feature-library/index.js.map +0 -1
  188. package/src/generators/init-feature-library/init-project.d.ts +0 -3
  189. package/src/generators/init-feature-library/init-project.js +0 -41
  190. package/src/generators/init-feature-library/init-project.js.map +0 -1
  191. package/src/generators/init-feature-library/init-workspace.d.ts +0 -3
  192. package/src/generators/init-feature-library/init-workspace.js +0 -12
  193. package/src/generators/init-feature-library/init-workspace.js.map +0 -1
  194. package/src/generators/init-library/check-if-secondary-entrypoint-include-in-the-ts-config.d.ts +0 -2
  195. package/src/generators/init-library/check-if-secondary-entrypoint-include-in-the-ts-config.js +0 -39
  196. package/src/generators/init-library/check-if-secondary-entrypoint-include-in-the-ts-config.js.map +0 -1
  197. package/src/generators/init-library/cleanup.d.ts +0 -2
  198. package/src/generators/init-library/cleanup.js +0 -16
  199. package/src/generators/init-library/cleanup.js.map +0 -1
  200. package/src/generators/init-library/coerce-projects.d.ts +0 -3
  201. package/src/generators/init-library/coerce-projects.js +0 -92
  202. package/src/generators/init-library/coerce-projects.js.map +0 -1
  203. package/src/generators/init-library/coerce-tailwind-theme-scss.d.ts +0 -2
  204. package/src/generators/init-library/coerce-tailwind-theme-scss.js +0 -22
  205. package/src/generators/init-library/coerce-tailwind-theme-scss.js.map +0 -1
  206. package/src/generators/init-library/extend-angular-specific-eslint.d.ts +0 -2
  207. package/src/generators/init-library/extend-angular-specific-eslint.js +0 -25
  208. package/src/generators/init-library/extend-angular-specific-eslint.js.map +0 -1
  209. package/src/generators/init-library/generator.d.ts +0 -4
  210. package/src/generators/init-library/generator.js +0 -56
  211. package/src/generators/init-library/generator.js.map +0 -1
  212. package/src/generators/init-library/has-index-scss.d.ts +0 -2
  213. package/src/generators/init-library/has-index-scss.js +0 -11
  214. package/src/generators/init-library/has-index-scss.js.map +0 -1
  215. package/src/generators/init-library/has-tailwind-config.d.ts +0 -2
  216. package/src/generators/init-library/has-tailwind-config.js +0 -8
  217. package/src/generators/init-library/has-tailwind-config.js.map +0 -1
  218. package/src/generators/init-library/index.d.ts +0 -2
  219. package/src/generators/init-library/index.js +0 -7
  220. package/src/generators/init-library/index.js.map +0 -1
  221. package/src/generators/init-library/init-project.d.ts +0 -3
  222. package/src/generators/init-library/init-project.js +0 -37
  223. package/src/generators/init-library/init-project.js.map +0 -1
  224. package/src/generators/init-library/init-workspace.d.ts +0 -3
  225. package/src/generators/init-library/init-workspace.js +0 -21
  226. package/src/generators/init-library/init-workspace.js.map +0 -1
  227. package/src/generators/init-library/is-ng-packagr-project.d.ts +0 -2
  228. package/src/generators/init-library/is-ng-packagr-project.js +0 -8
  229. package/src/generators/init-library/is-ng-packagr-project.js.map +0 -1
  230. package/src/generators/init-library/ng-package-json.d.ts +0 -8
  231. package/src/generators/init-library/ng-package-json.js +0 -16
  232. package/src/generators/init-library/ng-package-json.js.map +0 -1
  233. package/src/generators/init-library/set-general-target-defaults.d.ts +0 -2
  234. package/src/generators/init-library/set-general-target-defaults.js +0 -27
  235. package/src/generators/init-library/set-general-target-defaults.js.map +0 -1
  236. package/src/generators/init-library/update-package-json.d.ts +0 -2
  237. package/src/generators/init-library/update-package-json.js +0 -17
  238. package/src/generators/init-library/update-package-json.js.map +0 -1
  239. package/src/generators/init-library/update-project-ng-package-configuration.d.ts +0 -2
  240. package/src/generators/init-library/update-project-ng-package-configuration.js +0 -37
  241. package/src/generators/init-library/update-project-ng-package-configuration.js.map +0 -1
  242. package/src/generators/init-library/update-ts-config.d.ts +0 -2
  243. package/src/generators/init-library/update-ts-config.js +0 -22
  244. package/src/generators/init-library/update-ts-config.js.map +0 -1
  245. package/src/generators/schematic/generator.d.ts +0 -6
  246. package/src/generators/schematic/generator.js +0 -127
  247. package/src/generators/schematic/generator.js.map +0 -1
  248. package/src/generators/schematic/index.d.ts +0 -2
  249. package/src/generators/schematic/index.js +0 -7
  250. package/src/generators/schematic/index.js.map +0 -1
  251. package/src/i18n.d.ts +0 -6
  252. package/src/i18n.js +0 -83
  253. package/src/i18n.js.map +0 -1
  254. package/src/index.js +0 -10
  255. package/src/index.js.map +0 -1
  256. package/src/lib/angular-version.d.ts +0 -1
  257. package/src/lib/angular-version.js +0 -5
  258. package/src/lib/angular-version.js.map +0 -1
  259. package/src/lib/coerce-cypress-component-testing.d.ts +0 -2
  260. package/src/lib/coerce-cypress-component-testing.js +0 -78
  261. package/src/lib/coerce-cypress-component-testing.js.map +0 -1
  262. package/src/lib/coerce-test-setup.d.ts +0 -2
  263. package/src/lib/coerce-test-setup.js +0 -47
  264. package/src/lib/coerce-test-setup.js.map +0 -1
  265. package/src/library.d.ts +0 -6
  266. package/src/library.js +0 -100
  267. package/src/library.js.map +0 -1
  268. package/src/migrations/update-19-0-0/add-m2-prefix-to-material-scss-functions.d.ts +0 -2
  269. package/src/migrations/update-19-0-0/add-m2-prefix-to-material-scss-functions.js +0 -29
  270. package/src/migrations/update-19-0-0/add-m2-prefix-to-material-scss-functions.js.map +0 -1
  271. package/src/migrations/update-19-0-0/migration.d.ts +0 -9
  272. package/src/migrations/update-19-0-0/migration.js +0 -220
  273. package/src/migrations/update-19-0-0/migration.js.map +0 -1
  274. /package/src/{index.d.ts → index.ts} +0 -0
@@ -0,0 +1,283 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+
9
+ /** All functions whose names have been prefixed with `m2-` in v18. */
10
+ const RENAMED_FUNCTIONS = [
11
+ 'define-light-theme',
12
+ 'define-dark-theme',
13
+ 'define-palette',
14
+ 'get-contrast-color-from-palette',
15
+ 'get-color-from-palette',
16
+ 'get-color-config',
17
+ 'get-typography-config',
18
+ 'get-density-config',
19
+ 'define-typography-level',
20
+ 'define-rem-typography-config',
21
+ 'define-typography-config',
22
+ 'define-legacy-typography-config',
23
+ 'typography-level',
24
+ 'font-size',
25
+ 'line-height',
26
+ 'font-weight',
27
+ 'letter-spacing',
28
+ 'font-family',
29
+ ];
30
+
31
+ /** All variables whose names have been prefixed with `m2-` in v18. */
32
+ const RENAMED_VARIABLES = [
33
+ 'red-palette',
34
+ 'pink-palette',
35
+ 'indigo-palette',
36
+ 'purple-palette',
37
+ 'deep-purple-palette',
38
+ 'blue-palette',
39
+ 'light-blue-palette',
40
+ 'cyan-palette',
41
+ 'teal-palette',
42
+ 'green-palette',
43
+ 'light-green-palette',
44
+ 'lime-palette',
45
+ 'yellow-palette',
46
+ 'amber-palette',
47
+ 'orange-palette',
48
+ 'deep-orange-palette',
49
+ 'brown-palette',
50
+ 'grey-palette',
51
+ 'gray-palette',
52
+ 'blue-grey-palette',
53
+ 'blue-gray-palette',
54
+ 'light-theme-background-palette',
55
+ 'dark-theme-background-palette',
56
+ 'light-theme-foreground-palette',
57
+ 'dark-theme-foreground-palette',
58
+ ];
59
+
60
+ /** M3 theming functions that were moved into stable. */
61
+ const M3_FUNCTIONS = ['define-theme', 'define-colors', 'define-typography', 'define-density'];
62
+
63
+ /** M3 variables that were moved into stable. */
64
+ const M3_VARIABLES = [
65
+ 'red-palette',
66
+ 'green-palette',
67
+ 'blue-palette',
68
+ 'yellow-palette',
69
+ 'cyan-palette',
70
+ 'magenta-palette',
71
+ 'orange-palette',
72
+ 'chartreuse-palette',
73
+ 'azure-palette',
74
+ 'violet-palette',
75
+ 'rose-palette',
76
+ ];
77
+
78
+ /** Possible pairs of comment characters in a Sass file. */
79
+ const COMMENT_PAIRS = new Map<string, string>([
80
+ ['/*', '*/'],
81
+ ['//', '\n'],
82
+ ]);
83
+
84
+ /** Prefix for the placeholder that will be used to escape comments. */
85
+ const COMMENT_PLACEHOLDER_START = '__<<ngM2ThemingMigrationEscapedComment';
86
+
87
+ /** Suffix for the comment escape placeholder. */
88
+ const COMMENT_PLACEHOLDER_END = '>>__';
89
+
90
+ /** Replaces all usages of renamed M2 theming APIs in a file. */
91
+ export function migrateM2ThemingApiUsages(fileContent: string): string {
92
+ // Strip out comments, so they don't confuse our migration.
93
+ // eslint-disable-next-line prefer-const
94
+ let {content, placeholders} = escapeComments(fileContent);
95
+ const materialNamespaces = getNamespaces('@angular/material', content);
96
+ const experimentalNamespaces = getNamespaces('@angular/material-experimental', content);
97
+
98
+ // Migrate the APIs whose names were prefixed with `m2-`.
99
+ for (const namespace of materialNamespaces) {
100
+ for (const name of RENAMED_FUNCTIONS) {
101
+ content = migrateFunction(content, namespace, name, namespace, 'm2-' + name);
102
+ }
103
+
104
+ for (const name of RENAMED_VARIABLES) {
105
+ content = migrateVariable(content, namespace, name, namespace, 'm2-' + name);
106
+ }
107
+ }
108
+
109
+ // Migrate themes that were using M3 while it was still in experimental.
110
+ if (experimentalNamespaces.length > 0) {
111
+ const preExperimentalContent = content;
112
+ const stableNamespace = materialNamespaces.length === 0 ? 'mat' : materialNamespaces[0];
113
+
114
+ for (const namespace of experimentalNamespaces) {
115
+ // The only mixin that was renamed was the backwards-compatibility one.
116
+ content = migrateMixin(
117
+ content,
118
+ namespace,
119
+ 'color-variants-back-compat',
120
+ stableNamespace,
121
+ 'color-variants-backwards-compatibility',
122
+ );
123
+
124
+ // M3 functions weren't prefixed with anything
125
+ // so they just move over to the new namespace.
126
+ for (const name of M3_FUNCTIONS) {
127
+ content = migrateFunction(content, namespace, name, stableNamespace, name);
128
+ }
129
+
130
+ // Variables were all prefixed with `m3-` which needs to be stripped.
131
+ for (const name of M3_VARIABLES) {
132
+ content = migrateVariable(content, namespace, 'm3-' + name, stableNamespace, name);
133
+ }
134
+ }
135
+
136
+ // If experimental is imported, but Material isn't, insert a new import at the top.
137
+ // This should be rare since `@angular/material` was still required for the theme.
138
+ if (materialNamespaces.length === 0 && content !== preExperimentalContent) {
139
+ content = `@use '@angular/material' as ${stableNamespace};\n` + content;
140
+ }
141
+ }
142
+
143
+ return restoreComments(content, placeholders);
144
+ }
145
+
146
+ /** Renames all usages of a Sass function in a file. */
147
+ function migrateFunction(
148
+ fileContent: string,
149
+ oldNamespace: string,
150
+ oldName: string,
151
+ newNamespace: string,
152
+ newName: string,
153
+ ): string {
154
+ return fileContent.replace(
155
+ new RegExp(`${oldNamespace}\\.${oldName}\\(`, 'g'),
156
+ `${newNamespace}.${newName}(`,
157
+ );
158
+ }
159
+
160
+ /** Renames all usages of a Sass variable in a file. */
161
+ function migrateVariable(
162
+ fileContent: string,
163
+ oldNamespace: string,
164
+ oldName: string,
165
+ newNamespace: string,
166
+ newName: string,
167
+ ): string {
168
+ return fileContent.replace(
169
+ new RegExp(`${oldNamespace}\\.\\$${oldName}(?!\\s+:|[-_a-zA-Z0-9:])`, 'g'),
170
+ `${newNamespace}.$${newName}`,
171
+ );
172
+ }
173
+
174
+ /** Renames all usages of a Sass mixin in a file. */
175
+ function migrateMixin(
176
+ fileContent: string,
177
+ oldNamespace: string,
178
+ oldName: string,
179
+ newNamespace: string,
180
+ newName: string,
181
+ ): string {
182
+ const pattern = new RegExp(`@include +${oldNamespace}\\.${oldName}`, 'g');
183
+ return fileContent.replace(pattern, `@include ${newNamespace}.${newName}`);
184
+ }
185
+
186
+ /**
187
+ * Replaces all the comments in a Sass file with placeholders and
188
+ * returns the list of placeholders, so they can be restored later.
189
+ */
190
+ function escapeComments(content: string): {content: string; placeholders: Record<string, string>} {
191
+ const placeholders: Record<string, string> = {};
192
+ let commentCounter = 0;
193
+ let [openIndex, closeIndex] = findComment(content);
194
+
195
+ while (openIndex > -1 && closeIndex > -1) {
196
+ const placeholder = COMMENT_PLACEHOLDER_START + commentCounter++ + COMMENT_PLACEHOLDER_END;
197
+ placeholders[placeholder] = content.slice(openIndex, closeIndex);
198
+ content = content.slice(0, openIndex) + placeholder + content.slice(closeIndex);
199
+ [openIndex, closeIndex] = findComment(content);
200
+ }
201
+
202
+ return {content, placeholders};
203
+ }
204
+
205
+ /** Finds the start and end index of a comment in a file. */
206
+ function findComment(content: string): [openIndex: number, closeIndex: number] {
207
+ // Add an extra new line at the end so that we can correctly capture single-line comments
208
+ // at the end of the file. It doesn't really matter that the end index will be out of bounds,
209
+ // because `String.prototype.slice` will clamp it to the string length.
210
+ content += '\n';
211
+
212
+ for (const [open, close] of COMMENT_PAIRS.entries()) {
213
+ const openIndex = content.indexOf(open);
214
+
215
+ if (openIndex > -1) {
216
+ const closeIndex = content.indexOf(close, openIndex + 1);
217
+ return closeIndex > -1 ? [openIndex, closeIndex + close.length] : [-1, -1];
218
+ }
219
+ }
220
+
221
+ return [-1, -1];
222
+ }
223
+
224
+ /** Restores the comments that have been escaped by `escapeComments`. */
225
+ function restoreComments(content: string, placeholders: Record<string, string>): string {
226
+ Object.keys(placeholders).forEach(key => (content = content.replace(key, placeholders[key])));
227
+ return content;
228
+ }
229
+
230
+ /** Parses out the namespace from a Sass `@use` statement. */
231
+ function extractNamespaceFromUseStatement(fullImport: string): string {
232
+ const closeQuoteIndex = Math.max(fullImport.lastIndexOf(`"`), fullImport.lastIndexOf(`'`));
233
+
234
+ if (closeQuoteIndex > -1) {
235
+ const asExpression = 'as ';
236
+ const asIndex = fullImport.indexOf(asExpression, closeQuoteIndex);
237
+
238
+ // If we found an ` as ` expression, we consider the rest of the text as the namespace.
239
+ if (asIndex > -1) {
240
+ return fullImport
241
+ .slice(asIndex + asExpression.length)
242
+ .split(';')[0]
243
+ .trim();
244
+ }
245
+
246
+ // Otherwise the namespace is the name of the file that is being imported.
247
+ const lastSlashIndex = fullImport.lastIndexOf('/', closeQuoteIndex);
248
+
249
+ if (lastSlashIndex > -1) {
250
+ const fileName = fullImport
251
+ .slice(lastSlashIndex + 1, closeQuoteIndex)
252
+ // Sass allows for leading underscores to be omitted and it technically supports .scss.
253
+ .replace(/^_|(\.import)?\.scss$|\.import$/g, '');
254
+
255
+ // Sass ignores `/index` and infers the namespace as the next segment in the path.
256
+ if (fileName === 'index') {
257
+ const nextSlashIndex = fullImport.lastIndexOf('/', lastSlashIndex - 1);
258
+
259
+ if (nextSlashIndex > -1) {
260
+ return fullImport.slice(nextSlashIndex + 1, lastSlashIndex);
261
+ }
262
+ } else {
263
+ return fileName;
264
+ }
265
+ }
266
+ }
267
+
268
+ throw Error(`Could not extract namespace from import "${fullImport}".`);
269
+ }
270
+
271
+ /** Gets all the namespaces that a module is available under in a specific file. */
272
+ function getNamespaces(moduleName: string, content: string): string[] {
273
+ const namespaces = new Set<string>();
274
+ const escapedName = moduleName.replace(/([.*+?^=!:${}()|[\]/\\])/g, '\\$1');
275
+ const pattern = new RegExp(`@use +['"]${escapedName}['"].*;?\n`, 'g');
276
+ let match: RegExpExecArray | null = null;
277
+
278
+ while ((match = pattern.exec(content))) {
279
+ namespaces.add(extractNamespaceFromUseStatement(match[0]));
280
+ }
281
+
282
+ return Array.from(namespaces);
283
+ }
@@ -0,0 +1,24 @@
1
+ import {
2
+ TextDecoder,
3
+ TextEncoder,
4
+ } from 'node:util';
5
+
6
+ global.TextEncoder ??= TextEncoder;
7
+ global.TextDecoder ??= TextDecoder as any;
8
+
9
+
10
+ jest.doMock('@nx/devkit', () => ({
11
+ ...jest.requireActual<any>('@nx/devkit'),
12
+ createProjectGraphAsync: jest.fn().mockImplementation(async () => {
13
+ return {
14
+ nodes: {},
15
+ dependencies: {},
16
+ };
17
+ }),
18
+ }));
19
+
20
+ jest.doMock('@rxap/node-utilities', () => ({
21
+ ...jest.requireActual<any>('@rxap/node-utilities'),
22
+ GetLatestPackageVersion: jest.fn().mockImplementation(async () => 'latest'),
23
+ }));
24
+
package/tsconfig.json ADDED
@@ -0,0 +1,20 @@
1
+ {
2
+ "extends": "../../../tsconfig.base.json",
3
+ "compilerOptions": {
4
+ "module": "commonjs",
5
+ "strict": true
6
+ },
7
+ "files": [],
8
+ "include": [],
9
+ "references": [
10
+ {
11
+ "path": "./tsconfig.lib.json"
12
+ },
13
+ {
14
+ "path": "./tsconfig.spec.json"
15
+ },
16
+ {
17
+ "path": "./tsconfig.typedoc.json"
18
+ }
19
+ ]
20
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "../../../dist/out-tsc",
5
+ "declaration": true,
6
+ "types": ["node"]
7
+ },
8
+ "include": ["src/**/*.ts"],
9
+ "exclude": ["jest.config.ts", "src/test-setup.ts", "src/**/*.spec.ts", "src/**/*.test.ts"]
10
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "../../../dist/out-tsc",
5
+ "module": "commonjs",
6
+ "types": ["jest", "node"]
7
+ },
8
+ "include": [
9
+ "src/test-setup.ts",
10
+ "jest.config.ts",
11
+ "src/**/*.test.ts",
12
+ "src/**/*.spec.ts",
13
+ "src/**/*.d.ts"
14
+ ]
15
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {},
4
+ "include": ["src/**/*.ts"]
5
+ }
@@ -1,6 +0,0 @@
1
- import { CreateNodesV2 } from '@nx/devkit';
2
- import 'colors';
3
- export interface PluginOptions {
4
- }
5
- export declare function normalizeOptions(options: PluginOptions | undefined): PluginOptions;
6
- export declare const createNodesV2: CreateNodesV2<PluginOptions>;
@@ -1,77 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createNodesV2 = void 0;
4
- exports.normalizeOptions = normalizeOptions;
5
- const tslib_1 = require("tslib");
6
- const workspace_utilities_1 = require("@rxap/workspace-utilities");
7
- const globs_1 = require("nx/src/utils/globs");
8
- const path_1 = require("path");
9
- require("colors");
10
- function normalizeOptions(options) {
11
- return options !== null && options !== void 0 ? options : {};
12
- }
13
- exports.createNodesV2 = [
14
- (0, globs_1.combineGlobPatterns)([
15
- '**/tsconfig.app.json',
16
- '**/src/main.ts',
17
- '**/src/app/app.module.ts',
18
- '**/src/app/app.component.ts',
19
- '**/src/index.html',
20
- ]),
21
- (configFilePaths, options, context) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
22
- const normalizedOptions = normalizeOptions(options);
23
- const includedConfigFilePaths = yield Promise.all(configFilePaths.map((configFilePath) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
24
- if (yield shouldHaveProjectConfiguration(configFilePath, normalizedOptions, context)) {
25
- return configFilePath;
26
- }
27
- return undefined;
28
- }))).then((configFilePathOrUndefinedList) => configFilePathOrUndefinedList.filter((value) => value !== undefined));
29
- const results = yield Promise.all(includedConfigFilePaths.map((configFilePath) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
30
- const [projectPath, projectConfiguration] = yield createProjectConfiguration(configFilePath, normalizedOptions, context);
31
- return [configFilePath, projectPath, projectConfiguration];
32
- })));
33
- return results.map(([configFilePath, projectPath, projectConfiguration]) => [
34
- configFilePath,
35
- {
36
- projects: {
37
- [projectPath]: projectConfiguration,
38
- },
39
- },
40
- ]);
41
- }),
42
- ];
43
- function shouldHaveProjectConfiguration(configFilePath, options, context) {
44
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
45
- const projectPath = (0, path_1.dirname)(configFilePath);
46
- const tree = new workspace_utilities_1.FsTree(context.workspaceRoot);
47
- if (!(0, workspace_utilities_1.FindProjectByPath)(tree, projectPath)) {
48
- // console.log(`The folder of the file '${ configFilePath }' is not the root of a project. Skipping`.yellow);
49
- return false;
50
- }
51
- return true;
52
- });
53
- }
54
- function createProjectConfiguration(configFilePath, options, context) {
55
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
56
- const projectPath = (0, path_1.dirname)(configFilePath);
57
- const targets = {};
58
- const tree = new workspace_utilities_1.FsTree(context.workspaceRoot);
59
- const projectConfiguration = (0, workspace_utilities_1.FindProjectByPath)(tree, projectPath);
60
- if (!projectConfiguration) {
61
- throw new Error(`Could not find project in '${projectPath}'`);
62
- }
63
- targets['config'] = createConfigTarget();
64
- return [
65
- projectPath, {
66
- targets,
67
- },
68
- ];
69
- });
70
- }
71
- function createConfigTarget() {
72
- return {
73
- executor: '@rxap/plugin-angular:config',
74
- dependsOn: ['build'],
75
- };
76
- }
77
- //# sourceMappingURL=application.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../../packages/plugin/angular/src/application.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { ExecutorContext } from '@nx/devkit';
2
- import { CheckNgPackageExecutorSchema } from './schema';
3
- export default function runExecutor(options: CheckNgPackageExecutorSchema, context: ExecutorContext): Promise<{
4
- success: boolean;
5
- }>;
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = runExecutor;
4
- const tslib_1 = require("tslib");
5
- const plugin_utilities_1 = require("@rxap/plugin-utilities");
6
- function runExecutor(options, context) {
7
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
8
- console.log('Executor ran for CheckNgPackage', options);
9
- const ngPackage = JSON.parse((0, plugin_utilities_1.readFileFromProjectRoot)(context, 'ng-package.json', true));
10
- const { dependencies } = JSON.parse((0, plugin_utilities_1.readFileFromProjectRoot)(context, 'package.json', true));
11
- if (ngPackage.allowedNonPeerDependencies) {
12
- const wrongPackages = [];
13
- for (const packageName of ngPackage.allowedNonPeerDependencies) {
14
- if (!dependencies[packageName]) {
15
- wrongPackages.push(packageName);
16
- }
17
- }
18
- if (wrongPackages.length) {
19
- console.log(`\x1b[31mSome packages in the allowed non peer dependencies list are not in the package.json dependencies list:\x1b[0m\n - ${wrongPackages.join('\n - ')}`);
20
- return {
21
- success: false,
22
- };
23
- }
24
- }
25
- return {
26
- success: true,
27
- };
28
- });
29
- }
30
- //# sourceMappingURL=executor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/angular/src/executors/check-ng-package/executor.ts"],"names":[],"mappings":";;AAIA,8BA4BC;;AA/BD,6DAAiE;AAGjE,SAA8B,WAAW,CACvC,OAAqC,EACrC,OAAwB;;QAExB,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,OAAO,CAAC,CAAC;QAExD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,0CAAuB,EAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC;QACxF,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,0CAAuB,EAAC,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;QAE5F,IAAI,SAAS,CAAC,0BAA0B,EAAE,CAAC;YACzC,MAAM,aAAa,GAAa,EAAE,CAAC;YACnC,KAAK,MAAM,WAAW,IAAI,SAAS,CAAC,0BAA0B,EAAE,CAAC;gBAC/D,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC/B,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;YACD,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,6HAA8H,aAAa,CAAC,IAAI,CAC1J,OAAO,CAAE,EAAE,CAAC,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE,KAAK;iBACf,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;CAAA"}
@@ -1,10 +0,0 @@
1
- import { ExecutorContext } from '@nx/devkit';
2
- import { ConfigExecutorSchema } from './schema';
3
- import 'colors';
4
- export default function runExecutor(options: ConfigExecutorSchema, context: ExecutorContext): Promise<{
5
- success: boolean;
6
- error: any;
7
- } | {
8
- success: boolean;
9
- error?: undefined;
10
- }>;
@@ -1,65 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = runExecutor;
4
- const tslib_1 = require("tslib");
5
- const plugin_utilities_1 = require("@rxap/plugin-utilities");
6
- const utilities_1 = require("@rxap/utilities");
7
- const fs_1 = require("fs");
8
- const path_1 = require("path");
9
- require("colors");
10
- function getContent(key) {
11
- const value = process.env[key];
12
- if (value) {
13
- let content;
14
- if (value.match(/^(\/[^/\s]*)+\/?$/)) {
15
- content = (0, fs_1.readFileSync)(value).toString('utf-8');
16
- }
17
- else {
18
- content = value;
19
- }
20
- try {
21
- return JSON.parse(content);
22
- }
23
- catch (e) {
24
- throw new Error(`Can not parse config from '${key}': ${content}`);
25
- }
26
- }
27
- }
28
- function runExecutor(options, context) {
29
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
30
- console.log('Executor ran for Config', options);
31
- const outputPath = (0, plugin_utilities_1.GuessOutputPathFromContext)(context);
32
- let config = {};
33
- const configPath = (0, path_1.join)(outputPath, 'config.json');
34
- if ((0, fs_1.existsSync)(configPath)) {
35
- config = JSON.parse((0, fs_1.readFileSync)(configPath, 'utf-8'));
36
- }
37
- for (const key of Object.keys(process.env).filter(key => !!key && key.startsWith('RXAP_CONFIG')).sort((a, b) => a.length - b.length)) {
38
- try {
39
- const content = getContent(key);
40
- const match = key.match(/^RXAP_CONFIG_(.*)/);
41
- if (match) {
42
- const key = match[1].toLowerCase().replace(/_/g, '.');
43
- console.log(`Set config '${key}'`.grey);
44
- (0, utilities_1.SetToObject)(config, key, content);
45
- }
46
- else {
47
- console.log('Merge config'.grey);
48
- (0, utilities_1.deepMerge)(config, content);
49
- }
50
- }
51
- catch (e) {
52
- console.error(e.message);
53
- return {
54
- success: false,
55
- error: e.message,
56
- };
57
- }
58
- }
59
- (0, fs_1.writeFileSync)(configPath, JSON.stringify(config, null, 2));
60
- return {
61
- success: true,
62
- };
63
- });
64
- }
65
- //# sourceMappingURL=executor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/angular/src/executors/config/executor.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import { ExecutorContext } from '@nx/devkit';
2
- import { I18nExecutorSchema } from './schema';
3
- export default function runExecutor(options: I18nExecutorSchema, context: ExecutorContext): Promise<{
4
- success: boolean;
5
- error: any;
6
- } | {
7
- success: boolean;
8
- error?: undefined;
9
- }>;