@prezly/theme-kit-nextjs 10.9.0 → 10.9.2

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 (52) hide show
  1. package/README.md +73 -0
  2. package/build/adapters/app-helper/server.cjs +2 -4
  3. package/build/adapters/app-helper/server.mjs +2 -4
  4. package/build/adapters/intl/server.cjs +2 -3
  5. package/build/adapters/intl/server.mjs +2 -3
  6. package/build/adapters/metadata/lib/generateCategoryPageMetadata.cjs +5 -8
  7. package/build/adapters/metadata/lib/generateCategoryPageMetadata.mjs +5 -8
  8. package/build/adapters/metadata/lib/generateMediaGalleryPageMetadata.cjs +13 -8
  9. package/build/adapters/metadata/lib/generateMediaGalleryPageMetadata.mjs +13 -8
  10. package/build/adapters/metadata/lib/generateMediaPageMetadata.cjs +3 -5
  11. package/build/adapters/metadata/lib/generateMediaPageMetadata.mjs +3 -5
  12. package/build/adapters/metadata/lib/generateRootMetadata.cjs +14 -5
  13. package/build/adapters/metadata/lib/generateRootMetadata.mjs +14 -5
  14. package/build/adapters/metadata/lib/generateSearchPageMetadata.cjs +3 -5
  15. package/build/adapters/metadata/lib/generateSearchPageMetadata.mjs +3 -5
  16. package/build/adapters/metadata/lib/generateStoryPageMetadata.cjs +17 -10
  17. package/build/adapters/metadata/lib/generateStoryPageMetadata.mjs +17 -10
  18. package/build/adapters/metadata/lib/utils/generatePageMetadata.cjs +16 -7
  19. package/build/adapters/metadata/lib/utils/generatePageMetadata.mjs +16 -7
  20. package/build/adapters/metadata/server.cjs +1 -3
  21. package/build/adapters/metadata/server.mjs +1 -3
  22. package/build/adapters/prezly/cache/configure.d.ts +2 -0
  23. package/build/adapters/prezly/cache/redis.cjs +54 -22
  24. package/build/adapters/prezly/cache/redis.mjs +54 -22
  25. package/build/adapters/prezly/cache/redis.test.cjs +103 -0
  26. package/build/adapters/prezly/cache/redis.test.mjs +101 -0
  27. package/build/adapters/prezly/requests.cjs +152 -0
  28. package/build/adapters/prezly/requests.d.ts +17 -0
  29. package/build/adapters/prezly/requests.mjs +144 -0
  30. package/build/adapters/prezly/requests.test.cjs +201 -0
  31. package/build/adapters/prezly/requests.test.mjs +199 -0
  32. package/build/adapters/prezly/server.cjs +42 -18
  33. package/build/adapters/prezly/server.mjs +41 -18
  34. package/build/adapters/prezly/server.test.cjs +304 -0
  35. package/build/adapters/prezly/server.test.mjs +302 -0
  36. package/build/adapters/routing/lib/RoutingAdapter.client.cjs +5 -9
  37. package/build/adapters/routing/lib/RoutingAdapter.client.mjs +5 -9
  38. package/build/adapters/routing/lib/RoutingAdapter.server.cjs +5 -6
  39. package/build/adapters/routing/lib/RoutingAdapter.server.mjs +5 -6
  40. package/build/adapters/theme-settings/server.cjs +10 -1
  41. package/build/adapters/theme-settings/server.mjs +10 -1
  42. package/build/middleware/intl-middleware.cjs +22 -11
  43. package/build/middleware/intl-middleware.mjs +22 -11
  44. package/build/next-config/index.cjs +5 -7
  45. package/build/next-config/index.mjs +5 -7
  46. package/build/playwright/config.cjs +5 -5
  47. package/build/playwright/config.mjs +5 -5
  48. package/build/robots/server.cjs +1 -3
  49. package/build/robots/server.mjs +1 -3
  50. package/build/sentry/common.cjs +3 -7
  51. package/build/sentry/common.mjs +3 -7
  52. package/package.json +112 -109
