@nrwl/workspace 14.8.7 → 14.9.0-beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (266) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/LICENSE +22 -22
  3. package/README.md +5 -26
  4. package/executors.json +4 -2
  5. package/generators.json +7 -52
  6. package/index.d.ts +4 -10
  7. package/index.js +4 -42
  8. package/index.js.map +1 -1
  9. package/migrations.json +20 -1
  10. package/package.json +33 -44
  11. package/presets/core.json +4 -9
  12. package/presets/npm.json +4 -12
  13. package/src/executors/counter/schema.json +1 -0
  14. package/src/executors/run-commands/schema.json +9 -1
  15. package/src/executors/run-script/schema.json +1 -0
  16. package/src/generators/ci-workflow/ci-workflow.d.ts +1 -1
  17. package/src/generators/ci-workflow/ci-workflow.js +13 -0
  18. package/src/generators/ci-workflow/ci-workflow.js.map +1 -1
  19. package/src/generators/ci-workflow/files/azure/azure-pipelines.yml__tmpl__ +0 -2
  20. package/src/generators/ci-workflow/files/bitbucket-pipelines/bitbucket-pipelines.yml__tmpl__ +36 -0
  21. package/src/generators/ci-workflow/files/circleci/.circleci/config.yml__tmpl__ +1 -4
  22. package/src/generators/ci-workflow/files/github/.github/workflows/__workflowFileName__.yml__tmpl__ +3 -3
  23. package/src/generators/ci-workflow/files/gitlab/.gitlab-ci.yml__tmpl__ +47 -0
  24. package/src/generators/ci-workflow/schema.json +5 -3
  25. package/src/generators/convert-to-nx-project/convert-to-nx-project.d.ts +1 -2
  26. package/src/generators/convert-to-nx-project/convert-to-nx-project.js +62 -38
  27. package/src/generators/convert-to-nx-project/convert-to-nx-project.js.map +1 -1
  28. package/src/generators/convert-to-nx-project/schema.d.ts +2 -0
  29. package/src/generators/convert-to-nx-project/schema.json +11 -6
  30. package/src/generators/library/files/lib/__dot__babelrc__tmpl__ +1 -1
  31. package/src/generators/library/files/lib/tsconfig.lib.json +2 -2
  32. package/src/generators/library/library.d.ts +2 -1
  33. package/src/generators/library/library.js +44 -33
  34. package/src/generators/library/library.js.map +1 -1
  35. package/src/generators/library/schema.d.ts +1 -1
  36. package/src/generators/library/schema.json +9 -4
  37. package/src/generators/move/lib/create-project-configuration-in-new-destination.d.ts +3 -0
  38. package/src/generators/move/lib/{move-project-configuration.js → create-project-configuration-in-new-destination.js} +6 -9
  39. package/src/generators/move/lib/create-project-configuration-in-new-destination.js.map +1 -0
  40. package/src/generators/move/lib/{move-project.d.ts → move-project-files.d.ts} +1 -1
  41. package/src/generators/move/lib/{move-project.js → move-project-files.js} +4 -4
  42. package/src/generators/move/lib/move-project-files.js.map +1 -0
  43. package/src/generators/move/lib/update-cypress-config.js +8 -2
  44. package/src/generators/move/lib/update-cypress-config.js.map +1 -1
  45. package/src/generators/move/lib/update-default-project.js +4 -5
  46. package/src/generators/move/lib/update-default-project.js.map +1 -1
  47. package/src/generators/move/lib/update-implicit-dependencies.d.ts +0 -2
  48. package/src/generators/move/lib/update-implicit-dependencies.js +0 -2
  49. package/src/generators/move/lib/update-implicit-dependencies.js.map +1 -1
  50. package/src/generators/move/lib/update-imports.js +28 -18
  51. package/src/generators/move/lib/update-imports.js.map +1 -1
  52. package/src/generators/move/move.js +5 -4
  53. package/src/generators/move/move.js.map +1 -1
  54. package/src/generators/move/schema.json +2 -1
  55. package/src/generators/{workspace/files → new/files-integrated-repo}/__dot__gitignore +2 -2
  56. package/src/generators/{workspace/files → new/files-integrated-repo}/__dot__vscode/extensions.json__tmpl__ +1 -1
  57. package/src/generators/new/files-integrated-repo/package.json__tmpl__ +14 -0
  58. package/src/generators/new/files-package-based-repo/__dot__gitignore +39 -0
  59. package/src/generators/new/files-package-based-repo/__dot__vscode/extensions.json__tmpl__ +8 -0
  60. package/src/generators/new/files-package-based-repo/package.json__tmpl__ +13 -0
  61. package/src/generators/new/files-readme/README.md.template +21 -0
  62. package/src/generators/new/files-root-app/__dot__gitignore +39 -0
  63. package/src/generators/new/files-root-app/__dot__vscode/extensions.json__tmpl__ +6 -0
  64. package/src/generators/new/files-root-app/package.json__tmpl__ +14 -0
  65. package/src/generators/new/generate-preset.d.ts +4 -0
  66. package/src/generators/new/generate-preset.js +131 -0
  67. package/src/generators/new/generate-preset.js.map +1 -0
  68. package/src/generators/new/generate-workspace-files.d.ts +3 -0
  69. package/src/generators/{workspace/workspace.js → new/generate-workspace-files.js} +81 -72
  70. package/src/generators/new/generate-workspace-files.js.map +1 -0
  71. package/src/generators/new/new.d.ts +11 -6
  72. package/src/generators/new/new.js +41 -212
  73. package/src/generators/new/new.js.map +1 -1
  74. package/src/generators/new/schema.json +16 -7
  75. package/src/generators/npm-package/npm-package.js +3 -6
  76. package/src/generators/npm-package/npm-package.js.map +1 -1
  77. package/src/generators/preset/preset.d.ts +1 -2
  78. package/src/generators/preset/preset.js +57 -255
  79. package/src/generators/preset/preset.js.map +1 -1
  80. package/src/generators/preset/schema.d.ts +5 -1
  81. package/src/generators/preset/schema.json +34 -7
  82. package/src/generators/remove/lib/check-project-is-safe-to-remove.d.ts +3 -0
  83. package/src/generators/remove/lib/check-project-is-safe-to-remove.js +26 -0
  84. package/src/generators/remove/lib/check-project-is-safe-to-remove.js.map +1 -0
  85. package/src/generators/remove/lib/check-targets.d.ts +1 -1
  86. package/src/generators/remove/lib/check-targets.js +33 -29
  87. package/src/generators/remove/lib/check-targets.js.map +1 -1
  88. package/src/generators/remove/lib/remove-project-references-in-config.d.ts +3 -0
  89. package/src/generators/remove/lib/remove-project-references-in-config.js +22 -0
  90. package/src/generators/remove/lib/remove-project-references-in-config.js.map +1 -0
  91. package/src/generators/remove/lib/update-jest-config.js +10 -5
  92. package/src/generators/remove/lib/update-jest-config.js.map +1 -1
  93. package/src/generators/remove/lib/update-tsconfig.d.ts +2 -2
  94. package/src/generators/remove/lib/update-tsconfig.js +23 -15
  95. package/src/generators/remove/lib/update-tsconfig.js.map +1 -1
  96. package/src/generators/remove/remove.js +6 -4
  97. package/src/generators/remove/remove.js.map +1 -1
  98. package/src/generators/remove/schema.json +2 -1
  99. package/src/generators/run-commands/run-commands.js +3 -1
  100. package/src/generators/run-commands/run-commands.js.map +1 -1
  101. package/src/generators/run-commands/schema.json +2 -1
  102. package/src/generators/utils/insert-import.js +10 -5
  103. package/src/generators/utils/insert-import.js.map +1 -1
  104. package/src/generators/utils/insert-statement.js +8 -3
  105. package/src/generators/utils/insert-statement.js.map +1 -1
  106. package/src/generators/utils/presets.d.ts +6 -5
  107. package/src/generators/utils/presets.js +5 -4
  108. package/src/generators/utils/presets.js.map +1 -1
  109. package/src/generators/workspace-generator/schema.json +3 -2
  110. package/src/migrations/update-12-5-0/add-target-dependencies.js +2 -2
  111. package/src/migrations/update-12-5-0/add-target-dependencies.js.map +1 -1
  112. package/src/migrations/update-13-0-0/config-locations/config-locations.d.ts +1 -1
  113. package/src/migrations/update-13-0-0/config-locations/config-locations.js +19 -9
  114. package/src/migrations/update-13-0-0/config-locations/config-locations.js.map +1 -1
  115. package/src/migrations/update-13-0-0/set-default-base-if-not-set.js +2 -2
  116. package/src/migrations/update-13-0-0/set-default-base-if-not-set.js.map +1 -1
  117. package/src/migrations/update-13-10-0/update-tasks-runner.js +4 -3
  118. package/src/migrations/update-13-10-0/update-tasks-runner.js.map +1 -1
  119. package/src/migrations/update-13-2-0/set-parallel-default.js +2 -2
  120. package/src/migrations/update-13-2-0/set-parallel-default.js.map +1 -1
  121. package/src/migrations/update-13-6-0/remove-old-task-runner-options.js +3 -3
  122. package/src/migrations/update-13-6-0/remove-old-task-runner-options.js.map +1 -1
  123. package/src/migrations/update-14-0-0/change-npm-script-executor.js +1 -1
  124. package/src/migrations/update-14-0-0/change-npm-script-executor.js.map +1 -1
  125. package/src/migrations/update-14-0-0/change-nx-json-presets.js +3 -3
  126. package/src/migrations/update-14-0-0/change-nx-json-presets.js.map +1 -1
  127. package/src/migrations/update-14-2-0/enable-source-analysis.js +14 -13
  128. package/src/migrations/update-14-2-0/enable-source-analysis.js.map +1 -1
  129. package/src/migrations/update-14-8-0/change-run-commands-executor.js +1 -1
  130. package/src/migrations/update-14-8-0/change-run-commands-executor.js.map +1 -1
  131. package/src/migrations/update-15-7-0/split-configuration-into-project-json-files.d.ts +3 -0
  132. package/src/migrations/update-15-7-0/split-configuration-into-project-json-files.js +15 -0
  133. package/src/migrations/update-15-7-0/split-configuration-into-project-json-files.js.map +1 -0
  134. package/src/utilities/assets.d.ts +2 -2
  135. package/src/utilities/buildable-libs-utils.d.ts +18 -7
  136. package/src/utilities/buildable-libs-utils.js +28 -13
  137. package/src/utilities/buildable-libs-utils.js.map +1 -1
  138. package/src/utilities/plugins/plugin-capabilities.d.ts +1 -3
  139. package/src/utilities/plugins/plugin-capabilities.js +2 -75
  140. package/src/utilities/plugins/plugin-capabilities.js.map +1 -1
  141. package/src/utilities/run-tasks-in-serial.d.ts +6 -0
  142. package/src/utilities/run-tasks-in-serial.js +6 -0
  143. package/src/utilities/run-tasks-in-serial.js.map +1 -1
  144. package/src/utilities/set-default-collection.js +5 -5
  145. package/src/utilities/set-default-collection.js.map +1 -1
  146. package/src/utilities/ts-config.d.ts +5 -0
  147. package/src/utilities/ts-config.js +40 -0
  148. package/src/utilities/ts-config.js.map +1 -0
  149. package/src/utilities/typescript/compilation.d.ts +1 -1
  150. package/src/utilities/typescript/compilation.js +22 -12
  151. package/src/utilities/typescript/compilation.js.map +1 -1
  152. package/src/utilities/typescript/find-nodes.d.ts +5 -2
  153. package/src/utilities/typescript/find-nodes.js +7 -25
  154. package/src/utilities/typescript/find-nodes.js.map +1 -1
  155. package/src/utilities/typescript/get-source-nodes.d.ts +4 -1
  156. package/src/utilities/typescript/get-source-nodes.js +3 -0
  157. package/src/utilities/typescript/get-source-nodes.js.map +1 -1
  158. package/src/utilities/typescript.d.ts +8 -4
  159. package/src/utilities/typescript.js +21 -38
  160. package/src/utilities/typescript.js.map +1 -1
  161. package/src/utilities/version-utils.d.ts +3 -0
  162. package/src/utilities/version-utils.js +7 -12
  163. package/src/utilities/version-utils.js.map +1 -1
  164. package/src/utils/ast-utils.d.ts +0 -123
  165. package/src/utils/ast-utils.js +5 -546
  166. package/src/utils/ast-utils.js.map +1 -1
  167. package/src/utils/cli-config-utils.d.ts +4 -3
  168. package/src/utils/cli-config-utils.js +4 -45
  169. package/src/utils/cli-config-utils.js.map +1 -1
  170. package/src/utils/lint.d.ts +0 -32
  171. package/src/utils/lint.js +0 -262
  172. package/src/utils/lint.js.map +1 -1
  173. package/src/utils/project-type.d.ts +1 -3
  174. package/src/utils/project-type.js +1 -8
  175. package/src/utils/project-type.js.map +1 -1
  176. package/src/utils/rules/add-install-task.d.ts +1 -1
  177. package/src/utils/rules/add-install-task.js +2 -2
  178. package/src/utils/rules/add-install-task.js.map +1 -1
  179. package/src/utils/rules/deleteFile.d.ts +1 -1
  180. package/src/utils/rules/format-files.js +0 -19
  181. package/src/utils/rules/format-files.js.map +1 -1
  182. package/src/utils/rules/workspace.d.ts +1 -1
  183. package/src/utils/strings.d.ts +12 -0
  184. package/src/utils/strings.js +12 -0
  185. package/src/utils/strings.js.map +1 -1
  186. package/src/utils/testing-utils.d.ts +1 -1
  187. package/src/utils/testing-utils.js +6 -6
  188. package/src/utils/testing-utils.js.map +1 -1
  189. package/src/utils/testing.d.ts +1 -1
  190. package/src/utils/versions.d.ts +3 -4
  191. package/src/utils/versions.js +6 -5
  192. package/src/utils/versions.js.map +1 -1
  193. package/src/utils/workspace.d.ts +1 -1
  194. package/src/generators/convert-to-nx-project/utils/get-project-configuration-path.d.ts +0 -2
  195. package/src/generators/convert-to-nx-project/utils/get-project-configuration-path.js +0 -9
  196. package/src/generators/convert-to-nx-project/utils/get-project-configuration-path.js.map +0 -1
  197. package/src/generators/move/lib/move-project-configuration.d.ts +0 -3
  198. package/src/generators/move/lib/move-project-configuration.js.map +0 -1
  199. package/src/generators/move/lib/move-project.js.map +0 -1
  200. package/src/generators/preset/files/pnpm-workspace/pnpm-workspace.yaml +0 -2
  201. package/src/generators/remove/lib/remove-project-config.d.ts +0 -8
  202. package/src/generators/remove/lib/remove-project-config.js +0 -32
  203. package/src/generators/remove/lib/remove-project-config.js.map +0 -1
  204. package/src/generators/utils/decorate-angular-cli.js__tmpl__ +0 -69
  205. package/src/generators/workspace/files/README.md__tmpl__ +0 -186
  206. package/src/generators/workspace/files/__dot__prettierignore +0 -4
  207. package/src/generators/workspace/files/package.json__tmpl__ +0 -18
  208. package/src/generators/workspace/schema.d.ts +0 -15
  209. package/src/generators/workspace/schema.json +0 -77
  210. package/src/generators/workspace/workspace.d.ts +0 -7
  211. package/src/generators/workspace/workspace.js.map +0 -1
  212. package/src/tslint/nxEnforceModuleBoundariesRule.d.ts +0 -14
  213. package/src/tslint/nxEnforceModuleBoundariesRule.js +0 -177
  214. package/src/tslint/nxEnforceModuleBoundariesRule.js.map +0 -1
  215. package/src/utilities/ast-utils.d.ts +0 -22
  216. package/src/utilities/ast-utils.js +0 -182
  217. package/src/utilities/ast-utils.js.map +0 -1
  218. package/src/utilities/create-package-json.d.ts +0 -10
  219. package/src/utilities/create-package-json.js +0 -87
  220. package/src/utilities/create-package-json.js.map +0 -1
  221. package/src/utilities/executor-options-utils.d.ts +0 -13
  222. package/src/utilities/executor-options-utils.js +0 -36
  223. package/src/utilities/executor-options-utils.js.map +0 -1
  224. package/src/utilities/generate-globs.d.ts +0 -6
  225. package/src/utilities/generate-globs.js +0 -75
  226. package/src/utilities/generate-globs.js.map +0 -1
  227. package/src/utilities/prettier.d.ts +0 -6
  228. package/src/utilities/prettier.js +0 -38
  229. package/src/utilities/prettier.js.map +0 -1
  230. package/src/utils/app-root.d.ts +0 -1
  231. package/src/utils/app-root.js +0 -8
  232. package/src/utils/app-root.js.map +0 -1
  233. package/src/utils/graph-utils.d.ts +0 -5
  234. package/src/utils/graph-utils.js +0 -116
  235. package/src/utils/graph-utils.js.map +0 -1
  236. package/src/utils/rules/check-project-exists.d.ts +0 -10
  237. package/src/utils/rules/check-project-exists.js +0 -24
  238. package/src/utils/rules/check-project-exists.js.map +0 -1
  239. package/src/utils/rules/move-npm-packages.d.ts +0 -11
  240. package/src/utils/rules/move-npm-packages.js +0 -76
  241. package/src/utils/rules/move-npm-packages.js.map +0 -1
  242. package/src/utils/rules/rename-npm-packages.d.ts +0 -10
  243. package/src/utils/rules/rename-npm-packages.js +0 -81
  244. package/src/utils/rules/rename-npm-packages.js.map +0 -1
  245. package/src/utils/rules/rename-package-imports.d.ts +0 -10
  246. package/src/utils/rules/rename-package-imports.js +0 -58
  247. package/src/utils/rules/rename-package-imports.js.map +0 -1
  248. package/src/utils/rules/to-js.d.ts +0 -8
  249. package/src/utils/rules/to-js.js +0 -77
  250. package/src/utils/rules/to-js.js.map +0 -1
  251. package/src/utils/rules/update-karma-conf.d.ts +0 -8
  252. package/src/utils/rules/update-karma-conf.js +0 -36
  253. package/src/utils/rules/update-karma-conf.js.map +0 -1
  254. package/src/utils/runtime-lint-utils.d.ts +0 -80
  255. package/src/utils/runtime-lint-utils.js +0 -307
  256. package/src/utils/runtime-lint-utils.js.map +0 -1
  257. package/src/utils/update-packages-in-package-json.d.ts +0 -3
  258. package/src/utils/update-packages-in-package-json.js +0 -56
  259. package/src/utils/update-packages-in-package-json.js.map +0 -1
  260. package/src/utils/update-task.d.ts +0 -2
  261. package/src/utils/update-task.js +0 -83
  262. package/src/utils/update-task.js.map +0 -1
  263. /package/src/generators/{workspace/files → library/files/root}/tsconfig.base.json +0 -0
  264. /package/src/generators/{workspace/files → new/files-integrated-repo}/__dot__editorconfig +0 -0
  265. /package/src/generators/{workspace/files → new/files-integrated-repo}/tools/generators/.gitkeep +0 -0
  266. /package/src/generators/{workspace/files → new/files-integrated-repo}/tools/tsconfig.tools.json +0 -0
