@forge/cli 10.6.0-next.14 → 10.6.0-next.18

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,61 @@
1
1
  # @forge/cli
2
2
 
3
+ ## 10.6.0-next.18
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [99b6dd4]
8
+ - @forge/manifest@7.7.0-next.15
9
+ - @forge/bundler@4.19.0-next.17
10
+ - @forge/cli-shared@5.5.0-next.16
11
+ - @forge/lint@5.3.3-next.16
12
+ - @forge/tunnel@5.5.0-next.17
13
+
14
+ ## 10.6.0-next.17
15
+
16
+ ### Minor Changes
17
+
18
+ - 6f27f26: Block forge deploy in production if app.connect.key is mutated.
19
+
20
+ ### Patch Changes
21
+
22
+ - Updated dependencies [6f27f26]
23
+ - @forge/cli-shared@5.5.0-next.15
24
+ - @forge/bundler@4.19.0-next.16
25
+ - @forge/lint@5.3.3-next.15
26
+ - @forge/tunnel@5.5.0-next.16
27
+
28
+ ## 10.6.0-next.16
29
+
30
+ ### Patch Changes
31
+
32
+ - Updated dependencies [d51b7be]
33
+ - @forge/i18n@0.0.1-next.13
34
+ - @forge/bundler@4.19.0-next.15
35
+ - @forge/cli-shared@5.5.0-next.14
36
+ - @forge/manifest@7.7.0-next.14
37
+ - @forge/tunnel@5.5.0-next.15
38
+ - @forge/lint@5.3.3-next.14
39
+
40
+ ## 10.6.0-next.15
41
+
42
+ ### Minor Changes
43
+
44
+ - ac1a61b: Bundle files on disk instead of memory
45
+
46
+ ### Patch Changes
47
+
48
+ - Updated dependencies [ac1a61b]
49
+ - Updated dependencies [23f6675]
50
+ - Updated dependencies [27249cd]
51
+ - Updated dependencies [5f82d22]
52
+ - @forge/cli-shared@5.5.0-next.13
53
+ - @forge/bundler@4.19.0-next.14
54
+ - @forge/tunnel@5.5.0-next.14
55
+ - @forge/i18n@0.0.1-next.12
56
+ - @forge/manifest@7.7.0-next.13
57
+ - @forge/lint@5.3.3-next.13
58
+
3
59
  ## 10.6.0-next.14
4
60
 
5
61
  ### Patch Changes
