@commercetools-frontend/mc-scripts 27.4.1 → 27.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/cli/dist/commercetools-frontend-mc-scripts-cli.cjs.dev.js +15 -10
  2. package/cli/dist/commercetools-frontend-mc-scripts-cli.cjs.prod.js +15 -10
  3. package/cli/dist/commercetools-frontend-mc-scripts-cli.esm.js +15 -10
  4. package/dist/{build-8941e757.cjs.prod.js → build-2dde4016.cjs.prod.js} +4 -5
  5. package/dist/{build-43e4ad06.esm.js → build-51b09598.esm.js} +4 -5
  6. package/dist/{build-34cff19d.cjs.dev.js → build-7a3a4b48.cjs.dev.js} +4 -5
  7. package/dist/{build-vite-8cae71a0.esm.js → build-vite-1526e4f8.esm.js} +109 -20
  8. package/dist/{build-vite-837e7c94.cjs.dev.js → build-vite-2fb9320e.cjs.dev.js} +118 -20
  9. package/dist/{build-vite-b007241b.cjs.prod.js → build-vite-71889a4a.cjs.prod.js} +118 -20
  10. package/dist/commercetools-frontend-mc-scripts.cjs.dev.js +1 -1
  11. package/dist/commercetools-frontend-mc-scripts.cjs.prod.js +1 -1
  12. package/dist/commercetools-frontend-mc-scripts.esm.js +1 -1
  13. package/dist/{config-sync-c3777ff2.esm.js → config-sync-38bb2049.esm.js} +3 -3
  14. package/dist/{config-sync-670fe293.cjs.prod.js → config-sync-74ddb92a.cjs.prod.js} +3 -3
  15. package/dist/{config-sync-ci-c239e83b.cjs.prod.js → config-sync-ci-0d638a98.cjs.prod.js} +3 -3
  16. package/dist/{config-sync-ci-2a86810d.cjs.dev.js → config-sync-ci-f083fe23.cjs.dev.js} +3 -3
  17. package/dist/{config-sync-ci-d2a1a560.esm.js → config-sync-ci-f2adf187.esm.js} +3 -3
  18. package/dist/{config-sync-91880023.cjs.dev.js → config-sync-eac5312f.cjs.dev.js} +3 -3
  19. package/dist/{config-sync-helpers-2bbb7ef2.cjs.dev.js → config-sync-helpers-165afb6b.cjs.dev.js} +1 -1
  20. package/dist/{config-sync-helpers-afd3d75e.cjs.prod.js → config-sync-helpers-1dad1481.cjs.prod.js} +1 -1
  21. package/dist/{config-sync-helpers-9c2cbd1b.esm.js → config-sync-helpers-2bf06642.esm.js} +1 -1
  22. package/dist/{create-postcss-config-880af1a5.cjs.dev.js → create-postcss-config-1b021fb2.cjs.dev.js} +1 -1
  23. package/dist/{create-postcss-config-f732c04c.cjs.prod.js → create-postcss-config-434fe673.cjs.prod.js} +1 -1
  24. package/dist/{create-postcss-config-257247d7.esm.js → create-postcss-config-505c5a4e.esm.js} +1 -1
  25. package/dist/{create-webpack-config-for-development-22db7e21.cjs.prod.js → create-webpack-config-for-development-1db101e2.cjs.prod.js} +4 -5
  26. package/dist/{create-webpack-config-for-development-736b37a1.cjs.dev.js → create-webpack-config-for-development-65abeb3f.cjs.dev.js} +4 -5
  27. package/dist/{create-webpack-config-for-development-fa4927c0.esm.js → create-webpack-config-for-development-fd981a20.esm.js} +2 -3
  28. package/dist/{create-webpack-config-for-production-7888ee9e.cjs.dev.js → create-webpack-config-for-production-010a6fb4.cjs.dev.js} +4 -5
  29. package/dist/{create-webpack-config-for-production-da525cc3.cjs.prod.js → create-webpack-config-for-production-a239ba22.cjs.prod.js} +4 -5
  30. package/dist/{create-webpack-config-for-production-cfb9e90a.esm.js → create-webpack-config-for-production-bb66207f.esm.js} +2 -3
  31. package/dist/declarations/src/types.d.ts +3 -0
  32. package/dist/{deployment-previews-set-4ee2a4e5.esm.js → deployment-previews-set-6ceff6a3.esm.js} +2 -2
  33. package/dist/{deployment-previews-set-0a6480d0.cjs.prod.js → deployment-previews-set-beeaeb6d.cjs.prod.js} +2 -2
  34. package/dist/{deployment-previews-set-8c400e53.cjs.dev.js → deployment-previews-set-c4f8a461.cjs.dev.js} +2 -2
  35. package/dist/{graphql-requests-eb88492d.cjs.prod.js → graphql-requests-4c97fe92.cjs.prod.js} +1 -1
  36. package/dist/{graphql-requests-569dae6e.esm.js → graphql-requests-53a1f5dd.esm.js} +1 -1
  37. package/dist/{graphql-requests-25e057ed.cjs.dev.js → graphql-requests-86c87041.cjs.dev.js} +1 -1
  38. package/dist/{login-c18cb968.esm.js → login-1e4ddcda.esm.js} +1 -1
  39. package/dist/{login-1fd80a8d.cjs.dev.js → login-382b51ea.cjs.dev.js} +1 -1
  40. package/dist/{login-a6d93fd3.cjs.prod.js → login-c151a059.cjs.prod.js} +1 -1
  41. package/dist/{optimizations-bf991634.esm.js → optimizations-54382f7b.esm.js} +24 -9
  42. package/dist/{optimizations-fb93514f.cjs.prod.js → optimizations-56be74d6.cjs.dev.js} +24 -9
  43. package/dist/{optimizations-7789145e.cjs.dev.js → optimizations-da5a0cfa.cjs.prod.js} +24 -9
  44. package/dist/{package-8926f3f0.esm.js → package-02f0532d.esm.js} +13 -14
  45. package/dist/{package-2bdb4e7b.cjs.prod.js → package-c8f39856.cjs.dev.js} +13 -14
  46. package/dist/{package-d8f5b403.cjs.dev.js → package-dfc9c56b.cjs.prod.js} +13 -14
  47. package/dist/serve-00294d34.esm.js +77 -0
  48. package/dist/serve-81db9f2e.cjs.dev.js +88 -0
  49. package/dist/serve-d62433a1.cjs.prod.js +88 -0
  50. package/dist/{start-e1dffbe2.cjs.dev.js → start-32bc9eca.cjs.dev.js} +4 -5
  51. package/dist/{start-a35e973b.cjs.prod.js → start-5eb60c74.cjs.prod.js} +4 -5
  52. package/dist/{start-8d77546d.esm.js → start-6fc3b235.esm.js} +4 -5
  53. package/package.json +13 -14
  54. package/postcss/dist/commercetools-frontend-mc-scripts-postcss.cjs.dev.js +2 -2
  55. package/postcss/dist/commercetools-frontend-mc-scripts-postcss.cjs.prod.js +2 -2
  56. package/postcss/dist/commercetools-frontend-mc-scripts-postcss.esm.js +2 -2
  57. package/webpack/dist/commercetools-frontend-mc-scripts-webpack.cjs.dev.js +5 -6
  58. package/webpack/dist/commercetools-frontend-mc-scripts-webpack.cjs.prod.js +5 -6
  59. package/webpack/dist/commercetools-frontend-mc-scripts-webpack.esm.js +5 -6
  60. package/dist/has-jsx-runtime-aa5d21ee.cjs.dev.js +0 -15
  61. package/dist/has-jsx-runtime-c3202df5.cjs.prod.js +0 -15
  62. package/dist/has-jsx-runtime-e3ecb09b.esm.js +0 -13
  63. package/dist/serve-38456e1b.cjs.dev.js +0 -67
  64. package/dist/serve-be1f9439.esm.js +0 -57
  65. package/dist/serve-cc4a766d.cjs.prod.js +0 -67