@@ -1,4 +1,5 @@
1
1
  {
2
+ "version": 2,
2
3
  "title": "Run Commands",
3
4
  "description": "Run any custom commands with Nx.",
4
5
  "type": "object",
@@ -137,6 +138,13 @@
137
138
  }
138
139
  },
139
140
  "additionalProperties": true,
140
- "required": [],
141
+ "oneOf": [
142
+ {
143
+ "required": ["commands"]
144
+ },
145
+ {
146
+ "required": ["command"]
147
+ }
148
+ ],
141
149
  "examplesFile": "../../../docs/run-commands-examples.md"
142
150
  }
@@ -1,4 +1,5 @@
1
1
  {
2
+ "version": 2,
2
3
  "title": "Run Script",
3
4
  "description": "Run any NPM script of a project in the project's root directory.",
4
5
  "type": "object",
@@ -1,6 +1,6 @@
1
1
  import { Tree } from '@nrwl/devkit';
2
2
  export interface Schema {
3
3
  name?: string;
4
- ci: 'github' | 'azure' | 'circleci';
4
+ ci: 'github' | 'azure' | 'circleci' | 'bitbucket-pipelines' | 'gitlab';
5
5
  }
6
6
  export declare function ciWorkflowGenerator(host: Tree, schema: Schema): Promise<void>;
@@ -13,6 +13,9 @@ function ciWorkflowGenerator(host, schema) {
13
13
  if (!nxCloudUsed) {
14
14
  throw new Error('This workspace is not connected to Nx Cloud.');
15
15
  }
16
+ if (ci === 'bitbucket-pipelines' && defaultBranchNeedsOriginPrefix(nxJson)) {
17
+ (0, devkit_1.writeJson)(host, 'nx.json', appendOriginPrefix(nxJson));
18
+ }
16
19
  (0, devkit_1.generateFiles)(host, (0, devkit_1.joinPathFragments)(__dirname, 'files', ci), '', options);
17
20
  yield (0, devkit_1.formatFiles)(host);
18
21
  });
