reactivated 0.28.1 → 0.28.2-a1334

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.
@@ -31,6 +31,8 @@ const esbuild_1 = __importDefault(require("@linaria/esbuild"));
31
31
  const esbuild_plugin_1 = require("@vanilla-extract/esbuild-plugin");
32
32
  const esbuild = __importStar(require("esbuild"));
33
33
  const esbuild_plugin_import_glob_1 = __importDefault(require("esbuild-plugin-import-glob"));
34
+ const immer_1 = __importDefault(require("immer"));
35
+ const config_1 = require("./config");
34
36
  const entryNames = process.argv.slice(2);
35
37
  const entryPoints = Object.fromEntries(entryNames.map((entry) => [entry, `./client/${entry}.tsx`]));
36
38
  const production = process.env.NODE_ENV === "production";
@@ -40,8 +42,7 @@ const env = {
40
42
  BUILD_VERSION: process.env.BUILD_VERSION,
41
43
  TAG_VERSION: process.env.TAG_VERSION,
42
44
  };
43
- esbuild
44
- .build({
45
+ const defaultConfig = {
45
46
  entryPoints,
46
47
  bundle: true,
47
48
  // We use terser to minify because esbuild breaks safari sourcemaps.
@@ -84,6 +85,7 @@ esbuild
84
85
  (0, esbuild_plugin_1.vanillaExtractPlugin)({ identifiers }),
85
86
  (0, esbuild_1.default)({ sourceMap: true, esbuildOptions: { sourcemap: "inline" } }),
86
87
  ],
87
- })
88
- .catch(() => process.exit(1));
88
+ };
89
+ const finalConfig = (0, immer_1.default)(defaultConfig, (0, config_1.loadConfig)().clientBuildConfig);
90
+ esbuild.build(finalConfig).catch(() => process.exit(1));
89
91
  //# sourceMappingURL=build.client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"build.client.js","sourceRoot":"","sources":["../src/build.client.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,+DAAuC;AACvC,oEAAqE;AACrE,iDAAmC;AACnC,4FAA0D;AAE1D,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEzC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAClC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,KAAK,MAAM,CAAC,CAAC,CAC9D,CAAC;AAEF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;AACzD,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AAEnD,MAAM,GAAG,GAAG;IACR,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa;IACnD,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;IACxC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW;CACvC,CAAC;AAEF,OAAO;KACF,KAAK,CAAC;IACH,WAAW;IACX,MAAM,EAAE,IAAI;IACZ,oEAAoE;IACpE,sEAAsE;IACtE,MAAM,EAAE,KAAK;IACb,2CAA2C;IAC3C,aAAa,EAAE,MAAM;IACrB,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE,eAAe;IACvB,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,QAAQ;IAChB,gBAAgB,EAAE,IAAI;IACtB,KAAK,EAAE,UAAU,KAAK,KAAK;IAC3B,QAAQ,EAAE,CAAC,QAAQ,EAAE,0BAA0B,CAAC;IAChD,MAAM,EAAE;QACJ,iEAAiE;QACjE,+BAA+B;QAC/B,sBAAsB,EAAE,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe;QACrE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAC,GAAG,EAAC,CAAC;QAE9B,4BAA4B;QAC5B,MAAM,EAAE,IAAI;KACf;IACD,MAAM,EAAE;QACJ,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,MAAM;KACnB;IACD,OAAO,EAAE;QACL,IAAA,oCAAgB,GAAE;QAClB,4DAA4D;QAC5D,gEAAgE;QAChE,UAAU;QACV,gEAAgE;QAChE,YAAY;QACZ,IAAA,qCAAoB,EAAC,EAAC,WAAW,EAAC,CAAC;QACnC,IAAA,iBAAO,EAAC,EAAC,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,EAAC,SAAS,EAAE,QAAQ,EAAC,EAAC,CAAC;KACpE;CACJ,CAAC;KACD,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"build.client.js","sourceRoot":"","sources":["../src/build.client.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,+DAAuC;AACvC,oEAAqE;AACrE,iDAAmC;AACnC,4FAA0D;AAC1D,kDAA4B;AAC5B,qCAAoC;AAEpC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEzC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAClC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,KAAK,MAAM,CAAC,CAAC,CAC9D,CAAC;AAEF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;AACzD,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AAEnD,MAAM,GAAG,GAAG;IACR,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa;IACnD,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;IACxC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW;CACvC,CAAC;AAEF,MAAM,aAAa,GAAmC;IAClD,WAAW;IACX,MAAM,EAAE,IAAI;IACZ,oEAAoE;IACpE,sEAAsE;IACtE,MAAM,EAAE,KAAK;IACb,2CAA2C;IAC3C,aAAa,EAAE,MAAM;IACrB,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE,eAAe;IACvB,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,QAAQ;IAChB,gBAAgB,EAAE,IAAI;IACtB,KAAK,EAAE,UAAU,KAAK,KAAK;IAC3B,QAAQ,EAAE,CAAC,QAAQ,EAAE,0BAA0B,CAAC;IAChD,MAAM,EAAE;QACJ,iEAAiE;QACjE,+BAA+B;QAC/B,sBAAsB,EAAE,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe;QACrE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAC,GAAG,EAAC,CAAC;QAE9B,4BAA4B;QAC5B,MAAM,EAAE,IAAI;KACf;IACD,MAAM,EAAE;QACJ,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,MAAM;KACnB;IACD,OAAO,EAAE;QACL,IAAA,oCAAgB,GAAE;QAClB,4DAA4D;QAC5D,gEAAgE;QAChE,UAAU;QACV,gEAAgE;QAChE,YAAY;QACZ,IAAA,qCAAoB,EAAC,EAAC,WAAW,EAAC,CAAC;QACnC,IAAA,iBAAO,EAAC,EAAC,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,EAAC,SAAS,EAAE,QAAQ,EAAC,EAAC,CAAC;KACpE;CACJ,CAAC;AAEF,MAAM,WAAW,GAAG,IAAA,eAAO,EAAC,aAAa,EAAE,IAAA,mBAAU,GAAE,CAAC,iBAAiB,CAAC,CAAC;AAE3E,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -31,16 +31,17 @@ const esbuild_1 = __importDefault(require("@linaria/esbuild"));
