@commercetools-frontend/mc-scripts 27.5.1 → 27.5.3
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-mc-scripts-cli.cjs.dev.js +19 -39
- package/cli/dist/commercetools-frontend-mc-scripts-cli.cjs.prod.js +19 -39
- package/cli/dist/commercetools-frontend-mc-scripts-cli.esm.js +11 -11
- package/dist/{build-7c7442bd.cjs.prod.js → build-BP3m-wjz.cjs.prod.js} +23 -23
- package/dist/{build-2cbde331.cjs.dev.js → build-Dq8dqtsd.cjs.dev.js} +23 -23
- package/dist/{build-4ab9306b.esm.js → build-GEMI3W9m.esm.js} +7 -7
- package/dist/{build-vite-1526e4f8.esm.js → build-vite-CO8mi4hd.esm.js} +20 -10
- package/dist/{build-vite-71889a4a.cjs.prod.js → build-vite-D67xSRU1.cjs.prod.js} +46 -36
- package/dist/{build-vite-2fb9320e.cjs.dev.js → build-vite-Dxi3rfHf.cjs.dev.js} +46 -36
- package/dist/commercetools-frontend-mc-scripts.cjs.dev.js +2 -4
- package/dist/commercetools-frontend-mc-scripts.cjs.prod.js +2 -4
- package/dist/commercetools-frontend-mc-scripts.esm.js +2 -2
- package/dist/{compile-html-025cd493.esm.js → compile-html-BVvy3IQD.esm.js} +2 -2
- package/dist/{compile-html-f4ac88cc.cjs.dev.js → compile-html-DZlUpFXg.cjs.prod.js} +8 -8
- package/dist/{compile-html-50fd05ec.cjs.prod.js → compile-html-Ds1YojsY.cjs.dev.js} +8 -8
- package/dist/{config-sync-d5c4aa9b.esm.js → config-sync-Bu7U5gn5.esm.js} +5 -5
- package/dist/{config-sync-7ae74804.cjs.dev.js → config-sync-Cd0sSSrd.cjs.dev.js} +22 -22
- package/dist/{config-sync-d3d5d721.cjs.prod.js → config-sync-D6xLjo9S.cjs.prod.js} +22 -22
- package/dist/{config-sync-ci-d3104a62.cjs.prod.js → config-sync-ci-CXgQcemF.cjs.prod.js} +21 -21
- package/dist/{config-sync-ci-9c50ed6f.esm.js → config-sync-ci-Dq7bAqeu.esm.js} +5 -5
- package/dist/{config-sync-ci-732e0c5d.cjs.dev.js → config-sync-ci-SDsF-Onw.cjs.dev.js} +21 -21
- package/dist/{config-sync-helpers-ea628bce.cjs.prod.js → config-sync-helpers-9kvPwuoy.cjs.prod.js} +47 -47
- package/dist/{config-sync-helpers-bea5f027.esm.js → config-sync-helpers-BLXJp1-D.esm.js} +3 -3
- package/dist/{config-sync-helpers-178da465.cjs.dev.js → config-sync-helpers-DUK45F_R.cjs.dev.js} +47 -47
- package/dist/{create-postcss-config-f6a5f68b.esm.js → create-postcss-config-CN9_8Usa.esm.js} +1 -1
- package/dist/{create-postcss-config-3f3bda09.cjs.prod.js → create-postcss-config-DAShdAyB.cjs.prod.js} +3 -3
- package/dist/{create-postcss-config-e4c767b4.cjs.dev.js → create-postcss-config-NN2FAhvH.cjs.dev.js} +3 -3
- package/dist/{create-webpack-config-for-development-c6e48557.esm.js → create-webpack-config-for-development-5HpRHV9G.esm.js} +5 -5
- package/dist/{create-webpack-config-for-development-4a2616e9.cjs.prod.js → create-webpack-config-for-development-CxGehl7I.cjs.prod.js} +25 -25
- package/dist/{create-webpack-config-for-development-a2df037a.cjs.dev.js → create-webpack-config-for-development-hxSNyq2_.cjs.dev.js} +25 -25
- package/dist/{create-webpack-config-for-production-04a7a9f8.esm.js → create-webpack-config-for-production-BY0UNoNz.esm.js} +5 -5
- package/dist/{create-webpack-config-for-production-443f6fe7.cjs.prod.js → create-webpack-config-for-production-CW0DlZBz.cjs.prod.js} +32 -32
- package/dist/{create-webpack-config-for-production-12e257fc.cjs.dev.js → create-webpack-config-for-production-Edp9dzmw.cjs.dev.js} +32 -32
- package/dist/{credentials-storage-fd195144.cjs.dev.js → credentials-storage-B0tDCH7i.cjs.dev.js} +10 -10
- package/dist/{credentials-storage-67deadc3.esm.js → credentials-storage-B79bb0Ns.esm.js} +1 -1
- package/dist/{credentials-storage-ea1c16dc.cjs.prod.js → credentials-storage-C3TlK0a8.cjs.prod.js} +10 -10
- package/dist/{deployment-previews-set-491442d7.cjs.dev.js → deployment-previews-set-BuHX8wKo.cjs.dev.js} +22 -22
- package/dist/{deployment-previews-set-4b020cb4.esm.js → deployment-previews-set-C2OPIfy-.esm.js} +4 -4
- package/dist/{deployment-previews-set-2b334c11.cjs.prod.js → deployment-previews-set-nvkAPwYw.cjs.prod.js} +22 -22
- package/dist/{does-file-exist-be53305d.cjs.prod.js → does-file-exist-DrcZIPe6.cjs.dev.js} +2 -2
- package/dist/{does-file-exist-eb86baca.cjs.dev.js → does-file-exist-DrcZIPe6.cjs.prod.js} +2 -2
- package/dist/{graphql-requests-bd7a3fe9.cjs.dev.js → graphql-requests-BeUd4g3v.cjs.dev.js} +9 -9
- package/dist/{graphql-requests-6ead2029.cjs.prod.js → graphql-requests-D0rtMo7K.cjs.prod.js} +9 -9
- package/dist/{graphql-requests-87338c52.esm.js → graphql-requests-DCLX_2y0.esm.js} +4 -4
- package/dist/{i18n-message-complilation-7311cb29.cjs.dev.js → i18n-message-complilation-CdVhuyWk.cjs.dev.js} +3 -3
- package/dist/{i18n-message-complilation-7762da61.cjs.prod.js → i18n-message-complilation-CdVhuyWk.cjs.prod.js} +3 -3
- package/dist/{login-2d10deff.cjs.dev.js → login-BagHOLO1.cjs.prod.js} +42 -60
- package/dist/{login-26cfe1af.cjs.prod.js → login-DKzmRa46.cjs.dev.js} +42 -60
- package/dist/{login-ab249036.esm.js → login-DZVfG3Jq.esm.js} +3 -3
- package/dist/{optimizations-da5a0cfa.cjs.prod.js → optimizations-CEaq4axa.cjs.dev.js} +8 -8
- package/dist/{optimizations-56be74d6.cjs.dev.js → optimizations-CEaq4axa.cjs.prod.js} +8 -8
- package/dist/{optimizations-54382f7b.esm.js → optimizations-Cjrg77Gu.esm.js} +1 -1
- package/dist/package-B1Y3_DDl.cjs.dev.js +17 -0
- package/dist/package-BiK3ergJ.esm.js +15 -0
- package/dist/package-DxhqRLHb.cjs.prod.js +12 -0
- package/dist/{paths-b76fc753.cjs.dev.js → paths-B0WM5jb9.cjs.dev.js} +5 -5
- package/dist/{paths-39f22b8b.esm.js → paths-Cg5Vq6RE.esm.js} +1 -1
- package/dist/{paths-7768b440.cjs.prod.js → paths-DtvtCG0U.cjs.prod.js} +5 -5
- package/dist/{serve-b1c12985.cjs.dev.js → serve-BwNRk6vi.cjs.prod.js} +13 -13
- package/dist/{serve-3837602d.cjs.prod.js → serve-BxRJOSeR.cjs.dev.js} +13 -13
- package/dist/{serve-22475fec.esm.js → serve-fXDv4-Pm.esm.js} +2 -2
- package/dist/{start-19facf6d.cjs.prod.js → start-CQgQhNhU.cjs.prod.js} +17 -17
- package/dist/{start-9b1252f9.cjs.dev.js → start-OjGog63p.cjs.dev.js} +17 -17
- package/dist/{start-3c1e5902.esm.js → start-suUcoYml.esm.js} +7 -7
- package/dist/{start-vite-7d1161e8.esm.js → start-vite-BOrX5xsW.esm.js} +3 -3
- package/dist/{start-vite-29078b3a.cjs.prod.js → start-vite-Bf9UIg63.cjs.prod.js} +14 -14
- package/dist/{start-vite-068e9f73.cjs.dev.js → start-vite-CeaoWKrT.cjs.dev.js} +14 -14
- package/dist/{vite-plugin-svgr-4034a834.cjs.prod.js → vite-plugin-svgr-CRRIY_Py.cjs.dev.js} +6 -24
- package/dist/{vite-plugin-svgr-7d06f400.cjs.dev.js → vite-plugin-svgr-CRRIY_Py.cjs.prod.js} +6 -24
- package/package.json +8 -8
- package/postcss/dist/commercetools-frontend-mc-scripts-postcss.cjs.dev.js +2 -4
- package/postcss/dist/commercetools-frontend-mc-scripts-postcss.cjs.prod.js +2 -4
- package/postcss/dist/commercetools-frontend-mc-scripts-postcss.esm.js +2 -2
- package/webpack/dist/commercetools-frontend-mc-scripts-webpack.cjs.dev.js +8 -10
- package/webpack/dist/commercetools-frontend-mc-scripts-webpack.cjs.prod.js +8 -10
- package/webpack/dist/commercetools-frontend-mc-scripts-webpack.esm.js +8 -8
- package/webpack-loaders/i18n-message-compilation-loader/dist/commercetools-frontend-mc-scripts-webpack-loaders-i18n-message-compilation-loader.cjs.dev.js +2 -2
- package/webpack-loaders/i18n-message-compilation-loader/dist/commercetools-frontend-mc-scripts-webpack-loaders-i18n-message-compilation-loader.cjs.prod.js +2 -2
- package/webpack-loaders/i18n-message-compilation-loader/dist/commercetools-frontend-mc-scripts-webpack-loaders-i18n-message-compilation-loader.esm.js +1 -1
- package/dist/package-62998a4b.cjs.prod.js +0 -167
- package/dist/package-a686a0ee.esm.js +0 -165
- package/dist/package-fe1840f3.cjs.dev.js +0 -167
- /package/dist/{does-file-exist-32618334.esm.js → does-file-exist-C7l6j7NP.esm.js} +0 -0
- /package/dist/{i18n-message-complilation-21d3b0aa.esm.js → i18n-message-complilation-BRZ7ffQI.esm.js} +0 -0
- /package/dist/{vendors-to-transpile-04a49d40.cjs.prod.js → vendors-to-transpile-DLHlk7c-.cjs.dev.js} +0 -0
- /package/dist/{vendors-to-transpile-6ab4ea06.cjs.dev.js → vendors-to-transpile-DLHlk7c-.cjs.prod.js} +0 -0
- /package/dist/{vendors-to-transpile-7dc84a72.esm.js → vendors-to-transpile-uu9TNPDO.esm.js} +0 -0
- /package/dist/{vite-plugin-svgr-de6ee7da.esm.js → vite-plugin-svgr-B1JerYlQ.esm.js} +0 -0
|
@@ -15,37 +15,19 @@ var crypto = require('node:crypto');
|
|
|
15
15
|
var process = require('node:process');
|
|
16
16
|
var chalk = require('chalk');
|
|
17
17
|
var applicationConfig = require('@commercetools-frontend/application-config');
|
|
18
|
-
var _package = require('./package-
|
|
18
|
+
var _package = require('./package-DxhqRLHb.cjs.prod.js');
|
|
19
19
|
var http = require('node:http');
|
|
20
20
|
var jwtDecode = require('jwt-decode');
|
|
21
|
-
var credentialsStorage$1 = require('./credentials-storage-
|
|
21
|
+
var credentialsStorage$1 = require('./credentials-storage-C3TlK0a8.cjs.prod.js');
|
|
22
22
|
require('@babel/runtime-corejs3/helpers/classCallCheck');
|
|
23
23
|
require('@babel/runtime-corejs3/helpers/createClass');
|
|
24
24
|
require('@babel/runtime-corejs3/core-js-stable/json/stringify');
|
|
25
25
|
require('node:fs');
|
|
26
26
|
require('node:os');
|
|
27
27
|
require('node:path');
|
|
28
|
-
require('./does-file-exist-
|
|
28
|
+
require('./does-file-exist-DrcZIPe6.cjs.prod.js');
|
|
29
29
|
|
|
30
|
-
function _interopDefault (e) { return e && e.__esModule ? e : {
|
|
31
|
-
|
|
32
|
-
function _interopNamespace(e) {
|
|
33
|
-
if (e && e.__esModule) return e;
|
|
34
|
-
var n = Object.create(null);
|
|
35
|
-
if (e) {
|
|
36
|
-
Object.keys(e).forEach(function (k) {
|
|
37
|
-
if (k !== 'default') {
|
|
38
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
39
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
40
|
-
enumerable: true,
|
|
41
|
-
get: function () { return e[k]; }
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
n["default"] = e;
|
|
47
|
-
return Object.freeze(n);
|
|
48
|
-
}
|
|
30
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
49
31
|
|
|
50
32
|
var _Promise__default = /*#__PURE__*/_interopDefault(_Promise);
|
|
51
33
|
var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty);
|
|
@@ -65,17 +47,17 @@ var http__default = /*#__PURE__*/_interopDefault(http);
|
|
|
65
47
|
var jwtDecode__default = /*#__PURE__*/_interopDefault(jwtDecode);
|
|
66
48
|
|
|
67
49
|
function createAuthCallbackServer(options) {
|
|
68
|
-
const server = http__default
|
|
50
|
+
const server = http__default.default.createServer(async (request, response) => {
|
|
69
51
|
try {
|
|
70
52
|
var _context, _context2;
|
|
71
|
-
if (((_context = request.url) == null ? void 0 : _bindInstanceProperty__default
|
|
72
|
-
const incomingUrl = new _URL__default
|
|
53
|
+
if (((_context = request.url) == null ? void 0 : _bindInstanceProperty__default.default(_context2 = Function.call).call(_context2, _includesInstanceProperty__default.default(_context), _context))?.(`/${options.clientIdentifier}/oidc/callback`)) {
|
|
54
|
+
const incomingUrl = new _URL__default.default(request.url, 'http://localhost');
|
|
73
55
|
const sessionToken = incomingUrl.searchParams.get('sessionToken');
|
|
74
56
|
const requestedState = incomingUrl.searchParams.get('state');
|
|
75
57
|
if (!sessionToken) {
|
|
76
58
|
throw new Error('Invalid authentication flow (missing sessionToken)');
|
|
77
59
|
}
|
|
78
|
-
const decodedSessionToken = jwtDecode__default
|
|
60
|
+
const decodedSessionToken = jwtDecode__default.default(sessionToken);
|
|
79
61
|
if (decodedSessionToken?.nonce !== options.nonce) {
|
|
80
62
|
throw new Error('Invalid authentication flow (nonce mismatch)');
|
|
81
63
|
}
|
|
@@ -115,7 +97,7 @@ const clientIdentifier = `mc-scripts-${_package.pkgJson.version}`;
|
|
|
115
97
|
const isServerError = error => {
|
|
116
98
|
return error instanceof Error && 'code' in error;
|
|
117
99
|
};
|
|
118
|
-
const startServer = server => new _Promise__default
|
|
100
|
+
const startServer = server => new _Promise__default.default((resolve, reject) => {
|
|
119
101
|
server.listen(port, 'localhost').on('listening', resolve).on('error', error => {
|
|
120
102
|
if (isServerError(error) && error.code === 'EADDRINUSE') {
|
|
121
103
|
return reject(new Error(`The address "localhost:${port}" is already in use. Are you running a Merchant Center application in other process? Please stop that and try again.`, {
|
|
@@ -126,7 +108,7 @@ const startServer = server => new _Promise__default["default"]((resolve, reject)
|
|
|
126
108
|
cause: error
|
|
127
109
|
}));
|
|
128
110
|
}).on('close', () => {
|
|
129
|
-
process__default
|
|
111
|
+
process__default.default.exit();
|
|
130
112
|
});
|
|
131
113
|
});
|
|
132
114
|
const resolveMcApiUrl = async options => {
|
|
@@ -135,8 +117,8 @@ const resolveMcApiUrl = async options => {
|
|
|
135
117
|
}
|
|
136
118
|
|
|
137
119
|
// We first check whether the user has set the MC_API_URL environment variable
|
|
138
|
-
if (process__default
|
|
139
|
-
return process__default
|
|
120
|
+
if (process__default.default.env.MC_API_URL) {
|
|
121
|
+
return process__default.default.env.MC_API_URL;
|
|
140
122
|
}
|
|
141
123
|
|
|
142
124
|
// If not, we parse the configuration and check if it's defined over there
|
|
@@ -150,8 +132,8 @@ const resolveProjectKey = async options => {
|
|
|
150
132
|
}
|
|
151
133
|
|
|
152
134
|
// We first check whether the user has set the CTP_PROJECT_KEY environment variable
|
|
153
|
-
if (process__default
|
|
154
|
-
return process__default
|
|
135
|
+
if (process__default.default.env.CTP_PROJECT_KEY) {
|
|
136
|
+
return process__default.default.env.CTP_PROJECT_KEY;
|
|
155
137
|
}
|
|
156
138
|
try {
|
|
157
139
|
const applicationConfig$1 = await applicationConfig.processConfig();
|
|
@@ -162,22 +144,22 @@ const resolveProjectKey = async options => {
|
|
|
162
144
|
}
|
|
163
145
|
};
|
|
164
146
|
const mapOAuthScopesToClaims = scopes => {
|
|
165
|
-
return _mapInstanceProperty__default
|
|
166
|
-
if (_startsWithInstanceProperty__default
|
|
147
|
+
return _mapInstanceProperty__default.default(scopes).call(scopes, scope => {
|
|
148
|
+
if (_startsWithInstanceProperty__default.default(scope).call(scope, 'view_')) {
|
|
167
149
|
return `view:${scope}`;
|
|
168
150
|
}
|
|
169
|
-
if (_startsWithInstanceProperty__default
|
|
151
|
+
if (_startsWithInstanceProperty__default.default(scope).call(scope, 'manage_')) {
|
|
170
152
|
return `manage:${scope}`;
|
|
171
153
|
}
|
|
172
154
|
return scope;
|
|
173
155
|
});
|
|
174
156
|
};
|
|
175
157
|
const mapAdditionalOAuthScopesToClaims = (name, scopes) => {
|
|
176
|
-
return _mapInstanceProperty__default
|
|
177
|
-
if (_startsWithInstanceProperty__default
|
|
158
|
+
return _mapInstanceProperty__default.default(scopes).call(scopes, scope => {
|
|
159
|
+
if (_startsWithInstanceProperty__default.default(scope).call(scope, 'view_')) {
|
|
178
160
|
return `view/${name}:${scope}`;
|
|
179
161
|
}
|
|
180
|
-
if (_startsWithInstanceProperty__default
|
|
162
|
+
if (_startsWithInstanceProperty__default.default(scope).call(scope, 'manage_')) {
|
|
181
163
|
return `manage/${name}:${scope}`;
|
|
182
164
|
}
|
|
183
165
|
return scope;
|
|
@@ -189,16 +171,16 @@ const resolveOAuthScopes = async options => {
|
|
|
189
171
|
}
|
|
190
172
|
|
|
191
173
|
// We first check whether the user has set the CTP_OAUTH_SCOPES environment variable
|
|
192
|
-
if (process__default
|
|
174
|
+
if (process__default.default.env.CTP_OAUTH_SCOPES) {
|
|
193
175
|
var _context, _context2;
|
|
194
|
-
return mapOAuthScopesToClaims(((_context = process__default
|
|
176
|
+
return mapOAuthScopesToClaims(((_context = process__default.default.env.CTP_OAUTH_SCOPES?.split(',')) == null ? void 0 : _bindInstanceProperty__default.default(_context2 = Function.call).call(_context2, _mapInstanceProperty__default.default(_context), _context))?.(scope => _trimInstanceProperty__default.default(scope).call(scope)) ?? []);
|
|
195
177
|
}
|
|
196
178
|
try {
|
|
197
179
|
var _context3, _context4, _context5, _context6;
|
|
198
180
|
const applicationConfig$1 = await applicationConfig.processConfig();
|
|
199
181
|
const configuredOAuthScopes = applicationConfig$1.env.__DEVELOPMENT__?.oidc?.oAuthScopes;
|
|
200
182
|
const configuredAdditionalOAuthScopes = applicationConfig$1.env.__DEVELOPMENT__?.oidc?.additionalOAuthScopes;
|
|
201
|
-
return [...mapOAuthScopesToClaims(configuredOAuthScopes?.view ?? []), ...mapOAuthScopesToClaims(configuredOAuthScopes?.manage ?? []), ...(((_context3 = configuredAdditionalOAuthScopes) == null ? void 0 : _bindInstanceProperty__default
|
|
183
|
+
return [...mapOAuthScopesToClaims(configuredOAuthScopes?.view ?? []), ...mapOAuthScopesToClaims(configuredOAuthScopes?.manage ?? []), ...(((_context3 = configuredAdditionalOAuthScopes) == null ? void 0 : _bindInstanceProperty__default.default(_context4 = Function.call).call(_context4, _flatMapInstanceProperty__default.default(_context3), _context3))?.(scope => mapAdditionalOAuthScopesToClaims(scope.name, scope.view)) ?? []), ...(((_context5 = configuredAdditionalOAuthScopes) == null ? void 0 : _bindInstanceProperty__default.default(_context6 = Function.call).call(_context6, _flatMapInstanceProperty__default.default(_context5), _context5))?.(scope => mapAdditionalOAuthScopesToClaims(scope.name, scope.manage)) ?? [])];
|
|
202
184
|
} catch (error) {
|
|
203
185
|
// It's ok if there's not application config file or if it does not contain the initialProjectKey
|
|
204
186
|
return [];
|
|
@@ -206,7 +188,7 @@ const resolveOAuthScopes = async options => {
|
|
|
206
188
|
};
|
|
207
189
|
const generateRandomHash = function () {
|
|
208
190
|
let length = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 16;
|
|
209
|
-
return crypto__default
|
|
191
|
+
return crypto__default.default.randomBytes(length).toString('hex');
|
|
210
192
|
};
|
|
211
193
|
|
|
212
194
|
/**
|
|
@@ -214,14 +196,14 @@ const generateRandomHash = function () {
|
|
|
214
196
|
* Requires IDENTITY_EMAIL and IDENTITY_PASSWORD environment variables.
|
|
215
197
|
*/
|
|
216
198
|
async function runHeadlessLogin(authUrl) {
|
|
217
|
-
const email = process__default
|
|
218
|
-
const password = process__default
|
|
199
|
+
const email = process__default.default.env.IDENTITY_EMAIL;
|
|
200
|
+
const password = process__default.default.env.IDENTITY_PASSWORD;
|
|
219
201
|
if (!email || !password) {
|
|
220
202
|
throw new Error('Headless login requires IDENTITY_EMAIL and IDENTITY_PASSWORD environment variables');
|
|
221
203
|
}
|
|
222
204
|
let puppeteer;
|
|
223
205
|
try {
|
|
224
|
-
puppeteer = await
|
|
206
|
+
puppeteer = await import('puppeteer');
|
|
225
207
|
} catch {
|
|
226
208
|
throw new Error('Puppeteer is required for headless login. Install it with: npm install puppeteer');
|
|
227
209
|
}
|
|
@@ -252,14 +234,14 @@ async function runHeadlessLogin(authUrl) {
|
|
|
252
234
|
if (acceptBtn) acceptBtn.click();
|
|
253
235
|
})()
|
|
254
236
|
`);
|
|
255
|
-
await new _Promise__default
|
|
237
|
+
await new _Promise__default.default(resolve => _setTimeout__default.default(resolve, 500));
|
|
256
238
|
} catch {
|
|
257
239
|
// Cookie banner not found or already dismissed
|
|
258
240
|
}
|
|
259
241
|
|
|
260
242
|
// Fill in email
|
|
261
243
|
await page.type('input[name="identifier"]', email);
|
|
262
|
-
await new _Promise__default
|
|
244
|
+
await new _Promise__default.default(resolve => _setTimeout__default.default(resolve, 500));
|
|
263
245
|
|
|
264
246
|
// Click "Next" button
|
|
265
247
|
await page.evaluate(`
|
|
@@ -280,7 +262,7 @@ async function runHeadlessLogin(authUrl) {
|
|
|
280
262
|
|
|
281
263
|
// Fill in password
|
|
282
264
|
await page.type('input[name="password"]', password);
|
|
283
|
-
await new _Promise__default
|
|
265
|
+
await new _Promise__default.default(resolve => _setTimeout__default.default(resolve, 500));
|
|
284
266
|
|
|
285
267
|
// Click "Submit" button
|
|
286
268
|
await page.evaluate(`
|
|
@@ -295,22 +277,22 @@ async function runHeadlessLogin(authUrl) {
|
|
|
295
277
|
|
|
296
278
|
// Wait for the callback to be processed (the server will close and exit)
|
|
297
279
|
// We just need to keep the browser alive until the redirect happens
|
|
298
|
-
const startTime = _Date$now__default
|
|
280
|
+
const startTime = _Date$now__default.default();
|
|
299
281
|
const timeout = 60000;
|
|
300
|
-
while (_Date$now__default
|
|
301
|
-
await new _Promise__default
|
|
282
|
+
while (_Date$now__default.default() - startTime < timeout) {
|
|
283
|
+
await new _Promise__default.default(resolve => _setTimeout__default.default(resolve, 500));
|
|
302
284
|
const currentUrl = page.url();
|
|
303
|
-
if (_includesInstanceProperty__default
|
|
285
|
+
if (_includesInstanceProperty__default.default(currentUrl).call(currentUrl, 'sessionToken=')) {
|
|
304
286
|
// Token was captured by the callback server, we can exit
|
|
305
287
|
break;
|
|
306
288
|
}
|
|
307
289
|
const pageContent = await page.content();
|
|
308
|
-
if (_includesInstanceProperty__default
|
|
290
|
+
if (_includesInstanceProperty__default.default(pageContent).call(pageContent, 'Invalid credentials') || _includesInstanceProperty__default.default(pageContent).call(pageContent, 'invalid_grant')) {
|
|
309
291
|
throw new Error('Invalid credentials');
|
|
310
292
|
}
|
|
311
293
|
|
|
312
294
|
// Check if page shows success (callback server response)
|
|
313
|
-
if (_includesInstanceProperty__default
|
|
295
|
+
if (_includesInstanceProperty__default.default(pageContent).call(pageContent, 'Success!')) {
|
|
314
296
|
break;
|
|
315
297
|
}
|
|
316
298
|
}
|
|
@@ -323,7 +305,7 @@ async function run(options) {
|
|
|
323
305
|
if (!mcApiUrl) {
|
|
324
306
|
throw new Error('No Merchant Center API URL found. Aborting.');
|
|
325
307
|
}
|
|
326
|
-
console.log(`Using Merchant Center environment "${chalk__default
|
|
308
|
+
console.log(`Using Merchant Center environment "${chalk__default.default.green(mcApiUrl)}".`);
|
|
327
309
|
console.log();
|
|
328
310
|
if (!options.force && credentialsStorage.isSessionValid(mcApiUrl)) {
|
|
329
311
|
console.log(`You already have a valid session.`);
|
|
@@ -334,13 +316,13 @@ async function run(options) {
|
|
|
334
316
|
const scopes = ['openid'];
|
|
335
317
|
if (projectKey) {
|
|
336
318
|
scopes.push(`project_key:${projectKey}`);
|
|
337
|
-
_forEachInstanceProperty__default
|
|
319
|
+
_forEachInstanceProperty__default.default(oauthScopes).call(oauthScopes, scope => {
|
|
338
320
|
scopes.push(scope);
|
|
339
321
|
});
|
|
340
322
|
}
|
|
341
323
|
const state = generateRandomHash();
|
|
342
324
|
const nonce = generateRandomHash();
|
|
343
|
-
const authUrl = new _URL__default
|
|
325
|
+
const authUrl = new _URL__default.default('/login/authorize', mcApiUrl);
|
|
344
326
|
authUrl.searchParams.set('response_type', 'id_token');
|
|
345
327
|
authUrl.searchParams.set('response_mode', 'query');
|
|
346
328
|
authUrl.searchParams.set('client_id', `__local:${clientIdentifier}`);
|
|
@@ -354,7 +336,7 @@ async function run(options) {
|
|
|
354
336
|
onSuccess: tokenContext => {
|
|
355
337
|
credentialsStorage.setToken(mcApiUrl, tokenContext);
|
|
356
338
|
console.log();
|
|
357
|
-
console.log(chalk__default
|
|
339
|
+
console.log(chalk__default.default.green(`Login successful.`));
|
|
358
340
|
console.log();
|
|
359
341
|
}
|
|
360
342
|
});
|
|
@@ -367,10 +349,10 @@ async function run(options) {
|
|
|
367
349
|
console.log(`Initiating the OIDC authentication flow, opening the login page in your browser...`);
|
|
368
350
|
console.log(` ${authUrl}`);
|
|
369
351
|
console.log();
|
|
370
|
-
const open = await
|
|
352
|
+
const open = await import('open');
|
|
371
353
|
await open.default(authUrl.toString());
|
|
372
354
|
console.log('Waiting for the OIDC authentication to complete...');
|
|
373
355
|
}
|
|
374
356
|
}
|
|
375
357
|
|
|
376
|
-
exports
|
|
358
|
+
exports.default = run;
|
|
@@ -15,37 +15,19 @@ var crypto = require('node:crypto');
|
|
|
15
15
|
var process = require('node:process');
|
|
16
16
|
var chalk = require('chalk');
|
|
17
17
|
var applicationConfig = require('@commercetools-frontend/application-config');
|
|
18
|
-
var _package = require('./package-
|
|
18
|
+
var _package = require('./package-B1Y3_DDl.cjs.dev.js');
|
|
19
19
|
var http = require('node:http');
|
|
20
20
|
var jwtDecode = require('jwt-decode');
|
|
21
|
-
var credentialsStorage$1 = require('./credentials-storage-
|
|
21
|
+
var credentialsStorage$1 = require('./credentials-storage-B0tDCH7i.cjs.dev.js');
|
|
22
22
|
require('@babel/runtime-corejs3/helpers/classCallCheck');
|
|
23
23
|
require('@babel/runtime-corejs3/helpers/createClass');
|
|
24
24
|
require('@babel/runtime-corejs3/core-js-stable/json/stringify');
|
|
25
25
|
require('node:fs');
|
|
26
26
|
require('node:os');
|
|
27
27
|
require('node:path');
|
|
28
|
-
require('./does-file-exist-
|
|
28
|
+
require('./does-file-exist-DrcZIPe6.cjs.dev.js');
|
|
29
29
|
|
|
30
|
-
function _interopDefault (e) { return e && e.__esModule ? e : {
|
|
31
|
-
|
|
32
|
-
function _interopNamespace(e) {
|
|
33
|
-
if (e && e.__esModule) return e;
|
|
34
|
-
var n = Object.create(null);
|
|
35
|
-
if (e) {
|
|
36
|
-
Object.keys(e).forEach(function (k) {
|
|
37
|
-
if (k !== 'default') {
|
|
38
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
39
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
40
|
-
enumerable: true,
|
|
41
|
-
get: function () { return e[k]; }
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
n["default"] = e;
|
|
47
|
-
return Object.freeze(n);
|
|
48
|
-
}
|
|
30
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
49
31
|
|
|
50
32
|
var _Promise__default = /*#__PURE__*/_interopDefault(_Promise);
|
|
51
33
|
var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty);
|
|
@@ -65,17 +47,17 @@ var http__default = /*#__PURE__*/_interopDefault(http);
|
|
|
65
47
|
var jwtDecode__default = /*#__PURE__*/_interopDefault(jwtDecode);
|
|
66
48
|
|
|
67
49
|
function createAuthCallbackServer(options) {
|
|
68
|
-
const server = http__default
|
|
50
|
+
const server = http__default.default.createServer(async (request, response) => {
|
|
69
51
|
try {
|
|
70
52
|
var _context, _context2;
|
|
71
|
-
if (((_context = request.url) == null ? void 0 : _bindInstanceProperty__default
|
|
72
|
-
const incomingUrl = new _URL__default
|
|
53
|
+
if (((_context = request.url) == null ? void 0 : _bindInstanceProperty__default.default(_context2 = Function.call).call(_context2, _includesInstanceProperty__default.default(_context), _context))?.(`/${options.clientIdentifier}/oidc/callback`)) {
|
|
54
|
+
const incomingUrl = new _URL__default.default(request.url, 'http://localhost');
|
|
73
55
|
const sessionToken = incomingUrl.searchParams.get('sessionToken');
|
|
74
56
|
const requestedState = incomingUrl.searchParams.get('state');
|
|
75
57
|
if (!sessionToken) {
|
|
76
58
|
throw new Error('Invalid authentication flow (missing sessionToken)');
|
|
77
59
|
}
|
|
78
|
-
const decodedSessionToken = jwtDecode__default
|
|
60
|
+
const decodedSessionToken = jwtDecode__default.default(sessionToken);
|
|
79
61
|
if (decodedSessionToken?.nonce !== options.nonce) {
|
|
80
62
|
throw new Error('Invalid authentication flow (nonce mismatch)');
|
|
81
63
|
}
|
|
@@ -115,7 +97,7 @@ const clientIdentifier = `mc-scripts-${_package.pkgJson.version}`;
|
|
|
115
97
|
const isServerError = error => {
|
|
116
98
|
return error instanceof Error && 'code' in error;
|
|
117
99
|
};
|
|
118
|
-
const startServer = server => new _Promise__default
|
|
100
|
+
const startServer = server => new _Promise__default.default((resolve, reject) => {
|
|
119
101
|
server.listen(port, 'localhost').on('listening', resolve).on('error', error => {
|
|
120
102
|
if (isServerError(error) && error.code === 'EADDRINUSE') {
|
|
121
103
|
return reject(new Error(`The address "localhost:${port}" is already in use. Are you running a Merchant Center application in other process? Please stop that and try again.`, {
|
|
@@ -126,7 +108,7 @@ const startServer = server => new _Promise__default["default"]((resolve, reject)
|
|
|
126
108
|
cause: error
|
|
127
109
|
}));
|
|
128
110
|
}).on('close', () => {
|
|
129
|
-
process__default
|
|
111
|
+
process__default.default.exit();
|
|
130
112
|
});
|
|
131
113
|
});
|
|
132
114
|
const resolveMcApiUrl = async options => {
|
|
@@ -135,8 +117,8 @@ const resolveMcApiUrl = async options => {
|
|
|
135
117
|
}
|
|
136
118
|
|
|
137
119
|
// We first check whether the user has set the MC_API_URL environment variable
|
|
138
|
-
if (process__default
|
|
139
|
-
return process__default
|
|
120
|
+
if (process__default.default.env.MC_API_URL) {
|
|
121
|
+
return process__default.default.env.MC_API_URL;
|
|
140
122
|
}
|
|
141
123
|
|
|
142
124
|
// If not, we parse the configuration and check if it's defined over there
|
|
@@ -150,8 +132,8 @@ const resolveProjectKey = async options => {
|
|
|
150
132
|
}
|
|
151
133
|
|
|
152
134
|
// We first check whether the user has set the CTP_PROJECT_KEY environment variable
|
|
153
|
-
if (process__default
|
|
154
|
-
return process__default
|
|
135
|
+
if (process__default.default.env.CTP_PROJECT_KEY) {
|
|
136
|
+
return process__default.default.env.CTP_PROJECT_KEY;
|
|
155
137
|
}
|
|
156
138
|
try {
|
|
157
139
|
const applicationConfig$1 = await applicationConfig.processConfig();
|
|
@@ -162,22 +144,22 @@ const resolveProjectKey = async options => {
|
|
|
162
144
|
}
|
|
163
145
|
};
|
|
164
146
|
const mapOAuthScopesToClaims = scopes => {
|
|
165
|
-
return _mapInstanceProperty__default
|
|
166
|
-
if (_startsWithInstanceProperty__default
|
|
147
|
+
return _mapInstanceProperty__default.default(scopes).call(scopes, scope => {
|
|
148
|
+
if (_startsWithInstanceProperty__default.default(scope).call(scope, 'view_')) {
|
|
167
149
|
return `view:${scope}`;
|
|
168
150
|
}
|
|
169
|
-
if (_startsWithInstanceProperty__default
|
|
151
|
+
if (_startsWithInstanceProperty__default.default(scope).call(scope, 'manage_')) {
|
|
170
152
|
return `manage:${scope}`;
|
|
171
153
|
}
|
|
172
154
|
return scope;
|
|
173
155
|
});
|
|
174
156
|
};
|
|
175
157
|
const mapAdditionalOAuthScopesToClaims = (name, scopes) => {
|
|
176
|
-
return _mapInstanceProperty__default
|
|
177
|
-
if (_startsWithInstanceProperty__default
|
|
158
|
+
return _mapInstanceProperty__default.default(scopes).call(scopes, scope => {
|
|
159
|
+
if (_startsWithInstanceProperty__default.default(scope).call(scope, 'view_')) {
|
|
178
160
|
return `view/${name}:${scope}`;
|
|
179
161
|
}
|
|
180
|
-
if (_startsWithInstanceProperty__default
|
|
162
|
+
if (_startsWithInstanceProperty__default.default(scope).call(scope, 'manage_')) {
|
|
181
163
|
return `manage/${name}:${scope}`;
|
|
182
164
|
}
|
|
183
165
|
return scope;
|
|
@@ -189,16 +171,16 @@ const resolveOAuthScopes = async options => {
|
|
|
189
171
|
}
|
|
190
172
|
|
|
191
173
|
// We first check whether the user has set the CTP_OAUTH_SCOPES environment variable
|
|
192
|
-
if (process__default
|
|
174
|
+
if (process__default.default.env.CTP_OAUTH_SCOPES) {
|
|
193
175
|
var _context, _context2;
|
|
194
|
-
return mapOAuthScopesToClaims(((_context = process__default
|
|
176
|
+
return mapOAuthScopesToClaims(((_context = process__default.default.env.CTP_OAUTH_SCOPES?.split(',')) == null ? void 0 : _bindInstanceProperty__default.default(_context2 = Function.call).call(_context2, _mapInstanceProperty__default.default(_context), _context))?.(scope => _trimInstanceProperty__default.default(scope).call(scope)) ?? []);
|
|
195
177
|
}
|
|
196
178
|
try {
|
|
197
179
|
var _context3, _context4, _context5, _context6;
|
|
198
180
|
const applicationConfig$1 = await applicationConfig.processConfig();
|
|
199
181
|
const configuredOAuthScopes = applicationConfig$1.env.__DEVELOPMENT__?.oidc?.oAuthScopes;
|
|
200
182
|
const configuredAdditionalOAuthScopes = applicationConfig$1.env.__DEVELOPMENT__?.oidc?.additionalOAuthScopes;
|
|
201
|
-
return [...mapOAuthScopesToClaims(configuredOAuthScopes?.view ?? []), ...mapOAuthScopesToClaims(configuredOAuthScopes?.manage ?? []), ...(((_context3 = configuredAdditionalOAuthScopes) == null ? void 0 : _bindInstanceProperty__default
|
|
183
|
+
return [...mapOAuthScopesToClaims(configuredOAuthScopes?.view ?? []), ...mapOAuthScopesToClaims(configuredOAuthScopes?.manage ?? []), ...(((_context3 = configuredAdditionalOAuthScopes) == null ? void 0 : _bindInstanceProperty__default.default(_context4 = Function.call).call(_context4, _flatMapInstanceProperty__default.default(_context3), _context3))?.(scope => mapAdditionalOAuthScopesToClaims(scope.name, scope.view)) ?? []), ...(((_context5 = configuredAdditionalOAuthScopes) == null ? void 0 : _bindInstanceProperty__default.default(_context6 = Function.call).call(_context6, _flatMapInstanceProperty__default.default(_context5), _context5))?.(scope => mapAdditionalOAuthScopesToClaims(scope.name, scope.manage)) ?? [])];
|
|
202
184
|
} catch (error) {
|
|
203
185
|
// It's ok if there's not application config file or if it does not contain the initialProjectKey
|
|
204
186
|
return [];
|
|
@@ -206,7 +188,7 @@ const resolveOAuthScopes = async options => {
|
|
|
206
188
|
};
|
|
207
189
|
const generateRandomHash = function () {
|
|
208
190
|
let length = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 16;
|
|
209
|
-
return crypto__default
|
|
191
|
+
return crypto__default.default.randomBytes(length).toString('hex');
|
|
210
192
|
};
|
|
211
193
|
|
|
212
194
|
/**
|
|
@@ -214,14 +196,14 @@ const generateRandomHash = function () {
|
|
|
214
196
|
* Requires IDENTITY_EMAIL and IDENTITY_PASSWORD environment variables.
|
|
215
197
|
*/
|
|
216
198
|
async function runHeadlessLogin(authUrl) {
|
|
217
|
-
const email = process__default
|
|
218
|
-
const password = process__default
|
|
199
|
+
const email = process__default.default.env.IDENTITY_EMAIL;
|
|
200
|
+
const password = process__default.default.env.IDENTITY_PASSWORD;
|
|
219
201
|
if (!email || !password) {
|
|
220
202
|
throw new Error('Headless login requires IDENTITY_EMAIL and IDENTITY_PASSWORD environment variables');
|
|
221
203
|
}
|
|
222
204
|
let puppeteer;
|
|
223
205
|
try {
|
|
224
|
-
puppeteer = await
|
|
206
|
+
puppeteer = await import('puppeteer');
|
|
225
207
|
} catch {
|
|
226
208
|
throw new Error('Puppeteer is required for headless login. Install it with: npm install puppeteer');
|
|
227
209
|
}
|
|
@@ -252,14 +234,14 @@ async function runHeadlessLogin(authUrl) {
|
|
|
252
234
|
if (acceptBtn) acceptBtn.click();
|
|
253
235
|
})()
|
|
254
236
|
`);
|
|
255
|
-
await new _Promise__default
|
|
237
|
+
await new _Promise__default.default(resolve => _setTimeout__default.default(resolve, 500));
|
|
256
238
|
} catch {
|
|
257
239
|
// Cookie banner not found or already dismissed
|
|
258
240
|
}
|
|
259
241
|
|
|
260
242
|
// Fill in email
|
|
261
243
|
await page.type('input[name="identifier"]', email);
|
|
262
|
-
await new _Promise__default
|
|
244
|
+
await new _Promise__default.default(resolve => _setTimeout__default.default(resolve, 500));
|
|
263
245
|
|
|
264
246
|
// Click "Next" button
|
|
265
247
|
await page.evaluate(`
|
|
@@ -280,7 +262,7 @@ async function runHeadlessLogin(authUrl) {
|
|
|
280
262
|
|
|
281
263
|
// Fill in password
|
|
282
264
|
await page.type('input[name="password"]', password);
|
|
283
|
-
await new _Promise__default
|
|
265
|
+
await new _Promise__default.default(resolve => _setTimeout__default.default(resolve, 500));
|
|
284
266
|
|
|
285
267
|
// Click "Submit" button
|
|
286
268
|
await page.evaluate(`
|
|
@@ -295,22 +277,22 @@ async function runHeadlessLogin(authUrl) {
|
|
|
295
277
|
|
|
296
278
|
// Wait for the callback to be processed (the server will close and exit)
|
|
297
279
|
// We just need to keep the browser alive until the redirect happens
|
|
298
|
-
const startTime = _Date$now__default
|
|
280
|
+
const startTime = _Date$now__default.default();
|
|
299
281
|
const timeout = 60000;
|
|
300
|
-
while (_Date$now__default
|
|
301
|
-
await new _Promise__default
|
|
282
|
+
while (_Date$now__default.default() - startTime < timeout) {
|
|
283
|
+
await new _Promise__default.default(resolve => _setTimeout__default.default(resolve, 500));
|
|
302
284
|
const currentUrl = page.url();
|
|
303
|
-
if (_includesInstanceProperty__default
|
|
285
|
+
if (_includesInstanceProperty__default.default(currentUrl).call(currentUrl, 'sessionToken=')) {
|
|
304
286
|
// Token was captured by the callback server, we can exit
|
|
305
287
|
break;
|
|
306
288
|
}
|
|
307
289
|
const pageContent = await page.content();
|
|
308
|
-
if (_includesInstanceProperty__default
|
|
290
|
+
if (_includesInstanceProperty__default.default(pageContent).call(pageContent, 'Invalid credentials') || _includesInstanceProperty__default.default(pageContent).call(pageContent, 'invalid_grant')) {
|
|
309
291
|
throw new Error('Invalid credentials');
|
|
310
292
|
}
|
|
311
293
|
|
|
312
294
|
// Check if page shows success (callback server response)
|
|
313
|
-
if (_includesInstanceProperty__default
|
|
295
|
+
if (_includesInstanceProperty__default.default(pageContent).call(pageContent, 'Success!')) {
|
|
314
296
|
break;
|
|
315
297
|
}
|
|
316
298
|
}
|
|
@@ -323,7 +305,7 @@ async function run(options) {
|
|
|
323
305
|
if (!mcApiUrl) {
|
|
324
306
|
throw new Error('No Merchant Center API URL found. Aborting.');
|
|
325
307
|
}
|
|
326
|
-
console.log(`Using Merchant Center environment "${chalk__default
|
|
308
|
+
console.log(`Using Merchant Center environment "${chalk__default.default.green(mcApiUrl)}".`);
|
|
327
309
|
console.log();
|
|
328
310
|
if (!options.force && credentialsStorage.isSessionValid(mcApiUrl)) {
|
|
329
311
|
console.log(`You already have a valid session.`);
|
|
@@ -334,13 +316,13 @@ async function run(options) {
|
|
|
334
316
|
const scopes = ['openid'];
|
|
335
317
|
if (projectKey) {
|
|
336
318
|
scopes.push(`project_key:${projectKey}`);
|
|
337
|
-
_forEachInstanceProperty__default
|
|
319
|
+
_forEachInstanceProperty__default.default(oauthScopes).call(oauthScopes, scope => {
|
|
338
320
|
scopes.push(scope);
|
|
339
321
|
});
|
|
340
322
|
}
|
|
341
323
|
const state = generateRandomHash();
|
|
342
324
|
const nonce = generateRandomHash();
|
|
343
|
-
const authUrl = new _URL__default
|
|
325
|
+
const authUrl = new _URL__default.default('/login/authorize', mcApiUrl);
|
|
344
326
|
authUrl.searchParams.set('response_type', 'id_token');
|
|
345
327
|
authUrl.searchParams.set('response_mode', 'query');
|
|
346
328
|
authUrl.searchParams.set('client_id', `__local:${clientIdentifier}`);
|
|
@@ -354,7 +336,7 @@ async function run(options) {
|
|
|
354
336
|
onSuccess: tokenContext => {
|
|
355
337
|
credentialsStorage.setToken(mcApiUrl, tokenContext);
|
|
356
338
|
console.log();
|
|
357
|
-
console.log(chalk__default
|
|
339
|
+
console.log(chalk__default.default.green(`Login successful.`));
|
|
358
340
|
console.log();
|
|
359
341
|
}
|
|
360
342
|
});
|
|
@@ -367,10 +349,10 @@ async function run(options) {
|
|
|
367
349
|
console.log(`Initiating the OIDC authentication flow, opening the login page in your browser...`);
|
|
368
350
|
console.log(` ${authUrl}`);
|
|
369
351
|
console.log();
|
|
370
|
-
const open = await
|
|
352
|
+
const open = await import('open');
|
|
371
353
|
await open.default(authUrl.toString());
|
|
372
354
|
console.log('Waiting for the OIDC authentication to complete...');
|
|
373
355
|
}
|
|
374
356
|
}
|
|
375
357
|
|
|
376
|
-
exports
|
|
358
|
+
exports.default = run;
|
|
@@ -13,17 +13,17 @@ import crypto from 'node:crypto';
|
|
|
13
13
|
import process, { exit } from 'node:process';
|
|
14
14
|
import chalk from 'chalk';
|
|
15
15
|
import { processConfig } from '@commercetools-frontend/application-config';
|
|
16
|
-
import { p as pkgJson } from './package-
|
|
16
|
+
import { p as pkgJson } from './package-BiK3ergJ.esm.js';
|
|
17
17
|
import http from 'node:http';
|
|
18
18
|
import jwtDecode from 'jwt-decode';
|
|
19
|
-
import { C as CredentialsStorage } from './credentials-storage-
|
|
19
|
+
import { C as CredentialsStorage } from './credentials-storage-B79bb0Ns.esm.js';
|
|
20
20
|
import '@babel/runtime-corejs3/helpers/classCallCheck';
|
|
21
21
|
import '@babel/runtime-corejs3/helpers/createClass';
|
|
22
22
|
import '@babel/runtime-corejs3/core-js-stable/json/stringify';
|
|
23
23
|
import 'node:fs';
|
|
24
24
|
import 'node:os';
|
|
25
25
|
import 'node:path';
|
|
26
|
-
import './does-file-exist-
|
|
26
|
+
import './does-file-exist-C7l6j7NP.esm.js';
|
|
27
27
|
|
|
28
28
|
function createAuthCallbackServer(options) {
|
|
29
29
|
const server = http.createServer(async (request, response) => {
|
|
@@ -15,7 +15,7 @@ var _Object$defineProperties = require('@babel/runtime-corejs3/core-js-stable/ob
|
|
|
15
15
|
var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/object/define-property');
|
|
16
16
|
var chalk = require('chalk');
|
|
17
17
|
|
|
18
|
-
function _interopDefault (e) { return e && e.__esModule ? e : {
|
|
18
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
19
|
|
|
20
20
|
var _reduceInstanceProperty__default = /*#__PURE__*/_interopDefault(_reduceInstanceProperty);
|
|
21
21
|
var _Object$entries__default = /*#__PURE__*/_interopDefault(_Object$entries);
|
|
@@ -42,8 +42,8 @@ function hasJsxRuntime() {
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
function ownKeys(e, r) { var t = _Object$keys__default
|
|
46
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default
|
|
45
|
+
function ownKeys(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; }
|
|
46
|
+
function _objectSpread(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(Object(t), true)).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(Object(t))).call(_context4, function (r) { _Object$defineProperty__default.default(e, r, _Object$getOwnPropertyDescriptor__default.default(t, r)); }); } return e; }
|
|
47
47
|
|
|
48
48
|
// Dependencies to be split/grouped into separate chunks for the Webpack build.
|
|
49
49
|
// This is useful to reduce the main bundle size and have more dedicated
|
|
@@ -63,15 +63,15 @@ const manualChunks = {
|
|
|
63
63
|
};
|
|
64
64
|
const removeNonExistantDependencies = (manualChunks, appDependencies) => {
|
|
65
65
|
var _context;
|
|
66
|
-
return _reduceInstanceProperty__default
|
|
66
|
+
return _reduceInstanceProperty__default.default(_context = _Object$entries__default.default(manualChunks)).call(_context, (chunkGroups, _ref) => {
|
|
67
67
|
let _ref2 = _slicedToArray(_ref, 2),
|
|
68
68
|
chunkName = _ref2[0],
|
|
69
69
|
vendors = _ref2[1];
|
|
70
|
-
const existingVendors = _filterInstanceProperty__default
|
|
70
|
+
const existingVendors = _filterInstanceProperty__default.default(vendors).call(vendors, vendor => _includesInstanceProperty__default.default(appDependencies).call(appDependencies, vendor));
|
|
71
71
|
if (existingVendors.length > 0) {
|
|
72
72
|
chunkGroups[chunkName] = existingVendors;
|
|
73
73
|
} else {
|
|
74
|
-
console.log(chalk__default
|
|
74
|
+
console.log(chalk__default.default.yellow(`\nFiltering out chunk "${chunkName}" because its configured dependencies does not exist in the application: ${vendors}\n`));
|
|
75
75
|
}
|
|
76
76
|
return chunkGroups;
|
|
77
77
|
}, {});
|
|
@@ -80,8 +80,8 @@ const removeNonExistantDependencies = (manualChunks, appDependencies) => {
|
|
|
80
80
|
// Reference: https://webpack.js.org/plugins/split-chunks-plugin/
|
|
81
81
|
function getWepbackCacheGroups(appDependencies) {
|
|
82
82
|
var _context2;
|
|
83
|
-
const filteredDependencies = removeNonExistantDependencies(manualChunks, _Object$keys__default
|
|
84
|
-
const result = _reduceInstanceProperty__default
|
|
83
|
+
const filteredDependencies = removeNonExistantDependencies(manualChunks, _Object$keys__default.default(appDependencies));
|
|
84
|
+
const result = _reduceInstanceProperty__default.default(_context2 = _Object$entries__default.default(filteredDependencies)).call(_context2, (previousChunks, _ref3) => {
|
|
85
85
|
let _ref4 = _slicedToArray(_ref3, 2),
|
|
86
86
|
chunkName = _ref4[0],
|
|
87
87
|
vendors = _ref4[1];
|