@@ -30,4 +33,14 @@ function normalizeOptions(options) {
30
33
  tmpl: '',
31
34
  };
32
35
  }
36
+ function defaultBranchNeedsOriginPrefix(nxJson) {
37
+ var _a, _b;
38
+ return !((_b = (_a = nxJson.affected) === null || _a === void 0 ? void 0 : _a.defaultBase) === null || _b === void 0 ? void 0 : _b.startsWith('origin/'));
39
+ }
40
+ function appendOriginPrefix(nxJson) {
41
+ var _a, _b;
42
+ return Object.assign(Object.assign({}, nxJson), { affected: Object.assign(Object.assign({}, ((_a = nxJson.affected) !== null && _a !== void 0 ? _a : {})), { defaultBase: ((_b = nxJson.affected) === null || _b === void 0 ? void 0 : _b.defaultBase)
43
+ ? `origin/${nxJson.affected.defaultBase}`
44
+ : 'origin/main' }) });
45
+ }
33
46
  //# sourceMappingURL=ci-workflow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ci-workflow.js","sourceRoot":"","sources":["../../../../../../packages/workspace/src/generators/ci-workflow/ci-workflow.ts"],"names":[],"mappings":";;;;AAAA,yCASsB;AACtB,+DAAiE;AAOjE,SAAsB,mBAAmB,CAAC,IAAU,EAAE,MAAc;;QAClE,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAEzC,MAAM,MAAM,GAAwB,IAAA,iBAAQ,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAC/D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,gBAAgB,CACpC,CAAC;QACF,IAAI,CAAC,WAAW,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;SACjE;QAED,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QAC5E,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CAAA;AAdD,kDAcC;AAWD,SAAS,gBAAgB,CAAC,OAAe;IACvC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,IAAA,cAAK,EAC9D,OAAO,CAAC,IAAI,IAAI,IAAI,CACrB,CAAC;IACF,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,qBAAqB,EAAE,GACpE,IAAA,iCAAwB,GAAE,CAAC;IAC7B,OAAO;QACL,YAAY;QACZ,gBAAgB;QAChB,qBAAqB;QACrB,oBAAoB;QACpB,UAAU,EAAE,IAAA,gCAAiB,GAAE;QAC/B,IAAI,EAAE,EAAE;KACT,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ci-workflow.js","sourceRoot":"","sources":["../../../../../../packages/workspace/src/generators/ci-workflow/ci-workflow.ts"],"names":[],"mappings":";;;;AAAA,yCAUsB;AACtB,+DAAiE;AAOjE,SAAsB,mBAAmB,CAAC,IAAU,EAAE,MAAc;;QAClE,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAEzC,MAAM,MAAM,GAAwB,IAAA,iBAAQ,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAC/D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,gBAAgB,CACpC,CAAC;QACF,IAAI,CAAC,WAAW,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;SACjE;QAED,IAAI,EAAE,KAAK,qBAAqB,IAAI,8BAA8B,CAAC,MAAM,CAAC,EAAE;YAC1E,IAAA,kBAAS,EAAC,IAAI,EAAE,SAAS,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;SACxD;QAED,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QAC5E,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CAAA;AAlBD,kDAkBC;AAWD,SAAS,gBAAgB,CAAC,OAAe;IACvC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,IAAA,cAAK,EAC9D,OAAO,CAAC,IAAI,IAAI,IAAI,CACrB,CAAC;IACF,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,qBAAqB,EAAE,GACpE,IAAA,iCAAwB,GAAE,CAAC;IAC7B,OAAO;QACL,YAAY;QACZ,gBAAgB;QAChB,qBAAqB;QACrB,oBAAoB;QACpB,UAAU,EAAE,IAAA,gCAAiB,GAAE;QAC/B,IAAI,EAAE,EAAE;KACT,CAAC;AACJ,CAAC;AAED,SAAS,8BAA8B,CAAC,MAA2B;;IACjE,OAAO,CAAC,CAAA,MAAA,MAAA,MAAM,CAAC,QAAQ,0CAAE,WAAW,0CAAE,UAAU,CAAC,SAAS,CAAC,CAAA,CAAC;AAC9D,CAAC;AAED,SAAS,kBAAkB,CAAC,MAA2B;;IACrD,uCACK,MAAM,KACT,QAAQ,kCACH,CAAC,MAAA,MAAM,CAAC,QAAQ,mCAAI,EAAE,CAAC,KAC1B,WAAW,EAAE,CAAA,MAAA,MAAM,CAAC,QAAQ,0CAAE,WAAW;gBACvC,CAAC,CAAC,UAAU,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE;gBACzC,CAAC,CAAC,aAAa,OAEnB;AACJ,CAAC"}