@@ -2,7 +2,7 @@
2
2
 
3
3
  var pkgJson = {
4
4
  name: "@commercetools-frontend/mc-scripts",
5
- version: "27.4.0",
5
+ version: "27.5.0",
6
6
  description: "Configuration and scripts for developing a MC application",
7
7
  bugs: "https://github.com/commercetools/merchant-center-application-kit/issues",
8
8
  repository: {
@@ -63,13 +63,13 @@ var pkgJson = {
63
63
  "@babel/plugin-proposal-do-expressions": "^7.22.5",
64
64
  "@babel/runtime": "^7.22.15",
65
65
  "@babel/runtime-corejs3": "^7.22.15",
66
- "@commercetools-frontend/application-components": "27.4.0",
67
- "@commercetools-frontend/application-config": "27.4.0",
68
- "@commercetools-frontend/assets": "27.4.0",
69
- "@commercetools-frontend/babel-preset-mc-app": "27.4.0",
70
- "@commercetools-frontend/constants": "27.4.0",
71
- "@commercetools-frontend/mc-dev-authentication": "27.4.0",
72
- "@commercetools-frontend/mc-html-template": "27.4.0",
66
+ "@commercetools-frontend/application-components": "27.5.0",
67
+ "@commercetools-frontend/application-config": "27.5.0",
68
+ "@commercetools-frontend/assets": "27.5.0",
69
+ "@commercetools-frontend/babel-preset-mc-app": "27.5.0",
70
+ "@commercetools-frontend/constants": "27.5.0",
71
+ "@commercetools-frontend/mc-dev-authentication": "27.5.0",
72
+ "@commercetools-frontend/mc-html-template": "27.5.0",
73
73
  "@commercetools/http-user-agent": "3.0.0",
74
74
  "@emotion/babel-plugin": "^11.13.5",
75
75
  "@formatjs/cli-lib": "^6.3.8",
@@ -93,7 +93,7 @@ var pkgJson = {
93
93
  commander: "^13.1.0",
94
94
  "core-js": "^3.32.2",
95
95
  "css-loader": "6.11.0",
96
- "css-minimizer-webpack-plugin": "3.4.1",
96
+ "css-minimizer-webpack-plugin": "^8.0.0",
97
97
  dotenv: "16.6.1",
98
98
  "dotenv-expand": "8.0.3",
99
99
  "fs-extra": "10.1.0",
@@ -110,7 +110,7 @@ var pkgJson = {
110
110
  "moment-locales-webpack-plugin": "1.2.0",
111
111
  "node-fetch": "2.7.0",
112
112
  open: "^10.1.0",
113
- postcss: "8.5.6",
113
+ postcss: "^8.5.12",
114
114
  "postcss-custom-media": "8.0.2",
115
115
  "postcss-custom-properties": "12.1.4",
116
116
  "postcss-import": "14.1.0",
@@ -122,12 +122,12 @@ var pkgJson = {
122
122
  "react-dev-utils": "12.0.1",
123
123
  "react-refresh": "0.17.0",
124
124
  "rollup-plugin-visualizer": "^5.14.0",
125
- "serve-handler": "6.1.7",
126
125
  sharp: "^0.34.1",
127
126
  shelljs: "0.10.0",
127
+ sirv: "^3.0.2",
128
128
  "style-loader": "3.3.4",
129
129
  "svg-url-loader": "7.1.1",
130
- "terser-webpack-plugin": "5.3.14",
130
+ "terser-webpack-plugin": "^5.5.0",
131
131
  "thread-loader": "3.0.4",
132
132
  url: "^0.11.0",
133
133
  vite: "~6.4.2",
@@ -145,7 +145,6 @@ var pkgJson = {
145
145
  "@types/moment-locales-webpack-plugin": "^1.2.3",
146
146
  "@types/node-fetch": "2.6.13",
147
147
  "@types/prettier": "2.7.3",
148
- "@types/serve-handler": "^6.1.1",
149
148
  "jest-mock": "29.7.0",
150
149
  memfs: "^4.8.2",
151
150
  msw: "^1.3.5",
@@ -153,7 +152,7 @@ var pkgJson = {
153
152
  rimraf: "6.0.1"
154
153
  },
155
154
  engines: {
156
- node: "18.x || 20.x || >=22.0.0"
155
+ node: "20.x || >=22.0.0"
157
156
  },
158
157
  peerDependencies: {
159
158
  puppeteer: ">=20.0.0"
@@ -0,0 +1,77 @@
1
+ import _startsWithInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/starts-with';
2
+ import _bindInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/bind';
3
+ import _URL from '@babel/runtime-corejs3/core-js-stable/url';
4
+ import _Promise from '@babel/runtime-corejs3/core-js-stable/promise';
5
+ import http from 'http';
6
+ import sirv from 'sirv';
7
+ import { processConfig } from '@commercetools-frontend/application-config';
8
+ import { p as paths } from './paths-39f22b8b.esm.js';
9
+ import '@babel/runtime-corejs3/core-js-stable/instance/find';
10
+ import 'fs';
11
+ import 'path';
12
+ import './does-file-exist-32618334.esm.js';
13
+ import 'node:fs';
14
+
15
+ const DEFAULT_PORT = 3001;
16
+ async function run() {
17
+ var _context;
18
+ let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
19
+ const port = options.port ?? DEFAULT_PORT;
20
+ const publicPath = options.publicPath ?? paths.appBuild;
21
+ const applicationConfig = options.applicationConfig ?? (await processConfig());
22
+ const handleAuthRoutes = options.handleAuthRoutes ?? true;
23
+ const isLocalMcApi = _startsWithInstanceProperty(_context = applicationConfig.env.mcApiUrl).call(_context, 'http://localhost');
24
+
25
+ // `single: true` gives us the SPA fallback — any unmatched path is served as
26
+ // the root `index.html`. This replaces the complex glob workaround that
27
+ // `serve-handler` needed because of vercel/serve-handler#71.
28
+ const staticHandler = sirv(publicPath, {
29
+ single: true,
30
+ etag: true
31
+ });
32
+ const server = http.createServer((request, response) => {
33
+ var _context0, _context1;
34
+ // Apps that own the `/login*` / `/logout*` routes themselves (e.g.
35
+ // `application-authentication`) opt out via `handleAuthRoutes: false` so
36
+ // those paths flow through to the SPA fallback like any other route.
37
+ if (handleAuthRoutes) {
38
+ var _context2, _context3, _context4, _context5, _context6, _context7, _context8, _context9;
39
+ // Localhost-only: inline replacement for the login/logout UI that
40
+ // `mc-dev-authentication` used to ship as static HTML (#3734).
41
+ if (isLocalMcApi && ((_context2 = request.url) == null ? void 0 : _bindInstanceProperty(_context3 = Function.call).call(_context3, _startsWithInstanceProperty(_context2), _context2))?.('/login/authorize')) {
42
+ const redirectTo = new _URL(request.url, applicationConfig.env.mcApiUrl);
43
+ response.writeHead(301, {
44
+ Location: redirectTo.toString()
45
+ }).end();
46
+ return;
47
+ }
48
+ if (isLocalMcApi && ((_context4 = request.url) == null ? void 0 : _bindInstanceProperty(_context5 = Function.call).call(_context5, _startsWithInstanceProperty(_context4), _context4))?.('/logout')) {
49
+ response.end('Please clear your session storage.');
50
+ return;
51
+ }
52
+
53
+ // Preserve the pre-swap contract: any other `/login*` or `/logout*`
54
+ // request (bare `/login`, non-localhost auth callbacks, etc.) must NOT
55
+ // fall back to the SPA — that would mask OAuth callback
56
+ // misconfigurations by rendering the app on a URL the backend owns.
57
+ if (((_context6 = request.url) == null ? void 0 : _bindInstanceProperty(_context7 = Function.call).call(_context7, _startsWithInstanceProperty(_context6), _context6))?.('/login') || ((_context8 = request.url) == null ? void 0 : _bindInstanceProperty(_context9 = Function.call).call(_context9, _startsWithInstanceProperty(_context8), _context8))?.('/logout')) {
58
+ response.writeHead(404).end();
59
+ return;
60
+ }
61
+ }
62
+
63
+ // Absorb `/favicon*` variants (e.g. `/favicon.ico`, `/favicon-32x32.png`)
64
+ // into the single PNG the app ships.
65
+ if (((_context0 = request.url) == null ? void 0 : _bindInstanceProperty(_context1 = Function.call).call(_context1, _startsWithInstanceProperty(_context0), _context0))?.('/favicon')) {
66
+ request.url = '/favicon.png';
67
+ }
68
+ staticHandler(request, response, () => {
69
+ response.writeHead(404).end();
70
+ });
71
+ });
72
+ return new _Promise(resolve => {
73
+ server.listen(port, () => resolve(server));
74
+ });
75
+ }
76
+
77
+ export { run as default };
@@ -0,0 +1,88 @@
1
+ 'use strict';
2
+
3
+ var _startsWithInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/starts-with');
4
+ var _bindInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/bind');
5
+ var _URL = require('@babel/runtime-corejs3/core-js-stable/url');
6
+ var _Promise = require('@babel/runtime-corejs3/core-js-stable/promise');
7
+ var http = require('http');
8
+ var sirv = require('sirv');
9
+ var applicationConfig = require('@commercetools-frontend/application-config');
10
+ var paths = require('./paths-b76fc753.cjs.dev.js');
11
+ require('@babel/runtime-corejs3/core-js-stable/instance/find');
12
+ require('fs');
13
+ require('path');
14
+ require('./does-file-exist-eb86baca.cjs.dev.js');
15
+ require('node:fs');
16
+
17
+ function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
18
+
19
+ var _startsWithInstanceProperty__default = /*#__PURE__*/_interopDefault(_startsWithInstanceProperty);
20
+ var _bindInstanceProperty__default = /*#__PURE__*/_interopDefault(_bindInstanceProperty);
21
+ var _URL__default = /*#__PURE__*/_interopDefault(_URL);
22
+ var _Promise__default = /*#__PURE__*/_interopDefault(_Promise);
23
+ var http__default = /*#__PURE__*/_interopDefault(http);
24
+ var sirv__default = /*#__PURE__*/_interopDefault(sirv);
25
+
26
+ const DEFAULT_PORT = 3001;
27
+ async function run() {
28
+ var _context;
29
+ let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
30
+ const port = options.port ?? DEFAULT_PORT;
31
+ const publicPath = options.publicPath ?? paths.paths.appBuild;
32
+ const applicationConfig$1 = options.applicationConfig ?? (await applicationConfig.processConfig());
33
+ const handleAuthRoutes = options.handleAuthRoutes ?? true;
34
+ const isLocalMcApi = _startsWithInstanceProperty__default["default"](_context = applicationConfig$1.env.mcApiUrl).call(_context, 'http://localhost');
35
+
36
+ // `single: true` gives us the SPA fallback — any unmatched path is served as
37
+ // the root `index.html`. This replaces the complex glob workaround that
38
+ // `serve-handler` needed because of vercel/serve-handler#71.
39
+ const staticHandler = sirv__default["default"](publicPath, {
40
+ single: true,
41
+ etag: true
42
+ });
43
+ const server = http__default["default"].createServer((request, response) => {
44
+ var _context0, _context1;
45
+ // Apps that own the `/login*` / `/logout*` routes themselves (e.g.
46
+ // `application-authentication`) opt out via `handleAuthRoutes: false` so
47
+ // those paths flow through to the SPA fallback like any other route.
48
+ if (handleAuthRoutes) {
49
+ var _context2, _context3, _context4, _context5, _context6, _context7, _context8, _context9;
50
+ // Localhost-only: inline replacement for the login/logout UI that
51
+ // `mc-dev-authentication` used to ship as static HTML (#3734).
52
+ if (isLocalMcApi && ((_context2 = request.url) == null ? void 0 : _bindInstanceProperty__default["default"](_context3 = Function.call).call(_context3, _startsWithInstanceProperty__default["default"](_context2), _context2))?.('/login/authorize')) {
53
+ const redirectTo = new _URL__default["default"](request.url, applicationConfig$1.env.mcApiUrl);
54
+ response.writeHead(301, {
55
+ Location: redirectTo.toString()
56
+ }).end();
57
+ return;
58
+ }
59
+ if (isLocalMcApi && ((_context4 = request.url) == null ? void 0 : _bindInstanceProperty__default["default"](_context5 = Function.call).call(_context5, _startsWithInstanceProperty__default["default"](_context4), _context4))?.('/logout')) {
60
+ response.end('Please clear your session storage.');
61
+ return;
62
+ }
63
+
64
+ // Preserve the pre-swap contract: any other `/login*` or `/logout*`
65
+ // request (bare `/login`, non-localhost auth callbacks, etc.) must NOT
66
+ // fall back to the SPA — that would mask OAuth callback
67
+ // misconfigurations by rendering the app on a URL the backend owns.
68
+ if (((_context6 = request.url) == null ? void 0 : _bindInstanceProperty__default["default"](_context7 = Function.call).call(_context7, _startsWithInstanceProperty__default["default"](_context6), _context6))?.('/login') || ((_context8 = request.url) == null ? void 0 : _bindInstanceProperty__default["default"](_context9 = Function.call).call(_context9, _startsWithInstanceProperty__default["default"](_context8), _context8))?.('/logout')) {
69
+ response.writeHead(404).end();
70
+ return;
71
+ }
72
+ }
73
+
74
+ // Absorb `/favicon*` variants (e.g. `/favicon.ico`, `/favicon-32x32.png`)
75
+ // into the single PNG the app ships.
76
+ if (((_context0 = request.url) == null ? void 0 : _bindInstanceProperty__default["default"](_context1 = Function.call).call(_context1, _startsWithInstanceProperty__default["default"](_context0), _context0))?.('/favicon')) {
77
+ request.url = '/favicon.png';
78
+ }
79
+ staticHandler(request, response, () => {
80
+ response.writeHead(404).end();
81
+ });
82
+ });
83
+ return new _Promise__default["default"](resolve => {
84
+ server.listen(port, () => resolve(server));
85
+ });
86
+ }
87
+
88
+ exports["default"] = run;
@@ -0,0 +1,88 @@
1
+ 'use strict';
2
+
3
+ var _startsWithInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/starts-with');
4
+ var _bindInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/bind');
5
+ var _URL = require('@babel/runtime-corejs3/core-js-stable/url');
6
+ var _Promise = require('@babel/runtime-corejs3/core-js-stable/promise');
7
+ var http = require('http');
8
+ var sirv = require('sirv');
9
+ var applicationConfig = require('@commercetools-frontend/application-config');
10
+ var paths = require('./paths-7768b440.cjs.prod.js');
11
+ require('@babel/runtime-corejs3/core-js-stable/instance/find');
12
+ require('fs');
13
+ require('path');
14
+ require('./does-file-exist-be53305d.cjs.prod.js');
15
+ require('node:fs');
16
+
17
+ function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
18
+
19
+ var _startsWithInstanceProperty__default = /*#__PURE__*/_interopDefault(_startsWithInstanceProperty);
20
+ var _bindInstanceProperty__default = /*#__PURE__*/_interopDefault(_bindInstanceProperty);
21
+ var _URL__default = /*#__PURE__*/_interopDefault(_URL);
22
+ var _Promise__default = /*#__PURE__*/_interopDefault(_Promise);
23
+ var http__default = /*#__PURE__*/_interopDefault(http);
24
+ var sirv__default = /*#__PURE__*/_interopDefault(sirv);
25
+
26
+ const DEFAULT_PORT = 3001;
27
+ async function run() {
28
+ var _context;
29
+ let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
30
+ const port = options.port ?? DEFAULT_PORT;
31
+ const publicPath = options.publicPath ?? paths.paths.appBuild;
32
+ const applicationConfig$1 = options.applicationConfig ?? (await applicationConfig.processConfig());
33
+ const handleAuthRoutes = options.handleAuthRoutes ?? true;
34
+ const isLocalMcApi = _startsWithInstanceProperty__default["default"](_context = applicationConfig$1.env.mcApiUrl).call(_context, 'http://localhost');
35
+
36
+ // `single: true` gives us the SPA fallback — any unmatched path is served as
37
+ // the root `index.html`. This replaces the complex glob workaround that
38
+ // `serve-handler` needed because of vercel/serve-handler#71.
39
+ const staticHandler = sirv__default["default"](publicPath, {
40
+ single: true,
41
+ etag: true
42
+ });
43
+ const server = http__default["default"].createServer((request, response) => {
44
+ var _context0, _context1;
45
+ // Apps that own the `/login*` / `/logout*` routes themselves (e.g.
46
+ // `application-authentication`) opt out via `handleAuthRoutes: false` so
47
+ // those paths flow through to the SPA fallback like any other route.
48
+ if (handleAuthRoutes) {
49
+ var _context2, _context3, _context4, _context5, _context6, _context7, _context8, _context9;
50
+ // Localhost-only: inline replacement for the login/logout UI that
51
+ // `mc-dev-authentication` used to ship as static HTML (#3734).
52
+ if (isLocalMcApi && ((_context2 = request.url) == null ? void 0 : _bindInstanceProperty__default["default"](_context3 = Function.call).call(_context3, _startsWithInstanceProperty__default["default"](_context2), _context2))?.('/login/authorize')) {
53
+ const redirectTo = new _URL__default["default"](request.url, applicationConfig$1.env.mcApiUrl);
54
+ response.writeHead(301, {
55
+ Location: redirectTo.toString()
56
+ }).end();
57
+ return;
58
+ }
59
+ if (isLocalMcApi && ((_context4 = request.url) == null ? void 0 : _bindInstanceProperty__default["default"](_context5 = Function.call).call(_context5, _startsWithInstanceProperty__default["default"](_context4), _context4))?.('/logout')) {
60
+ response.end('Please clear your session storage.');
61
+ return;
62
+ }
63
+
64
+ // Preserve the pre-swap contract: any other `/login*` or `/logout*`
65
+ // request (bare `/login`, non-localhost auth callbacks, etc.) must NOT
66
+ // fall back to the SPA — that would mask OAuth callback
67
+ // misconfigurations by rendering the app on a URL the backend owns.
68
+ if (((_context6 = request.url) == null ? void 0 : _bindInstanceProperty__default["default"](_context7 = Function.call).call(_context7, _startsWithInstanceProperty__default["default"](_context6), _context6))?.('/login') || ((_context8 = request.url) == null ? void 0 : _bindInstanceProperty__default["default"](_context9 = Function.call).call(_context9, _startsWithInstanceProperty__default["default"](_context8), _context8))?.('/logout')) {
69
+ response.writeHead(404).end();
70
+ return;
71
+ }
72
+ }
73
+
74
+ // Absorb `/favicon*` variants (e.g. `/favicon.ico`, `/favicon-32x32.png`)
75
+ // into the single PNG the app ships.
76
+ if (((_context0 = request.url) == null ? void 0 : _bindInstanceProperty__default["default"](_context1 = Function.call).call(_context1, _startsWithInstanceProperty__default["default"](_context0), _context0))?.('/favicon')) {
77
+ request.url = '/favicon.png';
78
+ }
79
+ staticHandler(request, response, () => {
80
+ response.writeHead(404).end();
81
+ });
82
+ });
83
+ return new _Promise__default["default"](resolve => {
84
+ server.listen(port, () => resolve(server));
85
+ });
86
+ }
87
+
88
+ exports["default"] = run;
@@ -9,7 +9,7 @@ var openBrowser = require('react-dev-utils/openBrowser');
9
9
  var WebpackDevServerUtils = require('react-dev-utils/WebpackDevServerUtils');
10
10
  var webpack = require('webpack');
11
11
  var WebpackDevServer = require('webpack-dev-server');
12
- var createWebpackConfigForDevelopment = require('./create-webpack-config-for-development-736b37a1.cjs.dev.js');
12
+ var createWebpackConfigForDevelopment = require('./create-webpack-config-for-development-65abeb3f.cjs.dev.js');
13
13
  var paths = require('./paths-b76fc753.cjs.dev.js');
14
14
  var applicationConfig = require('@commercetools-frontend/application-config');
15
15
  var mcDevAuthentication = require('@commercetools-frontend/mc-dev-authentication');
@@ -36,11 +36,10 @@ require('webpackbar');
36
36
  require('@babel/runtime-corejs3/helpers/classCallCheck');
37
37
  require('@babel/runtime-corejs3/helpers/createClass');
38
38
  require('@babel/runtime-corejs3/core-js-stable/object/assign');
39
- require('./create-postcss-config-880af1a5.cjs.dev.js');
39
+ require('./create-postcss-config-1b021fb2.cjs.dev.js');
40
40
  require('@babel/runtime-corejs3/helpers/slicedToArray');
41
- require('./package-d8f5b403.cjs.dev.js');
42
- require('./has-jsx-runtime-aa5d21ee.cjs.dev.js');
43
- require('./optimizations-7789145e.cjs.dev.js');
41
+ require('./package-c8f39856.cjs.dev.js');
42
+ require('./optimizations-56be74d6.cjs.dev.js');
44
43
  require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
45
44
  require('@babel/runtime-corejs3/core-js-stable/object/entries');
46
45
  require('@babel/runtime-corejs3/core-js-stable/instance/includes');
@@ -9,7 +9,7 @@ var openBrowser = require('react-dev-utils/openBrowser');
9
9
  var WebpackDevServerUtils = require('react-dev-utils/WebpackDevServerUtils');
10
10
  var webpack = require('webpack');
11
11
  var WebpackDevServer = require('webpack-dev-server');
12
- var createWebpackConfigForDevelopment = require('./create-webpack-config-for-development-22db7e21.cjs.prod.js');
12
+ var createWebpackConfigForDevelopment = require('./create-webpack-config-for-development-1db101e2.cjs.prod.js');
13
13
  var paths = require('./paths-7768b440.cjs.prod.js');
14
14
  var applicationConfig = require('@commercetools-frontend/application-config');
15
15
  var mcDevAuthentication = require('@commercetools-frontend/mc-dev-authentication');
@@ -36,11 +36,10 @@ require('webpackbar');
36
36
  require('@babel/runtime-corejs3/helpers/classCallCheck');
37
37
  require('@babel/runtime-corejs3/helpers/createClass');
38
38
  require('@babel/runtime-corejs3/core-js-stable/object/assign');
39
- require('./create-postcss-config-f732c04c.cjs.prod.js');
39
+ require('./create-postcss-config-434fe673.cjs.prod.js');
40
40
  require('@babel/runtime-corejs3/helpers/slicedToArray');
41
- require('./package-2bdb4e7b.cjs.prod.js');
42
- require('./has-jsx-runtime-c3202df5.cjs.prod.js');
43
- require('./optimizations-fb93514f.cjs.prod.js');
41
+ require('./package-dfc9c56b.cjs.prod.js');
42
+ require('./optimizations-da5a0cfa.cjs.prod.js');
44
43
  require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
45
44
  require('@babel/runtime-corejs3/core-js-stable/object/entries');
46
45
  require('@babel/runtime-corejs3/core-js-stable/instance/includes');
@@ -7,7 +7,7 @@ import openBrowser from 'react-dev-utils/openBrowser';
7
7
  import { choosePort, prepareUrls, createCompiler } from 'react-dev-utils/WebpackDevServerUtils';
8
8
  import webpack from 'webpack';
9
9
  import WebpackDevServer from 'webpack-dev-server';
10
- import { c as createWebpackConfigForDevelopment } from './create-webpack-config-for-development-fa4927c0.esm.js';
10
+ import { c as createWebpackConfigForDevelopment } from './create-webpack-config-for-development-fd981a20.esm.js';
11
11
  import { p as paths } from './paths-39f22b8b.esm.js';
12
12
  import { processConfig } from '@commercetools-frontend/application-config';
13
13
  import { createMcDevAuthenticationMiddleware } from '@commercetools-frontend/mc-dev-authentication';
@@ -34,11 +34,10 @@ import 'webpackbar';
34
34
  import '@babel/runtime-corejs3/helpers/classCallCheck';
35
35
  import '@babel/runtime-corejs3/helpers/createClass';
36
36
  import '@babel/runtime-corejs3/core-js-stable/object/assign';
37
- import './create-postcss-config-257247d7.esm.js';
37
+ import './create-postcss-config-505c5a4e.esm.js';
38
38
  import '@babel/runtime-corejs3/helpers/slicedToArray';
39
- import './package-8926f3f0.esm.js';
40
- import './has-jsx-runtime-e3ecb09b.esm.js';
41
- import './optimizations-bf991634.esm.js';
39
+ import './package-02f0532d.esm.js';
40
+ import './optimizations-54382f7b.esm.js';
42
41
  import '@babel/runtime-corejs3/core-js-stable/instance/reduce';
43
42
  import '@babel/runtime-corejs3/core-js-stable/object/entries';
44
43
  import '@babel/runtime-corejs3/core-js-stable/instance/includes';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@commercetools-frontend/mc-scripts",
3
- "version": "27.4.1",
3
+ "version": "27.5.0",
4
4
  "description": "Configuration and scripts for developing a MC application",
5
5
  "bugs": "https://github.com/commercetools/merchant-center-application-kit/issues",
6
6
  "repository": {
@@ -61,13 +61,13 @@
61
61
  "@babel/plugin-proposal-do-expressions": "^7.22.5",
62
62
  "@babel/runtime": "^7.22.15",
63
63
  "@babel/runtime-corejs3": "^7.22.15",
64
- "@commercetools-frontend/application-components": "27.4.1",
65
- "@commercetools-frontend/application-config": "27.4.1",
66
- "@commercetools-frontend/assets": "27.4.1",
67
- "@commercetools-frontend/babel-preset-mc-app": "27.4.1",
68
- "@commercetools-frontend/constants": "27.4.1",
69
- "@commercetools-frontend/mc-dev-authentication": "27.4.1",
70
- "@commercetools-frontend/mc-html-template": "27.4.1",
64
+ "@commercetools-frontend/application-components": "27.5.0",
65
+ "@commercetools-frontend/application-config": "27.5.0",
66
+ "@commercetools-frontend/assets": "27.5.0",
67
+ "@commercetools-frontend/babel-preset-mc-app": "27.5.0",
68
+ "@commercetools-frontend/constants": "27.5.0",
69
+ "@commercetools-frontend/mc-dev-authentication": "27.5.0",
70
+ "@commercetools-frontend/mc-html-template": "27.5.0",
71
71
  "@commercetools/http-user-agent": "3.0.0",
72
72
  "@emotion/babel-plugin": "^11.13.5",
73
73
  "@formatjs/cli-lib": "^6.3.8",
@@ -91,7 +91,7 @@
91
91
  "commander": "^13.1.0",
92
92
  "core-js": "^3.32.2",
93
93
  "css-loader": "6.11.0",
94
- "css-minimizer-webpack-plugin": "3.4.1",
94
+ "css-minimizer-webpack-plugin": "^8.0.0",
95
95
  "dotenv": "16.6.1",
96
96
  "dotenv-expand": "8.0.3",
97
97
  "fs-extra": "10.1.0",
@@ -108,7 +108,7 @@
108
108
  "moment-locales-webpack-plugin": "1.2.0",
109
109
  "node-fetch": "2.7.0",
110
110
  "open": "^10.1.0",
111
- "postcss": "8.5.6",
111
+ "postcss": "^8.5.12",
112
112
  "postcss-custom-media": "8.0.2",
113
113
  "postcss-custom-properties": "12.1.4",
114
114
  "postcss-import": "14.1.0",
@@ -120,12 +120,12 @@
120
120
  "react-dev-utils": "12.0.1",
121
121
  "react-refresh": "0.17.0",
122
122
  "rollup-plugin-visualizer": "^5.14.0",
123
- "serve-handler": "6.1.7",
124
123
  "sharp": "^0.34.1",
125
124
  "shelljs": "0.10.0",
125
+ "sirv": "^3.0.2",
126
126
  "style-loader": "3.3.4",
127
127
  "svg-url-loader": "7.1.1",
128
- "terser-webpack-plugin": "5.3.14",
128
+ "terser-webpack-plugin": "^5.5.0",
129
129
  "thread-loader": "3.0.4",
130
130
  "url": "^0.11.0",
131
131
  "vite": "~6.4.2",
@@ -143,7 +143,6 @@
143
143
  "@types/moment-locales-webpack-plugin": "^1.2.3",
144
144
  "@types/node-fetch": "2.6.13",
145
145
  "@types/prettier": "2.7.3",
146
- "@types/serve-handler": "^6.1.1",
147
146
  "jest-mock": "29.7.0",
148
147
  "memfs": "^4.8.2",
149
148
  "msw": "^1.3.5",
@@ -151,7 +150,7 @@
151
150
  "rimraf": "6.0.1"
152
151
  },
153
152
  "engines": {
154
- "node": "18.x || 20.x || >=22.0.0"
153
+ "node": "20.x || >=22.0.0"
155
154
  },
156
155
  "peerDependencies": {
157
156
  "puppeteer": ">=20.0.0"
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var createPostcssConfig = require('../../dist/create-postcss-config-880af1a5.cjs.dev.js');
5
+ var createPostcssConfig = require('../../dist/create-postcss-config-1b021fb2.cjs.dev.js');
6
6
  require('@babel/runtime-corejs3/helpers/slicedToArray');
7
7
  require('path');
8
- require('../../dist/package-d8f5b403.cjs.dev.js');
8
+ require('../../dist/package-c8f39856.cjs.dev.js');
9
9
 
10
10
 
11
11
 
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var createPostcssConfig = require('../../dist/create-postcss-config-f732c04c.cjs.prod.js');
5
+ var createPostcssConfig = require('../../dist/create-postcss-config-434fe673.cjs.prod.js');
6
6
  require('@babel/runtime-corejs3/helpers/slicedToArray');
7
7
  require('path');
8
- require('../../dist/package-2bdb4e7b.cjs.prod.js');
8
+ require('../../dist/package-dfc9c56b.cjs.prod.js');
9
9
 
10
10
 
11
11
 
@@ -1,4 +1,4 @@
1
- export { c as createPostcssConfig } from '../../dist/create-postcss-config-257247d7.esm.js';
1
+ export { c as createPostcssConfig } from '../../dist/create-postcss-config-505c5a4e.esm.js';
2
2
  import '@babel/runtime-corejs3/helpers/slicedToArray';
3
3
  import 'path';
4
- import '../../dist/package-8926f3f0.esm.js';
4
+ import '../../dist/package-02f0532d.esm.js';
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var createWebpackConfigForDevelopment = require('../../dist/create-webpack-config-for-development-736b37a1.cjs.dev.js');
6
- var createWebpackConfigForProduction = require('../../dist/create-webpack-config-for-production-7888ee9e.cjs.dev.js');
5
+ var createWebpackConfigForDevelopment = require('../../dist/create-webpack-config-for-development-65abeb3f.cjs.dev.js');
6
+ var createWebpackConfigForProduction = require('../../dist/create-webpack-config-for-production-010a6fb4.cjs.dev.js');
7
7
  require('@babel/runtime-corejs3/core-js-stable/object/keys');
8
8
  require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols');
9
9
  require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor');
@@ -29,11 +29,10 @@ require('@babel/runtime-corejs3/helpers/createClass');
29
29
  require('@babel/runtime-corejs3/core-js-stable/object/assign');
30
30
  require('@commercetools-frontend/application-config');
31
31
  require('@commercetools-frontend/mc-html-template');
32
- require('../../dist/create-postcss-config-880af1a5.cjs.dev.js');
32
+ require('../../dist/create-postcss-config-1b021fb2.cjs.dev.js');
33
33
  require('@babel/runtime-corejs3/helpers/slicedToArray');
34
- require('../../dist/package-d8f5b403.cjs.dev.js');
35
- require('../../dist/has-jsx-runtime-aa5d21ee.cjs.dev.js');
36
- require('../../dist/optimizations-7789145e.cjs.dev.js');
34
+ require('../../dist/package-c8f39856.cjs.dev.js');
35
+ require('../../dist/optimizations-56be74d6.cjs.dev.js');
37
36
  require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
38
37
  require('@babel/runtime-corejs3/core-js-stable/object/entries');
39
38
  require('@babel/runtime-corejs3/core-js-stable/instance/includes');
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var createWebpackConfigForDevelopment = require('../../dist/create-webpack-config-for-development-22db7e21.cjs.prod.js');
6
- var createWebpackConfigForProduction = require('../../dist/create-webpack-config-for-production-da525cc3.cjs.prod.js');
5
+ var createWebpackConfigForDevelopment = require('../../dist/create-webpack-config-for-development-1db101e2.cjs.prod.js');
6
+ var createWebpackConfigForProduction = require('../../dist/create-webpack-config-for-production-a239ba22.cjs.prod.js');
7
7
  require('@babel/runtime-corejs3/core-js-stable/object/keys');
8
8
  require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols');
9
9
  require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor');
@@ -29,11 +29,10 @@ require('@babel/runtime-corejs3/helpers/createClass');
29
29
  require('@babel/runtime-corejs3/core-js-stable/object/assign');
30
30
  require('@commercetools-frontend/application-config');
31
31
  require('@commercetools-frontend/mc-html-template');
32
- require('../../dist/create-postcss-config-f732c04c.cjs.prod.js');
32
+ require('../../dist/create-postcss-config-434fe673.cjs.prod.js');
33
33
  require('@babel/runtime-corejs3/helpers/slicedToArray');
34
- require('../../dist/package-2bdb4e7b.cjs.prod.js');
35
- require('../../dist/has-jsx-runtime-c3202df5.cjs.prod.js');
36
- require('../../dist/optimizations-fb93514f.cjs.prod.js');
34
+ require('../../dist/package-dfc9c56b.cjs.prod.js');
35
+ require('../../dist/optimizations-da5a0cfa.cjs.prod.js');
37
36
  require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
38
37
  require('@babel/runtime-corejs3/core-js-stable/object/entries');
39
38
  require('@babel/runtime-corejs3/core-js-stable/instance/includes');
@@ -1,5 +1,5 @@
1
- export { c as createWebpackConfigForDevelopment } from '../../dist/create-webpack-config-for-development-fa4927c0.esm.js';
2
- export { c as createWebpackConfigForProduction } from '../../dist/create-webpack-config-for-production-cfb9e90a.esm.js';
1
+ export { c as createWebpackConfigForDevelopment } from '../../dist/create-webpack-config-for-development-fd981a20.esm.js';
2
+ export { c as createWebpackConfigForProduction } from '../../dist/create-webpack-config-for-production-bb66207f.esm.js';
3
3
  import '@babel/runtime-corejs3/core-js-stable/object/keys';
4
4
  import '@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols';
5
5
  import '@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor';
@@ -25,11 +25,10 @@ import '@babel/runtime-corejs3/helpers/createClass';
25
25
  import '@babel/runtime-corejs3/core-js-stable/object/assign';
26
26
  import '@commercetools-frontend/application-config';
27
27
  import '@commercetools-frontend/mc-html-template';
28
- import '../../dist/create-postcss-config-257247d7.esm.js';
28
+ import '../../dist/create-postcss-config-505c5a4e.esm.js';
29
29
  import '@babel/runtime-corejs3/helpers/slicedToArray';
30
- import '../../dist/package-8926f3f0.esm.js';
31
- import '../../dist/has-jsx-runtime-e3ecb09b.esm.js';
32
- import '../../dist/optimizations-bf991634.esm.js';
30
+ import '../../dist/package-02f0532d.esm.js';
31
+ import '../../dist/optimizations-54382f7b.esm.js';
33
32
  import '@babel/runtime-corejs3/core-js-stable/instance/reduce';
34
33
  import '@babel/runtime-corejs3/core-js-stable/object/entries';
35
34
  import '@babel/runtime-corejs3/core-js-stable/instance/includes';
@@ -1,15 +0,0 @@
1
- 'use strict';
2
-
3
- function hasJsxRuntime() {
4
- if (process.env.ENABLE_NEW_JSX_TRANSFORM !== 'true') {
5
- return false;
6
- }
7
- try {
8
- require.resolve('react/jsx-runtime');
9
- return true;
10
- } catch (e) {
11
- return false;
12
- }
13
- }
14
-
15
- exports.hasJsxRuntime = hasJsxRuntime;
@@ -1,15 +0,0 @@
1
- 'use strict';
2
-
3
- function hasJsxRuntime() {
4
- if (process.env.ENABLE_NEW_JSX_TRANSFORM !== 'true') {
5
- return false;
6
- }
7
- try {
8
- require.resolve('react/jsx-runtime');
9
- return true;
10
- } catch (e) {
11
- return false;
12
- }
13
- }
14
-
15
- exports.hasJsxRuntime = hasJsxRuntime;