@@ -0,0 +1,302 @@
1
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
2
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
4
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
5
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
6
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
7
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
8
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
10
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
11
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
12
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
13
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
14
+ import { Story, createPrezlyClient } from '@prezly/sdk';
15
+ import { ContentDelivery } from '@prezly/theme-kit-core';
16
+ import { createBoundedFetch, FetchScheduler } from "./requests.mjs";
17
+ import { PrezlyAdapter } from "./server.mjs";
18
+ var tick = () => new Promise(resolve => setImmediate(resolve));
19
+ var nativeFetch = globalThis.fetch;
20
+ var sequence = 0;
21
+ var config = {
22
+ newsroom: 'room',
23
+ accessToken: 'test-token',
24
+ baseUrl: 'https://example.test'
25
+ };
26
+ var cache = () => ({
27
+ memory: true,
28
+ latestVersion: 1,
29
+ namespace: "adapter-test-".concat(sequence++)
30
+ });
31
+ function response(name) {
32
+ return new Response(JSON.stringify({
33
+ newsroom: {
34
+ name,
35
+ stories_number: 600
36
+ }
37
+ }), {
38
+ headers: {
39
+ 'content-type': 'application/json'
40
+ }
41
+ });
42
+ }
43
+ afterEach(() => {
44
+ globalThis.fetch = nativeFetch;
45
+ });
46
+ it('coalesces 20 independently constructed adapters and then uses the warm cache', /*#__PURE__*/_asyncToGenerator(function* () {
47
+ var fetchMock = jest.fn(/*#__PURE__*/_asyncToGenerator(function* () {
48
+ return response('room');
49
+ }));
50
+ globalThis.fetch = fetchMock;
51
+ var caching = cache();
52
+ var client = () => PrezlyAdapter.connect(config, {
53
+ cache: caching
54
+ }).usePrezlyClient().contentDelivery;
55
+ var values = yield Promise.all(Array.from({
56
+ length: 20
57
+ }, () => client().newsroom()));
58
+ expect(values.every(value => value.name === 'room')).toBe(true);
59
+ expect(fetchMock).toHaveBeenCalledTimes(1);
60
+ yield tick();
61
+ yield client().newsroom();
62
+ expect(fetchMock).toHaveBeenCalledTimes(1);
63
+ }));
64
+ it.each([['token', {
65
+ accessToken: 'second-token'
66
+ }], ['source', {
67
+ baseUrl: 'https://another.example.test'
68
+ }], ['headers', {
69
+ headers: {
70
+ 'x-test-scope': 'second'
71
+ }
72
+ }]])('isolates concurrent and warm values by %s', /*#__PURE__*/function () {
73
+ var _ref3 = _asyncToGenerator(function* (_label, change) {
74
+ var fetchMock = jest.fn(/*#__PURE__*/function () {
75
+ var _ref4 = _asyncToGenerator(function* (url, init) {
76
+ return response(JSON.stringify([url, init === null || init === void 0 ? void 0 : init.headers]));
77
+ });
78
+ return function (_x3, _x4) {
79
+ return _ref4.apply(this, arguments);
80
+ };
81
+ }());
82
+ globalThis.fetch = fetchMock;
83
+ var caching = cache();
84
+ var a = () => PrezlyAdapter.connect(config, {
85
+ cache: caching
86
+ }).usePrezlyClient().contentDelivery;
87
+ var b = () => PrezlyAdapter.connect(_objectSpread(_objectSpread({}, config), change), {
88
+ cache: caching
89
+ }).usePrezlyClient().contentDelivery;
90
+ var _yield$Promise$all = yield Promise.all([a().newsroom(), b().newsroom()]),
91
+ _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2),
92
+ first = _yield$Promise$all2[0],
93
+ second = _yield$Promise$all2[1];
94
+ expect(first.name).not.toBe(second.name);
95
+ expect(fetchMock).toHaveBeenCalledTimes(2);
96
+ yield tick();
97
+ expect((yield a().newsroom()).name).toBe(first.name);
98
+ yield tick();
99
+ expect((yield b().newsroom()).name).toBe(second.name);
100
+ });
101
+ return function (_x, _x2) {
102
+ return _ref3.apply(this, arguments);
103
+ };
104
+ }());
105
+ it('isolates newsroom, theme, formats, namespace and invalidation version', /*#__PURE__*/_asyncToGenerator(function* () {
106
+ var fetchMock = jest.fn(/*#__PURE__*/_asyncToGenerator(function* () {
107
+ return response('room');
108
+ }));
109
+ globalThis.fetch = fetchMock;
110
+ var caching = cache();
111
+ var variants = [[config, caching], [_objectSpread(_objectSpread({}, config), {}, {
112
+ newsroom: 'another'
113
+ }), caching], [_objectSpread(_objectSpread({}, config), {}, {
114
+ theme: 'theme'
115
+ }), caching], [_objectSpread(_objectSpread({}, config), {}, {
116
+ formats: [Story.FormatVersion.SLATEJS_V6]
117
+ }), caching], [config, _objectSpread(_objectSpread({}, caching), {}, {
118
+ namespace: "".concat(caching.namespace, "-other")
119
+ })], [config, _objectSpread(_objectSpread({}, caching), {}, {
120
+ latestVersion: 2
121
+ })]];
122
+ yield Promise.all(variants.map(_ref7 => {
123
+ var _ref8 = _slicedToArray(_ref7, 2),
124
+ cfg = _ref8[0],
125
+ storage = _ref8[1];
126
+ return PrezlyAdapter.connect(cfg, {
127
+ cache: storage
128
+ }).usePrezlyClient().contentDelivery.newsroom();
129
+ }));
130
+ expect(fetchMock).toHaveBeenCalledTimes(6);
131
+ yield tick();
132
+ yield PrezlyAdapter.connect(config, {
133
+ cache: _objectSpread(_objectSpread({}, caching), {}, {
134
+ latestVersion: 3
135
+ })
136
+ }).usePrezlyClient().contentDelivery.newsroom();
137
+ expect(fetchMock).toHaveBeenCalledTimes(7);
138
+ }));
139
+ it('requires explicit scope to share custom fetch across adapter instances', /*#__PURE__*/_asyncToGenerator(function* () {
140
+ var fetchMock = jest.fn(/*#__PURE__*/_asyncToGenerator(function* () {
141
+ return response('room');
142
+ }));
143
+ var create = caching => PrezlyAdapter.connect(config, {
144
+ cache: caching,
145
+ fetch: fetchMock
146
+ }).usePrezlyClient().contentDelivery;
147
+ var unscoped = cache();
148
+ yield Promise.all([create(unscoped).newsroom(), create(unscoped).newsroom()]);
149
+ expect(fetchMock).toHaveBeenCalledTimes(2);
150
+ var scoped = _objectSpread(_objectSpread({}, cache()), {}, {
151
+ requestScope: 'immutable-custom-transport'
152
+ });
153
+ yield Promise.all([create(scoped).newsroom(), create(scoped).newsroom()]);
154
+ expect(fetchMock).toHaveBeenCalledTimes(3);
155
+ }));
156
+ it('does not buffer or change calls made using the raw SDK client', /*#__PURE__*/_asyncToGenerator(function* () {
157
+ var result = response('raw');
158
+ var read = jest.spyOn(result, 'arrayBuffer');
159
+ var fetchMock = jest.fn(/*#__PURE__*/function () {
160
+ var _ref10 = _asyncToGenerator(function* (_input, _init) {
161
+ return result;
162
+ });
163
+ return function (_x5, _x6) {
164
+ return _ref10.apply(this, arguments);
165
+ };
166
+ }());
167
+ var _PrezlyAdapter$connec = PrezlyAdapter.connect(config, {
168
+ cache: cache(),
169
+ fetch: fetchMock
170
+ }).usePrezlyClient(),
171
+ client = _PrezlyAdapter$connec.client;
172
+ expect((yield client.newsrooms.get('room')).name).toBe('raw');
173
+ expect(read).not.toHaveBeenCalled();
174
+ expect(fetchMock.mock.calls[0][1]).not.toHaveProperty('signal');
175
+ }));
176
+ it('recovers from an actual SDK error without poisoning the shared key', /*#__PURE__*/_asyncToGenerator(function* () {
177
+ var fetchMock = jest.fn(/*#__PURE__*/_asyncToGenerator(function* () {
178
+ return response('recovered');
179
+ }));
180
+ fetchMock.mockRejectedValueOnce(new Error('offline'));
181
+ globalThis.fetch = fetchMock;
182
+ var caching = cache();
183
+ var client = () => PrezlyAdapter.connect(config, {
184
+ cache: caching
185
+ }).usePrezlyClient().contentDelivery;
186
+ var failed = yield Promise.allSettled(Array.from({
187
+ length: 20
188
+ }, () => client().newsroom()));
189
+ expect(failed.every(value => value.status === 'rejected')).toBe(true);
190
+ expect(fetchMock).toHaveBeenCalledTimes(1);
191
+ expect((yield client().newsroom()).name).toBe('recovered');
192
+ expect(fetchMock).toHaveBeenCalledTimes(2);
193
+ }));
194
+ it('fetches every allStories page through the SDK with only one transport slot', /*#__PURE__*/_asyncToGenerator(function* () {
195
+ var fetchMock = jest.fn(/*#__PURE__*/function () {
196
+ var _ref14 = _asyncToGenerator(function* (url, init) {
197
+ if (String(url).endsWith('/room')) return response('room');
198
+ var _JSON$parse = JSON.parse(init.body),
199
+ offset = _JSON$parse.offset;
200
+ return new Response(JSON.stringify({
201
+ stories: [offset]
202
+ }));
203
+ });
204
+ return function (_x7, _x8) {
205
+ return _ref14.apply(this, arguments);
206
+ };
207
+ }());
208
+ var sdk = createPrezlyClient(_objectSpread(_objectSpread({}, config), {}, {
209
+ fetch: createBoundedFetch(fetchMock, new FetchScheduler({
210
+ concurrency: 1
211
+ }))
212
+ }));
213
+ var caching = {
214
+ storage: ContentDelivery.createSharedMemoryCache(),
215
+ scope: "aggregate-".concat(sequence++),
216
+ latestVersion: 1
217
+ };
218
+ var clients = Array.from({
219
+ length: 20
220
+ }, () => ContentDelivery.createClient(sdk, 'room', undefined, {
221
+ cache: caching
222
+ }));
223
+ expect(yield Promise.all(clients.map(client => client.allStories()))).toEqual(Array.from({
224
+ length: 20
225
+ }, () => [0, 200, 400]));
226
+ expect(fetchMock).toHaveBeenCalledTimes(4);
227
+ }));
228
+ it('handles a large newsroom without overflowing its own global transport queue', /*#__PURE__*/_asyncToGenerator(function* () {
229
+ var active = 0;
230
+ var peak = 0;
231
+ var fetchMock = jest.fn(/*#__PURE__*/function () {
232
+ var _ref16 = _asyncToGenerator(function* (url, init) {
233
+ if (String(url).endsWith('/room')) {
234
+ return new Response(JSON.stringify({
235
+ newsroom: {
236
+ name: 'large',
237
+ stories_number: 60000
238
+ }
239
+ }));
240
+ }
241
+ active++;
242
+ peak = Math.max(active, peak);
243
+ yield tick();
244
+ active--;
245
+ var _JSON$parse2 = JSON.parse(init.body),
246
+ offset = _JSON$parse2.offset;
247
+ return new Response(JSON.stringify({
248
+ stories: [offset]
249
+ }));
250
+ });
251
+ return function (_x9, _x0) {
252
+ return _ref16.apply(this, arguments);
253
+ };
254
+ }());
255
+ globalThis.fetch = fetchMock;
256
+ var caching = cache();
257
+ var request = () => PrezlyAdapter.connect(config, {
258
+ cache: caching
259
+ }).usePrezlyClient().contentDelivery.allStories();
260
+ var expected = Array.from({
261
+ length: 300
262
+ }, (_, index) => index * 200);
263
+ expect(yield Promise.all(Array.from({
264
+ length: 20
265
+ }, request))).toEqual(Array.from({
266
+ length: 20
267
+ }, () => expected));
268
+ expect(fetchMock).toHaveBeenCalledTimes(301);
269
+ expect(peak).toBeLessThanOrEqual(8);
270
+ }));
271
+ it('stops producing later story batches on failure and can retry the aggregate', /*#__PURE__*/_asyncToGenerator(function* () {
272
+ var fail = true;
273
+ var fetchMock = jest.fn(/*#__PURE__*/function () {
274
+ var _ref18 = _asyncToGenerator(function* (url, init) {
275
+ if (String(url).endsWith('/room')) {
276
+ return new Response(JSON.stringify({
277
+ newsroom: {
278
+ stories_number: 60000
279
+ }
280
+ }));
281
+ }
282
+ var _JSON$parse3 = JSON.parse(init.body),
283
+ offset = _JSON$parse3.offset;
284
+ if (offset === 0 && fail) throw new Error('page unavailable');
285
+ return new Response(JSON.stringify({
286
+ stories: [offset]
287
+ }));
288
+ });
289
+ return function (_x1, _x10) {
290
+ return _ref18.apply(this, arguments);
291
+ };
292
+ }());
293
+ globalThis.fetch = fetchMock;
294
+ var adapter = PrezlyAdapter.connect(config, {
295
+ cache: cache()
296
+ });
297
+ yield expect(adapter.usePrezlyClient().contentDelivery.allStories()).rejects.toThrow('page unavailable');
298
+ yield tick();
299
+ expect(fetchMock).toHaveBeenCalledTimes(9); // newsroom + the first bounded batch only
300
+ fail = false;
301
+ expect(yield adapter.usePrezlyClient().contentDelivery.allStories()).toHaveLength(300);
302
+ }));
@@ -14,9 +14,7 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
14
14
  function connect() {
15
15
  var context = /*#__PURE__*/(0, _react.createContext)(undefined);
16
16
  function RoutingContextProvider(props) {
17
- var {
18
- children
19
- } = props,
17
+ var children = props.children,
20
18
  value = _objectWithoutProperties(props, _excluded);
21
19
  return /*#__PURE__*/_react.default.createElement(context.Provider, {
22
20
  value: value
@@ -27,12 +25,10 @@ function connect() {
27
25
  if (!value) {
28
26
  throw new Error('`useRouting()` requires a RoutingContextProvider defined above the tree, but there is no context provided.');
29
27
  }
30
- var {
31
- routes,
32
- locales,
33
- defaultLocale,
34
- toLocaleSlug
35
- } = value;
28
+ var routes = value.routes,
29
+ locales = value.locales,
30
+ defaultLocale = value.defaultLocale,
31
+ toLocaleSlug = value.toLocaleSlug;
36
32
  var generateUrl = (0, _react.useCallback)(function (routeName) {
37
33
  var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
38
34
  return _themeKitCore.Routing.generateUrlFromPattern(routes[routeName], params, {
@@ -8,9 +8,7 @@ import React, { createContext, useCallback, useContext } from 'react';
8
8
  export function connect() {
9
9
  var context = /*#__PURE__*/createContext(undefined);
10
10
  function RoutingContextProvider(props) {
11
- var {
12
- children
13
- } = props,
11
+ var children = props.children,
14
12
  value = _objectWithoutProperties(props, _excluded);
15
13
  return /*#__PURE__*/React.createElement(context.Provider, {
16
14
  value: value
@@ -21,12 +19,10 @@ export function connect() {
21
19
  if (!value) {
22
20
  throw new Error('`useRouting()` requires a RoutingContextProvider defined above the tree, but there is no context provided.');
23
21
  }
24
- var {
25
- routes,
26
- locales,
27
- defaultLocale,
28
- toLocaleSlug
29
- } = value;
22
+ var routes = value.routes,
23
+ locales = value.locales,
24
+ defaultLocale = value.defaultLocale,
25
+ toLocaleSlug = value.toLocaleSlug;
30
26
  var generateUrl = useCallback(function (routeName) {
31
27
  var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
32
28
  return Routing.generateUrlFromPattern(routes[routeName], params, {
@@ -14,12 +14,11 @@ function connect(createRouter, config) {
14
14
  function _useRouting() {
15
15
  _useRouting = _asyncToGenerator(function* () {
16
16
  var router = createRouter();
17
- var {
18
- locales,
19
- defaultLocale,
20
- toLocaleSlug,
21
- origin
22
- } = yield _themeKitCore.AsyncResolvable.resolve(config);
17
+ var _yield$AsyncResolvabl = yield _themeKitCore.AsyncResolvable.resolve(config),
18
+ locales = _yield$AsyncResolvabl.locales,
19
+ defaultLocale = _yield$AsyncResolvabl.defaultLocale,
20
+ toLocaleSlug = _yield$AsyncResolvabl.toLocaleSlug,
21
+ origin = _yield$AsyncResolvabl.origin;
23
22
  return {
24
23
  router,
25
24
  generateUrl(routeName) {
@@ -8,12 +8,11 @@ export function connect(createRouter, config) {
8
8
  function _useRouting() {
9
9
  _useRouting = _asyncToGenerator(function* () {
10
10
  var router = createRouter();
11
- var {
12
- locales,
13
- defaultLocale,
14
- toLocaleSlug,
15
- origin
16
- } = yield AsyncResolvable.resolve(config);
11
+ var _yield$AsyncResolvabl = yield AsyncResolvable.resolve(config),
12
+ locales = _yield$AsyncResolvabl.locales,
13
+ defaultLocale = _yield$AsyncResolvabl.defaultLocale,
14
+ toLocaleSlug = _yield$AsyncResolvabl.toLocaleSlug,
15
+ origin = _yield$AsyncResolvabl.origin;
17
16
  return {
18
17
  router,
19
18
  generateUrl(routeName) {
@@ -11,6 +11,12 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
11
11
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
12
12
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
13
13
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
14
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
15
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
16
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
17
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
18
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
19
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
14
20
  function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
15
21
  function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
16
22
  var ThemeSettingsAdapter;
@@ -21,7 +27,10 @@ var ThemeSettingsAdapter;
21
27
  }
22
28
  function _useThemeSettings() {
23
29
  _useThemeSettings = _asyncToGenerator(function* () {
24
- var [defaults, settings] = yield _themeKitCore.AsyncResolvable.resolve(config.defaults, config.settings);
30
+ var _yield$AsyncResolvabl = yield _themeKitCore.AsyncResolvable.resolve(config.defaults, config.settings),
31
+ _yield$AsyncResolvabl2 = _slicedToArray(_yield$AsyncResolvabl, 2),
32
+ defaults = _yield$AsyncResolvabl2[0],
33
+ settings = _yield$AsyncResolvabl2[1];
25
34
  return _objectSpread(_objectSpread({}, defaults), (0, _omitUndefined.omitUndefined)(settings !== null && settings !== void 0 ? settings : {}));
26
35
  });
27
36
  return _useThemeSettings.apply(this, arguments);
@@ -3,6 +3,12 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
3
3
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
4
4
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
5
5
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
6
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
7
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
8
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
9
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
10
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
11
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
6
12
  function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
7
13
  function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
8
14
  import { AsyncResolvable } from '@prezly/theme-kit-core';
@@ -15,7 +21,10 @@ export var ThemeSettingsAdapter;
15
21
  }
16
22
  function _useThemeSettings() {
17
23
  _useThemeSettings = _asyncToGenerator(function* () {
18
- var [defaults, settings] = yield AsyncResolvable.resolve(config.defaults, config.settings);
24
+ var _yield$AsyncResolvabl = yield AsyncResolvable.resolve(config.defaults, config.settings),
25
+ _yield$AsyncResolvabl2 = _slicedToArray(_yield$AsyncResolvabl, 2),
26
+ defaults = _yield$AsyncResolvabl2[0],
27
+ settings = _yield$AsyncResolvabl2[1];
19
28
  return _objectSpread(_objectSpread({}, defaults), omitUndefined(settings !== null && settings !== void 0 ? settings : {}));
20
29
  });
21
30
  return _useThemeSettings.apply(this, arguments);
@@ -16,6 +16,12 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
16
16
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
17
17
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
18
18
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
19
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
20
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
21
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
22
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
23
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
24
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
19
25
  function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
20
26
  function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
21
27
  /** @see Configuration.localeCodeHeader */
@@ -29,16 +35,18 @@ function handle(_x, _x2) {
29
35
  function _handle() {
30
36
  _handle = _asyncToGenerator(function* (request, config) {
31
37
  var _ref2, _ref3;
32
- var {
33
- router,
34
- localeCodeHeader = DEFAULT_LOCALE_CODE_HEADER,
35
- toLocaleSlug = _themeKitCore.Routing.getShortestLocaleSlug
36
- } = config;
37
- var [defaultLocale, locales] = yield _themeKitCore.AsyncResolvable.resolve(config.defaultLocale, config.locales);
38
- var {
39
- pathname,
40
- searchParams
41
- } = request.nextUrl;
38
+ var router = config.router,
39
+ _config$localeCodeHea = config.localeCodeHeader,
40
+ localeCodeHeader = _config$localeCodeHea === void 0 ? DEFAULT_LOCALE_CODE_HEADER : _config$localeCodeHea,
41
+ _config$toLocaleSlug = config.toLocaleSlug,
42
+ toLocaleSlug = _config$toLocaleSlug === void 0 ? _themeKitCore.Routing.getShortestLocaleSlug : _config$toLocaleSlug;
43
+ var _yield$AsyncResolvabl = yield _themeKitCore.AsyncResolvable.resolve(config.defaultLocale, config.locales),
44
+ _yield$AsyncResolvabl2 = _slicedToArray(_yield$AsyncResolvabl, 2),
45
+ defaultLocale = _yield$AsyncResolvabl2[0],
46
+ locales = _yield$AsyncResolvabl2[1];
47
+ var _request$nextUrl = request.nextUrl,
48
+ pathname = _request$nextUrl.pathname,
49
+ searchParams = _request$nextUrl.searchParams;
42
50
  var match = router.match(pathname, searchParams, {
43
51
  isSupportedLocale(localeSlug) {
44
52
  return Boolean(_themeKitCore.Routing.matchLocaleSlug(localeSlug, locales));
@@ -49,7 +57,10 @@ function _handle() {
49
57
  if (!match) {
50
58
  var _ref;
51
59
  // Maybe, we can pull the first `/xx/` portion and use it for Intl.
52
- var [possiblyLocaleSlug = ''] = pathname.split('/').filter(Boolean);
60
+ var _pathname$split$filte = pathname.split('/').filter(Boolean),
61
+ _pathname$split$filte2 = _slicedToArray(_pathname$split$filte, 1),
62
+ _pathname$split$filte3 = _pathname$split$filte2[0],
63
+ possiblyLocaleSlug = _pathname$split$filte3 === void 0 ? '' : _pathname$split$filte3;
53
64
  var _localeCode = (_ref = isTheoreticallySupportedLocaleSlug(possiblyLocaleSlug) ? _themeKitCore.Routing.matchLocaleSlug(possiblyLocaleSlug, locales) : undefined) !== null && _ref !== void 0 ? _ref :
54
65
  // or just fallback to the default one
55
66
  defaultLocale;
@@ -3,6 +3,12 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
3
3
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
4
4
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
5
5
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
6
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
7
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
8
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
9
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
10
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
11
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
6
12
  function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
7
13
  function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
8
14
  import { AsyncResolvable, Routing } from '@prezly/theme-kit-core';
@@ -21,16 +27,18 @@ export function handle(_x, _x2) {
21
27
  function _handle() {
22
28
  _handle = _asyncToGenerator(function* (request, config) {
23
29
  var _ref2, _ref3;
24
- var {
25
- router,
26
- localeCodeHeader = DEFAULT_LOCALE_CODE_HEADER,
27
- toLocaleSlug = Routing.getShortestLocaleSlug
28
- } = config;
29
- var [defaultLocale, locales] = yield AsyncResolvable.resolve(config.defaultLocale, config.locales);
30
- var {
31
- pathname,
32
- searchParams
33
- } = request.nextUrl;
30
+ var router = config.router,
31
+ _config$localeCodeHea = config.localeCodeHeader,
32
+ localeCodeHeader = _config$localeCodeHea === void 0 ? DEFAULT_LOCALE_CODE_HEADER : _config$localeCodeHea,
33
+ _config$toLocaleSlug = config.toLocaleSlug,
34
+ toLocaleSlug = _config$toLocaleSlug === void 0 ? Routing.getShortestLocaleSlug : _config$toLocaleSlug;
35
+ var _yield$AsyncResolvabl = yield AsyncResolvable.resolve(config.defaultLocale, config.locales),
36
+ _yield$AsyncResolvabl2 = _slicedToArray(_yield$AsyncResolvabl, 2),
37
+ defaultLocale = _yield$AsyncResolvabl2[0],
38
+ locales = _yield$AsyncResolvabl2[1];
39
+ var _request$nextUrl = request.nextUrl,
40
+ pathname = _request$nextUrl.pathname,
41
+ searchParams = _request$nextUrl.searchParams;
34
42
  var match = router.match(pathname, searchParams, {
35
43
  isSupportedLocale(localeSlug) {
36
44
  return Boolean(Routing.matchLocaleSlug(localeSlug, locales));
@@ -41,7 +49,10 @@ function _handle() {
41
49
  if (!match) {
42
50
  var _ref;
43
51
  // Maybe, we can pull the first `/xx/` portion and use it for Intl.
44
- var [possiblyLocaleSlug = ''] = pathname.split('/').filter(Boolean);
52
+ var _pathname$split$filte = pathname.split('/').filter(Boolean),
53
+ _pathname$split$filte2 = _slicedToArray(_pathname$split$filte, 1),
54
+ _pathname$split$filte3 = _pathname$split$filte2[0],
55
+ possiblyLocaleSlug = _pathname$split$filte3 === void 0 ? '' : _pathname$split$filte3;
45
56
  var _localeCode = (_ref = isTheoreticallySupportedLocaleSlug(possiblyLocaleSlug) ? Routing.matchLocaleSlug(possiblyLocaleSlug, locales) : undefined) !== null && _ref !== void 0 ? _ref :
46
57
  // or just fallback to the default one
47
58
  defaultLocale;
@@ -12,15 +12,13 @@ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object
12
12
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
13
13
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
14
14
  function createNextConfig() {
15
- var {
16
- recommendedHeaders = true
17
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
15
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
16
+ _ref$recommendedHeade = _ref.recommendedHeaders,
17
+ recommendedHeaders = _ref$recommendedHeade === void 0 ? true : _ref$recommendedHeade;
18
18
  return function withPrezlyConfig(config) {
19
19
  var _config$images;
20
- var {
21
- headers: _headers,
22
- basePath
23
- } = config;
20
+ var _headers = config.headers,
21
+ basePath = config.basePath;
24
22
  return _objectSpread(_objectSpread(_objectSpread({}, config), recommendedHeaders && {
25
23
  headers: function () {
26
24
  var _headers2 = _asyncToGenerator(function* () {
@@ -6,15 +6,13 @@ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object
6
6
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
7
7
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
8
  export function createNextConfig() {
9
- var {
10
- recommendedHeaders = true
11
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
9
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
10
+ _ref$recommendedHeade = _ref.recommendedHeaders,
11
+ recommendedHeaders = _ref$recommendedHeade === void 0 ? true : _ref$recommendedHeade;
12
12
  return function withPrezlyConfig(config) {
13
13
  var _config$images;
14
- var {
15
- headers: _headers,
16
- basePath
17
- } = config;
14
+ var _headers = config.headers,
15
+ basePath = config.basePath;
18
16
  return _objectSpread(_objectSpread(_objectSpread({}, config), recommendedHeaders && {
19
17
  headers: function () {
20
18
  var _headers2 = _asyncToGenerator(function* () {
@@ -16,11 +16,11 @@ var DEFAULT_BASE_URL = 'http://localhost:3000';
16
16
  * See https://playwright.dev/docs/test-configuration.
17
17
  */
18
18
  function createPlaywrightConfig(_ref) {
19
- var {
20
- testDir,
21
- baseUrl = DEFAULT_BASE_URL,
22
- ci = false
23
- } = _ref;
19
+ var testDir = _ref.testDir,
20
+ _ref$baseUrl = _ref.baseUrl,
21
+ baseUrl = _ref$baseUrl === void 0 ? DEFAULT_BASE_URL : _ref$baseUrl,
22
+ _ref$ci = _ref.ci,
23
+ ci = _ref$ci === void 0 ? false : _ref$ci;
24
24
  return {
25
25
  testDir,
26
26
  /* Maximum time one test can run for. */
@@ -10,11 +10,11 @@ var DEFAULT_BASE_URL = 'http://localhost:3000';
10
10
  * See https://playwright.dev/docs/test-configuration.
11
11
  */
12
12
  export function createPlaywrightConfig(_ref) {
13
- var {
14
- testDir,
15
- baseUrl = DEFAULT_BASE_URL,
16
- ci = false
17
- } = _ref;
13
+ var testDir = _ref.testDir,
14
+ _ref$baseUrl = _ref.baseUrl,
15
+ baseUrl = _ref$baseUrl === void 0 ? DEFAULT_BASE_URL : _ref$baseUrl,
16
+ _ref$ci = _ref.ci,
17
+ ci = _ref$ci === void 0 ? false : _ref$ci;
18
18
  return {
19
19
  testDir,
20
20
  /* Maximum time one test can run for. */