@@ -45,8 +45,6 @@ jobs:
45
45
  displayName: NPM Install Dependencies
46
46
  - script: <%= packageManagerPrefix %> nx-cloud start-ci-run --stop-agents-after="build" --agent-count=3
47
47
  displayName: Start CI run
48
- - script: <%= packageManagerPrefix %> nx-cloud record -- <%= packageManagerPrefix %> nx workspace-lint
49
- displayName: Run workspace lint
50
48
  - script: <%= packageManagerPrefix %> nx-cloud record -- <%= packageManagerPrefix %> nx format:check --base=$(BASE_SHA) --head=$(HEAD_SHA)
51
49
  displayName: Check format
52
50
  - script: <%= packageManagerPrefix %> nx affected --base=$(BASE_SHA) --head=$(HEAD_SHA) --target=lint --parallel=3
@@ -0,0 +1,36 @@
1
+ image: node:16.18
2
+
3
+ clone:
4
+ depth: full
5
+
6
+ definitions:
7
+ steps:
8
+ - step: &agent
9
+ name: Agent
10
+ script:
11
+ - export NX_BRANCH=$BITBUCKET_PR_ID
12
+ <% if(packageManagerPrefix == 'pnpm exec'){ %>
13
+ - npm install --prefix=$HOME/.local -g pnpm@6.32.4
14
+ <% } %>
15
+ - <%= packageManagerInstall %>
16
+ - <%= packageManagerPrefix %> nx-cloud start-agent
17
+
18
+ pipelines:
19
+ pull-requests:
20
+ '**':
21
+ - parallel:
22
+ - step:
23
+ name: <%= workflowName %>
24
+ script:
25
+ - export NX_BRANCH=$BITBUCKET_PR_ID
26
+ <% if(packageManagerPrefix == 'pnpm exec'){ %>
27
+ - npm install --prefix=$HOME/.local -g pnpm@6.32.4
28
+ <% } %>
29
+ - <%= packageManagerInstall %>
30
+ - <%= packageManagerPrefix %> nx-cloud start-ci-run --stop-agents-after="build" --agent-count=3
31
+ - <%= packageManagerPrefix %> nx-cloud record -- yarn nx format:check
32
+ - <%= packageManagerPrefix %> nx affected --target=lint & <%= packageManagerPrefix %> nx affected --target=test & <%= packageManagerPrefix %> nx affected --target=build
33
+ - <%= packageManagerPrefix %> nx-cloud stop-all-agents
34
+ - step: *agent
35
+ - step: *agent
36
+ - step: *agent
@@ -1,7 +1,7 @@
1
1
  version: 2.1
