@commercetools-frontend/application-cli 2.1.2 → 2.2.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.
- package/cli/dist/commercetools-frontend-application-cli-cli.cjs.dev.js +125 -90
- package/cli/dist/commercetools-frontend-application-cli-cli.cjs.prod.js +125 -90
- package/cli/dist/commercetools-frontend-application-cli-cli.esm.js +124 -89
- package/dist/commercetools-frontend-application-cli.cjs.dev.js +3 -1
- package/dist/commercetools-frontend-application-cli.cjs.prod.js +3 -1
- package/dist/commercetools-frontend-application-cli.esm.js +2 -1
- package/dist/declarations/src/constants.d.ts +2 -0
- package/dist/declarations/src/storage-buckets-config.d.ts +3 -2
- package/dist/declarations/src/types.d.ts +16 -11
- package/dist/{storage-buckets-config-0b3808a3.cjs.prod.js → storage-buckets-config-06a6b7d2.cjs.prod.js} +33 -0
- package/dist/{storage-buckets-config-478b8585.cjs.dev.js → storage-buckets-config-30d0f671.cjs.dev.js} +33 -0
- package/dist/{storage-buckets-config-7845a091.esm.js → storage-buckets-config-7277eecb.esm.js} +32 -1
- package/package.json +6 -6
|
@@ -16,20 +16,23 @@ var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
|
16
16
|
var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
|
|
17
17
|
var _Object$entries = require('@babel/runtime-corejs3/core-js-stable/object/entries');
|
|
18
18
|
var _Set = require('@babel/runtime-corejs3/core-js-stable/set');
|
|
19
|
-
var
|
|
19
|
+
var _flatMapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/flat-map');
|
|
20
|
+
var storageBucketsConfig = require('../../dist/storage-buckets-config-30d0f671.cjs.dev.js');
|
|
20
21
|
var fs = require('node:fs');
|
|
21
22
|
var path$1 = require('node:path');
|
|
22
23
|
var listr2 = require('listr2');
|
|
23
24
|
var execa = require('execa');
|
|
24
|
-
var cosmiconfig = require('cosmiconfig');
|
|
25
25
|
var findRoot = require('@manypkg/find-root');
|
|
26
26
|
var path = require('path');
|
|
27
27
|
var _possibleConstructorReturn = require('@babel/runtime-corejs3/helpers/possibleConstructorReturn');
|
|
28
|
+
var _assertThisInitialized = require('@babel/runtime-corejs3/helpers/assertThisInitialized');
|
|
28
29
|
var _get = require('@babel/runtime-corejs3/helpers/get');
|
|
29
30
|
var _getPrototypeOf = require('@babel/runtime-corejs3/helpers/getPrototypeOf');
|
|
30
31
|
var _inherits = require('@babel/runtime-corejs3/helpers/inherits');
|
|
31
32
|
var _classCallCheck = require('@babel/runtime-corejs3/helpers/classCallCheck');
|
|
32
33
|
var _createClass = require('@babel/runtime-corejs3/helpers/createClass');
|
|
34
|
+
var _classPrivateFieldLooseBase = require('@babel/runtime-corejs3/helpers/classPrivateFieldLooseBase');
|
|
35
|
+
var _classPrivateFieldLooseKey = require('@babel/runtime-corejs3/helpers/classPrivateFieldLooseKey');
|
|
33
36
|
var _Reflect$construct = require('@babel/runtime-corejs3/core-js-stable/reflect/construct');
|
|
34
37
|
var fs$1 = require('fs');
|
|
35
38
|
var dotenv = require('dotenv');
|
|
@@ -37,9 +40,9 @@ var _findInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/insta
|
|
|
37
40
|
var _JSON$stringify = require('@babel/runtime-corejs3/core-js-stable/json/stringify');
|
|
38
41
|
var applicationConfig = require('@commercetools-frontend/application-config');
|
|
39
42
|
var l10n = require('@commercetools-frontend/l10n');
|
|
40
|
-
var storageBucketsConfig = require('../../dist/storage-buckets-config-478b8585.cjs.dev.js');
|
|
41
43
|
var _sliceInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/slice');
|
|
42
44
|
var jsonschema = require('jsonschema');
|
|
45
|
+
require('cosmiconfig');
|
|
43
46
|
require('ts-deepmerge');
|
|
44
47
|
|
|
45
48
|
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|
|
@@ -55,7 +58,7 @@ var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defin
|
|
|
55
58
|
var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty);
|
|
56
59
|
var _Object$entries__default = /*#__PURE__*/_interopDefault(_Object$entries);
|
|
57
60
|
var _Set__default = /*#__PURE__*/_interopDefault(_Set);
|
|
58
|
-
var
|
|
61
|
+
var _flatMapInstanceProperty__default = /*#__PURE__*/_interopDefault(_flatMapInstanceProperty);
|
|
59
62
|
var fs__default = /*#__PURE__*/_interopDefault(fs);
|
|
60
63
|
var path__default$1 = /*#__PURE__*/_interopDefault(path$1);
|
|
61
64
|
var execa__default = /*#__PURE__*/_interopDefault(execa);
|
|
@@ -96,23 +99,34 @@ function _callSuper(_this, derived, args) {
|
|
|
96
99
|
derived = _getPrototypeOf(derived);
|
|
97
100
|
return _possibleConstructorReturn(_this, isNativeReflectConstruct() ? _Reflect$construct__default["default"](derived, args || [], _getPrototypeOf(_this).constructor) : derived.apply(_this, args));
|
|
98
101
|
}
|
|
102
|
+
var _bucketRegion = /*#__PURE__*/_classPrivateFieldLooseKey("bucketRegion");
|
|
103
|
+
var _bucketEnvironment$1 = /*#__PURE__*/_classPrivateFieldLooseKey("bucketEnvironment");
|
|
99
104
|
let StorageProvider = /*#__PURE__*/function () {
|
|
100
|
-
function StorageProvider() {
|
|
105
|
+
function StorageProvider(config) {
|
|
101
106
|
_classCallCheck(this, StorageProvider);
|
|
107
|
+
_Object$defineProperty__default["default"](this, _bucketRegion, {
|
|
108
|
+
writable: true,
|
|
109
|
+
value: void 0
|
|
110
|
+
});
|
|
111
|
+
_Object$defineProperty__default["default"](this, _bucketEnvironment$1, {
|
|
112
|
+
writable: true,
|
|
113
|
+
value: void 0
|
|
114
|
+
});
|
|
115
|
+
_classPrivateFieldLooseBase(this, _bucketRegion)[_bucketRegion] = config.bucketRegion;
|
|
116
|
+
_classPrivateFieldLooseBase(this, _bucketEnvironment$1)[_bucketEnvironment$1] = config.bucketEnvironment;
|
|
102
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* Construct the storage bucket URL for the specific application and cloud environment.
|
|
120
|
+
*
|
|
121
|
+
* 1. Static assets are uploaded to `:bucketRegion/:prNumber?/:applicationName`
|
|
122
|
+
* 2. The application index is uploaded to `:bucketRegion/:prNumber?/:applicationName/:cloudEnvironment`
|
|
123
|
+
*
|
|
124
|
+
* This allows all cloud environments sharing the same static assets while each application's index
|
|
125
|
+
* is uploaded with different headers (e.g. CSP rules).
|
|
126
|
+
*/
|
|
103
127
|
_createClass(StorageProvider, [{
|
|
104
128
|
key: "getBucketNamespace",
|
|
105
|
-
value:
|
|
106
|
-
/**
|
|
107
|
-
* Construct the storage bucket URL for the specific application and cloud environment.
|
|
108
|
-
*
|
|
109
|
-
* 1. Static assets are uploaded to `:bucketRegion/:prNumber?/:applicationName`
|
|
110
|
-
* 2. The application index is uploaded to `:bucketRegion/:prNumber?/:applicationName/:cloudEnvironment`
|
|
111
|
-
*
|
|
112
|
-
* This allows all cloud environments sharing the same static assets while each application's index
|
|
113
|
-
* is uploaded with different headers (e.g. CSP rules).
|
|
114
|
-
*/
|
|
115
|
-
function getBucketNamespace(prNumber) {
|
|
129
|
+
value: function getBucketNamespace(prNumber) {
|
|
116
130
|
if (!prNumber) return;
|
|
117
131
|
if (prNumber === 'merchant-center-preview') return prNumber;
|
|
118
132
|
return `mc-${prNumber}`;
|
|
@@ -125,56 +139,85 @@ let StorageProvider = /*#__PURE__*/function () {
|
|
|
125
139
|
key: "getAssetsBucketUrl",
|
|
126
140
|
value: function getAssetsBucketUrl(_ref) {
|
|
127
141
|
var _context;
|
|
128
|
-
let
|
|
129
|
-
|
|
130
|
-
bucketNamespace = _ref.bucketNamespace
|
|
131
|
-
|
|
132
|
-
const assetsBucketUrl = _filterInstanceProperty__default["default"](_context = [bucketRegion, bucketNamespace, applicationName]).call(_context, Boolean).join('/');
|
|
142
|
+
let applicationName = _ref.applicationName,
|
|
143
|
+
bucketProtocol = _ref.bucketProtocol,
|
|
144
|
+
bucketNamespace = _ref.bucketNamespace;
|
|
145
|
+
const assetsBucketUrl = _filterInstanceProperty__default["default"](_context = [_classPrivateFieldLooseBase(this, _bucketRegion)[_bucketRegion], bucketNamespace, applicationName]).call(_context, Boolean).join('/');
|
|
133
146
|
return `${bucketProtocol}${assetsBucketUrl}`;
|
|
134
147
|
}
|
|
135
148
|
}, {
|
|
136
149
|
key: "getApplicationIndexBucketUrl",
|
|
137
150
|
value: function getApplicationIndexBucketUrl(_ref2) {
|
|
138
|
-
let
|
|
139
|
-
bucketRegion = _ref2.bucketRegion,
|
|
140
|
-
bucketNamespace = _ref2.bucketNamespace,
|
|
141
|
-
prNumber = _ref2.prNumber,
|
|
151
|
+
let prNumber = _ref2.prNumber,
|
|
142
152
|
applicationName = _ref2.applicationName,
|
|
143
|
-
|
|
153
|
+
bucketProtocol = _ref2.bucketProtocol,
|
|
154
|
+
bucketNamespace = _ref2.bucketNamespace;
|
|
144
155
|
const applicationAssetsBucketUrl = this.getAssetsBucketUrl({
|
|
145
|
-
|
|
146
|
-
bucketRegion,
|
|
147
|
-
bucketNamespace,
|
|
156
|
+
applicationName,
|
|
148
157
|
prNumber,
|
|
149
|
-
|
|
158
|
+
bucketProtocol,
|
|
159
|
+
bucketNamespace
|
|
150
160
|
});
|
|
151
|
-
const applicationIndexBucketUrl = `${applicationAssetsBucketUrl}/${
|
|
161
|
+
const applicationIndexBucketUrl = `${applicationAssetsBucketUrl}/${_classPrivateFieldLooseBase(this, _bucketEnvironment$1)[_bucketEnvironment$1]}`;
|
|
152
162
|
return applicationIndexBucketUrl;
|
|
153
163
|
}
|
|
154
164
|
}, {
|
|
155
165
|
key: "getCdnUrl",
|
|
156
166
|
value: function getCdnUrl(_ref3) {
|
|
157
167
|
var _context2;
|
|
158
|
-
let
|
|
159
|
-
bucketRegion = _ref3.bucketRegion,
|
|
168
|
+
let applicationName = _ref3.applicationName,
|
|
160
169
|
prNumber = _ref3.prNumber,
|
|
161
|
-
|
|
162
|
-
return _filterInstanceProperty__default["default"](_context2 = [publicBaseUrl,
|
|
170
|
+
publicBaseUrl = _ref3.publicBaseUrl;
|
|
171
|
+
return _filterInstanceProperty__default["default"](_context2 = [publicBaseUrl, _classPrivateFieldLooseBase(this, _bucketRegion)[_bucketRegion], this.getBucketNamespace(prNumber), applicationName]).call(_context2, Boolean).join('/');
|
|
172
|
+
}
|
|
173
|
+
}, {
|
|
174
|
+
key: "getPublicBaseUrl",
|
|
175
|
+
value: function getPublicBaseUrl(tag) {
|
|
176
|
+
if (!_classPrivateFieldLooseBase(this, _bucketEnvironment$1)[_bucketEnvironment$1]) {
|
|
177
|
+
throw new Error("'bucketEnvironment is not defined. Required to determine 'publicBaseUrl'.");
|
|
178
|
+
}
|
|
179
|
+
const storageProvider = storageBucketsConfig.storageProviders[tag];
|
|
180
|
+
const publicBaseUrl = storageProvider.urls[_classPrivateFieldLooseBase(this, _bucketEnvironment$1)[_bucketEnvironment$1]] ?? storageProvider.urls.default;
|
|
181
|
+
return publicBaseUrl;
|
|
163
182
|
}
|
|
164
183
|
}]);
|
|
165
184
|
return StorageProvider;
|
|
166
185
|
}();
|
|
186
|
+
var _bucketRegion2 = /*#__PURE__*/_classPrivateFieldLooseKey("bucketRegion");
|
|
187
|
+
var _bucketEnvironment2 = /*#__PURE__*/_classPrivateFieldLooseKey("bucketEnvironment");
|
|
167
188
|
let GoogleStorageProvider = /*#__PURE__*/function (_StorageProvider) {
|
|
168
189
|
_inherits(GoogleStorageProvider, _StorageProvider);
|
|
169
|
-
function GoogleStorageProvider() {
|
|
190
|
+
function GoogleStorageProvider(config) {
|
|
191
|
+
var _this;
|
|
170
192
|
_classCallCheck(this, GoogleStorageProvider);
|
|
171
|
-
|
|
193
|
+
_this = _callSuper(this, GoogleStorageProvider, [config]);
|
|
194
|
+
_Object$defineProperty__default["default"](_assertThisInitialized(_this), _bucketRegion2, {
|
|
195
|
+
writable: true,
|
|
196
|
+
value: void 0
|
|
197
|
+
});
|
|
198
|
+
_Object$defineProperty__default["default"](_assertThisInitialized(_this), _bucketEnvironment2, {
|
|
199
|
+
writable: true,
|
|
200
|
+
value: void 0
|
|
201
|
+
});
|
|
202
|
+
_classPrivateFieldLooseBase(_assertThisInitialized(_this), _bucketRegion2)[_bucketRegion2] = config.bucketRegion;
|
|
203
|
+
_classPrivateFieldLooseBase(_assertThisInitialized(_this), _bucketEnvironment2)[_bucketEnvironment2] = config.bucketEnvironment;
|
|
204
|
+
return _this;
|
|
172
205
|
}
|
|
173
206
|
_createClass(GoogleStorageProvider, [{
|
|
174
207
|
key: "getTag",
|
|
175
208
|
value: function getTag() {
|
|
176
209
|
return 'gs';
|
|
177
210
|
}
|
|
211
|
+
}, {
|
|
212
|
+
key: "getBucketRegion",
|
|
213
|
+
value: function getBucketRegion() {
|
|
214
|
+
return _classPrivateFieldLooseBase(this, _bucketRegion2)[_bucketRegion2];
|
|
215
|
+
}
|
|
216
|
+
}, {
|
|
217
|
+
key: "getBucketEnvironment",
|
|
218
|
+
value: function getBucketEnvironment() {
|
|
219
|
+
return _classPrivateFieldLooseBase(this, _bucketEnvironment2)[_bucketEnvironment2];
|
|
220
|
+
}
|
|
178
221
|
}, {
|
|
179
222
|
key: "getProtocol",
|
|
180
223
|
value: function getProtocol() {
|
|
@@ -183,7 +226,7 @@ let GoogleStorageProvider = /*#__PURE__*/function (_StorageProvider) {
|
|
|
183
226
|
}, {
|
|
184
227
|
key: "getPublicBaseUrl",
|
|
185
228
|
value: function getPublicBaseUrl() {
|
|
186
|
-
return
|
|
229
|
+
return _get(_getPrototypeOf(GoogleStorageProvider.prototype), "getPublicBaseUrl", this).call(this, this.getTag());
|
|
187
230
|
}
|
|
188
231
|
}, {
|
|
189
232
|
key: "getCdnUrl",
|
|
@@ -211,18 +254,24 @@ let GoogleStorageProvider = /*#__PURE__*/function (_StorageProvider) {
|
|
|
211
254
|
}]);
|
|
212
255
|
return GoogleStorageProvider;
|
|
213
256
|
}(StorageProvider); // TODO: to be implemented.
|
|
214
|
-
function getStorageProvider(storageProvider) {
|
|
257
|
+
function getStorageProvider(storageProvider, config) {
|
|
215
258
|
switch (storageProvider) {
|
|
216
259
|
case 'gs':
|
|
217
|
-
return new GoogleStorageProvider();
|
|
260
|
+
return new GoogleStorageProvider(config);
|
|
218
261
|
default:
|
|
219
262
|
throw new Error(`Storage provider ${storageProvider} not supported`);
|
|
220
263
|
}
|
|
221
264
|
}
|
|
222
265
|
|
|
266
|
+
var _bucketEnvironment = /*#__PURE__*/_classPrivateFieldLooseKey("bucketEnvironment");
|
|
223
267
|
let GoogleStorageUploadScriptsGenerator = /*#__PURE__*/function () {
|
|
224
|
-
function GoogleStorageUploadScriptsGenerator() {
|
|
268
|
+
function GoogleStorageUploadScriptsGenerator(config) {
|
|
225
269
|
_classCallCheck(this, GoogleStorageUploadScriptsGenerator);
|
|
270
|
+
_Object$defineProperty__default["default"](this, _bucketEnvironment, {
|
|
271
|
+
writable: true,
|
|
272
|
+
value: void 0
|
|
273
|
+
});
|
|
274
|
+
_classPrivateFieldLooseBase(this, _bucketEnvironment)[_bucketEnvironment] = config.bucketEnvironment;
|
|
226
275
|
}
|
|
227
276
|
_createClass(GoogleStorageUploadScriptsGenerator, [{
|
|
228
277
|
key: "getApplicationIndexUploadScript",
|
|
@@ -230,10 +279,12 @@ let GoogleStorageUploadScriptsGenerator = /*#__PURE__*/function () {
|
|
|
230
279
|
let packageManagerName = _ref.packageManagerName,
|
|
231
280
|
bucketUrl = _ref.bucketUrl,
|
|
232
281
|
cdnUrl = _ref.cdnUrl,
|
|
233
|
-
bucketEnvironment = _ref.bucketEnvironment,
|
|
234
282
|
buildRevision = _ref.buildRevision,
|
|
235
283
|
buildNumber = _ref.buildNumber,
|
|
236
284
|
applicationIndexOutFile = _ref.applicationIndexOutFile;
|
|
285
|
+
if (!_classPrivateFieldLooseBase(this, _bucketEnvironment)[_bucketEnvironment]) {
|
|
286
|
+
throw new Error("Missing 'bucketEnvironment' when generating application index.");
|
|
287
|
+
}
|
|
237
288
|
return `
|
|
238
289
|
#!/usr/bin/env bash
|
|
239
290
|
|
|
@@ -251,7 +302,7 @@ gcloud storage cp \\
|
|
|
251
302
|
echo "Creating version.json and uploading it to bucket ${bucketUrl}"
|
|
252
303
|
|
|
253
304
|
NODE_ENV=production ${packageManagerName} application-cli create-version \\
|
|
254
|
-
--version-url=${cdnUrl}/${
|
|
305
|
+
--version-url=${cdnUrl}/${_classPrivateFieldLooseBase(this, _bucketEnvironment)[_bucketEnvironment]}/version.json \\
|
|
255
306
|
--build-revision=${buildRevision} \\
|
|
256
307
|
--build-number=${buildNumber} \\
|
|
257
308
|
--out-file=$(dirname "$0")/version.json
|
|
@@ -338,10 +389,10 @@ fi
|
|
|
338
389
|
}]);
|
|
339
390
|
return GoogleStorageUploadScriptsGenerator;
|
|
340
391
|
}(); // TODO: To be implemented.
|
|
341
|
-
function getUploadScriptsGenerator(storageProvider) {
|
|
392
|
+
function getUploadScriptsGenerator(storageProvider, config) {
|
|
342
393
|
switch (storageProvider) {
|
|
343
394
|
case 'gs':
|
|
344
|
-
return new GoogleStorageUploadScriptsGenerator();
|
|
395
|
+
return new GoogleStorageUploadScriptsGenerator(config);
|
|
345
396
|
default:
|
|
346
397
|
throw new Error(`Storage provider ${storageProvider} not supported`);
|
|
347
398
|
}
|
|
@@ -385,10 +436,7 @@ function loadDotenvFiles(_ref) {
|
|
|
385
436
|
}
|
|
386
437
|
|
|
387
438
|
function ownKeys$2(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
388
|
-
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var
|
|
389
|
-
const storageBucketConfigExplorer = cosmiconfig.cosmiconfig('storage-buckets', {
|
|
390
|
-
searchStrategy: 'project'
|
|
391
|
-
});
|
|
439
|
+
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context3 = ownKeys$2(Object(t), !0)).call(_context3, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context4 = ownKeys$2(Object(t))).call(_context4, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
|
|
392
440
|
function writeUploadScriptFile(_ref) {
|
|
393
441
|
let fileName = _ref.fileName,
|
|
394
442
|
fileContent = _ref.fileContent,
|
|
@@ -403,12 +451,10 @@ async function compileApplicationAssets(_ref2) {
|
|
|
403
451
|
let cliFlags = _ref2.cliFlags,
|
|
404
452
|
storageProvider = _ref2.storageProvider,
|
|
405
453
|
uploadScriptsGenerator = _ref2.uploadScriptsGenerator,
|
|
406
|
-
bucketRegion = _ref2.bucketRegion,
|
|
407
454
|
paths = _ref2.paths;
|
|
408
455
|
const applicationAssetsUploadScriptContent = uploadScriptsGenerator.getProductionBundlesUploadScript({
|
|
409
456
|
storageProvider,
|
|
410
457
|
bucketUrl: storageProvider.getAssetsBucketUrl({
|
|
411
|
-
bucketRegion,
|
|
412
458
|
prNumber: cliFlags.prNumber,
|
|
413
459
|
applicationName: cliFlags.applicationName
|
|
414
460
|
}),
|
|
@@ -416,7 +462,7 @@ async function compileApplicationAssets(_ref2) {
|
|
|
416
462
|
skipMenu: cliFlags.skipMenu
|
|
417
463
|
});
|
|
418
464
|
const parsedApplicationAssetsUploadScriptFile = path__default$1["default"].parse(cliFlags.applicationAssetsUploadScriptOutFile);
|
|
419
|
-
const applicationAssetsUploadScriptFileName = `${parsedApplicationAssetsUploadScriptFile.name}-${
|
|
465
|
+
const applicationAssetsUploadScriptFileName = `${parsedApplicationAssetsUploadScriptFile.name}-${storageProvider.getBucketRegion()}${parsedApplicationAssetsUploadScriptFile.ext}`;
|
|
420
466
|
writeUploadScriptFile({
|
|
421
467
|
fileName: applicationAssetsUploadScriptFileName,
|
|
422
468
|
fileContent: applicationAssetsUploadScriptContent,
|
|
@@ -428,9 +474,7 @@ async function compileEnvironmentApplicationIndexes(_ref3) {
|
|
|
428
474
|
storageProvider = _ref3.storageProvider,
|
|
429
475
|
uploadScriptsGenerator = _ref3.uploadScriptsGenerator,
|
|
430
476
|
paths = _ref3.paths,
|
|
431
|
-
|
|
432
|
-
cloudEnvironment = _ref3.cloudEnvironment,
|
|
433
|
-
bucketEnvironment = _ref3.bucketEnvironment;
|
|
477
|
+
cloudEnvironment = _ref3.cloudEnvironment;
|
|
434
478
|
const cloudEnvironmentDeploymentPath = path__default$1["default"].join(paths.deploymentsPath, storageProvider.getTag(), cloudEnvironment);
|
|
435
479
|
// Ensure the folder exists
|
|
436
480
|
const createDeploymentsFolderResult = await execa__default["default"]('mkdir', ['-p', cloudEnvironmentDeploymentPath], {
|
|
@@ -442,7 +486,6 @@ async function compileEnvironmentApplicationIndexes(_ref3) {
|
|
|
442
486
|
|
|
443
487
|
// Construct the proper CDN URL for the specific application
|
|
444
488
|
const cdnUrl = storageProvider.getCdnUrl({
|
|
445
|
-
bucketRegion,
|
|
446
489
|
prNumber: cliFlags.prNumber,
|
|
447
490
|
applicationName: cliFlags.applicationName
|
|
448
491
|
});
|
|
@@ -488,13 +531,10 @@ async function compileEnvironmentApplicationIndexes(_ref3) {
|
|
|
488
531
|
storageProvider,
|
|
489
532
|
packageManagerName: cliFlags.packageManagerName,
|
|
490
533
|
bucketUrl: storageProvider.getApplicationIndexBucketUrl({
|
|
491
|
-
bucketRegion,
|
|
492
534
|
prNumber: cliFlags.prNumber,
|
|
493
|
-
applicationName: cliFlags.applicationName
|
|
494
|
-
bucketEnvironment
|
|
535
|
+
applicationName: cliFlags.applicationName
|
|
495
536
|
}),
|
|
496
537
|
cdnUrl,
|
|
497
|
-
bucketEnvironment,
|
|
498
538
|
buildRevision: cliFlags.buildRevision,
|
|
499
539
|
buildNumber: cliFlags.buildNumber,
|
|
500
540
|
applicationIndexOutFile: cliFlags.applicationIndexOutFile
|
|
@@ -513,16 +553,7 @@ async function compileEnvironmentApplicationIndexes(_ref3) {
|
|
|
513
553
|
}
|
|
514
554
|
async function command$3(cliFlags, cwd) {
|
|
515
555
|
var _context;
|
|
516
|
-
|
|
517
|
-
try {
|
|
518
|
-
// This is the list of the supported cloud environments and their related bucket location.
|
|
519
|
-
cloudEnvironmentsGroupedByBucketRegions = await storageBucketConfigExplorer.search();
|
|
520
|
-
} catch (e) {
|
|
521
|
-
throw new Error('Failed to load a storage bucket configuration. Create a cosmiconfig for `storage-buckets` for example `storage-buckets.config.cjs`.');
|
|
522
|
-
}
|
|
523
|
-
if (!cloudEnvironmentsGroupedByBucketRegions) {
|
|
524
|
-
throw new Error('Failed loading a storage bucket configuration');
|
|
525
|
-
}
|
|
556
|
+
const storageBucketConfig = await storageBucketsConfig.loadStorageBucketsConfig();
|
|
526
557
|
const applicationDirectory = getApplicationDirectory(cwd);
|
|
527
558
|
let assetsPath;
|
|
528
559
|
if (cliFlags.ciAssetsRootPath && isCI()) {
|
|
@@ -537,28 +568,30 @@ async function command$3(cliFlags, cwd) {
|
|
|
537
568
|
dotenvPath: cliFlags.dotenvFolder && path__default$1["default"].join(monorepoRoot.rootDir, cliFlags.dotenvFolder),
|
|
538
569
|
assetsPath
|
|
539
570
|
};
|
|
540
|
-
const defaultStorageProviders = [
|
|
541
|
-
const taskList = new listr2.Listr(_mapInstanceProperty__default["default"](_context = _Object$entries__default["default"](
|
|
571
|
+
const defaultStorageProviders = [storageBucketsConfig.storageProviders.gs.tag];
|
|
572
|
+
const taskList = new listr2.Listr(_mapInstanceProperty__default["default"](_context = _Object$entries__default["default"](storageBucketConfig)).call(_context, _ref4 => {
|
|
542
573
|
let _ref5 = _slicedToArray(_ref4, 2),
|
|
543
574
|
bucketRegion = _ref5[0],
|
|
544
575
|
bucketEnvironmentConfigs = _ref5[1];
|
|
545
576
|
return {
|
|
546
577
|
title: `Compiling for bucket region ${bucketRegion}`,
|
|
547
578
|
task: (_bucketRegionCtx, bucketRegionTask) => {
|
|
548
|
-
var _context2;
|
|
549
579
|
// NOTE: Application assets need to be compiled
|
|
550
580
|
// for all storage providers once per region.
|
|
551
|
-
const allStorageProvidersForBucketRegion = [...new _Set__default["default"](
|
|
581
|
+
const allStorageProvidersForBucketRegion = [...new _Set__default["default"](_flatMapInstanceProperty__default["default"](bucketEnvironmentConfigs).call(bucketEnvironmentConfigs, bucketEnvironmentConfig => bucketEnvironmentConfig.storageProviders || defaultStorageProviders))];
|
|
552
582
|
const allApplicationAssetTasks = _mapInstanceProperty__default["default"](allStorageProvidersForBucketRegion).call(allStorageProvidersForBucketRegion, storageProviderTag => {
|
|
553
|
-
const
|
|
554
|
-
const
|
|
583
|
+
const uploadScriptsGeneratorConfig = {};
|
|
584
|
+
const storageProviderConfig = {
|
|
585
|
+
bucketRegion: bucketRegion
|
|
586
|
+
};
|
|
587
|
+
const storageProvider = getStorageProvider(storageProviderTag, storageProviderConfig);
|
|
588
|
+
const uploadScriptsGenerator = getUploadScriptsGenerator(storageProviderTag, uploadScriptsGeneratorConfig);
|
|
555
589
|
return {
|
|
556
590
|
title: `Compiling application assets for '${storageProviderTag}'`,
|
|
557
591
|
task: () => compileApplicationAssets({
|
|
558
592
|
cliFlags,
|
|
559
593
|
storageProvider,
|
|
560
594
|
uploadScriptsGenerator,
|
|
561
|
-
bucketRegion: bucketRegion,
|
|
562
595
|
paths
|
|
563
596
|
})
|
|
564
597
|
};
|
|
@@ -567,13 +600,17 @@ async function command$3(cliFlags, cwd) {
|
|
|
567
600
|
const cloudEnvironment = bucketEnvironmentConfig.cloudEnvironment,
|
|
568
601
|
bucketEnvironment = bucketEnvironmentConfig.bucketEnvironment,
|
|
569
602
|
storageProviders = bucketEnvironmentConfig.storageProviders;
|
|
603
|
+
const storageProviderConfig = {
|
|
604
|
+
bucketRegion: bucketRegion,
|
|
605
|
+
bucketEnvironment
|
|
606
|
+
};
|
|
570
607
|
return {
|
|
571
608
|
title: `Compiling for cloud environment '${cloudEnvironment}'`,
|
|
572
609
|
task: (_storageProviderCtx, storageProviderTask) => {
|
|
573
|
-
var
|
|
574
|
-
const applicationIndexTasksForStorageProviders = _mapInstanceProperty__default["default"](
|
|
575
|
-
const storageProvider = getStorageProvider(storageProviderTag);
|
|
576
|
-
const uploadScriptsGenerator = getUploadScriptsGenerator(storageProviderTag);
|
|
610
|
+
var _context2;
|
|
611
|
+
const applicationIndexTasksForStorageProviders = _mapInstanceProperty__default["default"](_context2 = storageProviders || defaultStorageProviders).call(_context2, storageProviderTag => {
|
|
612
|
+
const storageProvider = getStorageProvider(storageProviderTag, storageProviderConfig);
|
|
613
|
+
const uploadScriptsGenerator = getUploadScriptsGenerator(storageProviderTag, storageProviderConfig);
|
|
577
614
|
return {
|
|
578
615
|
title: `Compiling application index for storage provider '${storageProviderTag}'`,
|
|
579
616
|
task: () => {
|
|
@@ -582,9 +619,7 @@ async function command$3(cliFlags, cwd) {
|
|
|
582
619
|
storageProvider,
|
|
583
620
|
uploadScriptsGenerator,
|
|
584
621
|
paths,
|
|
585
|
-
|
|
586
|
-
cloudEnvironment,
|
|
587
|
-
bucketEnvironment
|
|
622
|
+
cloudEnvironment
|
|
588
623
|
});
|
|
589
624
|
}
|
|
590
625
|
};
|
|
@@ -868,7 +903,7 @@ async function command(cliFlags) {
|
|
|
868
903
|
|
|
869
904
|
var pkgJson = {
|
|
870
905
|
name: "@commercetools-frontend/application-cli",
|
|
871
|
-
version: "2.
|
|
906
|
+
version: "2.2.0",
|
|
872
907
|
description: "Internal CLI to manage Merchant Center application deployments across various environments.",
|
|
873
908
|
keywords: [
|
|
874
909
|
"commercetools",
|
|
@@ -893,13 +928,13 @@ var pkgJson = {
|
|
|
893
928
|
"@babel/core": "^7.22.11",
|
|
894
929
|
"@babel/runtime-corejs3": "^7.21.0",
|
|
895
930
|
"@babel/runtime": "^7.21.0",
|
|
896
|
-
"@commercetools-frontend/application-config": "22.
|
|
897
|
-
"@commercetools-frontend/constants": "22.
|
|
898
|
-
"@commercetools-frontend/l10n": "22.
|
|
931
|
+
"@commercetools-frontend/application-config": "22.19.0",
|
|
932
|
+
"@commercetools-frontend/constants": "22.19.0",
|
|
933
|
+
"@commercetools-frontend/l10n": "22.19.0",
|
|
899
934
|
"@manypkg/find-root": "2.2.1",
|
|
900
935
|
cac: "^6.7.14",
|
|
901
936
|
cosmiconfig: "9.0.0",
|
|
902
|
-
dotenv: "16.4.
|
|
937
|
+
dotenv: "16.4.2",
|
|
903
938
|
execa: "5.1.1",
|
|
904
939
|
jsonschema: "^1.4.1",
|
|
905
940
|
listr2: "8.0.2",
|
|
@@ -908,7 +943,7 @@ var pkgJson = {
|
|
|
908
943
|
},
|
|
909
944
|
devDependencies: {
|
|
910
945
|
"@tsconfig/node20": "20.1.2",
|
|
911
|
-
"@types/node": "20.11.
|
|
946
|
+
"@types/node": "20.11.25",
|
|
912
947
|
typescript: "5.2.2"
|
|
913
948
|
},
|
|
914
949
|
engines: {
|