@jetshop/core 6.5.8-alpha.1 → 6.5.8-alpha.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.
@@ -7,8 +7,9 @@ export interface Middleware {
7
7
  export interface CreateServerOptions {
8
8
  apolloServer: ApolloServer;
9
9
  }
10
- declare const createServer: ({ apolloServer, middlewares }: {
10
+ declare const createServer: ({ apolloServer, middlewares, useBrotliCompression }: {
11
11
  apolloServer?: ApolloServer;
12
12
  middlewares: Middleware[];
13
+ useBrotliCompression?: boolean;
13
14
  }) => Express;
14
15
  export default createServer;
@@ -12,20 +12,41 @@ process.on('unhandledRejection', (err) => {
12
12
  report(err, { reason: 'unhandledRejection' });
13
13
  throw err;
14
14
  });
15
- const createServer = ({ apolloServer, middlewares }) => {
15
+ /**
16
+ * Removes br from a request's Accept-Encoding so the compression middleware
17
+ * falls back to gzip. It offers no option to turn Brotli off directly.
18
+ */
19
+ const dropBrotliFromAcceptEncoding = (req, _res, next) => {
20
+ const accepted = req.headers['accept-encoding'];
21
+ if (typeof accepted === 'string') {
22
+ // Content codings are case-insensitive, so compare in lower case.
23
+ const remaining = accepted
24
+ .split(',')
25
+ .filter((encoding) => encoding.trim().split(';')[0].toLowerCase() !== 'br')
26
+ .join(',');
27
+ if (remaining !== accepted) {
28
+ req.headers['accept-encoding'] = remaining;
29
+ }
30
+ }
31
+ next();
32
+ };
33
+ const createServer = ({ apolloServer, middlewares, useBrotliCompression }) => {
16
34
  const app = express();
17
35
  // The Sentry.io request handler must be the first middleware on the app
18
36
  if (__USE_SENTRY__) {
19
37
  app.use(Sentry.Handlers.requestHandler());
20
38
  }
21
39
  app.set('trust proxy', true);
40
+ // The compression middleware prefers Brotli over gzip whenever the client
41
+ // offers it. A shop behind a CDN that already compresses gains nothing from
42
+ // paying for that here, so br only stays in the negotiation on request.
43
+ if (!useBrotliCompression) {
44
+ app.use(dropBrotliFromAcceptEncoding);
45
+ }
22
46
  app.use(compression({
23
- // Brotli when the client accepts it, gzip otherwise.
24
- //
25
- // Quality is set explicitly. zlib defaults Brotli to 11, which is meant
26
- // for build-time precompression and costs roughly 100x gzip per
27
- // response. At 5 the CPU matches gzip level 6 and the payload is about
28
- // 20% smaller.
47
+ // Quality 5 rather than the middleware's own default of 4. On a typical
48
+ // storefront document that is roughly 20% smaller than gzip level 6 for
49
+ // the same CPU, where 4 gives about 14% for half the CPU.
29
50
  brotli: {
30
51
  params: {
31
52
  [zlibConstants.BROTLI_PARAM_QUALITY]: 5
@@ -1 +1 @@
1
- {"version":3,"file":"createServer.js","sourceRoot":"","sources":["createServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAEvC,OAAO,OAAqD,MAAM,SAAS,CAAC;AAC5E,OAAO,WAAW,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,oBAAoB,MAAM,gDAAgD,CAAC;AAClF,OAAO,iBAAiB,MAAM,0BAA0B,CAAC;AACzD,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAE1C,qEAAqE;AACrE,6EAA6E;AAC7E,2DAA2D;AAC3D,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAU,EAAE,EAAE;IAC9C,MAAM,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAC9C,MAAM,GAAG,CAAC;AACZ,CAAC,CAAC,CAAC;AAeH,MAAM,YAAY,GAAG,CAAC,EACpB,YAAY,EACZ,WAAW,EAIZ,EAAW,EAAE;IACZ,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IAEtB,wEAAwE;IACxE,IAAI,cAAc,EAAE;QAClB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;KAC3C;IAED,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAC7B,GAAG,CAAC,GAAG,CACL,WAAW,CAAC;QACV,qDAAqD;QACrD,EAAE;QACF,wEAAwE;QACxE,gEAAgE;QAChE,uEAAuE;QACvE,eAAe;QACf,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,CAAC,aAAa,CAAC,oBAAoB,CAAC,EAAE,CAAC;aACxC;SACF;KACF,CAAC,CACH,CAAC;IACF,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC9B,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAE7B,IAAI,YAAY,EAAE;QAChB,YAAY,CAAC,eAAe,CAAC;YAC3B,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;KACJ;IACD,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACxB,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAEnE,GAAG,CAAC,GAAG,CACL,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;QAC5C,MAAM,EAAE,MAAM;KACf,CAAC,CACH,CAAC;IAEF,8DAA8D;IAC9D,IAAI,cAAc,EAAE;QAClB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;KACzC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"createServer.js","sourceRoot":"","sources":["createServer.ts"],"names":[],"mappings":"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"}
@@ -62,7 +62,7 @@ function validateBootOptions(opts) {
62
62
  export const createApp = (Component, userConfig) => __awaiter(void 0, void 0, void 0, function* () {
63
63
  var _a, _b;
64
64
  const config = validateBootOptions(userConfig);
65
- const { apolloConfig, sentry, schemaExtensions, apolloServerplugins, server, serverTrackers } = config;
65
+ const { apolloConfig, sentry, schemaExtensions, apolloServerplugins, server, serverTrackers, useBrotliCompression } = config;
66
66
  if (!checkRequiredFiles([templatePath, loadableStatsPath])) {
67
67
  console.error('checkRequiredFiles failed!');
68
68
  process.exit(1);
@@ -110,7 +110,8 @@ export const createApp = (Component, userConfig) => __awaiter(void 0, void 0, vo
110
110
  }
111
111
  const app = createServer({
112
112
  apolloServer,
113
- middlewares
113
+ middlewares,
114
+ useBrotliCompression
114
115
  });
115
116
  const globalClient = new PersistedApolloClient({
116
117
  createClientOpts: { apolloConfig }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,MAAM,qCAAqC,CAAC;AACxD,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,8EAA8E;AAC9E,iGAAiG;AACjG,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,kBAAkB,MAAM,oCAAoC,CAAC;AAEpE,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAC5D,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9E,OAAO,kBAAkB,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,gJAAgJ;AAChJ,OAAO,CAAC,0BAA0B,CAAC,CAAC;AACpC,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,UAAU,GAAG,QAAQ,CAAC;AAEtE,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,GAAG,aAAa,CAAC;AACpD,MAAM,iBAAiB,GAAG,KAAK,CAAC,cAAc,GAAG,sBAAsB,CAAC;AAMxE,SAAS,mBAAmB,CAAC,IAAiB;;IAC5C,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,OAAO,0CAAE,UAAU,CAAC,MAAM,EAAE;QAC3C,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE;YACnE,MAAM,CAAC,IAAI,CACT,mNAAmN,CACpN,CAAC;SACH;KACF;IAED,IACE,IAAI,CAAC,gBAAgB;QACrB,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;QAChC,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAChC;QACA,MAAM,CAAC,IAAI,CACT,qBAAqB,IAAI,CAAC,gBAAgB,CAAC,MAAM,4GAA4G,CAC9J,CAAC;KACH;IAED,IAAI,IAAI,CAAC,QAAQ,EAAE;QACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS;YAC1B,MAAM,CAAC,IAAI,CACT,kEAAkE,CACnE,CAAC;QACJ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY;YAC7B,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QAC3E,IACE,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc;YAC7B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;YAEvC,MAAM,CAAC,IAAI,CACT,yGAAyG,CAC1G,CAAC;KACL;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;QACrB,MAAM,IAAI,KAAK,CACb,+DAA+D,MAAM;aAClE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;aACxB,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;KACH;IAED,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,SAAkC,EAClC,UAAuB,EACL,EAAE;;IACpB,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,EACJ,YAAY,EACZ,MAAM,EACN,gBAAgB,EAChB,mBAAmB,EACnB,MAAM,EACN,cAAc,EACd,oBAAoB,EACrB,GAAG,MAAM,CAAC;IAEX,IAAI,CAAC,kBAAkB,CAAC,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC,EAAE;QAC1D,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IAED,IAAI,cAAc,EAAE;QAClB,IAAI,MAAM,EAAE;YACV,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SAC/B;KACF;IAED,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAEvD,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,IAAI,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,UAAU,0CAAE,MAAM,EAAE;QACvC,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,MAAM,mBAAmB,CAAC;gBACjC,UAAU,EAAE;oBACV,iBAAiB,CAAC;wBAChB,KAAK,EAAE,YAAY,CAAC,KAAK;wBACzB,MAAM,EAAE,YAAY,CAAC,MAAM;wBAC3B,QAAQ,EAAE,YAAY,CAAC,UAAU;qBAClC,CAAC;iBACH,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;aACpC,CAAC;SACH,CAAC,CAAC;KACJ;IACD,WAAW,CAAC,IAAI,CAAC;QACf,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,kBAAkB,CAAC,cAAc,IAAI,EAAE,CAAC;KAClD,CAAC,CAAC;IAEH,WAAW,CAAC,IAAI,CAAC;QACf,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,UAAU;KACpB,CAAC,CAAC;IAEH,iDAAiD;IACjD,IAAI,YAAY,GAAiB,IAAI,CAAC;IACtC,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,IAAI,YAAY,CAAC,aAAa,EAAE;QAC9B,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC;YACpC,YAAY;YACZ,UAAU,EAAE,gBAAgB;YAC5B,OAAO,EAAE,mBAAmB;SAC7B,CAAC,CAAC;QACH,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACjC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;KACtB;IAED,MAAM,GAAG,GAAG,YAAY,CAAC;QACvB,YAAY;QACZ,WAAW;QACX,oBAAoB;KACrB,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,IAAI,qBAAqB,CAAC;QAC7C,gBAAgB,EAAE,EAAE,YAAY,EAAE;KACnC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,SAAS,kBACjD,iBAAiB;QACjB,MAAM;QACN,YAAY,EACZ,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE,IAC5B,MAAM,EACT,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAErC,OAAO,GAAG,CAAC;AACb,CAAC,CAAA,CAAC;AAEF,MAAM,IAAI,GAAG,GAAG,EAAE,CAChB,eAAe,CACb,IAAI,EACJ,8JAA8J,CAC/J,CAAC;AAEJ,eAAe,IAAI,CAAC"}
@@ -95,6 +95,9 @@ export interface BootOptions {
95
95
  * Pass `true` to enable for every channel, or an array of channel IDs to enable
96
96
  * only on those channels. Defaults to `false` (Akamai). */
97
97
  useCloudflareImageTransformation?: boolean | number[];
98
+ /** Compress responses with Brotli as well as gzip. Only worth enabling where
99
+ * the CDN in front does not already compress. Defaults to `false` (gzip only). */
100
+ useBrotliCompression?: boolean;
98
101
  }
99
102
  interface Sentry {
100
103
  /** DSN used to track client side errors */
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigProvider.js","sourceRoot":"","sources":["ConfigProvider.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAgB,MAAM,OAAO,CAAC;AAM3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AA+H5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAC5C,SAAS,CACV,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,EAO9B;QAP8B,EAC7B,MAAM,EAAE,UAAU,EAClB,QAAQ,OAKT,EAJI,IAAI,cAHsB,sBAI9B,CADQ;IAKP,MAAM,MAAM,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC5C,OAAO,CACL,oBAAC,iBAAiB,CAAC,QAAQ,kBAAC,KAAK,EAAE,MAAM,IAAM,IAAI,GAChD,QAAQ,CACkB,CAC9B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ConfigProvider.js","sourceRoot":"","sources":["ConfigProvider.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAgB,MAAM,OAAO,CAAC;AAM3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAkI5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAC5C,SAAS,CACV,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,EAO9B;QAP8B,EAC7B,MAAM,EAAE,UAAU,EAClB,QAAQ,OAKT,EAJI,IAAI,cAHsB,sBAI9B,CADQ;IAKP,MAAM,MAAM,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC5C,OAAO,CACL,oBAAC,iBAAiB,CAAC,QAAQ,kBAAC,KAAK,EAAE,MAAM,IAAM,IAAI,GAChD,QAAQ,CACkB,CAC9B,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jetshop/core",
3
- "version": "6.5.8-alpha.1+32223335c",
3
+ "version": "6.5.8-alpha.2+0f699a429",
4
4
  "license": "MIT",
5
5
  "files": [
6
6
  "**/*.js",
@@ -113,5 +113,5 @@
113
113
  "react": "^18",
114
114
  "react-dom": "^18"
115
115
  },
116
- "gitHead": "32223335c87ddde86357527f1fe537a30568c2e5"
116
+ "gitHead": "0f699a429b4f4b5f0e2f30a4ee5b0eeaaca00888"
117
117
  }