2
2
 
3
3
  orbs:
4
- nx: nrwl/nx@1.5.1
4
+ nx: nrwl/nx@1.6.1
5
5
 
6
6
  jobs:
7
7
  agent:
@@ -42,9 +42,6 @@ jobs:
42
42
  - run:
43
43
  name: Initialize the Nx Cloud distributed CI run
44
44
  command: <%= packageManagerPrefix %> nx-cloud start-ci-run --stop-agents-after="build" --agent-count=3
45
- - run:
46
- name: Run workspace lint
47
- command: <%= packageManagerPrefix %> nx-cloud record -- <%= packageManagerPrefix %> nx workspace-lint
48
45
  - run:
49
46
  name: Check format
50
47
  command: <%= packageManagerPrefix %> nx-cloud record -- <%= packageManagerPrefix %> nx format:check --base=$NX_BASE --head=$NX_HEAD
@@ -9,13 +9,13 @@ on:
9
9
  jobs:
10
10
  main:
11
11
  name: Nx Cloud - Main Job
12
- uses: nrwl/ci/.github/workflows/nx-cloud-main.yml@v0.7
12
+ uses: nrwl/ci/.github/workflows/nx-cloud-main.yml@v0.11.3
13
13
  with:
14
+ main-branch-name: <%= mainBranch %>
14
15
  number-of-agents: 3
15
16
  init-commands: |
16
17
  <%= packageManagerPrefix %> nx-cloud start-ci-run --stop-agents-after="build" --agent-count=3
17
18
  parallel-commands: |
18
- <%= packageManagerPrefix %> nx-cloud record -- <%= packageManagerPrefix %> nx workspace-lint
19
19
  <%= packageManagerPrefix %> nx-cloud record -- <%= packageManagerPrefix %> nx format:check
20
20
  parallel-commands-on-agents: |
21
21
  <%= packageManagerPrefix %> nx affected --target=lint --parallel=3
@@ -24,6 +24,6 @@ jobs:
24
24
 
25
25
  agents:
26
26
  name: Nx Cloud - Agents
27
- uses: nrwl/ci/.github/workflows/nx-cloud-agents.yml@v0.7
27
+ uses: nrwl/ci/.github/workflows/nx-cloud-agents.yml@v0.11.3
28
28
  with:
29
29
  number-of-agents: 3
@@ -0,0 +1,47 @@
1
+ image: node:18
2
+ variables:
3
+ CI: 'true'
4
+
5
+ # Creating template for DTE agents
6
+ .dte-agent:
7
+ interruptible: true
8
+ script:
9
+ <% if(packageManagerPrefix == 'pnpm exec'){ %>
10
+ - npm install --prefix=$HOME/.local -g pnpm@6.32.4
11
+ <% } %>
12
+ - <%= packageManagerInstall %>
13
+ - <%= packageManagerPrefix %> nx-cloud start-agent
14
+
15
+ # Creating template for a job running DTE (orchestrator)
16
+ .base-pipeline:
17
+ interruptible: true
18
+ only:
19
+ - main
20
+ - merge_requests
21
+ before_script:
22
+ <% if(packageManagerPrefix == 'pnpm exec'){ %>
23
+ - npm install --prefix=$HOME/.local -g pnpm@6.32.4
24
+ <% } %>
25
+ - <%= packageManagerInstall %>
26
+ - NX_HEAD=$CI_COMMIT_SHA
27
+ - NX_BASE=${CI_MERGE_REQUEST_DIFF_BASE_SHA:-$CI_COMMIT_BEFORE_SHA}
28
+
29
+ # Main job running DTE
30
+ <%= workflowName %>:
31
+ stage: affected
32
+ extends: .base-pipeline
33
+ script:
34
+ - <%= packageManagerPrefix %> nx-cloud start-ci-run --stop-agents-after="build"
35
+ - <%= packageManagerPrefix %> nx-cloud record -- <%= packageManagerPrefix %> nx format:check --base=$NX_BASE --head=$NX_HEAD
36
+ - <%= packageManagerPrefix %> nx affected --base=$NX_BASE --head=$NX_HEAD --target=lint --parallel=3 & <%= packageManagerPrefix %> nx affected --base=$NX_BASE --head=$NX_HEAD --target=test --parallel=3 --ci --code-coverage & <%= packageManagerPrefix %> nx affected --base=$NX_BASE --head=$NX_HEAD --target=e2e --parallel=3 --ci --code-coverage & <%= packageManagerPrefix %> nx affected --base=$NX_BASE --head=$NX_HEAD --target=build --parallel=3
37
+
38
+ # Create as many agents as you want
39
+ nx-dte-agent1:
40
+ extends: .dte-agent
41
+ stage: affected
42
+ nx-dte-agent2:
43
+ extends: .dte-agent
44
+ stage: affected
45
+ nx-dte-agent3:
46
+ extends: .dte-agent
47
+ stage: affected
@@ -9,14 +9,16 @@
9
9
  "ci": {
10
10
  "type": "string",
11
11
  "description": "CI provider.",
12
- "enum": ["github", "circleci", "azure"],
12
+ "enum": ["github", "circleci", "azure", "bitbucket-pipelines", "gitlab"],
13
13
  "x-prompt": {
14
14
  "message": "What is your target CI provider?",
15
15
  "type": "list",
16
16
  "items": [
17
- { "value": "github", "label": "Github Actions" },
17
+ { "value": "github", "label": "GitHub Actions" },
18
18
  { "value": "circleci", "label": "Circle CI" },
19
- { "value": "azure", "label": "Azure DevOps" }
19
+ { "value": "azure", "label": "Azure DevOps" },
20
+ { "value": "bitbucket-pipelines", "label": "BitBucket Pipelines" },
21
+ { "value": "gitlab", "label": "Gitlab" }
20
22
  ]
21
23
  }
22
24
  },
@@ -1,7 +1,6 @@
1
1
  import { Tree } from '@nrwl/devkit';
2
2
  import { Schema } from './schema';
3
- export declare const SCHEMA_OPTIONS_ARE_MUTUALLY_EXCLUSIVE = "--project and --all are mutually exclusive";
4
- export declare function validateSchema(schema: Schema): Promise<void>;
3
+ export declare function validateSchema(schema: Schema, configName: string): Promise<void>;
5
4
  export declare function convertToNxProjectGenerator(host: Tree, schema: Schema): Promise<void>;
6
5
  export default convertToNxProjectGenerator;
7
6
  export declare const convertToNxProjectSchematic: (generatorOptions: Schema) => (tree: any, context: any) => Promise<any>;
@@ -1,59 +1,83 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertToNxProjectSchematic = exports.convertToNxProjectGenerator = exports.validateSchema = exports.SCHEMA_OPTIONS_ARE_MUTUALLY_EXCLUSIVE = void 0;
3
+ exports.convertToNxProjectSchematic = exports.convertToNxProjectGenerator = exports.validateSchema = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const path_1 = require("path");
6
- const enquirer_1 = require("enquirer");
7
5
  const devkit_1 = require("@nrwl/devkit");
