@toolsplus/nx-forge 2.1.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/README.md +36 -34
  2. package/executors.json +5 -0
  3. package/migrations.json +16 -0
  4. package/package.json +5 -1
  5. package/src/executors/build/executor.js +1 -1
  6. package/src/executors/build/executor.js.map +1 -1
  7. package/src/executors/build/lib/compile-webpack.js +3 -2
  8. package/src/executors/build/lib/compile-webpack.js.map +1 -1
  9. package/src/executors/build/lib/copy-forge-app-assets.js.map +1 -1
  10. package/src/executors/build/lib/generate-package-json.js.map +1 -1
  11. package/src/executors/build/lib/normalize-options.js.map +1 -1
  12. package/src/executors/build/lib/patch-manifest-yml.js +3 -6
  13. package/src/executors/build/lib/patch-manifest-yml.js.map +1 -1
  14. package/src/executors/build/lib/process-custom-ui-dependencies.js +5 -8
  15. package/src/executors/build/lib/process-custom-ui-dependencies.js.map +1 -1
  16. package/src/executors/build/schema.json +1 -3
  17. package/src/executors/deploy/executor.js.map +1 -1
  18. package/src/executors/deploy/schema.json +2 -8
  19. package/src/executors/install/executor.d.ts +4 -0
  20. package/src/executors/install/executor.js +30 -0
  21. package/src/executors/install/executor.js.map +1 -0
  22. package/src/executors/install/schema.d.ts +10 -0
  23. package/src/executors/install/schema.json +54 -0
  24. package/src/executors/register/executor.js +1 -1
  25. package/src/executors/register/executor.js.map +1 -1
  26. package/src/executors/register/lib/normalize-options.js.map +1 -1
  27. package/src/executors/register/lib/patch-manifest-yml.js +4 -9
  28. package/src/executors/register/lib/patch-manifest-yml.js.map +1 -1
  29. package/src/executors/register/schema.json +2 -5
  30. package/src/executors/tunnel/executor.js.map +1 -1
  31. package/src/executors/tunnel/lib/extract-custom-ui-projects.js +3 -7
  32. package/src/executors/tunnel/lib/extract-custom-ui-projects.js.map +1 -1
  33. package/src/executors/tunnel/lib/run-tunnel.js.map +1 -1
  34. package/src/executors/tunnel/lib/wait-until-server-is-listening.js.map +1 -1
  35. package/src/executors/tunnel/schema.json +1 -3
  36. package/src/generators/application/files/README.md +2 -8
  37. package/src/generators/application/generator.js +4 -2
  38. package/src/generators/application/generator.js.map +1 -1
  39. package/src/generators/application/lib/add-project.js +3 -0
  40. package/src/generators/application/lib/add-project.js.map +1 -1
  41. package/src/generators/application/lib/create-files.js.map +1 -1
  42. package/src/generators/application/lib/get-build-config.js.map +1 -1
  43. package/src/generators/application/lib/get-deploy-config.js.map +1 -1
  44. package/src/generators/application/lib/get-install-config.d.ts +3 -0
  45. package/src/generators/application/lib/get-install-config.js +14 -0
  46. package/src/generators/application/lib/get-install-config.js.map +1 -0
  47. package/src/generators/application/lib/get-register-config.js.map +1 -1
  48. package/src/generators/application/lib/get-serve-config.js.map +1 -1
  49. package/src/generators/application/lib/index.js.map +1 -1
  50. package/src/generators/application/lib/normalize-options.js +6 -4
  51. package/src/generators/application/lib/normalize-options.js.map +1 -1
  52. package/src/generators/application/schema.d.ts +3 -1
  53. package/src/generators/application/schema.json +3 -11
  54. package/src/generators/init/generator.js +15 -3
  55. package/src/generators/init/generator.js.map +1 -1
  56. package/src/generators/init/lib/add-dependencies.js.map +1 -1
  57. package/src/generators/init/lib/index.js.map +1 -1
  58. package/src/generators/init/lib/normalize-options.js.map +1 -1
  59. package/src/generators/init/schema.d.ts +1 -1
  60. package/src/generators/init/schema.json +1 -4
  61. package/src/graph/forge-project-graph.d.ts +2 -0
  62. package/src/graph/forge-project-graph.js +68 -0
  63. package/src/graph/forge-project-graph.js.map +1 -0
  64. package/src/index.d.ts +3 -0
  65. package/src/index.js +7 -0
  66. package/src/index.js.map +1 -1
  67. package/src/migrations/update-2-3-0/add-nx-forge-plugin.d.ts +2 -0
  68. package/src/migrations/update-2-3-0/add-nx-forge-plugin.js +14 -0
  69. package/src/migrations/update-2-3-0/add-nx-forge-plugin.js.map +1 -0
  70. package/src/migrations/update-2-3-0/remove-implicit-custom-ui-dependencies.d.ts +2 -0
  71. package/src/migrations/update-2-3-0/remove-implicit-custom-ui-dependencies.js +31 -0
  72. package/src/migrations/update-2-3-0/remove-implicit-custom-ui-dependencies.js.map +1 -0
  73. package/src/migrations/update-2-3-0/utils/manifest.d.ts +4 -0
  74. package/src/migrations/update-2-3-0/utils/manifest.js +23 -0
  75. package/src/migrations/update-2-3-0/utils/manifest.js.map +1 -0
  76. package/src/migrations/update-2-3-0/utils/yml.d.ts +20 -0
  77. package/src/migrations/update-2-3-0/utils/yml.js +36 -0
  78. package/src/migrations/update-2-3-0/utils/yml.js.map +1 -0
  79. package/src/utils/forge/async-commands.js.map +1 -1
  80. package/src/utils/forge/manifest-yml.d.ts +15 -0
  81. package/src/utils/forge/manifest-yml.js +56 -0
  82. package/src/utils/forge/manifest-yml.js.map +1 -0
  83. package/src/utils/versions.js.map +1 -1
  84. package/src/utils/forge/load-manifest-yml.d.ts +0 -2
  85. package/src/utils/forge/load-manifest-yml.js +0 -32
  86. package/src/utils/forge/load-manifest-yml.js.map +0 -1
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getCustomUiProjects = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const devkit_1 = require("@nx/devkit");
6
- const load_manifest_yml_1 = require("../../../utils/forge/load-manifest-yml");
6
+ const manifest_yml_1 = require("../../../utils/forge/manifest-yml");
7
7
  /**
8
8
  * Extracts all configured Custom UI resources and their tunnel port for this Forge app.
9
9
  *
@@ -37,24 +37,20 @@ function extractVerifiedCustomUiProjects(context) {
37
37
  var _a;
38
38
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
39
39
  const manifestPath = (0, devkit_1.joinPathFragments)(context.root, context.projectsConfigurations.projects[context.projectName].root, 'manifest.yml');
40
- const manifestSchema = yield (0, load_manifest_yml_1.loadManifestYml)(manifestPath);
40
+ const manifestSchema = yield (0, manifest_yml_1.readManifestYml)(manifestPath);
41
41
  const resources = (_a = manifestSchema.resources) !== null && _a !== void 0 ? _a : [];
42
42
  return resources.map(verifyCustomUIDependency(context));
43
43
  });
44
44
  }
45
45
  const verifyCustomUIDependency = (context) => (resource) => {
46
- var _a;
47
46
  const customUIProjectName = resource.path;
48
- const customUIProjectConfiguration = context.workspace.projects[customUIProjectName];
47
+ const customUIProjectConfiguration = context.projectsConfigurations.projects[customUIProjectName];
49
48
  if (!customUIProjectConfiguration) {
50
49
  throw new Error(`Nx workspace is missing project for Custom UI path ${customUIProjectName}. Make sure the Custom UI resource path references a project in your Nx workspace.`);
51
50
  }
52
51
  if (!customUIProjectConfiguration.targets['serve']) {
53
52
  throw new Error(`Custom UI project '${customUIProjectName}' targets is missing a 'serve' executor. Make sure the 'targets' property in the project's 'project.json' has a 'serve' executor configured.`);
54
53
  }
55
- if (!((_a = context.workspace.projects[context.projectName].implicitDependencies) === null || _a === void 0 ? void 0 : _a.includes(customUIProjectName))) {
56
- throw new Error(`Project ${customUIProjectName} is configured as Forge Custom UI resource but not listed as implicit dependency of the Forge project (${context.projectName}). Add ${customUIProjectName} to the 'implicitDependencies' array in this project's 'project.json', or remove the Custom UI resource from the app's manifest.yml.`);
57
- }
58
54
  if (!resource.tunnel || !Number.isInteger(resource.tunnel.port)) {
59
55
  throw new Error(`Custom UI resource with key ${resource.key} is missing tunnel port in manifest.yml. Follow the Forge docs on how to add a tunnel port to the Custom UI resource with key ${resource.key}: https://developer.atlassian.com/platform/forge/tunneling/#connecting-the-tunnel-to-your-own-dev-server`);
60
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"extract-custom-ui-projects.js","sourceRoot":"","sources":["../../../../../../../packages/forge/src/executors/tunnel/lib/extract-custom-ui-projects.ts"],"names":[],"mappings":";;;;AAAA,uCAAgE;AAGhE,8EAAyE;AAIzE;;;;;GAKG;AACH,SAAsB,mBAAmB,CACvC,OAAwB;;QAExB,MAAM,QAAQ,GAAG,MAAM,+BAA+B,CAAC,OAAO,CAAC,CAAC;QAChE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1B,WAAW,EAAE,CAAC,CAAC,IAAI;YACnB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;SACpB,CAAC,CAAC,CAAC;IACN,CAAC;CAAA;AARD,kDAQC;AAED;;;;;;;;;;;;GAYG;AACH,SAAe,+BAA+B,CAC5C,OAAwB;;;QAExB,MAAM,YAAY,GAAG,IAAA,0BAAiB,EACpC,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,EACjE,cAAc,CACf,CAAC;QACF,MAAM,cAAc,GAAG,MAAM,IAAA,mCAAe,EAAC,YAAY,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAc,MAAA,cAAc,CAAC,SAAS,mCAAI,EAAE,CAAC;QAC5D,OAAO,SAAS,CAAC,GAAG,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;;CACzD;AAED,MAAM,wBAAwB,GAC5B,CAAC,OAAwB,EAAE,EAAE,CAC7B,CAAC,QAA+B,EAA0B,EAAE;;IAC1D,MAAM,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC;IAE1C,MAAM,4BAA4B,GAChC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAElD,IAAI,CAAC,4BAA4B,EAAE;QACjC,MAAM,IAAI,KAAK,CACb,sDAAsD,mBAAmB,oFAAoF,CAC9J,CAAC;KACH;IAED,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAClD,MAAM,IAAI,KAAK,CACb,sBAAsB,mBAAmB,8IAA8I,CACxL,CAAC;KACH;IAED,IACE,CAAC,CAAA,MAAA,OAAO,CAAC,SAAS,CAAC,QAAQ,CACzB,OAAO,CAAC,WAAW,CACpB,CAAC,oBAAoB,0CAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAA,EACrD;QACA,MAAM,IAAI,KAAK,CACb,WAAW,mBAAmB,0GAA0G,OAAO,CAAC,WAAW,UAAU,mBAAmB,sIAAsI,CAC/T,CAAC;KACH;IAED,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QAC/D,MAAM,IAAI,KAAK,CACb,+BAA+B,QAAQ,CAAC,GAAG,iIAAiI,QAAQ,CAAC,GAAG,0GAA0G,CACnS,CAAC;KACH;IAED,OAAO,QAAkC,CAAC;AAC5C,CAAC,CAAC"}
1
+ {"version":3,"file":"extract-custom-ui-projects.js","sourceRoot":"","sources":["../../../../../../../packages/nx-forge/src/executors/tunnel/lib/extract-custom-ui-projects.ts"],"names":[],"mappings":";;;;AAAA,uCAAgE;AAGhE,oEAAoE;AAIpE;;;;;GAKG;AACH,SAAsB,mBAAmB,CACvC,OAAwB;;QAExB,MAAM,QAAQ,GAAG,MAAM,+BAA+B,CAAC,OAAO,CAAC,CAAC;QAChE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1B,WAAW,EAAE,CAAC,CAAC,IAAI;YACnB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;SACpB,CAAC,CAAC,CAAC;IACN,CAAC;CAAA;AARD,kDAQC;AAED;;;;;;;;;;;;GAYG;AACH,SAAe,+BAA+B,CAC5C,OAAwB;;;QAExB,MAAM,YAAY,GAAG,IAAA,0BAAiB,EACpC,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,EACjE,cAAc,CACf,CAAC;QACF,MAAM,cAAc,GAAG,MAAM,IAAA,8BAAe,EAAC,YAAY,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAc,MAAA,cAAc,CAAC,SAAS,mCAAI,EAAE,CAAC;QAC5D,OAAO,SAAS,CAAC,GAAG,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;;CACzD;AAED,MAAM,wBAAwB,GAC5B,CAAC,OAAwB,EAAE,EAAE,CAC7B,CAAC,QAA+B,EAA0B,EAAE;IAC1D,MAAM,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC;IAE1C,MAAM,4BAA4B,GAChC,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAE/D,IAAI,CAAC,4BAA4B,EAAE;QACjC,MAAM,IAAI,KAAK,CACb,sDAAsD,mBAAmB,oFAAoF,CAC9J,CAAC;KACH;IAED,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAClD,MAAM,IAAI,KAAK,CACb,sBAAsB,mBAAmB,8IAA8I,CACxL,CAAC;KACH;IAED,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QAC/D,MAAM,IAAI,KAAK,CACb,+BAA+B,QAAQ,CAAC,GAAG,iIAAiI,QAAQ,CAAC,GAAG,0GAA0G,CACnS,CAAC;KACH;IAED,OAAO,QAAkC,CAAC;AAC5C,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"run-tunnel.js","sourceRoot":"","sources":["../../../../../../../packages/forge/src/executors/tunnel/lib/run-tunnel.ts"],"names":[],"mappings":";;;AAAA,uCAAqD;AACrD,+BAA4B;AAC5B,iDAAsC;AAEtC,qFAA8E;AAE9E;;;;;;;;;;GAUG;AACH,SAA8B,SAAS,CACrC,OAKC,EACD,OAAwB;;QAExB,eAAM,CAAC,IAAI,CACT,qFAAqF,CACtF,CAAC;QAEF,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAC9C,IAAA,2DAA0B,EAAC,IAAI,EAAE,OAAO,CAAC,CAC1C,CACF,CAAC;QAEF,eAAM,CAAC,IAAI,CACT,sEAAsE,CACvE,CAAC;QAEF,MAAM,IAAI,GAAG;YACX,QAAQ;YACR,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/C,CAAC;QAEF,MAAM,OAAO,GAAG,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1C,eAAM,CAAC,GAAG,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;QAElC,4FAA4F;QAC5F,MAAM,aAAa,GAAG,IAAA,qBAAK,EAAC,OAAO,EAAE,IAAI,EAAE;YACzC,GAAG,EAAE,OAAO,CAAC,UAAU;YACvB,GAAG,kCACE,OAAO,CAAC,GAAG;gBACd,oHAAoH;gBACpH,qEAAqE;gBACrE,8BAA8B,EAAE,GAAG,IAAA,WAAI,EACrC,OAAO,CAAC,IAAI,EACZ,cAAc,CACf,oBAAoB,GACtB;YACD,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3D,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBAC1C,IAAI,IAAI,KAAK,CAAC,EAAE;oBACd,eAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;oBACnD,OAAO,CAAC;wBACN,OAAO,EAAE,IAAI;qBACd,CAAC,CAAC;iBACJ;qBAAM;oBACL,MAAM,CACJ,IAAI,KAAK,CAAC,mDAAmD,GAAG,IAAI,CAAC,CACtE,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;YACH,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;gBACzC,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,GAAG,GAAG,CAAC,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CAAA;AAhED,4BAgEC"}
1
+ {"version":3,"file":"run-tunnel.js","sourceRoot":"","sources":["../../../../../../../packages/nx-forge/src/executors/tunnel/lib/run-tunnel.ts"],"names":[],"mappings":";;;AAAA,uCAAqD;AACrD,+BAA4B;AAC5B,iDAAsC;AAEtC,qFAA8E;AAE9E;;;;;;;;;;GAUG;AACH,SAA8B,SAAS,CACrC,OAKC,EACD,OAAwB;;QAExB,eAAM,CAAC,IAAI,CACT,qFAAqF,CACtF,CAAC;QAEF,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAC9C,IAAA,2DAA0B,EAAC,IAAI,EAAE,OAAO,CAAC,CAC1C,CACF,CAAC;QAEF,eAAM,CAAC,IAAI,CACT,sEAAsE,CACvE,CAAC;QAEF,MAAM,IAAI,GAAG;YACX,QAAQ;YACR,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/C,CAAC;QAEF,MAAM,OAAO,GAAG,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1C,eAAM,CAAC,GAAG,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;QAElC,4FAA4F;QAC5F,MAAM,aAAa,GAAG,IAAA,qBAAK,EAAC,OAAO,EAAE,IAAI,EAAE;YACzC,GAAG,EAAE,OAAO,CAAC,UAAU;YACvB,GAAG,kCACE,OAAO,CAAC,GAAG;gBACd,oHAAoH;gBACpH,qEAAqE;gBACrE,8BAA8B,EAAE,GAAG,IAAA,WAAI,EACrC,OAAO,CAAC,IAAI,EACZ,cAAc,CACf,oBAAoB,GACtB;YACD,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3D,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBAC1C,IAAI,IAAI,KAAK,CAAC,EAAE;oBACd,eAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;oBACnD,OAAO,CAAC;wBACN,OAAO,EAAE,IAAI;qBACd,CAAC,CAAC;iBACJ;qBAAM;oBACL,MAAM,CACJ,IAAI,KAAK,CAAC,mDAAmD,GAAG,IAAI,CAAC,CACtE,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;YACH,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;gBACzC,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,GAAG,GAAG,CAAC,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CAAA;AAhED,4BAgEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"wait-until-server-is-listening.js","sourceRoot":"","sources":["../../../../../../../packages/forge/src/executors/tunnel/lib/wait-until-server-is-listening.ts"],"names":[],"mappings":";;;AAAA,2BAA2B;AAC3B,uCAAqD;AAErD;;;;;GAKG;AACH,SAAgB,0BAA0B,CACxC,IAAY,EACZ,OAAwB;IAExB,MAAM,iBAAiB,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,CAAC,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC,CAAC;IAEF,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,MAAM,GAAG,GAAG,EAAE;YAClB,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;gBAC1B,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACzB,IACE,QAAQ,GAAG,WAAW;oBACtB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EACxC;oBACA,IAAI,OAAO,CAAC,SAAS,EAAE;wBACrB,eAAM,CAAC,KAAK,CACV,8CAA8C,IAAI,KAChD,QAAQ,GAAG,WAAW;4BACpB,CAAC,CAAC,iBAAiB,WAAW,YAAY;4BAC1C,CAAC,CAAC,yCAAyC,GAAG,CAAC,MAAM,CAAC,EAC1D,EAAE,CACH,CAAC;qBACH;oBACD,OAAO,EAAE,CAAC;oBACV,MAAM,CAAC,GAAG,CAAC,CAAC;iBACb;qBAAM;oBACL,QAAQ,EAAE,CAAC;oBACX,UAAU,CAAC,MAAM,EAAE,IAAI,GAAG,QAAQ,CAAC,CAAC;iBACrC;YACH,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC;QACF,MAAM,EAAE,CAAC;IACX,CAAC,CAAC,CAAC;AACL,CAAC;AA/CD,gEA+CC"}
1
+ {"version":3,"file":"wait-until-server-is-listening.js","sourceRoot":"","sources":["../../../../../../../packages/nx-forge/src/executors/tunnel/lib/wait-until-server-is-listening.ts"],"names":[],"mappings":";;;AAAA,2BAA2B;AAC3B,uCAAqD;AAErD;;;;;GAKG;AACH,SAAgB,0BAA0B,CACxC,IAAY,EACZ,OAAwB;IAExB,MAAM,iBAAiB,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,CAAC,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC,CAAC;IAEF,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,MAAM,GAAG,GAAG,EAAE;YAClB,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;gBAC1B,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACzB,IACE,QAAQ,GAAG,WAAW;oBACtB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EACxC;oBACA,IAAI,OAAO,CAAC,SAAS,EAAE;wBACrB,eAAM,CAAC,KAAK,CACV,8CAA8C,IAAI,KAChD,QAAQ,GAAG,WAAW;4BACpB,CAAC,CAAC,iBAAiB,WAAW,YAAY;4BAC1C,CAAC,CAAC,yCAAyC,GAAG,CAAC,MAAM,CAAC,EAC1D,EAAE,CACH,CAAC;qBACH;oBACD,OAAO,EAAE,CAAC;oBACV,MAAM,CAAC,GAAG,CAAC,CAAC;iBACb;qBAAM;oBACL,QAAQ,EAAE,CAAC;oBACX,UAAU,CAAC,MAAM,EAAE,IAAI,GAAG,QAAQ,CAAC,CAAC;iBACrC;YACH,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC;QACF,MAAM,EAAE,CAAC;IACX,CAAC,CAAC,CAAC;AACL,CAAC;AA/CD,gEA+CC"}
@@ -24,7 +24,5 @@
24
24
  "default": false
25
25
  }
26
26
  },
27
- "required": [
28
- "outputPath"
29
- ]
27
+ "required": ["outputPath"]
30
28
  }
@@ -6,13 +6,12 @@ Before you can start using this app with Forge make sure to initially build the
6
6
 
7
7
  nx build <%= name %>
8
8
 
9
- After that, proceed with the initial registration of the app with the Forge platform by running the following commands from the dist directory:
9
+ After that, proceed with the initial registration of the app with the Forge platform by running the following commands from the dist directory:
10
10
 
11
11
  forge register
12
12
  forge deploy
13
13
  forge install
14
14
 
15
-
16
15
  This will initially register the app with the Forge platform, deploy the code and finally install the app on any of your Atlassian applications.
17
16
 
18
17
  ## Tunnel-based dev loop
@@ -25,7 +24,7 @@ This will start the `serve` target for all Custom UI projects defined in the app
25
24
 
26
25
  ## Manual dev loop
27
26
 
28
- When the app code changes, the updated code has to rebuilt by calling
27
+ When the app code changes, the updated code has to rebuilt by calling
29
28
 
30
29
  nx build <%= name %>
31
30
 
@@ -38,8 +37,3 @@ If the app's `manifest.yml` changed, you may have to upgrade an existing install
38
37
  forge install --upgrade
39
38
 
40
39
  from within the dist directory.
41
-
42
-
43
-
44
-
45
-
@@ -4,6 +4,7 @@ const tslib_1 = require("tslib");
4
4
  const devkit_1 = require("@nx/devkit");
5
5
  const linter_1 = require("@nx/linter");
6
6
  const jest_1 = require("@nx/jest");
7
+ const lint_project_1 = require("@nx/linter/src/generators/lint-project/lint-project");
7
8
  const generator_1 = require("../init/generator");
8
9
  const lib_1 = require("./lib");
9
10
  function default_1(tree, rawOptions) {
@@ -17,7 +18,7 @@ function default_1(tree, rawOptions) {
17
18
  tasks.push(initTask);
18
19
  (0, lib_1.createFiles)(tree, options);
19
20
  (0, lib_1.addProject)(tree, options);
20
- if (options.linter !== linter_1.Linter.None) {
21
+ if (options.linter === linter_1.Linter.EsLint) {
21
22
  const lintTask = yield (0, linter_1.lintProjectGenerator)(tree, {
22
23
  linter: options.linter,
23
24
  project: options.name,
@@ -25,8 +26,9 @@ function default_1(tree, rawOptions) {
25
26
  (0, devkit_1.joinPathFragments)(options.appProjectRoot, 'tsconfig.app.json'),
26
27
  ],
27
28
  eslintFilePatterns: [
28
- `${options.appProjectRoot}/**/*.${options.js ? 'js' : 'ts'}`,
29
+ (0, lint_project_1.mapLintPattern)(options.appProjectRoot, options.js ? 'js' : 'ts'),
29
30
  ],
31
+ unitTestRunner: options.unitTestRunner,
30
32
  skipFormat: true,
31
33
  setParserOptionsProject: options.setParserOptionsProject,
32
34
  });
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/forge/src/generators/application/generator.ts"],"names":[],"mappings":";;;AAAA,uCAOoB;AACpB,uCAA0D;AAC1D,mCAAgD;AAChD,iDAA8C;AAE9C,+BAAkE;AAElE,mBACE,IAAU,EACV,UAAuC;;QAEvC,MAAM,OAAO,GAAG,IAAA,sBAAgB,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAEnD,MAAM,KAAK,GAAwB,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,MAAM,IAAA,mBAAa,EAAC,IAAI,EAAE;YACzC,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAErB,IAAA,iBAAW,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3B,IAAA,gBAAU,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE1B,IAAI,OAAO,CAAC,MAAM,KAAK,eAAM,CAAC,IAAI,EAAE;YAClC,MAAM,QAAQ,GAAG,MAAM,IAAA,6BAAoB,EAAC,IAAI,EAAE;gBAChD,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,OAAO,CAAC,IAAI;gBACrB,aAAa,EAAE;oBACb,IAAA,0BAAiB,EAAC,OAAO,CAAC,cAAc,EAAE,mBAAmB,CAAC;iBAC/D;gBACD,kBAAkB,EAAE;oBAClB,GAAG,OAAO,CAAC,cAAc,SAAS,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE;iBAC7D;gBACD,UAAU,EAAE,IAAI;gBAChB,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;aACzD,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACtB;QAED,IAAI,OAAO,CAAC,cAAc,KAAK,MAAM,EAAE;YACrC,MAAM,QAAQ,GAAG,MAAM,IAAA,2BAAoB,EAAC,IAAI,EAAE;gBAChD,OAAO,EAAE,OAAO,CAAC,IAAI;gBACrB,SAAS,EAAE,MAAM;gBACjB,eAAe,EAAE,IAAI;gBACrB,UAAU,EAAE,OAAO,CAAC,EAAE;gBACtB,QAAQ,EAAE,KAAK;gBACf,eAAe,EAAE,MAAM;gBACvB,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACtB;QAED,IAAI,OAAO,CAAC,EAAE,EAAE;YACd,IAAA,4BAAmB,EAAC,IAAI,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;SACpE;QAED,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YACvB,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;SACzB;QAED,OAAO,IAAA,yBAAgB,EAAC,GAAG,KAAK,CAAC,CAAC;IACpC,CAAC;CAAA;AAtDD,4BAsDC"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-forge/src/generators/application/generator.ts"],"names":[],"mappings":";;;AAAA,uCAOoB;AACpB,uCAA0D;AAC1D,mCAAgD;AAChD,sFAAqF;AACrF,iDAA8C;AAE9C,+BAAkE;AAElE,mBACE,IAAU,EACV,UAAuC;;QAEvC,MAAM,OAAO,GAAG,IAAA,sBAAgB,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAEnD,MAAM,KAAK,GAAwB,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,MAAM,IAAA,mBAAa,EAAC,IAAI,EAAE;YACzC,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAErB,IAAA,iBAAW,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3B,IAAA,gBAAU,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE1B,IAAI,OAAO,CAAC,MAAM,KAAK,eAAM,CAAC,MAAM,EAAE;YACpC,MAAM,QAAQ,GAAG,MAAM,IAAA,6BAAoB,EAAC,IAAI,EAAE;gBAChD,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,OAAO,CAAC,IAAI;gBACrB,aAAa,EAAE;oBACb,IAAA,0BAAiB,EAAC,OAAO,CAAC,cAAc,EAAE,mBAAmB,CAAC;iBAC/D;gBACD,kBAAkB,EAAE;oBAClB,IAAA,6BAAc,EAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;iBACjE;gBACD,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,UAAU,EAAE,IAAI;gBAChB,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;aACzD,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACtB;QAED,IAAI,OAAO,CAAC,cAAc,KAAK,MAAM,EAAE;YACrC,MAAM,QAAQ,GAAG,MAAM,IAAA,2BAAoB,EAAC,IAAI,EAAE;gBAChD,OAAO,EAAE,OAAO,CAAC,IAAI;gBACrB,SAAS,EAAE,MAAM;gBACjB,eAAe,EAAE,IAAI;gBACrB,UAAU,EAAE,OAAO,CAAC,EAAE;gBACtB,QAAQ,EAAE,KAAK;gBACf,eAAe,EAAE,MAAM;gBACvB,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACtB;QAED,IAAI,OAAO,CAAC,EAAE,EAAE;YACd,IAAA,4BAAmB,EAAC,IAAI,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;SACpE;QAED,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YACvB,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;SACzB;QAED,OAAO,IAAA,yBAAgB,EAAC,GAAG,KAAK,CAAC,CAAC;IACpC,CAAC;CAAA;AAvDD,4BAuDC"}
@@ -6,6 +6,7 @@ const get_register_config_1 = require("./get-register-config");
6
6
  const get_build_config_1 = require("./get-build-config");
7
7
  const get_deploy_config_1 = require("./get-deploy-config");
8
8
  const get_serve_config_1 = require("./get-serve-config");
9
+ const get_install_config_1 = require("./get-install-config");
9
10
  /**
10
11
  * Generate the new Forge app project in the workspace and configure
11
12
  * available targets.
@@ -18,10 +19,12 @@ function addProject(tree, options) {
18
19
  targets: {},
19
20
  tags: options.parsedTags,
20
21
  };
22
+ project.targets = {};
21
23
  project.targets.register = (0, get_register_config_1.getRegisterConfig)(project, options);
22
24
  project.targets.build = (0, get_build_config_1.getBuildConfig)(project, options);
23
25
  project.targets.serve = (0, get_serve_config_1.getServeConfig)(project, options);
24
26
  project.targets.deploy = (0, get_deploy_config_1.getDeployConfig)(project, options);
27
+ project.targets.install = (0, get_install_config_1.getInstallConfig)(project, options);
25
28
  (0, devkit_1.addProjectConfiguration)(tree, options.name, project, options.standaloneConfig);
26
29
  }
27
30
  exports.addProject = addProject;
@@ -1 +1 @@
1
- {"version":3,"file":"add-project.js","sourceRoot":"","sources":["../../../../../../../packages/forge/src/generators/application/lib/add-project.ts"],"names":[],"mappings":";;;AAAA,uCAKoB;AAEpB,+DAA0D;AAC1D,yDAAoD;AACpD,2DAAsD;AACtD,yDAAoD;AAEpD;;;GAGG;AACH,SAAgB,UAAU,CAAC,IAAU,EAAE,OAA0B;IAC/D,MAAM,OAAO,GAAyB;QACpC,IAAI,EAAE,OAAO,CAAC,cAAc;QAC5B,UAAU,EAAE,IAAA,0BAAiB,EAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC;QAC5D,WAAW,EAAE,aAAa;QAC1B,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,OAAO,CAAC,UAAU;KACzB,CAAC;IAEF,OAAO,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAA,uCAAiB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/D,OAAO,CAAC,OAAO,CAAC,KAAK,GAAG,IAAA,iCAAc,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,OAAO,CAAC,OAAO,CAAC,KAAK,GAAG,IAAA,iCAAc,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,IAAA,mCAAe,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE3D,IAAA,gCAAuB,EACrB,IAAI,EACJ,OAAO,CAAC,IAAI,EACZ,OAAO,EACP,OAAO,CAAC,gBAAgB,CACzB,CAAC;AACJ,CAAC;AApBD,gCAoBC"}
1
+ {"version":3,"file":"add-project.js","sourceRoot":"","sources":["../../../../../../../packages/nx-forge/src/generators/application/lib/add-project.ts"],"names":[],"mappings":";;;AAAA,uCAKoB;AAEpB,+DAA0D;AAC1D,yDAAoD;AACpD,2DAAsD;AACtD,yDAAoD;AACpD,6DAAwD;AAExD;;;GAGG;AACH,SAAgB,UAAU,CAAC,IAAU,EAAE,OAA0B;IAC/D,MAAM,OAAO,GAAyB;QACpC,IAAI,EAAE,OAAO,CAAC,cAAc;QAC5B,UAAU,EAAE,IAAA,0BAAiB,EAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC;QAC5D,WAAW,EAAE,aAAa;QAC1B,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,OAAO,CAAC,UAAU;KACzB,CAAC;IAEF,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;IACrB,OAAO,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAA,uCAAiB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/D,OAAO,CAAC,OAAO,CAAC,KAAK,GAAG,IAAA,iCAAc,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,OAAO,CAAC,OAAO,CAAC,KAAK,GAAG,IAAA,iCAAc,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,IAAA,mCAAe,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3D,OAAO,CAAC,OAAO,CAAC,OAAO,GAAG,IAAA,qCAAgB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE7D,IAAA,gCAAuB,EACrB,IAAI,EACJ,OAAO,CAAC,IAAI,EACZ,OAAO,EACP,OAAO,CAAC,gBAAgB,CACzB,CAAC;AACJ,CAAC;AAtBD,gCAsBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-files.js","sourceRoot":"","sources":["../../../../../../../packages/forge/src/generators/application/lib/create-files.ts"],"names":[],"mappings":";;;AACA,uCAKoB;AACpB,+BAAuD;AAGvD,SAAgB,WAAW,CAAC,IAAU,EAAE,OAA0B;IAChE,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,EAC3C,OAAO,CAAC,cAAc,EACtB;QACE,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,cAAc;QAC5B,MAAM,EAAE,IAAA,uBAAc,EAAC,OAAO,CAAC,cAAc,CAAC;QAC9C,gBAAgB,EAAE,IAAA,kCAA6B,EAC7C,IAAI,EACJ,OAAO,CAAC,cAAc,CACvB;KACF,CACF,CAAC;IAEF,IAAI,OAAO,CAAC,EAAE,EAAE;QACd,IAAA,aAAI,EAAC,IAAI,CAAC,CAAC;KACZ;AACH,CAAC;AApBD,kCAoBC"}
1
+ {"version":3,"file":"create-files.js","sourceRoot":"","sources":["../../../../../../../packages/nx-forge/src/generators/application/lib/create-files.ts"],"names":[],"mappings":";;;AACA,uCAKoB;AACpB,+BAAuD;AAGvD,SAAgB,WAAW,CAAC,IAAU,EAAE,OAA0B;IAChE,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,EAC3C,OAAO,CAAC,cAAc,EACtB;QACE,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,cAAc;QAC5B,MAAM,EAAE,IAAA,uBAAc,EAAC,OAAO,CAAC,cAAc,CAAC;QAC9C,gBAAgB,EAAE,IAAA,kCAA6B,EAC7C,IAAI,EACJ,OAAO,CAAC,cAAc,CACvB;KACF,CACF,CAAC;IAEF,IAAI,OAAO,CAAC,EAAE,EAAE;QACd,IAAA,aAAI,EAAC,IAAI,CAAC,CAAC;KACZ;AACH,CAAC;AApBD,kCAoBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-build-config.js","sourceRoot":"","sources":["../../../../../../../packages/forge/src/generators/application/lib/get-build-config.ts"],"names":[],"mappings":";;;AACA,uCAIoB;AAEpB,SAAgB,cAAc,CAC5B,OAA6B,EAC7B,OAA0B;IAE1B,OAAO;QACL,QAAQ,EAAE,2BAA2B;QACrC,OAAO,EAAE,CAAC,sBAAsB,CAAC;QACjC,OAAO,EAAE;YACP,UAAU,EAAE,IAAA,0BAAiB,EAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC;SAC9D;KACF,CAAC;AACJ,CAAC;AAXD,wCAWC"}
1
+ {"version":3,"file":"get-build-config.js","sourceRoot":"","sources":["../../../../../../../packages/nx-forge/src/generators/application/lib/get-build-config.ts"],"names":[],"mappings":";;;AACA,uCAIoB;AAEpB,SAAgB,cAAc,CAC5B,OAA6B,EAC7B,OAA0B;IAE1B,OAAO;QACL,QAAQ,EAAE,2BAA2B;QACrC,OAAO,EAAE,CAAC,sBAAsB,CAAC;QACjC,OAAO,EAAE;YACP,UAAU,EAAE,IAAA,0BAAiB,EAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC;SAC9D;KACF,CAAC;AACJ,CAAC;AAXD,wCAWC"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-deploy-config.js","sourceRoot":"","sources":["../../../../../../../packages/forge/src/generators/application/lib/get-deploy-config.ts"],"names":[],"mappings":";;;AACA,uCAIoB;AAEpB,SAAgB,eAAe,CAC7B,OAA6B,EAC7B,OAA0B;IAE1B,OAAO;QACL,QAAQ,EAAE,4BAA4B;QACtC,OAAO,EAAE;YACP,UAAU,EAAE,IAAA,0BAAiB,EAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC;SAC9D;KACF,CAAC;AACJ,CAAC;AAVD,0CAUC"}
1
+ {"version":3,"file":"get-deploy-config.js","sourceRoot":"","sources":["../../../../../../../packages/nx-forge/src/generators/application/lib/get-deploy-config.ts"],"names":[],"mappings":";;;AACA,uCAIoB;AAEpB,SAAgB,eAAe,CAC7B,OAA6B,EAC7B,OAA0B;IAE1B,OAAO;QACL,QAAQ,EAAE,4BAA4B;QACtC,OAAO,EAAE;YACP,UAAU,EAAE,IAAA,0BAAiB,EAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC;SAC9D;KACF,CAAC;AACJ,CAAC;AAVD,0CAUC"}
@@ -0,0 +1,3 @@
1
+ import { NormalizedOptions } from '../schema';
2
+ import { ProjectConfiguration, TargetConfiguration } from '@nx/devkit';
3
+ export declare function getInstallConfig(project: ProjectConfiguration, options: NormalizedOptions): TargetConfiguration;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getInstallConfig = void 0;
4
+ const devkit_1 = require("@nx/devkit");
5
+ function getInstallConfig(project, options) {
6
+ return {
7
+ executor: '@toolsplus/nx-forge:install',
8
+ options: {
9
+ outputPath: (0, devkit_1.joinPathFragments)('dist', options.appProjectRoot),
10
+ },
11
+ };
12
+ }
13
+ exports.getInstallConfig = getInstallConfig;
14
+ //# sourceMappingURL=get-install-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-install-config.js","sourceRoot":"","sources":["../../../../../../../packages/nx-forge/src/generators/application/lib/get-install-config.ts"],"names":[],"mappings":";;;AACA,uCAIoB;AAEpB,SAAgB,gBAAgB,CAC9B,OAA6B,EAC7B,OAA0B;IAE1B,OAAO;QACL,QAAQ,EAAE,6BAA6B;QACvC,OAAO,EAAE;YACP,UAAU,EAAE,IAAA,0BAAiB,EAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC;SAC9D;KACF,CAAC;AACJ,CAAC;AAVD,4CAUC"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-register-config.js","sourceRoot":"","sources":["../../../../../../../packages/forge/src/generators/application/lib/get-register-config.ts"],"names":[],"mappings":";;;AAAA,uCAIoB;AAGpB,SAAgB,iBAAiB,CAC/B,OAA6B,EAC7B,OAA0B;IAE1B,OAAO;QACL,QAAQ,EAAE,8BAA8B;QACxC,OAAO,EAAE;YACP,UAAU,EAAE,IAAA,0BAAiB,EAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC;SAC9D;KACF,CAAC;AACJ,CAAC;AAVD,8CAUC"}
1
+ {"version":3,"file":"get-register-config.js","sourceRoot":"","sources":["../../../../../../../packages/nx-forge/src/generators/application/lib/get-register-config.ts"],"names":[],"mappings":";;;AAAA,uCAIoB;AAGpB,SAAgB,iBAAiB,CAC/B,OAA6B,EAC7B,OAA0B;IAE1B,OAAO;QACL,QAAQ,EAAE,8BAA8B;QACxC,OAAO,EAAE;YACP,UAAU,EAAE,IAAA,0BAAiB,EAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC;SAC9D;KACF,CAAC;AACJ,CAAC;AAVD,8CAUC"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-serve-config.js","sourceRoot":"","sources":["../../../../../../../packages/forge/src/generators/application/lib/get-serve-config.ts"],"names":[],"mappings":";;;AACA,uCAIoB;AAEpB,SAAgB,cAAc,CAC5B,OAA6B,EAC7B,OAA0B;IAE1B,OAAO;QACL,QAAQ,EAAE,4BAA4B;QACtC,OAAO,EAAE;YACP,UAAU,EAAE,IAAA,0BAAiB,EAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC;SAC9D;KACF,CAAC;AACJ,CAAC;AAVD,wCAUC"}
1
+ {"version":3,"file":"get-serve-config.js","sourceRoot":"","sources":["../../../../../../../packages/nx-forge/src/generators/application/lib/get-serve-config.ts"],"names":[],"mappings":";;;AACA,uCAIoB;AAEpB,SAAgB,cAAc,CAC5B,OAA6B,EAC7B,OAA0B;IAE1B,OAAO;QACL,QAAQ,EAAE,4BAA4B;QACtC,OAAO,EAAE;YACP,UAAU,EAAE,IAAA,0BAAiB,EAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC;SAC9D;KACF,CAAC;AACJ,CAAC;AAVD,wCAUC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/forge/src/generators/application/lib/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B;AAC/B,8DAAoC;AACpC,wDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/nx-forge/src/generators/application/lib/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B;AAC/B,8DAAoC;AACpC,wDAA8B"}
@@ -5,11 +5,13 @@ const linter_1 = require("@nx/linter");
5
5
  const devkit_1 = require("@nx/devkit");
6
6
  function normalizeOptions(tree, options) {
7
7
  var _a, _b;
8
- const appDirectory = options.directory
9
- ? `${(0, devkit_1.names)(options.directory).fileName}/${(0, devkit_1.names)(options.name).fileName}`
8
+ const { layoutDirectory, projectDirectory } = (0, devkit_1.extractLayoutDirectory)(options.directory);
9
+ const appsDir = layoutDirectory !== null && layoutDirectory !== void 0 ? layoutDirectory : (0, devkit_1.getWorkspaceLayout)(tree).appsDir;
10
+ const appDirectory = projectDirectory
11
+ ? `${(0, devkit_1.names)(projectDirectory).fileName}/${(0, devkit_1.names)(options.name).fileName}`
10
12
  : (0, devkit_1.names)(options.name).fileName;
11
- const appProjectName = appDirectory.replace(/\//g, '-');
12
- const appProjectRoot = (0, devkit_1.joinPathFragments)((0, devkit_1.getWorkspaceLayout)(tree).appsDir, appDirectory);
13
+ const appProjectName = appDirectory.replace(new RegExp('/', 'g'), '-');
14
+ const appProjectRoot = (0, devkit_1.joinPathFragments)(appsDir, appDirectory);
13
15
  const parsedTags = options.tags
14
16
  ? options.tags.split(',').map((s) => s.trim())
15
17
  : [];
@@ -1 +1 @@
1
- {"version":3,"file":"normalize-options.js","sourceRoot":"","sources":["../../../../../../../packages/forge/src/generators/application/lib/normalize-options.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AAEpC,uCAA0E;AAG1E,SAAgB,gBAAgB,CAC9B,IAAU,EACV,OAAoC;;IAEpC,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS;QACpC,CAAC,CAAC,GAAG,IAAA,cAAK,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,IAAI,IAAA,cAAK,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;QACxE,CAAC,CAAC,IAAA,cAAK,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;IAEjC,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAExD,MAAM,cAAc,GAAG,IAAA,0BAAiB,EACtC,IAAA,2BAAkB,EAAC,IAAI,CAAC,CAAC,OAAO,EAChC,YAAY,CACb,CAAC;IAEF,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI;QAC7B,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,CAAC,CAAC,EAAE,CAAC;IAEP,uCACK,OAAO,KACV,IAAI,EAAE,IAAA,cAAK,EAAC,cAAc,CAAC,CAAC,QAAQ,EACpC,cAAc,EACd,MAAM,EAAE,MAAA,OAAO,CAAC,MAAM,mCAAI,eAAM,CAAC,MAAM,EACvC,cAAc,EAAE,MAAA,OAAO,CAAC,cAAc,mCAAI,MAAM,EAChD,UAAU,IACV;AACJ,CAAC;AA3BD,4CA2BC"}
1
+ {"version":3,"file":"normalize-options.js","sourceRoot":"","sources":["../../../../../../../packages/nx-forge/src/generators/application/lib/normalize-options.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AAEpC,uCAKoB;AAGpB,SAAgB,gBAAgB,CAC9B,IAAU,EACV,OAAoC;;IAEpC,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,IAAA,+BAAsB,EAClE,OAAO,CAAC,SAAS,CAClB,CAAC;IACF,MAAM,OAAO,GAAG,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,IAAA,2BAAkB,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC;IAEpE,MAAM,YAAY,GAAG,gBAAgB;QACnC,CAAC,CAAC,GAAG,IAAA,cAAK,EAAC,gBAAgB,CAAC,CAAC,QAAQ,IAAI,IAAA,cAAK,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;QACvE,CAAC,CAAC,IAAA,cAAK,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;IAEjC,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAEvE,MAAM,cAAc,GAAG,IAAA,0BAAiB,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAEhE,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI;QAC7B,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,CAAC,CAAC,EAAE,CAAC;IAEP,uCACK,OAAO,KACV,IAAI,EAAE,IAAA,cAAK,EAAC,cAAc,CAAC,CAAC,QAAQ,EACpC,cAAc,EACd,MAAM,EAAE,MAAA,OAAO,CAAC,MAAM,mCAAI,eAAM,CAAC,MAAM,EACvC,cAAc,EAAE,MAAA,OAAO,CAAC,cAAc,mCAAI,MAAM,EAChD,UAAU,IACV;AACJ,CAAC;AA7BD,4CA6BC"}
@@ -1,3 +1,5 @@
1
+ import type { Linter } from '@nx/linter';
2
+
1
3
  export interface ApplicationGeneratorOptions {
2
4
  name: string;
3
5
  directory?: string;
@@ -13,7 +15,7 @@ export interface ApplicationGeneratorOptions {
13
15
 
14
16
  interface NormalizedOptions extends ApplicationGeneratorOptions {
15
17
  appProjectRoot: string;
16
- linter: Exclude<Linter, Linter.TsLint>;
18
+ linter: Linter;
17
19
  unitTestRunner: UnitTestRunner;
18
20
  parsedTags: string[];
19
21
  }
@@ -26,19 +26,13 @@
26
26
  "linter": {
27
27
  "description": "Tool to use for running lint checks.",
28
28
  "type": "string",
29
- "enum": [
30
- "eslint",
31
- "none"
32
- ],
29
+ "enum": ["eslint", "none"],
33
30
  "default": "eslint"
34
31
  },
35
32
  "unitTestRunner": {
36
33
  "description": "Test runner to use for unit tests.",
37
34
  "type": "string",
38
- "enum": [
39
- "jest",
40
- "none"
41
- ],
35
+ "enum": ["jest", "none"],
42
36
  "default": "jest"
43
37
  },
44
38
  "tags": {
@@ -63,7 +57,5 @@
63
57
  }
64
58
  },
65
59
  "additionalProperties": false,
66
- "required": [
67
- "name"
68
- ]
60
+ "required": ["name"]
69
61
  }
@@ -4,15 +4,27 @@ const tslib_1 = require("tslib");
4
4
  const devkit_1 = require("@nx/devkit");
5
5
  const lib_1 = require("./lib");
6
6
  const jest_1 = require("@nx/jest");
7
+ function updateNxJson(host) {
8
+ const nxJson = (0, devkit_1.readJson)(host, 'nx.json');
9
+ nxJson.plugins = nxJson.plugins || [];
10
+ if (!nxJson.plugins.some((x) => x === '@toolsplus/nx-forge')) {
11
+ nxJson.plugins.push('@toolsplus/nx-forge');
12
+ }
13
+ (0, devkit_1.writeJson)(host, 'nx.json', nxJson);
14
+ }
7
15
  function default_1(tree, rawOptions) {
8
16
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
9
17
  const options = (0, lib_1.normalizeOptions)(rawOptions);
10
- const jestTask = yield (0, jest_1.jestInitGenerator)(tree, {});
11
- const installPackagesTask = (0, lib_1.addDependencies)(tree);
18
+ updateNxJson(tree);
19
+ const tasks = [];
20
+ if (options.unitTestRunner === 'jest') {
21
+ tasks.push(yield (0, jest_1.jestInitGenerator)(tree, Object.assign(Object.assign({}, rawOptions), { testEnvironment: 'node' })));
22
+ }
23
+ tasks.push((0, lib_1.addDependencies)(tree));
12
24
  if (!options.skipFormat) {
13
25
  yield (0, devkit_1.formatFiles)(tree);
14
26
  }
15
- return (0, devkit_1.runTasksInSerial)(jestTask, installPackagesTask);
27
+ return (0, devkit_1.runTasksInSerial)(...tasks);
16
28
  });
17
29
  }
18
30
  exports.default = default_1;
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/forge/src/generators/init/generator.ts"],"names":[],"mappings":";;;AAAA,uCAKoB;AAEpB,+BAA0D;AAC1D,mCAA6C;AAE7C,mBACE,IAAU,EACV,UAA+B;;QAE/B,MAAM,OAAO,GAAG,IAAA,sBAAgB,EAAC,UAAU,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAiB,EAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACnD,MAAM,mBAAmB,GAAG,IAAA,qBAAe,EAAC,IAAI,CAAC,CAAC;QAElD,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YACvB,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;SACzB;QAED,OAAO,IAAA,yBAAgB,EAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IACzD,CAAC;CAAA;AAbD,4BAaC"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-forge/src/generators/init/generator.ts"],"names":[],"mappings":";;;AAAA,uCAQoB;AAEpB,+BAA0D;AAC1D,mCAA6C;AAE7C,SAAS,YAAY,CAAC,IAAU;IAC9B,MAAM,MAAM,GAAwB,IAAA,iBAAQ,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC9D,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,qBAAqB,CAAC,EAAE;QAC5D,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;KAC5C;IACD,IAAA,kBAAS,EAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AACrC,CAAC;AAED,mBACE,IAAU,EACV,UAA+B;;QAE/B,MAAM,OAAO,GAAG,IAAA,sBAAgB,EAAC,UAAU,CAAC,CAAC;QAC7C,YAAY,CAAC,IAAI,CAAC,CAAC;QAEnB,MAAM,KAAK,GAAwB,EAAE,CAAC;QAEtC,IAAI,OAAO,CAAC,cAAc,KAAK,MAAM,EAAE;YACrC,KAAK,CAAC,IAAI,CACR,MAAM,IAAA,wBAAiB,EAAC,IAAI,kCAAO,UAAU,KAAE,eAAe,EAAE,MAAM,IAAG,CAC1E,CAAC;SACH;QAED,KAAK,CAAC,IAAI,CAAC,IAAA,qBAAe,EAAC,IAAI,CAAC,CAAC,CAAC;QAElC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YACvB,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;SACzB;QAED,OAAO,IAAA,yBAAgB,EAAC,GAAG,KAAK,CAAC,CAAC;IACpC,CAAC;CAAA;AAtBD,4BAsBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"add-dependencies.js","sourceRoot":"","sources":["../../../../../../../packages/forge/src/generators/init/lib/add-dependencies.ts"],"names":[],"mappings":";;;AACA,uCAA0D;AAC1D,sDAIiC;AAEjC,SAAgB,eAAe,CAAC,IAAU;IACxC,OAAO,IAAA,qCAA4B,EACjC,IAAI,EACJ;QACE,YAAY,EAAE,0BAAe;QAC7B,iBAAiB,EAAE,+BAAoB;KACxC,EACD;QACE,qBAAqB,EAAE,wBAAa;KACrC,CACF,CAAC;AACJ,CAAC;AAXD,0CAWC"}
1
+ {"version":3,"file":"add-dependencies.js","sourceRoot":"","sources":["../../../../../../../packages/nx-forge/src/generators/init/lib/add-dependencies.ts"],"names":[],"mappings":";;;AACA,uCAA0D;AAC1D,sDAIiC;AAEjC,SAAgB,eAAe,CAAC,IAAU;IACxC,OAAO,IAAA,qCAA4B,EACjC,IAAI,EACJ;QACE,YAAY,EAAE,0BAAe;QAC7B,iBAAiB,EAAE,+BAAoB;KACxC,EACD;QACE,qBAAqB,EAAE,wBAAa;KACrC,CACF,CAAC;AACJ,CAAC;AAXD,0CAWC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/forge/src/generators/init/lib/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,8DAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/nx-forge/src/generators/init/lib/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,8DAAoC"}
@@ -1 +1 @@
1
- {"version":3,"file":"normalize-options.js","sourceRoot":"","sources":["../../../../../../../packages/forge/src/generators/init/lib/normalize-options.ts"],"names":[],"mappings":";;;AAEA,SAAgB,gBAAgB,CAC9B,OAA4B;;IAE5B,uCAAY,OAAO,KAAE,cAAc,EAAE,MAAA,OAAO,CAAC,cAAc,mCAAI,MAAM,IAAG;AAC1E,CAAC;AAJD,4CAIC"}
1
+ {"version":3,"file":"normalize-options.js","sourceRoot":"","sources":["../../../../../../../packages/nx-forge/src/generators/init/lib/normalize-options.ts"],"names":[],"mappings":";;;AAEA,SAAgB,gBAAgB,CAC9B,OAA4B;;IAE5B,uCAAY,OAAO,KAAE,cAAc,EAAE,MAAA,OAAO,CAAC,cAAc,mCAAI,MAAM,IAAG;AAC1E,CAAC;AAJD,4CAIC"}
@@ -1,4 +1,4 @@
1
1
  export interface InitGeneratorSchema {
2
2
  skipFormat?: boolean;
3
- unitTestRunner?: UnitTestRunner;
3
+ unitTestRunner?: 'jest' | 'none';
4
4
  }
@@ -7,10 +7,7 @@
7
7
  "unitTestRunner": {
8
8
  "description": "Adds the specified unit test runner.",
9
9
  "type": "string",
10
- "enum": [
11
- "jest",
12
- "none"
13
- ],
10
+ "enum": ["jest", "none"],
14
11
  "default": "jest"
15
12
  },
16
13
  "skipFormat": {
@@ -0,0 +1,2 @@
1
+ import { ProjectGraph, ProjectGraphProcessorContext } from '@nx/devkit';
2
+ export declare function processProjectGraph(graph: ProjectGraph, context: ProjectGraphProcessorContext): Promise<ProjectGraph>;
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.processProjectGraph = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const devkit_1 = require("@nx/devkit");
6
+ const manifest_yml_1 = require("../utils/forge/manifest-yml");
7
+ const getCustomUIStaticDependencies = ([projectName, manifestFile], context) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
8
+ const manifestSchema = yield (0, manifest_yml_1.readManifestYml)(manifestFile.file);
9
+ const customUIProjectNames = (0, manifest_yml_1.extractCustomUIProjectNames)(manifestSchema);
10
+ const getCustomUIStaticDependency = (customUIProjectName) => {
11
+ const customUIProjectConfiguration = context.projectsConfigurations.projects[customUIProjectName];
12
+ if (!customUIProjectConfiguration) {
13
+ throw new Error(`Failed to find Custom UI project in Nx workspace: The Custom UI dependency to project ${customUIProjectName} declared in the Forge manifest.yml of project ${projectName} cannot be found. Make sure the Custom UI resource path references a project in your Nx workspace.`);
14
+ }
15
+ const projectConfiguration = context.projectsConfigurations.projects[projectName];
16
+ if (!projectConfiguration) {
17
+ throw new Error(`Missing project configuration in Nx workspace for project ${projectName}`);
18
+ }
19
+ return {
20
+ sourceProjectFile: manifestFile.file,
21
+ sourceProjectName: projectName,
22
+ targetProjectName: customUIProjectName,
23
+ };
24
+ };
25
+ return customUIProjectNames.reduce((acc, customUIProjectName) => {
26
+ return (manifestFile.dependencies || []).find(({ type, target, source }) => type === 'static' &&
27
+ target === customUIProjectName &&
28
+ source === projectName)
29
+ ? acc // Dependency already exists, skip adding it again.
30
+ : [...acc, getCustomUIStaticDependency(customUIProjectName)];
31
+ }, []);
32
+ });
33
+ function processProjectGraph(graph, context) {
34
+ var _a, e_1, _b, _c;
35
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
36
+ const builder = new devkit_1.ProjectGraphBuilder(graph);
37
+ for (const [projectName, files] of Object.entries(context.filesToProcess)) {
38
+ try {
39
+ for (var _d = true, _e = (e_1 = void 0, tslib_1.__asyncValues(files.filter((f) => f.file.endsWith('manifest.yml')))), _f; _f = yield _e.next(), _a = _f.done, !_a;) {
40
+ _c = _f.value;
41
+ _d = false;
42
+ try {
43
+ const manifestFile = _c;
44
+ devkit_1.logger.info(`[nx-forge] Processing ${projectName}:${manifestFile.file}`);
45
+ const dependencies = yield getCustomUIStaticDependencies([projectName, manifestFile], context);
46
+ dependencies.forEach((dependency) => {
47
+ devkit_1.logger.info(`[nx-forge] Adding project graph dependency from ${dependency.sourceProjectFile}:${dependency.sourceProjectFile} -> ${dependency.targetProjectName}`);
48
+ builder.addStaticDependency(dependency.sourceProjectName, dependency.targetProjectName, dependency.sourceProjectFile);
49
+ });
50
+ }
51
+ finally {
52
+ _d = true;
53
+ }
54
+ }
55
+ }
56
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
57
+ finally {
58
+ try {
59
+ if (!_d && !_a && (_b = _e.return)) yield _b.call(_e);
60
+ }
61
+ finally { if (e_1) throw e_1.error; }
62
+ }
63
+ }
64
+ return builder.getUpdatedProjectGraph();
65
+ });
66
+ }
67
+ exports.processProjectGraph = processProjectGraph;
68
+ //# sourceMappingURL=forge-project-graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forge-project-graph.js","sourceRoot":"","sources":["../../../../../packages/nx-forge/src/graph/forge-project-graph.ts"],"names":[],"mappings":";;;;AAAA,uCAMoB;AACpB,8DAGqC;AAQrC,MAAM,6BAA6B,GAAG,CACpC,CAAC,WAAW,EAAE,YAAY,CAAqB,EAC/C,OAAqC,EACR,EAAE;IAC/B,MAAM,cAAc,GAAG,MAAM,IAAA,8BAAe,EAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,oBAAoB,GAAG,IAAA,0CAA2B,EAAC,cAAc,CAAC,CAAC;IAEzE,MAAM,2BAA2B,GAAG,CAClC,mBAA2B,EACT,EAAE;QACpB,MAAM,4BAA4B,GAChC,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAE/D,IAAI,CAAC,4BAA4B,EAAE;YACjC,MAAM,IAAI,KAAK,CACb,yFAAyF,mBAAmB,kDAAkD,WAAW,oGAAoG,CAC9Q,CAAC;SACH;QAED,MAAM,oBAAoB,GACxB,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAEvD,IAAI,CAAC,oBAAoB,EAAE;YACzB,MAAM,IAAI,KAAK,CACb,6DAA6D,WAAW,EAAE,CAC3E,CAAC;SACH;QAED,OAAO;YACL,iBAAiB,EAAE,YAAY,CAAC,IAAI;YACpC,iBAAiB,EAAE,WAAW;YAC9B,iBAAiB,EAAE,mBAAmB;SACvC,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,mBAAmB,EAAE,EAAE;QAC9D,OAAO,CAAC,YAAY,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,CAC3C,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAC3B,IAAI,KAAK,QAAQ;YACjB,MAAM,KAAK,mBAAmB;YAC9B,MAAM,KAAK,WAAW,CACzB;YACC,CAAC,CAAC,GAAG,CAAC,mDAAmD;YACzD,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,2BAA2B,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACjE,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC,CAAA,CAAC;AAEF,SAAsB,mBAAmB,CACvC,KAAmB,EACnB,OAAqC;;;QAErC,MAAM,OAAO,GAAG,IAAI,4BAAmB,CAAC,KAAK,CAAC,CAAC;QAE/C,KAAK,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;;gBACzE,KAAiC,eAAA,oBAAA,sBAAA,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAClD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAChC,CAAA,CAAA,IAAA;oBAFgC,cAEhC;oBAFgC,WAEhC;;wBAFU,MAAM,YAAY,KAAA,CAAA;wBAG3B,eAAM,CAAC,IAAI,CAAC,yBAAyB,WAAW,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;wBACzE,MAAM,YAAY,GAAG,MAAM,6BAA6B,CACtD,CAAC,WAAW,EAAE,YAAY,CAAC,EAC3B,OAAO,CACR,CAAC;wBACF,YAAY,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;4BAClC,eAAM,CAAC,IAAI,CACT,mDAAmD,UAAU,CAAC,iBAAiB,IAAI,UAAU,CAAC,iBAAiB,OAAO,UAAU,CAAC,iBAAiB,EAAE,CACrJ,CAAC;4BACF,OAAO,CAAC,mBAAmB,CACzB,UAAU,CAAC,iBAAiB,EAC5B,UAAU,CAAC,iBAAiB,EAC5B,UAAU,CAAC,iBAAiB,CAC7B,CAAC;wBACJ,CAAC,CAAC,CAAC;;;;;iBACJ;;;;;;;;;SACF;QAED,OAAO,OAAO,CAAC,sBAAsB,EAAE,CAAC;;CACzC;AA7BD,kDA6BC"}
package/src/index.d.ts CHANGED
@@ -0,0 +1,3 @@
1
+ import { NxPlugin } from '@nx/devkit';
2
+ declare const nxPlugin: NxPlugin;
3
+ export = nxPlugin;
package/src/index.js CHANGED
@@ -1 +1,8 @@
1
+ "use strict";
2
+ const forge_project_graph_1 = require("./graph/forge-project-graph");
3
+ const nxPlugin = {
4
+ name: '@toolsplus/nx-forge',
5
+ processProjectGraph: forge_project_graph_1.processProjectGraph,
6
+ };
7
+ module.exports = nxPlugin;
1
8
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/forge/src/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/nx-forge/src/index.ts"],"names":[],"mappings":";AACA,qEAAkE;AAElE,MAAM,QAAQ,GAAa;IACzB,IAAI,EAAE,qBAAqB;IAC3B,mBAAmB,EAAnB,yCAAmB;CACpB,CAAC;AAEF,iBAAS,QAAQ,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Tree } from '@nx/devkit';
2
+ export default function update(host: Tree): void;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /* eslint-disable @typescript-eslint/no-unused-vars */
4
+ const devkit_1 = require("@nx/devkit");
5
+ function update(host) {
6
+ const nxJson = (0, devkit_1.readJson)(host, 'nx.json');
7
+ nxJson.plugins = nxJson.plugins || [];
8
+ if (!nxJson.plugins.some((x) => x === '@toolsplus/nx-forge')) {
9
+ nxJson.plugins.push('@toolsplus/nx-forge');
10
+ (0, devkit_1.writeJson)(host, 'nx.json', nxJson);
11
+ }
12
+ }
13
+ exports.default = update;
14
+ //# sourceMappingURL=add-nx-forge-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-nx-forge-plugin.js","sourceRoot":"","sources":["../../../../../../packages/nx-forge/src/migrations/update-2-3-0/add-nx-forge-plugin.ts"],"names":[],"mappings":";;AAAA,sDAAsD;AACtD,uCAA4E;AAE5E,SAAwB,MAAM,CAAC,IAAU;IACvC,MAAM,MAAM,GAAwB,IAAA,iBAAQ,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC9D,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,qBAAqB,CAAC,EAAE;QAC5D,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC3C,IAAA,kBAAS,EAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;KACpC;AACH,CAAC;AAPD,yBAOC"}
@@ -0,0 +1,2 @@
1
+ import { Tree } from '@nx/devkit';
2
+ export default function update(host: Tree): Promise<void>;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ /* eslint-disable @typescript-eslint/no-unused-vars */
5
+ const devkit_1 = require("@nx/devkit");
6
+ const manifest_yml_1 = require("../../utils/forge/manifest-yml");
7
+ const manifest_1 = require("./utils/manifest");
8
+ function update(host) {
9
+ var _a;
10
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
11
+ const projects = (0, devkit_1.getProjects)(host);
12
+ const isForgeProjectProject = (config) => {
13
+ var _a, _b;
14
+ return (config.projectType === 'application' &&
15
+ ((_b = (_a = config.targets) === null || _a === void 0 ? void 0 : _a.build) === null || _b === void 0 ? void 0 : _b.executor) === '@toolsplus/nx-forge:build' &&
16
+ host.exists((0, devkit_1.joinPathFragments)(config.root, 'manifest.yml')));
17
+ };
18
+ for (const [name, config] of projects.entries()) {
19
+ if (config && isForgeProjectProject(config)) {
20
+ if (((_a = config.implicitDependencies) === null || _a === void 0 ? void 0 : _a.length) > 0) {
21
+ const manifest = yield (0, manifest_1.readManifestYml)(host, (0, devkit_1.joinPathFragments)(config.root, 'manifest.yml'));
22
+ const customUIProjectNames = (0, manifest_yml_1.extractCustomUIProjectNames)(manifest);
23
+ config.implicitDependencies = config.implicitDependencies.filter((d) => !customUIProjectNames.includes(d));
24
+ (0, devkit_1.updateProjectConfiguration)(host, name, config);
25
+ }
26
+ }
27
+ }
28
+ });
29
+ }
30
+ exports.default = update;
31
+ //# sourceMappingURL=remove-implicit-custom-ui-dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-implicit-custom-ui-dependencies.js","sourceRoot":"","sources":["../../../../../../packages/nx-forge/src/migrations/update-2-3-0/remove-implicit-custom-ui-dependencies.ts"],"names":[],"mappings":";;;AAAA,sDAAsD;AACtD,uCAMoB;AACpB,iEAA6E;AAC7E,+CAAmD;AAEnD,SAA8B,MAAM,CAAC,IAAU;;;QAC7C,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAEnC,MAAM,qBAAqB,GAAG,CAAC,MAA4B,EAAW,EAAE;;YACtE,OAAO,CACL,MAAM,CAAC,WAAW,KAAK,aAAa;gBACpC,CAAA,MAAA,MAAA,MAAM,CAAC,OAAO,0CAAE,KAAK,0CAAE,QAAQ,MAAK,2BAA2B;gBAC/D,IAAI,CAAC,MAAM,CAAC,IAAA,0BAAiB,EAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAC5D,CAAC;QACJ,CAAC,CAAC;QAEF,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE;YAC/C,IAAI,MAAM,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE;gBAC3C,IAAI,CAAA,MAAA,MAAM,CAAC,oBAAoB,0CAAE,MAAM,IAAG,CAAC,EAAE;oBAC3C,MAAM,QAAQ,GAAG,MAAM,IAAA,0BAAe,EACpC,IAAI,EACJ,IAAA,0BAAiB,EAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAC/C,CAAC;oBACF,MAAM,oBAAoB,GAAG,IAAA,0CAA2B,EAAC,QAAQ,CAAC,CAAC;oBACnE,MAAM,CAAC,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAC9D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CACzC,CAAC;oBACF,IAAA,mCAA0B,EAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;iBAChD;aACF;SACF;;CACF;AA1BD,yBA0BC"}
@@ -0,0 +1,4 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { ManifestSchema } from '@forge/manifest';
3
+ export declare const readManifestYml: (tree: Tree, path: string) => Promise<ManifestSchema>;
4
+ export declare const writeManifestYml: (tree: Tree, path: string, value: ManifestSchema) => void;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.writeManifestYml = exports.readManifestYml = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const yml_1 = require("./yml");
6
+ const manifest_1 = require("@forge/manifest");
7
+ const FULL_SCHEMA = require("@forge/manifest/out/schema/manifest-schema.json");
8
+ const manifestSchemaValidator = new manifest_1.SchemaValidator(FULL_SCHEMA);
9
+ const readManifestYml = (tree, path) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
10
+ const result = yield manifestSchemaValidator.validate({
11
+ yamlContent: (0, yml_1.readYaml)(tree, path),
12
+ });
13
+ if (result.success) {
14
+ return result.manifestObject.typedContent;
15
+ }
16
+ throw new Error(`Cannot validate manifest ${path}: ${result.errors}`);
17
+ });
18
+ exports.readManifestYml = readManifestYml;
19
+ const writeManifestYml = (tree, path, value) => {
20
+ (0, yml_1.writeYaml)(tree, path, value);
21
+ };
22
+ exports.writeManifestYml = writeManifestYml;
23
+ //# sourceMappingURL=manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../../../../../packages/nx-forge/src/migrations/update-2-3-0/utils/manifest.ts"],"names":[],"mappings":";;;;AACA,+BAA4C;AAC5C,8CAAkE;AAClE,+EAA+E;AAE/E,MAAM,uBAAuB,GAAG,IAAI,0BAAe,CACjD,WAAW,CACZ,CAAC;AAEK,MAAM,eAAe,GAAG,CAAO,IAAU,EAAE,IAAY,EAAE,EAAE;IAChE,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,QAAQ,CAAC;QACpD,WAAW,EAAE,IAAA,cAAQ,EAAC,IAAI,EAAE,IAAI,CAAC;KAClC,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,OAAO,EAAE;QAClB,OAAO,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC;KAC3C;IAED,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AACxE,CAAC,CAAA,CAAC;AAVW,QAAA,eAAe,mBAU1B;AAEK,MAAM,gBAAgB,GAAG,CAC9B,IAAU,EACV,IAAY,EACZ,KAAqB,EACrB,EAAE;IACF,IAAA,eAAS,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC/B,CAAC,CAAC;AANW,QAAA,gBAAgB,oBAM3B"}