@@ -1,23 +1,23 @@
1
1
  {
2
2
  "name": "@forge/cli",
3
- "version": "10.6.0-next.14",
3
+ "version": "10.6.0-next.18",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@forge/cli",
9
- "version": "10.6.0-next.14",
9
+ "version": "10.6.0-next.18",
10
10
  "hasInstallScript": true,
11
11
  "license": "UNLICENSED",
12
12
  "dependencies": {
13
- "@forge/bundler": "4.19.0-next.13",
14
- "@forge/cli-shared": "5.5.0-next.12",
13
+ "@forge/bundler": "4.19.0-next.17",
14
+ "@forge/cli-shared": "5.5.0-next.16",
15
15
  "@forge/egress": "1.2.13",
16
- "@forge/i18n": "0.0.1-next.11",
17
- "@forge/lint": "5.3.3-next.12",
18
- "@forge/manifest": "7.7.0-next.12",
16
+ "@forge/i18n": "0.0.1-next.13",
17
+ "@forge/lint": "5.3.3-next.16",
18
+ "@forge/manifest": "7.7.0-next.15",
19
19
  "@forge/runtime": "5.10.1",
20
- "@forge/tunnel": "5.5.0-next.13",
20
+ "@forge/tunnel": "5.5.0-next.17",
21
21
  "@forge/util": "1.4.4",
22
22
  "@sentry/node": "7.100.1",
23
23
  "ajv": "^8.12.0",
@@ -832,9 +832,9 @@
832
832
  "integrity": "sha512-zG50ZRzbKyWHVb/XjI6iCIyyDNmSHdlclvehMjFZ/A3qpHExjSCjaszeY6gBDJKD2GORKKjQ3LS1UyRpiVVvkA=="
833
833
  },
834
834
  "node_modules/@forge/bundler": {
835
- "version": "4.19.0-next.13",
836
- "resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-4.19.0-next.13.tgz",
837
- "integrity": "sha512-hnIPDfecbh7nboGoNDYrMNUaPKR7s871ZPk4orb6bWy9wKdrdyi4MKn+Z1z6ll0gLKTHkfCD7aSqT4ZeUyvyJA==",
835
+ "version": "4.19.0-next.17",
836
+ "resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-4.19.0-next.17.tgz",
837
+ "integrity": "sha512-Wtoxd80RL3pzisDhoGGsG0dLbjWOk7byDYqJkw8UCzmSN1fDZwhtLvB3N/7nNCdseuowoT3oXoNrdOKurQ/VNg==",
838
838
  "dependencies": {
839
839
  "@babel/core": "^7.24.0",
840
840
  "@babel/plugin-transform-class-properties": "^7.23.3",
@@ -843,12 +843,12 @@
843
843
  "@babel/plugin-transform-optional-chaining": "^7.23.4",
844
844
  "@babel/plugin-transform-react-jsx": "^7.23.4",
845
845
  "@babel/preset-typescript": "^7.23.3",
846
- "@forge/api": "3.9.2-next.1",
846
+ "@forge/api": "3.9.2-next.2",
847
847
  "@forge/babel-plugin-transform-ui": "1.1.18",
848
- "@forge/cli-shared": "5.5.0-next.12",
849
- "@forge/i18n": "0.0.1-next.11",
850
- "@forge/lint": "5.3.3-next.12",
851
- "@forge/manifest": "7.7.0-next.12",
848
+ "@forge/cli-shared": "5.5.0-next.16",
849
+ "@forge/i18n": "0.0.1-next.13",
850
+ "@forge/lint": "5.3.3-next.16",
851
+ "@forge/manifest": "7.7.0-next.15",
852
852
  "@forge/util": "1.4.4",
853
853
  "assert": "^2.1.0",
854
854
  "babel-loader": "^8.3.0",
@@ -887,9 +887,9 @@
887
887
  }
888
888
  },
889
889
  "node_modules/@forge/bundler/node_modules/@forge/api": {
890
- "version": "3.9.2-next.1",
891
- "resolved": "https://registry.npmjs.org/@forge/api/-/api-3.9.2-next.1.tgz",
892
- "integrity": "sha512-71MmhGKHE8Za8432qRANRkAAv+dYKZNhndcQnIHuA1pJjC8pe5yB6zHARcFykdD3RBBDPSqmSSaQcPIaHuNTqA==",
890
+ "version": "3.9.2-next.2",
891
+ "resolved": "https://registry.npmjs.org/@forge/api/-/api-3.9.2-next.2.tgz",
892
+ "integrity": "sha512-DIEBdmRTw+RcWm8b/mt7BsRtzFh8QEIyofyNOhqVGAYeJbG0LSJbWH7XGtM1k8La1yrWiOw9IPv/q9/+o8jKXA==",
893
893
  "dependencies": {
894
894
  "@forge/auth": "0.0.5",
895
895
  "@forge/egress": "1.2.13",
@@ -905,12 +905,12 @@
905
905
  "integrity": "sha512-n4AWXkzMA4Pv4nam+dTu7PHgDQtMwaAF2MalOWF323zGvYKS/gZJY+7efJq0DLP783iTfjvYT879EHhCrfvEXA=="
906
906
  },
907
907
  "node_modules/@forge/cli-shared": {
908
- "version": "5.5.0-next.12",
909
- "resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-5.5.0-next.12.tgz",
910
- "integrity": "sha512-5tNlfzBUVm+33iD4Rj6NSQwr7NDs0tHyPgGKr26mvB0Z1hzHUhfdef5lAuCAIJbK4aium62mBHsKPuj7pBcfZQ==",
908
+ "version": "5.5.0-next.16",
909
+ "resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-5.5.0-next.16.tgz",
910
+ "integrity": "sha512-CeT36lqp4LpZp1FntCCuFCQsWOwsmdGuN2XCFQUqJS+0ZXiJDlNZBM50LLDw+WCOuTj/23MPZ9r8TOTEeu6bhw==",
911
911
  "dependencies": {
912
- "@forge/i18n": "0.0.1-next.11",
913
- "@forge/manifest": "7.7.0-next.12",
912
+ "@forge/i18n": "0.0.1-next.13",
913
+ "@forge/manifest": "7.7.0-next.15",
914
914
  "@forge/util": "1.4.4",
915
915
  "@sentry/node": "7.100.1",
916
916
  "adm-zip": "^0.5.10",
@@ -961,22 +961,21 @@
961
961
  }
962
962
  },
963
963
  "node_modules/@forge/i18n": {
964
- "version": "0.0.1-next.11",
965
- "resolved": "https://registry.npmjs.org/@forge/i18n/-/i18n-0.0.1-next.11.tgz",
966
- "integrity": "sha512-ae++qj+v6wWr78Q4XiVnu6v76GZKMNMiZvnpYAs40VTtU6ZaYkUWB3lZKtgPCbrf5gQSRf3KS82bFNrq58BR3A==",
964
+ "version": "0.0.1-next.13",
965
+ "resolved": "https://registry.npmjs.org/@forge/i18n/-/i18n-0.0.1-next.13.tgz",
966
+ "integrity": "sha512-OFAPPpTpEolwAOUmFcUGWJ/QIbV3IHFr9JZDSu56yhbaZEicmE/7vd9PvpSFLpxPK8zQL3o/TF4Koz1B/hY/zg==",
967
967
  "dependencies": {
968
- "@forge/manifest": "7.7.0-next.12",
969
968
  "lodash": "^4.17.21"
970
969
  }
971
970
  },
972
971
  "node_modules/@forge/lint": {
973
- "version": "5.3.3-next.12",
974
- "resolved": "https://registry.npmjs.org/@forge/lint/-/lint-5.3.3-next.12.tgz",
975
- "integrity": "sha512-ld8Pk7/RuTW40uLAAPcfq1NG9sr5zXOAXOasJMfKi9+iYfv5ENhmakHGtxbnwuOVcTI7HBu5JlV06HirhjaXew==",
972
+ "version": "5.3.3-next.16",
973
+ "resolved": "https://registry.npmjs.org/@forge/lint/-/lint-5.3.3-next.16.tgz",
974
+ "integrity": "sha512-e1/Lwh/w56z09q1slg9MHRHeoBxKPuswOQAYCrxU987YayTlBFEG1yTSIZgBsu6X9g87A5I/3lmLjBcAh/aIpQ==",
976
975
  "dependencies": {
977
- "@forge/cli-shared": "5.5.0-next.12",
976
+ "@forge/cli-shared": "5.5.0-next.16",
978
977
  "@forge/egress": "1.2.13",
979
- "@forge/manifest": "7.7.0-next.12",
978
+ "@forge/manifest": "7.7.0-next.15",
980
979
  "@typescript-eslint/typescript-estree": "^5.62.0",
981
980
  "array.prototype.flatmap": "^1.3.2",
982
981
  "atlassian-openapi": "^1.0.18",
@@ -985,10 +984,11 @@
985
984
  }
986
985
  },
987
986
  "node_modules/@forge/manifest": {
988
- "version": "7.7.0-next.12",
989
- "resolved": "https://registry.npmjs.org/@forge/manifest/-/manifest-7.7.0-next.12.tgz",
990
- "integrity": "sha512-Pvr8D4XTYt/ICjZUtApNfc3zIUWzwXU/M89P9jJhXQNaVvLFmQc88P+ET0M7yNy150Llgiu3OfWq8RayKtfKYg==",
987
+ "version": "7.7.0-next.15",
988
+ "resolved": "https://registry.npmjs.org/@forge/manifest/-/manifest-7.7.0-next.15.tgz",
989
+ "integrity": "sha512-dXtMNp0G7H4e5TQjpcrzGqgFOymjmIkSVEg/7VxG3Z+V5XAm1Ugib7voqB9G7rO2QVLYSGdCjYqn8KVoUQoI4w==",
991
990
  "dependencies": {
991
+ "@forge/i18n": "0.0.1-next.13",
992
992
  "@sentry/node": "7.100.1",
993
993
  "ajv": "^8.12.0",
994
994
  "ajv-formats": "2.1.1",
@@ -1015,12 +1015,12 @@
1015
1015
  }
1016
1016
  },
1017
1017
  "node_modules/@forge/tunnel": {
1018
- "version": "5.5.0-next.13",
1019
- "resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-5.5.0-next.13.tgz",
1020
- "integrity": "sha512-0XPJvyKUGaYSSn+OOSiqexXqfo6zGTpi0/F7bc1+B5T4wITrr9T7V0BsD9gm6DSeFiemLuEb1mZ7HyGj2u0ujQ==",
1018
+ "version": "5.5.0-next.17",
1019
+ "resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-5.5.0-next.17.tgz",
1020
+ "integrity": "sha512-/4fTobRAPx0b/IOpdhxtOuN/dczpdOiBMmTV7S7Vh5R0jLbP1+whUI69TBz851hHWZ1Uf/JVTbu4ctwSyznqcw==",
1021
1021
  "dependencies": {
1022
- "@forge/bundler": "4.19.0-next.13",
1023
- "@forge/cli-shared": "5.5.0-next.12",
1022
+ "@forge/bundler": "4.19.0-next.17",
1023
+ "@forge/cli-shared": "5.5.0-next.16",
1024
1024
  "@forge/csp": "3.3.0",
1025
1025
  "@forge/runtime": "5.10.1",
1026
1026
  "chokidar": "^3.6.0",
@@ -41,6 +41,7 @@ export declare class DeployController {
41
41
  private isMpacProductionApp;
42
42
  private connectKeyDeleted;
43
43
  private connectKeyChanged;
44
+ private connectKeyMutatedInProduction;
44
45
  private validateConnectKeyChange;
45
46
  private verifyPreDeployment;
46
47
  private verifyPostDeployment;
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/deploy-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EAEpB,UAAU,EACV,cAAc,EACd,WAAW,EAIZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAA+B,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACzG,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAEhF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAE9E,UAAU,aAAa;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,sBAAuB,SAAQ,WAAW;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM,EAAE;IAItC,aAAa,IAAI,cAAc;IAM/B,WAAW,IAAI,OAAO;CAG9B;AAED,qBAAa,sBAAuB,SAAQ,WAAW;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAGpC,aAAa,IAAI,cAAc;IAM/B,WAAW,IAAI,OAAO;CAG9B;AAED,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,iCAAiC;IAClD,OAAO,CAAC,QAAQ,CAAC,8BAA8B;IAC/C,OAAO,CAAC,QAAQ,CAAC,wBAAwB;gBAVxB,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,oBAAoB,EAAE,mBAAmB,EACzC,oBAAoB,EAAE,oBAAoB,EAC1C,qBAAqB,EAAE,qBAAqB,EAC5C,oBAAoB,EAAE,oBAAoB,EAC1C,UAAU,EAAE,UAAU,EACtB,iCAAiC,EAAE,0BAA0B,EAC7D,8BAA8B,EAAE,0BAA0B,EAC1D,wBAAwB,EAAE,wBAAwB;IAGrE,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,iBAAiB;YAGX,wBAAwB;YAwBxB,mBAAmB;YA2BnB,oBAAoB;YAgBpB,2BAA2B;YAe3B,wBAAwB;IAkBzB,GAAG,CAAC,EACf,WAAW,EACX,MAAM,EACN,cAAc,EACd,YAAY,EACb,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;CAkFpD"}
1
+ {"version":3,"file":"deploy-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/deploy-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EAEpB,UAAU,EACV,cAAc,EACd,WAAW,EAIZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAA+B,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACzG,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAEhF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAE9E,UAAU,aAAa;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,sBAAuB,SAAQ,WAAW;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM,EAAE;IAItC,aAAa,IAAI,cAAc;IAM/B,WAAW,IAAI,OAAO;CAG9B;AAED,qBAAa,sBAAuB,SAAQ,WAAW;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAGpC,aAAa,IAAI,cAAc;IAM/B,WAAW,IAAI,OAAO;CAG9B;AAED,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,iCAAiC;IAClD,OAAO,CAAC,QAAQ,CAAC,8BAA8B;IAC/C,OAAO,CAAC,QAAQ,CAAC,wBAAwB;gBAVxB,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,oBAAoB,EAAE,mBAAmB,EACzC,oBAAoB,EAAE,oBAAoB,EAC1C,qBAAqB,EAAE,qBAAqB,EAC5C,oBAAoB,EAAE,oBAAoB,EAC1C,UAAU,EAAE,UAAU,EACtB,iCAAiC,EAAE,0BAA0B,EAC7D,8BAA8B,EAAE,0BAA0B,EAC1D,wBAAwB,EAAE,wBAAwB;IAGrE,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,6BAA6B;YAWvB,wBAAwB;YA2BxB,mBAAmB;YA2BnB,oBAAoB;YAgBpB,2BAA2B;YAe3B,wBAAwB;IAkBzB,GAAG,CAAC,EACf,WAAW,EACX,MAAM,EACN,cAAc,EACd,YAAY,EACb,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;CAkFpD"}
@@ -71,12 +71,22 @@ class DeployController {
71
71
  connectKeyChanged(connectKey, comparisonKey) {
72
72
  return !!(comparisonKey && connectKey && connectKey !== comparisonKey);
73
73
  }
74
+ connectKeyMutatedInProduction(connectKey, comparisonKey, environment, isSkeletonVersion) {
75
+ if (isSkeletonVersion || environment !== 'production') {
76
+ return false;
77
+ }
78
+ return !!(connectKey !== comparisonKey);
79
+ }
74
80
  async validateConnectKeyChange(environment, keys) {
75
- const { migrationKeys, mpacAppKey } = keys;
81
+ const { migrationKeys, mpacAppKey, isSkeletonVersion } = keys;
76
82
  const connectKey = await this.configFile.getConnectKey();
77
83
  const migrationKey = migrationKeys?.confluence || migrationKeys?.jira;
78
84
  const isMpacApp = this.isMpacProductionApp(mpacAppKey, environment);
79
- if (this.connectKeyDeleted(connectKey, migrationKey)) {
85
+ if (!isMpacApp && this.connectKeyMutatedInProduction(connectKey, migrationKey, environment, !!isSkeletonVersion)) {
86
+ this.deployView.displayConnectKeyMutationInProductionError(migrationKey, connectKey);
87
+ throw new InvalidConnectKeyError(cli_shared_1.Text.deploy.connectKeyChange.mpacAppConnectKeyChangeAnalyticsError);
88
+ }
89
+ else if (this.connectKeyDeleted(connectKey, migrationKey)) {
80
90
  this.deployView.displayConnectKeyDeleteWarning(environment);
81
91
  const proceed = await this.deployView.promptToContinueDeletingConnectKey();
82
92
  return { proceed, connectKeyDeleted: proceed, connectKeyChanged: false };
@@ -148,8 +148,8 @@ const getDependencies = async (cliDetails) => {
148
148
  const deployer = new deploy_1.ArtifactDeployer(assertiveAppConfigReader, triggerDeployClient, deployMonitorClient, cli_shared_1.pause, ui);
149
149
  const sandboxBundle = (0, bundler_1.getSandboxBundler)();
150
150
  const nodeBundle = (0, bundler_1.getNodeBundler)((0, bundler_1.getWrapperProvider)({ fileSystemReader: fileReader }));
151
- const sandboxRuntimeBundler = new runtime_bundler_1.SandboxRuntimeBundler(archiverFactory, ui, sandboxBundle, configFile);
152
- const nodeRuntimeBundler = new runtime_bundler_1.NodeRuntimeBundler(archiverFactory, ui, nodeBundle, configFile);
151
+ const sandboxRuntimeBundler = new runtime_bundler_1.SandboxRuntimeBundler(archiverFactory, ui, sandboxBundle, fileReader, configFile);
152
+ const nodeRuntimeBundler = new runtime_bundler_1.NodeRuntimeBundler(archiverFactory, ui, nodeBundle, fileReader, configFile);
153
153
  const nativeUiBundler = new nativeui_bundler_1.NativeUIBundler(ui, bundler_1.nativeUiBundle);
154
154
  const sandboxAppPackager = new deploy_1.AppPackager(sandboxRuntimeBundler, nativeUiBundler, ui);
155
155
  const nodeAppPackager = new deploy_1.AppPackager(nodeRuntimeBundler, nativeUiBundler, ui);
@@ -16,6 +16,7 @@ export declare class DeployView {
16
16
  displayConnectKeyChangeWarning(environment: string, migrationKey: string, connectKey: string): void;
17
17
  displayConnectKeyDeleteWarning(environment: string): void;
18
18
  displayMPACAppConnectKeyChangeError(mpacAppKey: string, connectKey: string): void;
19
+ displayConnectKeyMutationInProductionError(migrationKey?: string, connectKey?: string): void;
19
20
  displayEnvironmentCreationWarning(environment: string): void;
20
21
  displayEnvironmentCreationSuccessMessage(environment: string): void;
21
22
  promptToContinueDeletingConnectKey(): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-view.d.ts","sourceRoot":"","sources":["../../../src/command-line/view/deploy-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAkB,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAClG,OAAO,EAAE,UAAU,EAAqB,MAAM,aAAa,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,qBAAa,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,EAAE;IAE5B,SAAS,IAAI,EAAE;IAIf,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,kBAAkB,GAAG,IAAI;IAI5E,gCAAgC,IAAI,IAAI;IAIxC,kBAAkB,IAAI,IAAI;IAI1B,mCAAmC,IAAI,IAAI;IAK3C,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAKjD,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI;IAKlD,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI3C,qBAAqB,IAAI,IAAI;IAI7B,8BAA8B,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAInG,8BAA8B,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAIzD,mCAAmC,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAIjF,iCAAiC,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAM5D,wCAAwC,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAK7D,kCAAkC,IAAI,OAAO,CAAC,OAAO,CAAC;IAI5D,wCAAwC,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAI9D,kCAAkC,IAAI,OAAO,CAAC,OAAO,CAAC;IAItD,kCAAkC,IAAI,OAAO,CAAC,OAAO,CAAC;IAItD,yBAAyB,IAAI,OAAO,CAAC,OAAO,CAAC;IAM7C,yCAAyC,IAAI,OAAO,CAAC,OAAO,CAAC;IAKnE,0CAA0C,IAAI,IAAI;IAK5C,wBAAwB,CACnC,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,eAAe,EAAE,EAAE,qBAAqB,EACxE,wBAAwB,EAAE,OAAO,EACjC,cAAc,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,GAC9C,OAAO,CAAC,gBAAgB,CAAC;CAY7B"}
1
+ {"version":3,"file":"deploy-view.d.ts","sourceRoot":"","sources":["../../../src/command-line/view/deploy-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAkB,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAClG,OAAO,EAAE,UAAU,EAAqB,MAAM,aAAa,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,qBAAa,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,EAAE;IAE5B,SAAS,IAAI,EAAE;IAIf,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,kBAAkB,GAAG,IAAI;IAI5E,gCAAgC,IAAI,IAAI;IAIxC,kBAAkB,IAAI,IAAI;IAI1B,mCAAmC,IAAI,IAAI;IAK3C,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAKjD,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI;IAKlD,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI3C,qBAAqB,IAAI,IAAI;IAI7B,8BAA8B,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAInG,8BAA8B,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAIzD,mCAAmC,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAIjF,0CAA0C,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAIrF,iCAAiC,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAM5D,wCAAwC,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAK7D,kCAAkC,IAAI,OAAO,CAAC,OAAO,CAAC;IAI5D,wCAAwC,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAI9D,kCAAkC,IAAI,OAAO,CAAC,OAAO,CAAC;IAItD,kCAAkC,IAAI,OAAO,CAAC,OAAO,CAAC;IAItD,yBAAyB,IAAI,OAAO,CAAC,OAAO,CAAC;IAM7C,yCAAyC,IAAI,OAAO,CAAC,OAAO,CAAC;IAKnE,0CAA0C,IAAI,IAAI;IAK5C,wBAAwB,CACnC,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,eAAe,EAAE,EAAE,qBAAqB,EACxE,wBAAwB,EAAE,OAAO,EACjC,cAAc,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,GAC9C,OAAO,CAAC,gBAAgB,CAAC;CAY7B"}
@@ -48,6 +48,9 @@ class DeployView {
48
48
  displayMPACAppConnectKeyChangeError(mpacAppKey, connectKey) {
49
49
  this.ui.info(cli_shared_1.Text.deploy.connectKeyChange.mpacAppConnectKeyChangeError(mpacAppKey, connectKey));
50
50
  }
51
+ displayConnectKeyMutationInProductionError(migrationKey, connectKey) {
52
+ this.ui.info(cli_shared_1.Text.deploy.connectKeyChange.connectKeyMutationInProductionError(migrationKey, connectKey));
53
+ }
51
54
  displayEnvironmentCreationWarning(environment) {
52
55
  this.ui.emptyLine();
53
56
  this.ui.warn(cli_shared_1.Text.env.warn.envWillBeCreated(environment));
@@ -1,4 +1,4 @@
1
- import { InDiskBundler } from '@forge/bundler';
1
+ import { Bundler } from '@forge/bundler';
2
2
  import { Logger, ResourceDetails } from '@forge/cli-shared';
3
3
  import { Translations } from '@forge/manifest';
4
4
  export interface NativeUIBundleResult {
@@ -7,7 +7,7 @@ export interface NativeUIBundleResult {
7
7
  export declare class NativeUIBundler {
8
8
  private readonly logger;
9
9
  private readonly bundler;
10
- constructor(logger: Logger, bundler: InDiskBundler);
10
+ constructor(logger: Logger, bundler: Bundler);
11
11
  bundle(resources: ResourceDetails[], i18nConfig?: Translations): Promise<NativeUIBundleResult>;
12
12
  }
13
13
  //# sourceMappingURL=nativeui-bundler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nativeui-bundler.d.ts","sourceRoot":"","sources":["../../../src/deploy/packager/nativeui-bundler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,MAAM,WAAW,oBAAoB;IACnC,sBAAsB,EAAE,eAAe,EAAE,CAAC;CAC3C;AAED,qBAAa,eAAe;IAExB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADP,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,aAAa;IAG5B,MAAM,CAAC,SAAS,EAAE,eAAe,EAAE,EAAE,UAAU,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAgC5G"}
1
+ {"version":3,"file":"nativeui-bundler.d.ts","sourceRoot":"","sources":["../../../src/deploy/packager/nativeui-bundler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAc,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,MAAM,WAAW,oBAAoB;IACnC,sBAAsB,EAAE,eAAe,EAAE,CAAC;CAC3C;AAED,qBAAa,eAAe;IAExB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADP,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO;IAGtB,MAAM,CAAC,SAAS,EAAE,eAAe,EAAE,EAAE,UAAU,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAgC5G"}
@@ -18,7 +18,7 @@ class NativeUIBundler {
18
18
  if (entryPoints.length > 0) {
19
19
  let bundlerOutputs;
20
20
  try {
21
- bundlerOutputs = await Promise.all(entryPoints.map((entrypoint) => this.bundler(this.logger, [entrypoint], i18nConfig)));
21
+ bundlerOutputs = await Promise.all(entryPoints.map((entrypoint) => this.bundler(this.logger, '', [entrypoint], i18nConfig)));
22
22
  }
23
23
  catch (e) {
24
24
  throw new packager_1.BundlerError(e.message);
@@ -1,5 +1,5 @@
1
- import { Bundler, FunctionsEntryPoint } from '@forge/bundler';
2
- import { Handler, Logger, ConfigFile, type I18nResourceBundle } from '@forge/cli-shared';
1
+ import { Bundler, EntryPoint } from '@forge/bundler';
2
+ import { Handler, Logger, FileSystemReader, ConfigFile, type I18nResourceBundle } from '@forge/cli-shared';
3
3
  import { App } from '@forge/manifest';
4
4
  import { Archiver } from './archiver';
5
5
  export interface RuntimeBundleResult {
@@ -10,9 +10,10 @@ export declare class RuntimeBundler {
10
10
  private readonly archiverFactory;
11
11
  private readonly logger;
12
12
  private readonly bundler;
13
+ protected readonly fileSystemReader: FileSystemReader;
13
14
  private readonly configFile;
14
- constructor(archiverFactory: () => Archiver, logger: Logger, bundler: Bundler<FunctionsEntryPoint>, configFile: ConfigFile);
15
- protected packageCode(archiver: Archiver, entryPoints: FunctionsEntryPoint[]): Promise<string[]>;
15
+ constructor(archiverFactory: () => Archiver, logger: Logger, bundler: Bundler, fileSystemReader: FileSystemReader, configFile: ConfigFile);
16
+ protected packageCode(archiver: Archiver, entryPoints: EntryPoint[]): Promise<string[]>;
16
17
  protected packageDependencies(archiver: Archiver): Promise<void>;
17
18
  protected packageAll(archiver: Archiver, handlers: Handler[], packageConfig: App['package']): Promise<string[]>;
18
19
  protected packageI18nResources(archiver: Archiver, i18nResourceBundle: I18nResourceBundle): void;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-bundler.d.ts","sourceRoot":"","sources":["../../../src/deploy/packager/runtime-bundler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAiB,mBAAmB,EAAkB,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAEL,OAAO,EACP,MAAM,EAIN,UAAU,EAEV,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAKtC,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAHV,eAAe,EAAE,MAAM,QAAQ,EAC/B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC,EACrC,UAAU,EAAE,UAAU;cAGzB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;cAsCtF,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;cAgBtD,UAAU,CACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,OAAO,EAAE,EACnB,aAAa,EAAE,GAAG,CAAC,SAAS,CAAC,GAC5B,OAAO,CAAC,MAAM,EAAE,CAAC;IAUpB,SAAS,CAAC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,kBAAkB,GAAG,IAAI;IAMnF,MAAM,CACjB,QAAQ,EAAE,OAAO,EAAE,EACnB,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,GAC7B,OAAO,CAAC,mBAAmB,CAAC;CAWhC;AAED,qBAAa,qBAAsB,SAAQ,cAAc;IAC1C,MAAM,CACjB,QAAQ,EAAE,OAAO,EAAE,EACnB,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,GAC7B,OAAO,CAAC,mBAAmB,CAAC;CAMhC;AAED,qBAAa,kBAAmB,SAAQ,cAAc;cACpC,UAAU,CACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,OAAO,EAAE,EACnB,aAAa,EAAE,GAAG,CAAC,SAAS,CAAC,GAC5B,OAAO,CAAC,MAAM,EAAE,CAAC;CASrB"}
1
+ {"version":3,"file":"runtime-bundler.d.ts","sourceRoot":"","sources":["../../../src/deploy/packager/runtime-bundler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAiB,UAAU,EAAkB,MAAM,gBAAgB,CAAC;AACpF,OAAO,EAEL,OAAO,EACP,MAAM,EAEN,gBAAgB,EAEhB,UAAU,EAEV,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAKtC,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IACrD,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAJV,eAAe,EAAE,MAAM,QAAQ,EAC/B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EACd,gBAAgB,EAAE,gBAAgB,EACpC,UAAU,EAAE,UAAU;cAGzB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;cAkC7E,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;cAatD,UAAU,CACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,OAAO,EAAE,EACnB,aAAa,EAAE,GAAG,CAAC,SAAS,CAAC,GAC5B,OAAO,CAAC,MAAM,EAAE,CAAC;IAUpB,SAAS,CAAC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,kBAAkB,GAAG,IAAI;IAMnF,MAAM,CACjB,QAAQ,EAAE,OAAO,EAAE,EACnB,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,GAC7B,OAAO,CAAC,mBAAmB,CAAC;CAWhC;AAED,qBAAa,qBAAsB,SAAQ,cAAc;IAC1C,MAAM,CACjB,QAAQ,EAAE,OAAO,EAAE,EACnB,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,GAC7B,OAAO,CAAC,mBAAmB,CAAC;CAMhC;AAED,qBAAa,kBAAmB,SAAQ,cAAc;cACpC,UAAU,CACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,OAAO,EAAE,EACnB,aAAa,EAAE,GAAG,CAAC,SAAS,CAAC,GAC5B,OAAO,CAAC,MAAM,EAAE,CAAC;CASrB"}
@@ -1,22 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NodeRuntimeBundler = exports.SandboxRuntimeBundler = exports.RuntimeBundler = void 0;
4
- const fs_1 = require("fs");
4
+ const tslib_1 = require("tslib");
5
+ const path_1 = tslib_1.__importDefault(require("path"));
5
6
  const bundler_1 = require("@forge/bundler");
6
7
  const cli_shared_1 = require("@forge/cli-shared");
7
8
  const i18n_1 = require("@forge/i18n");
8
9
  const packager_1 = require("./packager");
9
10
  const node_1 = require("@forge/bundler/out/config/node");
10
- const path_1 = require("path");
11
+ const path_2 = require("path");
11
12
  class RuntimeBundler {
12
13
  archiverFactory;
13
14
  logger;
14
15
  bundler;
16
+ fileSystemReader;
15
17
  configFile;
16
- constructor(archiverFactory, logger, bundler, configFile) {
18
+ constructor(archiverFactory, logger, bundler, fileSystemReader, configFile) {
17
19
  this.archiverFactory = archiverFactory;
18
20
  this.logger = logger;
19
21
  this.bundler = bundler;
22
+ this.fileSystemReader = fileSystemReader;
20
23
  this.configFile = configFile;
21
24
  }
22
25
  async packageCode(archiver, entryPoints) {
@@ -29,7 +32,7 @@ class RuntimeBundler {
29
32
  catch (e) {
30
33
  throw new packager_1.BundlerError(e.message);
31
34
  }
32
- const { output, sourceMap = {}, metadata } = bundlerResponse;
35
+ const { outputDir, metadata } = bundlerResponse;
33
36
  if (metadata) {
34
37
  if (metadata.modules) {
35
38
  moduleList.push(...metadata.modules);
@@ -39,22 +42,16 @@ class RuntimeBundler {
39
42
  }
40
43
  }
41
44
  this.logger.debug(cli_shared_1.Text.deploy.taskPackage.packageBundledFiles);
42
- for (const name in output) {
43
- archiver.addFile(name, Buffer.from(output[name]));
44
- }
45
- for (const name in sourceMap) {
46
- archiver.addFile(name, Buffer.from(sourceMap[name]));
45
+ for (const name of await this.fileSystemReader.getFileGlobList([`${outputDir}/**`])) {
46
+ archiver.addFileFrom(path_1.default.relative(outputDir, name), name);
47
47
  }
48
48
  }
49
49
  return moduleList;
50
50
  }
51
51
  async packageDependencies(archiver) {
52
+ archiver.addFile(cli_shared_1.manifestFileName, Buffer.from(this.configFile.readConfigAsString()));
52
53
  for (const fileName of cli_shared_1.dependencyFileNames) {
53
- if (!(0, fs_1.existsSync)(fileName)) {
54
- continue;
55
- }
56
- if (fileName === cli_shared_1.manifestFileName) {
57
- archiver.addFile(fileName, Buffer.from(this.configFile.readConfigAsString()));
54
+ if (!this.fileSystemReader.fileExists(fileName)) {
58
55
  continue;
59
56
  }
60
57
  archiver.addFileFrom(fileName, fileName);
@@ -68,7 +65,7 @@ class RuntimeBundler {
68
65
  }
69
66
  packageI18nResources(archiver, i18nResourceBundle) {
70
67
  (0, cli_shared_1.listFilesInI18nResourceBundle)(i18nResourceBundle).forEach(([fileName, filePath]) => {
71
- archiver.addFileFrom((0, path_1.join)(i18n_1.I18N_BUNDLE_FOLDER_NAME, fileName), filePath);
68
+ archiver.addFileFrom((0, path_2.join)(i18n_1.I18N_BUNDLE_FOLDER_NAME, fileName), filePath);
72
69
  });
73
70
  }
74
71
  async bundle(handlers, i18nResourceBundle, packageConfig) {
@@ -93,10 +90,10 @@ exports.SandboxRuntimeBundler = SandboxRuntimeBundler;
93
90
  class NodeRuntimeBundler extends RuntimeBundler {
94
91
  async packageAll(archiver, handlers, packageConfig) {
95
92
  const moduleList = await super.packageAll(archiver, handlers, packageConfig);
96
- const files = await new cli_shared_1.FileSystemReader().getFileGlobList(packageConfig?.extraFiles ?? []);
97
- files.forEach((fileName) => {
93
+ const files = await this.fileSystemReader.getFileGlobList(packageConfig?.extraFiles ?? []);
94
+ for (const fileName of files) {
98
95
  archiver.addFileFrom(fileName, fileName);
99
- });
96
+ }
100
97
  return moduleList;
101
98
  }
102
99
  }
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-client.d.ts","sourceRoot":"","sources":["../../src/migration-keys/graphql-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA6D,MAAM,mBAAmB,CAAC;AAC7G,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAEhF,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAE5C,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC;CAiDjH"}
1
+ {"version":3,"file":"graphql-client.d.ts","sourceRoot":"","sources":["../../src/migration-keys/graphql-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA6D,MAAM,mBAAmB,CAAC;AAC7G,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAEhF,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAE5C,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC;CAqDjH"}
@@ -22,6 +22,7 @@ class GraphqlClient {
22
22
  jira
23
23
  confluence
24
24
  }
25
+ version
25
26
  }
26
27
  }
27
28
  }
@@ -42,13 +43,15 @@ class GraphqlClient {
42
43
  }
43
44
  const mpacAppKey = result.app.marketplaceApp?.appKey;
44
45
  const versions = result.app.environmentByKey.versions;
46
+ let isSkeletonVersion = true;
45
47
  let migrationKeys;
46
48
  for (const edge of versions?.edges || []) {
47
49
  if (edge) {
48
50
  migrationKeys = edge.node?.migrationKeys;
51
+ isSkeletonVersion = edge.node?.version === '1.1.0';
49
52
  }
50
53
  }
51
- return { migrationKeys, mpacAppKey };
54
+ return { migrationKeys, mpacAppKey, isSkeletonVersion };
52
55
  }
53
56
  }
54
57
  exports.GraphqlClient = GraphqlClient;
@@ -6,6 +6,7 @@ export declare type MigrationKeys = {
6
6
  export interface AppEnvironmentMigrationKeys {
7
7
  migrationKeys?: MigrationKeys | null;
8
8
  mpacAppKey?: string | null;
9
+ isSkeletonVersion?: boolean;
9
10
  }
10
11
  export interface GetMigrationKeysClient {
11
12
  getLatestMigrationKeys(appId: string, environmentKey: string): Promise<AppEnvironmentMigrationKeys>;
@@ -1 +1 @@
1
- {"version":3,"file":"migration-keys-service.d.ts","sourceRoot":"","sources":["../../src/service/migration-keys-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,oBAAY,aAAa,GAAG;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,MAAM,WAAW,2BAA2B;IAC1C,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AACD,MAAM,WAAW,sBAAsB;IACrC,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;CACrG;AAED,qBAAa,oBAAoB;IAE7B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY;gBADZ,mBAAmB,EAAE,sBAAsB,EAC3C,YAAY,EAAE,iBAAiB;IAGrC,iCAAiC,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC;CAI7G"}
1
+ {"version":3,"file":"migration-keys-service.d.ts","sourceRoot":"","sources":["../../src/service/migration-keys-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,oBAAY,aAAa,GAAG;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,MAAM,WAAW,2BAA2B;IAC1C,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AACD,MAAM,WAAW,sBAAsB;IACrC,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;CACrG;AAED,qBAAa,oBAAoB;IAE7B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY;gBADZ,mBAAmB,EAAE,sBAAsB,EAC3C,YAAY,EAAE,iBAAiB;IAGrC,iCAAiC,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC;CAI7G"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/cli",
3
- "version": "10.6.0-next.14",
3
+ "version": "10.6.0-next.18",
4
4
  "description": "A command line interface for managing Atlassian-hosted apps",
5
5
  "author": "Atlassian",
6
6
  "license": "UNLICENSED",
@@ -18,16 +18,16 @@
18
18
  "postinstall": "node -e \"fs.existsSync('./out/bin/postinstall.js') && require('./out/bin/postinstall.js')\""
19
19
  },
20
20
  "dependencies": {
21
- "@forge/bundler": "4.19.0-next.13",
22
- "@forge/cli-shared": "5.5.0-next.12",
21
+ "@forge/bundler": "4.19.0-next.17",
22
+ "@forge/cli-shared": "5.5.0-next.16",
23
23
  "@forge/egress": "1.2.13",
24
- "@forge/lint": "5.3.3-next.12",
25
- "@forge/manifest": "7.7.0-next.12",
24
+ "@forge/lint": "5.3.3-next.16",
25
+ "@forge/manifest": "7.7.0-next.15",
26
26
  "@forge/runtime": "5.10.1",
27
- "@forge/tunnel": "5.5.0-next.13",
27
+ "@forge/tunnel": "5.5.0-next.17",
28
28
  "@forge/util": "1.4.4",
29
29
  "@sentry/node": "7.100.1",
30
- "@forge/i18n": "0.0.1-next.11",
30
+ "@forge/i18n": "0.0.1-next.13",
31
31
  "ajv": "^8.12.0",
32
32
  "archiver": "^6.0.2",
33
33
  "case": "^1.6.3",