8
- const get_project_configuration_path_1 = require("./utils/get-project-configuration-path");
9
- exports.SCHEMA_OPTIONS_ARE_MUTUALLY_EXCLUSIVE = '--project and --all are mutually exclusive';
10
- function validateSchema(schema) {
6
+ const path_1 = require("path");
7
+ const angular_json_1 = require("nx/src/adapter/angular-json");
8
+ const output_1 = require("../../utils/output");
9
+ function validateSchema(schema, configName) {
11
10
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
12
11
  if (schema.project && schema.all) {
13
- throw exports.SCHEMA_OPTIONS_ARE_MUTUALLY_EXCLUSIVE;
12
+ throw new Error('--project and --all are mutually exclusive');
13
+ }
14
+ if (schema.project && schema.reformat) {
15
+ throw new Error('--project and --reformat are mutually exclusive');
16
+ }
17
+ if (schema.all && schema.reformat) {
18
+ throw new Error('--all and --reformat are mutually exclusive');
14
19
  }
15
- if (!schema.project && !schema.all) {
16
- schema.project = (yield (0, enquirer_1.prompt)([
17
- {
18
- message: 'What project should be converted?',
19
- type: 'input',
20
- name: 'project',
21
- },
22
- ])).project;
20
+ if ((configName === 'workspace.json' && schema.project) ||
21
+ (configName === 'workspace.json' && schema.reformat)) {
22
+ throw new Error('workspace.json is no longer supported. Please pass --all to convert all projects and remove workspace.json.');
23
+ }
24
+ if (!schema.project && !schema.all && !schema.reformat) {
25
+ schema.all = true;
23
26
  }
24
27
  });
25
28
  }
26
29
  exports.validateSchema = validateSchema;
27
30
  function convertToNxProjectGenerator(host, schema) {
28
31
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
29
- const workspace = (0, devkit_1.readWorkspaceConfiguration)(host);
30
- if (workspace.version < 2) {
31
- devkit_1.logger.error(`
32
- NX Only workspaces with version 2+ support project.json files.
33
- To upgrade change the version number at the top of ${(0, devkit_1.getWorkspacePath)(host)} and run 'nx format'.
34
- `);
35
- throw new Error('v2+ Required');
36
- }
37
- yield validateSchema(schema);
38
- const projects = schema.all
39
- ? (0, devkit_1.getProjects)(host).entries()
40
- : [[schema.project, (0, devkit_1.readProjectConfiguration)(host, schema.project)]];
41
- for (const [project, configuration] of projects) {
42
- const configPath = (0, get_project_configuration_path_1.getProjectConfigurationPath)(configuration);
43
- if (host.exists(configPath)) {
44
- devkit_1.logger.warn(`Skipping ${project} since ${configPath} already exists.`);
45
- continue;
32
+ const configName = host.exists('angular.json')
33
+ ? 'angular.json'
34
+ : 'workspace.json';
35
+ if (!host.exists(configName))
36
+ return;
37
+ yield validateSchema(schema, configName);
38
+ const projects = (0, angular_json_1.toNewFormat)((0, devkit_1.readJson)(host, configName)).projects;
39
+ const leftOverProjects = {};
40
+ for (const projectName of Object.keys(projects)) {
41
+ const config = projects[projectName];
42
+ if ((!schema.project || schema.project === projectName) &&
43
+ !schema.reformat) {
44
+ if (typeof config === 'string') {
45
+ // configuration is in project.json
46
+ const projectConfig = (0, devkit_1.readJson)(host, (0, path_1.join)(config, 'project.json'));
47
+ if (projectConfig.name !== projectName) {
48
+ projectConfig.name = projectName;
49
+ projectConfig.root = config;
50
+ (0, devkit_1.updateProjectConfiguration)(host, projectName, projectConfig);
51
+ }
52
+ }
53
+ else {
54
+ // configuration is an object in workspace.json
55
+ const path = (0, path_1.join)(config.root, 'project.json');
56
+ if (!host.exists(path)) {
57
+ projects[projectName].name = projectName;
58
+ (0, devkit_1.addProjectConfiguration)(host, path, projects[projectName]);
59
+ }
60
+ }
61
+ }
62
+ else {
63
+ leftOverProjects[projectName] = config;
46
64
  }
47
- delete configuration.root;
48
- (0, devkit_1.writeJson)(host, configPath, configuration);
49
- (0, devkit_1.updateJson)(host, (0, devkit_1.getWorkspacePath)(host), (value) => {
50
- value.projects[project] = (0, devkit_1.normalizePath)((0, path_1.dirname)(configPath));
51
- return value;
52
- });
65
+ }
66
+ if (Object.keys(leftOverProjects).length > 0) {
67
+ (0, devkit_1.writeJson)(host, 'angular.json', (0, angular_json_1.toOldFormat)({ version: 1, projects: leftOverProjects }));
68
+ }
69
+ else {
70
+ host.delete(configName);
53
71
  }
54
72
  if (!schema.skipFormat) {
55
73
  yield (0, devkit_1.formatFiles)(host);
56
74
  }
75
+ output_1.output.note({
76
+ title: 'Use "nx show projects" to read the list of projects.',
77
+ bodyLines: [
78
+ `If you read the list of projects from ${configName}, use "nx show projects" instead.`,
79
+ ],
80
+ });
57
81
  });
58
82
  }
59
83
  exports.convertToNxProjectGenerator = convertToNxProjectGenerator;