31
31
  const esbuild_plugin_1 = require("@vanilla-extract/esbuild-plugin");
32
32
  const esbuild = __importStar(require("esbuild"));
33
33
  const esbuild_plugin_import_glob_1 = __importDefault(require("esbuild-plugin-import-glob"));
34
+ const immer_1 = __importDefault(require("immer"));
35
+ const config_1 = require("./config");
34
36
  let server = null;
35
37
  const CACHE_KEY = `${process.cwd()}/node_modules/_reactivated/renderer.js`;
36
38
  const production = process.env.NODE_ENV === "production";
37
39
  const identifiers = production ? "short" : "debug";
38
- esbuild
39
- .build({
40
+ const defaultConfig = {
40
41
  stdin: {
41
42
  contents: `
42
- export {server} from "reactivated/dist/renderer";
43
- `,
43
+ export {server} from "reactivated/dist/renderer";
44
+ `,
44
45
  resolveDir: process.cwd(),
45
46
  loader: "ts",
46
47
  },
@@ -72,7 +73,10 @@ esbuild
72
73
  (0, esbuild_plugin_1.vanillaExtractPlugin)({ identifiers }),
73
74
  (0, esbuild_1.default)({ sourceMap: true }),
74
75
  ],
75
- })
76
+ };
77
+ const finalConfig = (0, immer_1.default)(defaultConfig, (0, config_1.loadConfig)().rendererBuildConfig);
78
+ esbuild
79
+ .build(finalConfig)
76
80
  .then(() => {
77
81
  if (production === false) {
78
82
  restartServer();
@@ -1 +1 @@
1
- {"version":3,"file":"build.renderer.js","sourceRoot":"","sources":["../src/build.renderer.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,+DAAuC;AACvC,oEAAqE;AACrE,iDAAmC;AACnC,4FAA0D;AAI1D,IAAI,MAAM,GAAuB,IAAI,CAAC;AAEtC,MAAM,SAAS,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,wCAAwC,CAAC;AAC3E,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;AACzD,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AAEnD,OAAO;KACF,KAAK,CAAC;IACH,KAAK,EAAE;QACH,QAAQ,EAAE;;aAET;QACD,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE;QACzB,MAAM,EAAE,IAAI;KACf;IACD,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,MAAM;IAChB,OAAO,EAAE,yCAAyC;IAClD,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,QAAQ;IAChB,gBAAgB,EAAE,IAAI;IACtB,gEAAgE;IAChE,kEAAkE;IAClE,yBAAyB;IACzB,SAAS,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC;IAC5C,KAAK,EACD,UAAU,KAAK,IAAI;QACf,CAAC,CAAC,KAAK;QACP,CAAC,CAAC;YACI,SAAS,EAAE,GAAG,EAAE;gBACZ,aAAa,EAAE,CAAC;YACpB,CAAC;SACJ;IACX,OAAO,EAAE;QACL,IAAA,oCAAgB,GAAE;QAClB,4DAA4D;QAC5D,gEAAgE;QAChE,UAAU;QACV,gEAAgE;QAChE,YAAY;QACZ,IAAA,qCAAoB,EAAC,EAAC,WAAW,EAAC,CAAC;QACnC,IAAA,iBAAO,EAAC,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC;KAC7B;CACJ,CAAC;KACD,IAAI,CAAC,GAAG,EAAE;IACP,IAAI,UAAU,KAAK,KAAK,EAAE;QACtB,aAAa,EAAE,CAAC;KACnB;AACL,CAAC,CAAC;KACD,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAElC,MAAM,aAAa,GAAG,GAAG,EAAE;IACvB,IAAI,MAAM,IAAI,IAAI,EAAE;QAChB,MAAM,CAAC,KAAK,EAAE,CAAC;KAClB;IAED,OAAO,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAChC,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;AACvC,CAAC,CAAC"}
1
+ {"version":3,"file":"build.renderer.js","sourceRoot":"","sources":["../src/build.renderer.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,+DAAuC;AACvC,oEAAqE;AACrE,iDAAmC;AACnC,4FAA0D;AAG1D,kDAA4B;AAC5B,qCAAoC;AAEpC,IAAI,MAAM,GAAuB,IAAI,CAAC;AAEtC,MAAM,SAAS,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,wCAAwC,CAAC;AAC3E,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;AACzD,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AAEnD,MAAM,aAAa,GAAmC;IAClD,KAAK,EAAE;QACH,QAAQ,EAAE;;SAET;QACD,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE;QACzB,MAAM,EAAE,IAAI;KACf;IACD,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,MAAM;IAChB,OAAO,EAAE,yCAAyC;IAClD,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,QAAQ;IAChB,gBAAgB,EAAE,IAAI;IACtB,gEAAgE;IAChE,kEAAkE;IAClE,yBAAyB;IACzB,SAAS,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC;IAC5C,KAAK,EACD,UAAU,KAAK,IAAI;QACf,CAAC,CAAC,KAAK;QACP,CAAC,CAAC;YACI,SAAS,EAAE,GAAG,EAAE;gBACZ,aAAa,EAAE,CAAC;YACpB,CAAC;SACJ;IACX,OAAO,EAAE;QACL,IAAA,oCAAgB,GAAE;QAClB,4DAA4D;QAC5D,gEAAgE;QAChE,UAAU;QACV,gEAAgE;QAChE,YAAY;QACZ,IAAA,qCAAoB,EAAC,EAAC,WAAW,EAAC,CAAC;QACnC,IAAA,iBAAO,EAAC,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC;KAC7B;CACJ,CAAC;AAEF,MAAM,WAAW,GAAG,IAAA,eAAO,EAAC,aAAa,EAAE,IAAA,mBAAU,GAAE,CAAC,mBAAmB,CAAC,CAAC;AAE7E,OAAO;KACF,KAAK,CAAC,WAAW,CAAC;KAClB,IAAI,CAAC,GAAG,EAAE;IACP,IAAI,UAAU,KAAK,KAAK,EAAE;QACtB,aAAa,EAAE,CAAC;KACnB;AACL,CAAC,CAAC;KACD,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAElC,MAAM,aAAa,GAAG,GAAG,EAAE;IACvB,IAAI,MAAM,IAAI,IAAI,EAAE;QAChB,MAAM,CAAC,KAAK,EAAE,CAAC;KAClB;IAED,OAAO,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAChC,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;AACvC,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+ import { BuildOptions } from "esbuild";
3
+ export declare type Config = Readonly<{
4
+ clientBuildConfig: (options: BuildOptions) => BuildOptions;
5
+ rendererBuildConfig: (options: BuildOptions) => BuildOptions;
6
+ renderPage: (template: React.ReactNode) => React.ReactNode;
7
+ }>;
8
+ /**
9
+ * Function exists mainly just for type checking
10
+ */
11
+ export declare const config: (c: Partial<Config>) => Partial<Config>;
12
+ /**
13
+ * Load the project custom configuration
14
+ */
15
+ export declare const loadConfig: () => Config;
package/dist/config.js ADDED
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadConfig = exports.config = void 0;
4
+ const ident = (x) => x;
5
+ const defaults = {
6
+ clientBuildConfig: ident,
7
+ rendererBuildConfig: ident,
8
+ renderPage: ident,
9
+ };
10
+ /**
11
+ * Function exists mainly just for type checking
12
+ */
13
+ const config = (c) => {
14
+ return c;
15
+ };
16
+ exports.config = config;
17
+ /**
18
+ * Load the project custom configuration
19
+ */
20
+ const loadConfig = () => {
21
+ let overrides = {};
22
+ try {
23
+ overrides = require(`${process.cwd()}/client/reactivated.conf`).default;
24
+ }
25
+ catch (e) {
26
+ console.debug(`Could not load @client/reactivated.conf: ${e}`);
27
+ }
28
+ return Object.assign(Object.assign({}, defaults), overrides);
29
+ };
30
+ exports.loadConfig = loadConfig;
31
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.tsx"],"names":[],"mappings":";;;AASA,MAAM,KAAK,GAAG,CAAK,CAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AAC9B,MAAM,QAAQ,GAAW;IACrB,iBAAiB,EAAE,KAAK;IACxB,mBAAmB,EAAE,KAAK;IAC1B,UAAU,EAAE,KAAK;CACpB,CAAC;AAEF;;GAEG;AACI,MAAM,MAAM,GAAG,CAAC,CAAkB,EAAmB,EAAE;IAC1D,OAAO,CAAC,CAAC;AACb,CAAC,CAAC;AAFW,QAAA,MAAM,UAEjB;AAEF;;GAEG;AACI,MAAM,UAAU,GAAG,GAAW,EAAE;IACnC,IAAI,SAAS,GAAoB,EAAE,CAAC;IACpC,IAAI;QACA,SAAS,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,0BAA0B,CAAC,CAAC,OAAO,CAAC;KAC3E;IAAC,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,EAAE,CAAC,CAAC;KAClE;IACD,uCACO,QAAQ,GACR,SAAS,EACd;AACN,CAAC,CAAC;AAXW,QAAA,UAAU,cAWrB"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
+ export * from "./config";
1
2
  export * from "./components/Form";
2
3
  export * from "./components/Widget";
package/dist/index.js CHANGED
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./config"), exports);
17
18
  __exportStar(require("./components/Form"), exports);
18
19
  __exportStar(require("./components/Widget"), exports);
19
20
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,oDAAkC;AAClC,sDAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,2CAAyB;AACzB,oDAAkC;AAClC,sDAAoC"}
package/dist/renderer.js CHANGED
@@ -13,6 +13,8 @@ const react_helmet_async_1 = require("react-helmet-async");
13
13
  // Useful when running e2e tests or the like, where the output is not
14
14
  // co-located with the running process.
15
15
  const REACTIVATED_CLIENT_ROOT = (_a = process.env.REACTIVATED_CLIENT_ROOT) !== null && _a !== void 0 ? _a : `../client`;
16
+ const config_1 = require("./config");
17
+ const config = (0, config_1.loadConfig)();
16
18
  // TODO: WHAT DOES THIS NEED TO BE? Even 100k was super fragile and a 10 choice field broke it.
17
19
  exports.BODY_SIZE_LIMIT = "100000000k";
18
20
  const renderPage = ({ html, helmet, context, props, }) => {
@@ -52,8 +54,7 @@ const render = ({ context, props }) => {
52
54
  const Template = getTemplate(context);
53
55
  const helmetContext = {};
54
56
  const rendered = server_1.default.renderToString(react_1.default.createElement(react_helmet_async_1.HelmetProvider, { context: helmetContext },
55
- react_1.default.createElement(Provider, { value: context },
56
- react_1.default.createElement(Template, Object.assign({}, props)))));
57
+ react_1.default.createElement(Provider, { value: context }, config.renderPage(react_1.default.createElement(Template, Object.assign({}, props))))));
57
58
  const { helmet } = helmetContext;
58
59
  return {
59
60
  status: "success",
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../src/renderer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../src/renderer.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "reactivated",
3
- "version": "0.28.1",
3
+ "version": "0.28.2-a1334",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -4,6 +4,8 @@ import linaria from "@linaria/esbuild";
4
4
  import {vanillaExtractPlugin} from "@vanilla-extract/esbuild-plugin";
5
5
  import * as esbuild from "esbuild";
6
6
  import ImportGlobPlugin from "esbuild-plugin-import-glob";
7
+ import produce from "immer";
8
+ import {loadConfig} from "./config";
7
9
 
8
10
  const entryNames = process.argv.slice(2);
9
11
 
@@ -20,50 +22,52 @@ const env = {
20
22
  TAG_VERSION: process.env.TAG_VERSION,
21
23
  };
22
24
 
23
- esbuild
24
- .build({
25
- entryPoints,
26
- bundle: true,
27
- // We use terser to minify because esbuild breaks safari sourcemaps.
28
- // It's likely a Safari bug, but terser seems to work for some reason.
29
- minify: false,
30
- // Related to sourcemaps as well in Safari.
31
- legalComments: "none",
32
- platform: "browser",
33
- outdir: "./static/dist",
34
- sourcemap: true,
35
- target: "es2018",
36
- preserveSymlinks: true,
37
- watch: production === false,
38
- external: ["moment", "@client/generated/images"],
39
- define: {
40
- // You need both. The one from the stringified JSON is not picked
41
- // up during the build process.
42
- "process.env.NODE_ENV": production ? '"production"' : '"development"',
43
- process: JSON.stringify({env}),
25
+ const defaultConfig: Readonly<esbuild.BuildOptions> = {
26
+ entryPoints,
27
+ bundle: true,
28
+ // We use terser to minify because esbuild breaks safari sourcemaps.
29
+ // It's likely a Safari bug, but terser seems to work for some reason.
30
+ minify: false,
31
+ // Related to sourcemaps as well in Safari.
32
+ legalComments: "none",
33
+ platform: "browser",
34
+ outdir: "./static/dist",
35
+ sourcemap: true,
36
+ target: "es2018",
37
+ preserveSymlinks: true,
38
+ watch: production === false,
39
+ external: ["moment", "@client/generated/images"],
40
+ define: {
41
+ // You need both. The one from the stringified JSON is not picked
42
+ // up during the build process.
43
+ "process.env.NODE_ENV": production ? '"production"' : '"development"',
44
+ process: JSON.stringify({env}),
44
45
 
45
- // Redux persist needs this.
46
- global: "{}",
47
- },
48
- loader: {
49
- ".gif": "file",
50
- ".jpeg": "file",
51
- ".jpg": "file",
52
- ".png": "file",
53
- ".svg": "file",
54
- ".ttf": "file",
55
- ".woff": "file",
56
- ".woff2": "file",
57
- },
58
- plugins: [
59
- ImportGlobPlugin(),
60
- // We manually pass in identifiers because the client is not
61
- // minified by esbuild but the renderer is, so class names could
62
- // differ.
63
- // Instead of set it manually instead of relying on minification
64
- // settings.
65
- vanillaExtractPlugin({identifiers}),
66
- linaria({sourceMap: true, esbuildOptions: {sourcemap: "inline"}}),
67
- ],
68
- })
69
- .catch(() => process.exit(1));
46
+ // Redux persist needs this.
47
+ global: "{}",
48
+ },
49
+ loader: {
50
+ ".gif": "file",
51
+ ".jpeg": "file",
52
+ ".jpg": "file",
53
+ ".png": "file",
54
+ ".svg": "file",
55
+ ".ttf": "file",
56
+ ".woff": "file",
57
+ ".woff2": "file",
58
+ },
59
+ plugins: [
60
+ ImportGlobPlugin(),
61
+ // We manually pass in identifiers because the client is not
62
+ // minified by esbuild but the renderer is, so class names could
63
+ // differ.
64
+ // Instead of set it manually instead of relying on minification
65
+ // settings.
66
+ vanillaExtractPlugin({identifiers}),
67
+ linaria({sourceMap: true, esbuildOptions: {sourcemap: "inline"}}),
68
+ ],
69
+ };
70
+
71
+ const finalConfig = produce(defaultConfig, loadConfig().clientBuildConfig);
72
+
73
+ esbuild.build(finalConfig).catch(() => process.exit(1));
@@ -6,6 +6,8 @@ import * as esbuild from "esbuild";
6
6
  import ImportGlobPlugin from "esbuild-plugin-import-glob";
7
7
  import http from "http";
8
8
  import fs = require("fs");
9
+ import produce from "immer";
10
+ import {loadConfig} from "./config";
9
11
 
10
12
  let server: http.Server | null = null;
11
13
 
@@ -13,45 +15,49 @@ const CACHE_KEY = `${process.cwd()}/node_modules/_reactivated/renderer.js`;
13
15
  const production = process.env.NODE_ENV === "production";
14
16
  const identifiers = production ? "short" : "debug";
15
17
 
16
- esbuild
17
- .build({
18
- stdin: {
19
- contents: `
20
- export {server} from "reactivated/dist/renderer";
21
- `,
22
- resolveDir: process.cwd(),
23
- loader: "ts",
24
- },
25
- minify: production,
26
- bundle: true,
27
- platform: "node",
28
- outfile: "./node_modules/_reactivated/renderer.js",
29
- sourcemap: true,
30
- target: "es2018",
31
- preserveSymlinks: true,
32
- // Needed so _reactivated is included in renderer.tsx regardless
33
- // of the location of reactivated being in the cwd node_modules or
34
- // above as in monorepos.
35
- nodePaths: [`${process.cwd()}/node_modules`],
36
- watch:
37
- production === true
38
- ? false
39
- : {
40
- onRebuild: () => {
41
- restartServer();
42
- },
18
+ const defaultConfig: Readonly<esbuild.BuildOptions> = {
19
+ stdin: {
20
+ contents: `
21
+ export {server} from "reactivated/dist/renderer";
22
+ `,
23
+ resolveDir: process.cwd(),
24
+ loader: "ts",
25
+ },
26
+ minify: production,
27
+ bundle: true,
28
+ platform: "node",
29
+ outfile: "./node_modules/_reactivated/renderer.js",
30
+ sourcemap: true,
31
+ target: "es2018",
32
+ preserveSymlinks: true,
33
+ // Needed so _reactivated is included in renderer.tsx regardless
34
+ // of the location of reactivated being in the cwd node_modules or
35
+ // above as in monorepos.
36
+ nodePaths: [`${process.cwd()}/node_modules`],
37
+ watch:
38
+ production === true
39
+ ? false
40
+ : {
41
+ onRebuild: () => {
42
+ restartServer();
43
43
  },
44
- plugins: [
45
- ImportGlobPlugin(),
46
- // We manually pass in identifiers because the client is not
47
- // minified by esbuild but the renderer is, so class names could
48
- // differ.
49
- // Instead of set it manually instead of relying on minification
50
- // settings.
51
- vanillaExtractPlugin({identifiers}),
52
- linaria({sourceMap: true}),
53
- ],
54
- })
44
+ },
45
+ plugins: [
46
+ ImportGlobPlugin(),
47
+ // We manually pass in identifiers because the client is not
48
+ // minified by esbuild but the renderer is, so class names could
49
+ // differ.
50
+ // Instead of set it manually instead of relying on minification
51
+ // settings.
52
+ vanillaExtractPlugin({identifiers}),
53
+ linaria({sourceMap: true}),
54
+ ],
55
+ };
56
+
57
+ const finalConfig = produce(defaultConfig, loadConfig().rendererBuildConfig);
58
+
59
+ esbuild
60
+ .build(finalConfig)
55
61
  .then(() => {
56
62
  if (production === false) {
57
63
  restartServer();
package/src/config.tsx ADDED
@@ -0,0 +1,38 @@
1
+ import React from "react";
2
+ import {BuildOptions} from "esbuild";
3
+
4
+ export type Config = Readonly<{
5
+ clientBuildConfig: (options: BuildOptions) => BuildOptions;
6
+ rendererBuildConfig: (options: BuildOptions) => BuildOptions;
7
+ renderPage: (template: React.ReactNode) => React.ReactNode;
8
+ }>;
9
+
10
+ const ident = <T,>(x: T) => x;
11
+ const defaults: Config = {
12
+ clientBuildConfig: ident,
13
+ rendererBuildConfig: ident,
14
+ renderPage: ident,
15
+ };
16
+
17
+ /**
18
+ * Function exists mainly just for type checking
19
+ */
20
+ export const config = (c: Partial<Config>): Partial<Config> => {
21
+ return c;
22
+ };
23
+
24
+ /**
25
+ * Load the project custom configuration
26
+ */
27
+ export const loadConfig = (): Config => {
28
+ let overrides: Partial<Config> = {};
29
+ try {
30
+ overrides = require(`${process.cwd()}/client/reactivated.conf`).default;
31
+ } catch (e) {
32
+ console.debug(`Could not load @client/reactivated.conf: ${e}`);
33
+ }
34
+ return {
35
+ ...defaults,
36
+ ...overrides,
37
+ };
38
+ };
package/src/index.tsx CHANGED
@@ -1,4 +1,5 @@
1
1
  import React from "react";
2
2
 
3
+ export * from "./config";
3
4
  export * from "./components/Form";
4
5
  export * from "./components/Widget";
package/src/renderer.tsx CHANGED
@@ -16,6 +16,9 @@ import {
16
16
  const REACTIVATED_CLIENT_ROOT = process.env.REACTIVATED_CLIENT_ROOT ?? `../client`;
17
17
 
18
18
  import {Settings} from "./models";
19
+ import {loadConfig} from "./config";
20
+
21
+ const config = loadConfig();
19
22
 
20
23
  // TODO: WHAT DOES THIS NEED TO BE? Even 100k was super fragile and a 10 choice field broke it.
21
24
  export const BODY_SIZE_LIMIT = "100000000k";
@@ -88,7 +91,7 @@ export const render = ({context, props}: {context: any; props: any}): Result =>
88
91
  const rendered = ReactDOMServer.renderToString(
89
92
  <HelmetProvider context={helmetContext}>
90
93
  <Provider value={context}>
91
- <Template {...props} />
94
+ {config.renderPage(<Template {...props} />)}
92
95
  </Provider>
93
96
  </HelmetProvider>,
94
97
  );