@@ -1 +1 @@
1
- {"version":3,"file":"convert-to-nx-project.js","sourceRoot":"","sources":["../../../../../../packages/workspace/src/generators/convert-to-nx-project/convert-to-nx-project.ts"],"names":[],"mappings":";;;;AAAA,+BAA+B;AAC/B,uCAAkC;AAElC,yCAasB;AAGtB,2FAAqF;AAExE,QAAA,qCAAqC,GAChD,4CAA4C,CAAC;AAE/C,SAAsB,cAAc,CAAC,MAAc;;QACjD,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,EAAE;YAChC,MAAM,6CAAqC,CAAC;SAC7C;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;YAClC,MAAM,CAAC,OAAO,GAAG,CACf,MAAM,IAAA,iBAAM,EAAsB;gBAChC;oBACE,OAAO,EAAE,mCAAmC;oBAC5C,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,SAAS;iBAChB;aACF,CAAC,CACH,CAAC,OAAO,CAAC;SACX;IACH,CAAC;CAAA;AAhBD,wCAgBC;AAED,SAAsB,2BAA2B,CAAC,IAAU,EAAE,MAAc;;QAC1E,MAAM,SAAS,GAAG,IAAA,mCAA0B,EAAC,IAAI,CAAC,CAAC;QACnD,IAAI,SAAS,CAAC,OAAO,GAAG,CAAC,EAAE;YACzB,eAAM,CAAC,KAAK,CAAC;;qDAEoC,IAAA,yBAAgB,EAC/D,IAAI,CACL;CACJ,CAAC,CAAC;YACC,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;SACjC;QAED,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;QAE7B,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG;YACzB,CAAC,CAAC,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC,OAAO,EAAE;YAC7B,CAAC,CAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,IAAA,iCAAwB,EAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAG9D,CAAC;QAET,KAAK,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,QAAQ,EAAE;YAC/C,MAAM,UAAU,GAAG,IAAA,4DAA2B,EAAC,aAAa,CAAC,CAAC;YAC9D,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;gBAC3B,eAAM,CAAC,IAAI,CAAC,YAAY,OAAO,UAAU,UAAU,kBAAkB,CAAC,CAAC;gBACvE,SAAS;aACV;YAED,OAAO,aAAa,CAAC,IAAI,CAAC;YAE1B,IAAA,kBAAS,EAAC,IAAI,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;YAE3C,IAAA,mBAAU,EAAC,IAAI,EAAE,IAAA,yBAAgB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE;gBACjD,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAA,sBAAa,EAAC,IAAA,cAAO,EAAC,UAAU,CAAC,CAAC,CAAC;gBAC7D,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;YACtB,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;SACzB;IACH,CAAC;CAAA;AAzCD,kEAyCC;AAED,kBAAe,2BAA2B,CAAC;AAE9B,QAAA,2BAA2B,GAAG,IAAA,2BAAkB,EAC3D,2BAA2B,CAC5B,CAAC"}
1
+ {"version":3,"file":"convert-to-nx-project.js","sourceRoot":"","sources":["../../../../../../packages/workspace/src/generators/convert-to-nx-project/convert-to-nx-project.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  export interface Schema {
2
2
  project?: string;
3
3
  all?: boolean;
4
+
5
+ reformat?: boolean;
4
6
  skipFormat?: boolean;
5
7
  }
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/schema",
3
3
  "$id": "SchematicsConvertToNxProject",
4
- "title": "Create a custom target to run any command",
5
- "description": "Create a custom target to run any command.",
4
+ "title": "@nrwl/workspace:fix-configuration",
5
+ "description": "Migrates v1 config to v2 standalone configuration.",
6
6
  "type": "object",
7
7
  "cli": "nx",
8
8
  "examples": [
@@ -17,17 +17,22 @@
17
17
  ],
18
18
  "properties": {
19
19
  "project": {
20
- "description": "Project name.",
20
+ "description": "Convert a single project",
21
21
  "type": "string"
22
22
  },
23
23
  "all": {
24
- "description": "Should every project be converted?",
24
+ "description": "Convert all projects",
25
+ "type": "boolean"
26
+ },
27
+ "reformat": {
28
+ "description": "Just reformats the configuration",
25
29
  "type": "boolean"
26
30
  },
27
31
  "skipFormat": {
28
- "description": "Skip formatting files.",
32
+ "description": "Skip formatting files",
29
33
  "type": "boolean",
30
- "default": false
34
+ "default": false,
35
+ "x-priority": "internal"
31
36
  }
32
37
  }
33
38
  }
@@ -1,3 +1,3 @@
1
1
  {
2
- "presets": [["@nrwl/web/babel", { "useBuiltIns": "usage" }]]
2
+ "presets": [["@nrwl/js/babel", { "useBuiltIns": "usage" }]]
3
3
  }
@@ -5,6 +5,6 @@
5
5
  "declaration": true,
6
6
  "types": []
7
7
  },
8
- "include": ["**/*.ts"<% if (js) { %>, "**/*.js"<% } %>],
9
- "exclude": ["jest.config.ts","**/*.spec.ts"<% if (js) { %>, "**/*.spec.js"<% } %>]
8
+ "include": ["src/**/*.ts"<% if (js) { %>, "src/**/*.js"<% } %>],
9
+ "exclude": ["jest.config.ts","src/**/*.spec.ts"<% if (js) { %>, "src/**/*.spec.js"<% } %>]
10
10
  }
@@ -1,10 +1,11 @@
1
- import { Tree, GeneratorCallback } from '@nrwl/devkit';
1
+ import { GeneratorCallback, Tree } from '@nrwl/devkit';
2
2
  import { Schema } from './schema';
3
3
  export interface NormalizedSchema extends Schema {
4
4
  name: string;
5
5
  fileName: string;
6
6
  projectRoot: string;
7
7
  projectDirectory: string;
8
+ libsDir: string;
8
9
  parsedTags: string[];
9
10
  importPath?: string;
10
11
  }
@@ -5,13 +5,8 @@ const tslib_1 = require("tslib");
5
5
  const devkit_1 = require("@nrwl/devkit");
6
6
  const path_1 = require("nx/src/utils/path");
7
7
  const path_2 = require("path");
8
- const run_tasks_in_serial_1 = require("../../utilities/run-tasks-in-serial");
9
- const typescript_1 = require("../../utilities/typescript");
8
+ const ts_config_1 = require("../../utilities/ts-config");
10
9
  const versions_1 = require("../../utils/versions");
11
- // nx-ignore-next-line
12
- const { jestProjectGenerator } = require('@nrwl/jest');
13
- // nx-ignore-next-line
14
- const { lintProjectGenerator, Linter } = require('@nrwl/linter');
15
10
  function addProject(tree, options) {
16
11
  const projectConfiguration = {
17
12
  root: options.projectRoot,
@@ -21,34 +16,38 @@ function addProject(tree, options) {
21
16
  tags: options.parsedTags,
22
17
  };
23
18
  if (options.buildable) {
24
- const { libsDir } = (0, devkit_1.getWorkspaceLayout)(tree);
25
19
  (0, devkit_1.addDependenciesToPackageJson)(tree, {}, { '@nrwl/js': versions_1.nxVersion });
26
20
  projectConfiguration.targets.build = {
27
21
  executor: '@nrwl/js:tsc',
28
22
  outputs: ['{options.outputPath}'],
29
23
  options: {
30
- outputPath: `dist/${libsDir}/${options.projectDirectory}`,
24
+ outputPath: options.libsDir != '.'
25
+ ? `dist/${options.libsDir}/${options.projectDirectory}`
26
+ : `dist/${options.projectDirectory}`,
31
27
  main: `${options.projectRoot}/src/index` + (options.js ? '.js' : '.ts'),
32
28
  tsConfig: `${options.projectRoot}/tsconfig.lib.json`,
33
29
  assets: [`${options.projectRoot}/*.md`],
34
30
  },
35
31
  };
36
32
  }
37
- (0, devkit_1.addProjectConfiguration)(tree, options.name, projectConfiguration, options.standaloneConfig);
33
+ (0, devkit_1.addProjectConfiguration)(tree, options.name, projectConfiguration);
38
34
  }
39
35
  function addLint(tree, options) {
40
- return lintProjectGenerator(tree, {
41
- project: options.name,
42
- linter: options.linter,
43
- skipFormat: true,
44
- tsConfigPaths: [
45
- (0, devkit_1.joinPathFragments)(options.projectRoot, 'tsconfig.lib.json'),
46
- ],
47
- unitTestRunner: options.unitTestRunner,
48
- eslintFilePatterns: [
49
- `${options.projectRoot}/**/*.${options.js ? 'js' : 'ts'}`,
50
- ],
51
- setParserOptionsProject: options.setParserOptionsProject,
36
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
37
+ const { lintProjectGenerator } = (0, devkit_1.ensurePackage)('@nrwl/linter', versions_1.nxVersion);
38
+ return lintProjectGenerator(tree, {
39
+ project: options.name,
40
+ linter: options.linter,
41
+ skipFormat: true,
42
+ tsConfigPaths: [
43
+ (0, devkit_1.joinPathFragments)(options.projectRoot, 'tsconfig.lib.json'),
44
+ ],
45
+ unitTestRunner: options.unitTestRunner,
46
+ eslintFilePatterns: [
47
+ `${options.projectRoot}/**/*.${options.js ? 'js' : 'ts'}`,
48
+ ],
49
+ setParserOptionsProject: options.setParserOptionsProject,
50
+ });
52
51
  });
53
52
  }
54
53
  exports.addLint = addLint;
@@ -61,7 +60,7 @@ function updateTsConfig(tree, options) {
61
60
  });
62
61
  }
63
62
  function updateRootTsConfig(host, options) {
64
- (0, devkit_1.updateJson)(host, (0, typescript_1.getRootTsConfigPathInTree)(host), (json) => {
63
+ (0, devkit_1.updateJson)(host, (0, ts_config_1.getRootTsConfigPathInTree)(host), (json) => {
65
64
  const c = json.compilerOptions;
66
65
  c.paths = c.paths || {};
67
66
  delete c.paths[options.name];
@@ -79,7 +78,7 @@ function createFiles(tree, options) {
79
78
  const rootOffset = (0, devkit_1.offsetFromRoot)(options.projectRoot);
80
79
  (0, devkit_1.generateFiles)(tree, (0, path_2.join)(__dirname, './files/lib'), options.projectRoot, Object.assign(Object.assign({}, options), { dot: '.', className,
81
80
  name,
82
- propertyName, js: !!options.js, cliCommand: 'nx', strict: undefined, tmpl: '', offsetFromRoot: rootOffset, rootTsConfigPath: (0, typescript_1.getRelativePathToRootTsConfig)(tree, options.projectRoot), hasUnitTestRunner: options.unitTestRunner !== 'none', hasLinter: options.linter !== 'none' }));
81
+ propertyName, js: !!options.js, cliCommand: 'nx', strict: undefined, tmpl: '', offsetFromRoot: rootOffset, rootTsConfigPath: (0, ts_config_1.getRelativePathToRootTsConfig)(tree, options.projectRoot), hasUnitTestRunner: options.unitTestRunner !== 'none', hasLinter: options.linter !== 'none' }));
83
82
  if (options.unitTestRunner === 'none') {
84
83
  tree.delete((0, path_2.join)(options.projectRoot, 'src/lib', `${options.fileName}.spec.ts`));
85
84
  }
@@ -96,18 +95,26 @@ function createFiles(tree, options) {
96
95
  }
97
96
  function addJest(tree, options) {
98
97
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
98
+ const { jestProjectGenerator } = (0, devkit_1.ensurePackage)('@nrwl/jest', versions_1.nxVersion);
99
99
  return yield jestProjectGenerator(tree, Object.assign(Object.assign({}, options), { project: options.name, setupFile: 'none', supportTsx: true, babelJest: options.babelJest, skipSerializers: true, testEnvironment: options.testEnvironment, skipFormat: true }));
100
100
  });
101
101
  }
102
+ function addTypescript(tree, options) {
103
+ // add tsconfig.base.json
104
+ if (!options.skipTsConfig && !(0, ts_config_1.getRootTsConfigFileName)()) {
105
+ (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, './files/root'), '.', {});
106
+ }
107
+ return !options.js
108
+ ? (0, devkit_1.addDependenciesToPackageJson)(tree, {}, { typescript: versions_1.typescriptVersion })
109
+ : () => { };
110
+ }
102
111
  function libraryGenerator(tree, schema) {
103
112
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
104
113
  const options = normalizeOptions(tree, schema);
114
+ const tasks = [];
115
+ addTypescript(tree, options);
105
116
  createFiles(tree, options);
106
- if (!options.skipTsConfig) {
107
- updateRootTsConfig(tree, options);
108
- }
109
117
  addProject(tree, options);
110
- const tasks = [];
111
118
  if (options.linter !== 'none') {
112
119
  const lintCallback = yield addLint(tree, options);
113
120
  tasks.push(lintCallback);
@@ -116,10 +123,13 @@ function libraryGenerator(tree, schema) {
116
123
  const jestCallback = yield addJest(tree, options);
117
124
  tasks.push(jestCallback);
118
125
  }
126
+ if (!options.skipTsConfig) {
127
+ updateRootTsConfig(tree, options);
128
+ }
119
129
  if (!options.skipFormat) {
120
130
  yield (0, devkit_1.formatFiles)(tree);
121
131
  }
122
- return (0, run_tasks_in_serial_1.runTasksInSerial)(...tasks);
132
+ return (0, devkit_1.runTasksInSerial)(...tasks);
123
133
  });
124
134
  }
125
135
  exports.libraryGenerator = libraryGenerator;
@@ -127,13 +137,12 @@ exports.default = libraryGenerator;
127
137
  exports.librarySchematic = (0, devkit_1.convertNxGenerator)(libraryGenerator);
128
138
  function normalizeOptions(tree, options) {
129
139
  const name = (0, devkit_1.names)(options.name).fileName;
130
- const projectDirectory = options.directory
131
- ? `${(0, devkit_1.names)(options.directory).fileName}/${name}`
132
- : name;
140
+ const { layoutDirectory, projectDirectory } = (0, devkit_1.extractLayoutDirectory)(options.directory ? `${(0, devkit_1.names)(options.directory).fileName}/${name}` : name);
133
141
  if (!options.unitTestRunner) {
134
142
  options.unitTestRunner = 'jest';
135
143
  }
136
144
  if (!options.linter) {
145
+ const { Linter } = require('@nrwl/linter');
137
146
  options.linter = Linter.EsLint;
138
147
  }
139
148
  const projectName = projectDirectory.replace(new RegExp('/', 'g'), '-');
@@ -141,7 +150,8 @@ function normalizeOptions(tree, options) {
141
150
  fileName: options.simpleModuleName ? name : projectName,
142
151
  pascalCaseFiles: options.pascalCaseFiles,
143
152
  });
144
- const { libsDir, npmScope } = (0, devkit_1.getWorkspaceLayout)(tree);
153
+ const { libsDir: defaultLibsDir, npmScope } = (0, devkit_1.getWorkspaceLayout)(tree);
154
+ const libsDir = layoutDirectory !== null && layoutDirectory !== void 0 ? layoutDirectory : defaultLibsDir;
145
155
  const projectRoot = (0, devkit_1.joinPathFragments)(libsDir, projectDirectory);
146
156
  const parsedTags = options.tags
147
157
  ? options.tags.split(',').map((s) => s.trim())
@@ -150,7 +160,8 @@ function normalizeOptions(tree, options) {
150
160
  return Object.assign(Object.assign({}, options), { fileName, name: projectName, projectRoot,
151
161
  projectDirectory,
152
162
  parsedTags,
153
- importPath });
163
+ importPath,
164
+ libsDir });
154
165
  }
155
166
  function getCaseAwareFileName(options) {
156
167
  const normalized = (0, devkit_1.names)(options.fileName);