eddev 0.2.0-beta.7 → 0.2.1

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 (133) hide show
  1. package/build/build-favicon.d.ts +1 -0
  2. package/build/build-favicon.js +71 -0
  3. package/build/create-serverless-dev-worker.d.ts +3 -0
  4. package/build/create-serverless-dev-worker.js +99 -0
  5. package/build/get-webpack-config.js +26 -11
  6. package/build/manifests/manifest-views.js +1 -1
  7. package/build/reporter.js +0 -109
  8. package/build/serverless/create-next-app.d.ts +2 -0
  9. package/build/serverless/create-next-app.js +314 -68
  10. package/build/state/serverless-state.d.ts +26 -0
  11. package/build/state/serverless-state.js +2 -0
  12. package/build/workers/codegen-worker-script.js +33 -0
  13. package/build/workers/serverless-worker-dev-script.d.ts +1 -0
  14. package/build/workers/serverless-worker-dev-script.js +21 -0
  15. package/cli/build.dev.js +38 -7
  16. package/cli/build.prod.js +13 -1
  17. package/cli/cli.js +32 -17
  18. package/cli/display/components/DevCLIDisplay.d.ts +3 -0
  19. package/cli/display/components/DevCLIDisplay.js +20 -1
  20. package/cli/display/components/ServerlessDisplay.d.ts +9 -0
  21. package/cli/display/components/ServerlessDisplay.js +68 -0
  22. package/cli/preinstall.d.ts +1 -0
  23. package/cli/preinstall.js +14 -0
  24. package/components/NextRouter.js +3 -2
  25. package/config/config-schema.d.ts +55 -0
  26. package/config/config-schema.js +19 -0
  27. package/config/create-schema-file.d.ts +1 -0
  28. package/config/create-schema-file.js +20 -0
  29. package/config/get-config.d.ts +39 -0
  30. package/config/get-config.js +32 -0
  31. package/config/index.d.ts +2 -0
  32. package/config/index.js +14 -0
  33. package/config/parse-config.d.ts +25 -0
  34. package/config/parse-config.js +8 -0
  35. package/config/print-zod-errors.d.ts +2 -0
  36. package/config/print-zod-errors.js +14 -0
  37. package/dev-ui/components/BreakpointColumnHeader.d.ts +11 -0
  38. package/dev-ui/components/BreakpointColumnHeader.js +47 -0
  39. package/dev-ui/components/BreakpointIndicator.d.ts +2 -0
  40. package/dev-ui/components/BreakpointIndicator.js +138 -0
  41. package/dev-ui/components/DevUI.d.ts +2 -0
  42. package/dev-ui/components/DevUI.js +28 -0
  43. package/dev-ui/components/Launcher.d.ts +98 -0
  44. package/dev-ui/components/Launcher.js +94 -0
  45. package/dev-ui/components/PanelWrapper.d.ts +8 -0
  46. package/dev-ui/components/PanelWrapper.js +37 -0
  47. package/dev-ui/components/ResponsiveLerpControl.d.ts +8 -0
  48. package/dev-ui/components/ResponsiveLerpControl.js +177 -0
  49. package/dev-ui/components/ResponsiveScaleEditor.d.ts +26 -0
  50. package/dev-ui/components/ResponsiveScaleEditor.js +233 -0
  51. package/dev-ui/components/atoms/Button.d.ts +47 -0
  52. package/dev-ui/components/atoms/Button.js +67 -0
  53. package/dev-ui/components/atoms/Dropdown.d.ts +13 -0
  54. package/dev-ui/components/atoms/Dropdown.js +50 -0
  55. package/dev-ui/components/atoms/NumberField.d.ts +12 -0
  56. package/dev-ui/components/atoms/NumberField.js +111 -0
  57. package/dev-ui/components/atoms/Spacer.d.ts +42 -0
  58. package/dev-ui/components/atoms/Spacer.js +8 -0
  59. package/dev-ui/components/atoms/Text.d.ts +45 -0
  60. package/dev-ui/components/atoms/Text.js +39 -0
  61. package/dev-ui/components/atoms/ToggleButton.d.ts +8 -0
  62. package/dev-ui/components/atoms/ToggleButton.js +41 -0
  63. package/dev-ui/components/atoms/Tooltip.d.ts +9 -0
  64. package/dev-ui/components/atoms/Tooltip.js +66 -0
  65. package/dev-ui/components/panels/PageDataDebugger.d.ts +2 -0
  66. package/dev-ui/components/panels/PageDataDebugger.js +30 -0
  67. package/dev-ui/components/panels/SpacingEditor.d.ts +2 -0
  68. package/dev-ui/components/panels/SpacingEditor.js +88 -0
  69. package/dev-ui/components/panels/TypographyEditor.d.ts +2 -0
  70. package/dev-ui/components/panels/TypographyEditor.js +88 -0
  71. package/dev-ui/hooks/useBreakpoint.d.ts +11 -0
  72. package/dev-ui/hooks/useBreakpoint.js +59 -0
  73. package/dev-ui/hooks/usePersistState.d.ts +1 -0
  74. package/dev-ui/hooks/usePersistState.js +36 -0
  75. package/dev-ui/hooks/useStylesheet.d.ts +4 -0
  76. package/dev-ui/hooks/useStylesheet.js +31 -0
  77. package/dev-ui/icons.d.ts +15 -0
  78. package/dev-ui/icons.js +29 -0
  79. package/dev-ui/index.d.ts +1 -0
  80. package/dev-ui/index.js +13 -0
  81. package/dev-ui/loader.d.ts +2 -0
  82. package/dev-ui/loader.js +42 -0
  83. package/dev-ui/panels.d.ts +11 -0
  84. package/dev-ui/panels.js +33 -0
  85. package/dev-ui/theme.d.ts +151 -0
  86. package/dev-ui/theme.js +50 -0
  87. package/entry/Root.d.ts +3 -1
  88. package/entry/Root.js +18 -6
  89. package/hooks/index.d.ts +1 -0
  90. package/hooks/index.js +1 -0
  91. package/hooks/useAppData.js +0 -1
  92. package/hooks/useRPC.d.ts +32 -0
  93. package/hooks/useRPC.js +18 -0
  94. package/package.json +19 -8
  95. package/routing/routing.js +1 -1
  96. package/serverless/define-api.d.ts +2 -0
  97. package/serverless/define-api.js +66 -0
  98. package/serverless/define-rpc-router.d.ts +6 -0
  99. package/serverless/define-rpc-router.js +35 -0
  100. package/serverless/error-codes.d.ts +2 -0
  101. package/serverless/error-codes.js +14 -0
  102. package/serverless/index.d.ts +5 -0
  103. package/serverless/index.js +18 -0
  104. package/serverless/rpc-provider.d.ts +1 -0
  105. package/serverless/rpc-provider.js +5 -0
  106. package/serverless-template/_utils/PageMeta.tsx +44 -0
  107. package/serverless-template/_utils/ed-config.ts +5 -0
  108. package/serverless-template/_utils/fetch-wordpress-props.ts +40 -7
  109. package/serverless-template/_utils/fetch-wp.ts +16 -0
  110. package/serverless-template/global.d.ts +7 -1
  111. package/serverless-template/next.config.js +73 -53
  112. package/serverless-template/package.json +5 -3
  113. package/serverless-template/pages/404.tsx +12 -0
  114. package/serverless-template/pages/[...slug].tsx +7 -2
  115. package/serverless-template/pages/_app.tsx +32 -12
  116. package/serverless-template/pages/_document.tsx +19 -0
  117. package/serverless-template/pages/api/rest/{[...method].ts → [method].ts} +4 -2
  118. package/serverless-template/pages/api/trpc/[...trpc].ts +26 -0
  119. package/serverless-template/pages/index.tsx +2 -2
  120. package/style/createStitches.d.ts +71 -1
  121. package/style/createStitches.js +151 -45
  122. package/utils/getRepoName.d.ts +2 -2
  123. package/utils/getRepoName.js +14 -52
  124. package/utils/updateEnvFile.d.ts +1 -0
  125. package/utils/updateEnvFile.js +76 -0
  126. package/cli/prepare-next.d.ts +0 -0
  127. package/cli/prepare-next.js +0 -1
  128. package/entry/entry.serverless.dev.d.ts +0 -0
  129. package/entry/entry.serverless.dev.js +0 -2
  130. package/fields/ImageWell.d.ts +0 -8
  131. package/fields/ImageWell.js +0 -64
  132. package/serverless-template/package-lock.json +0 -641
  133. package/serverless-template/pages/api/hello.ts +0 -10
package/cli/build.prod.js CHANGED
@@ -45,6 +45,7 @@ var webpack_1 = require("webpack");
45
45
  var promptIfRepoNameIncorrect_1 = require("../utils/promptIfRepoNameIncorrect");
46
46
  var path_1 = __importDefault(require("path"));
47
47
  var clean_1 = require("../build/clean");
48
+ var build_favicon_1 = require("../build/build-favicon");
48
49
  function prodCommand(opts) {
49
50
  return __awaiter(this, void 0, void 0, function () {
50
51
  var contentBase, themeName, compiler, _a, _b;
@@ -52,6 +53,10 @@ function prodCommand(opts) {
52
53
  switch (_c.label) {
53
54
  case 0:
54
55
  contentBase = process.cwd() + "/dist/";
56
+ (0, build_favicon_1.buildFavicon)().catch(function (err) {
57
+ console.log("Error building favicon:");
58
+ console.error(err);
59
+ });
55
60
  return [4 /*yield*/, (0, promptIfRepoNameIncorrect_1.promptIfRepoThemeMismatch)()];
56
61
  case 1:
57
62
  _c.sent();
@@ -86,7 +91,14 @@ function prodCommand(opts) {
86
91
  compiler = _a.apply(void 0, [_b.concat([
87
92
  _c.sent()
88
93
  ])]);
89
- compiler.run(function () { });
94
+ compiler.run(function (err, stats) {
95
+ if (stats === null || stats === void 0 ? void 0 : stats.hasErrors()) {
96
+ process.exit(1);
97
+ }
98
+ if (err) {
99
+ process.exit(1);
100
+ }
101
+ });
90
102
  return [2 /*return*/];
91
103
  }
92
104
  });
package/cli/cli.js CHANGED
@@ -38,8 +38,6 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  var commander_1 = require("commander");
40
40
  var create_next_app_1 = require("../build/serverless/create-next-app");
41
- var build_dev_1 = require("./build.dev");
42
- var build_prod_1 = require("./build.prod");
43
41
  var setup_1 = require("./setup");
44
42
  var program = new commander_1.Command();
45
43
  program.version("0.0.1");
@@ -51,34 +49,51 @@ program
51
49
  .option("-m, --mode <mode>", 'Defaults to all modes, but use "frontend", "admin" or "codegen" to run in just one mode', undefined)
52
50
  .option("--verbose", "Enables log retention", false)
53
51
  .action(function (options) {
54
- (0, build_dev_1.devCommand)({
52
+ var devCommand = require("./build.dev").devCommand;
53
+ devCommand({
55
54
  serverless: options.serverless,
56
55
  mode: options.mode,
57
56
  retainLog: options.verbose,
58
57
  });
59
58
  });
60
59
  program
61
- .command("build")
62
- .description("Build in production mode")
63
- .option("-s, --serverless", 'Build in "serverless" mode')
60
+ .command("preinstall")
61
+ .description("Pre-installs for Vercel")
64
62
  .action(function (options) {
65
- (0, build_prod_1.prodCommand)({
66
- serverless: options.serverless,
67
- });
63
+ var main = require("./preinstall").main;
64
+ main();
68
65
  });
69
66
  program
70
- .command("vercel-build")
71
- .description("Create and build a Next.js project in .serverless")
67
+ .command("build")
68
+ .description("Build in production mode")
72
69
  .action(function (options) {
73
- (0, create_next_app_1.createNextApp)({
74
- baseDirectory: process.cwd(),
75
- dev: false,
76
- build: true,
77
- });
70
+ if (process.env.VERCEL) {
71
+ (0, create_next_app_1.createNextApp)({
72
+ baseDirectory: process.cwd(),
73
+ dev: false,
74
+ build: true,
75
+ });
76
+ }
77
+ else {
78
+ var prodCommand = require("./build.prod").prodCommand;
79
+ prodCommand({
80
+ serverless: options.serverless,
81
+ });
82
+ }
78
83
  });
84
+ // program
85
+ // .command("vercel-build")
86
+ // .description("Create and build a Next.js project in .serverless")
87
+ // .action((options) => {
88
+ // createNextApp({
89
+ // baseDirectory: process.cwd(),
90
+ // dev: false,
91
+ // build: true,
92
+ // })
93
+ // })
79
94
  program
80
95
  .command("next")
81
- .description("Create a Next.js project in .serverless")
96
+ .description("Run the serverless app in standalone mode")
82
97
  .action(function (options) {
83
98
  (0, create_next_app_1.createNextApp)({
84
99
  baseDirectory: process.cwd(),
@@ -1,10 +1,13 @@
1
1
  /// <reference types="react" />
2
2
  import { CodegenState } from "../../../build/state/codegen-state";
3
3
  import { CompilerState } from "../../../build/state/compiler-state";
4
+ import { ServerlessState } from "../../../build/state/serverless-state";
4
5
  import { Observable } from "../../../utils/Observable";
5
6
  declare type Props = {
6
7
  bundles: Observable<CompilerState>[];
8
+ serverless?: Observable<ServerlessState>;
7
9
  codegen?: Observable<CodegenState>;
10
+ configChanged: Observable<boolean>;
8
11
  };
9
12
  export declare function DevCLIDisplay(props: Props): JSX.Element;
10
13
  export {};
@@ -14,10 +14,29 @@ Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.DevCLIDisplay = void 0;
15
15
  var jsx_runtime_1 = require("react/jsx-runtime");
16
16
  var ink_1 = require("ink");
17
+ var react_1 = require("react");
18
+ var useObservable_1 = require("../../../utils/useObservable");
17
19
  var BundleDisplay_1 = require("./BundleDisplay");
18
20
  var CodegenDisplay_1 = require("./CodegenDisplay");
19
21
  var Fullscreen_1 = require("./Fullscreen");
22
+ var ServerlessDisplay_1 = require("./ServerlessDisplay");
23
+ var MODE_LABELS = {
24
+ serverless: "Serverless Log",
25
+ bundles: "Build Log",
26
+ };
20
27
  function DevCLIDisplay(props) {
21
- return ((0, jsx_runtime_1.jsx)(Fullscreen_1.Fullscreen, { children: (0, jsx_runtime_1.jsxs)(ink_1.Box, __assign({ width: "100%", height: "100%", flexDirection: "column", minHeight: "100%" }, { children: [props.bundles.map(function (bundle, i) { return ((0, jsx_runtime_1.jsx)(BundleDisplay_1.BundleDisplay, { bundle: bundle }, i)); }), props.codegen && (0, jsx_runtime_1.jsx)(CodegenDisplay_1.CodegenDisplay, { codegen: props.codegen }, void 0)] }), void 0) }, void 0));
28
+ var _a = (0, react_1.useState)("bundles"), mode = _a[0], setMode = _a[1];
29
+ (0, ink_1.useInput)(function (ev, key) {
30
+ if (ev.charAt(0) === "z") {
31
+ if (props.serverless) {
32
+ setMode(function (mode) { return (mode === "bundles" ? "serverless" : "bundles"); });
33
+ }
34
+ }
35
+ else if (ev.charAt(0) === "c" || ev.charAt(0) === "q" || key.escape) {
36
+ process.exit(0);
37
+ }
38
+ });
39
+ var configChanged = (0, useObservable_1.useObservable)(props.configChanged);
40
+ return ((0, jsx_runtime_1.jsx)(Fullscreen_1.Fullscreen, { children: (0, jsx_runtime_1.jsxs)(ink_1.Box, __assign({ width: "100%", height: "100%", flexDirection: "column", minHeight: "100%" }, { children: [mode === "bundles" ? ((0, jsx_runtime_1.jsxs)(ink_1.Box, __assign({ width: "100%", flexGrow: 1, flexDirection: "column" }, { children: [props.bundles.map(function (bundle, i) { return ((0, jsx_runtime_1.jsx)(BundleDisplay_1.BundleDisplay, { bundle: bundle }, i)); }), props.codegen && (0, jsx_runtime_1.jsx)(CodegenDisplay_1.CodegenDisplay, { codegen: props.codegen }, void 0), props.serverless && (0, jsx_runtime_1.jsx)(ServerlessDisplay_1.ServerlessDisplay, { serverless: props.serverless }, void 0)] }), void 0)) : mode === "serverless" ? ((0, jsx_runtime_1.jsx)(ink_1.Box, __assign({ width: "100%", flexGrow: 1, flexDirection: "column" }, { children: (0, jsx_runtime_1.jsx)(ServerlessDisplay_1.ServerlessLog, { serverless: props.serverless }, void 0) }), void 0)) : null, configChanged && ((0, jsx_runtime_1.jsx)(ink_1.Box, __assign({ paddingX: 1, borderColor: "yellow", borderStyle: "round" }, { children: (0, jsx_runtime_1.jsxs)(ink_1.Text, __assign({ color: "yellow" }, { children: ["\uD83D\uDEA8 Change detected in ", (0, jsx_runtime_1.jsx)(ink_1.Text, __assign({ color: "yellowBright" }, { children: "ed.config.json" }), void 0), " \u2014 Please restart", " ", (0, jsx_runtime_1.jsx)(ink_1.Text, __assign({ color: "yellowBright" }, { children: "yarn dev" }), void 0)] }), void 0) }), void 0)), (0, jsx_runtime_1.jsxs)(ink_1.Box, __assign({ paddingX: 1, borderColor: "cyan", borderStyle: "round", flexDirection: "row", justifyContent: "space-between" }, { children: [(0, jsx_runtime_1.jsx)(ink_1.Box, { children: (0, jsx_runtime_1.jsx)(ink_1.Text, __assign({ bold: true, color: "cyanBright" }, { children: MODE_LABELS[mode] }), void 0) }, void 0), (0, jsx_runtime_1.jsxs)(ink_1.Box, { children: [props.serverless && ((0, jsx_runtime_1.jsxs)(ink_1.Text, { children: [(0, jsx_runtime_1.jsx)(ink_1.Text, __assign({ bold: true, color: "white" }, { children: "z" }), void 0), ": Toggle Serverless Log", " "] }, void 0)), (0, jsx_runtime_1.jsxs)(ink_1.Text, { children: [(0, jsx_runtime_1.jsx)(ink_1.Text, __assign({ bold: true, color: "white" }, { children: "q" }), void 0), ": Quit"] }, void 0)] }, void 0)] }), void 0)] }), void 0) }, void 0));
22
41
  }
23
42
  exports.DevCLIDisplay = DevCLIDisplay;
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import { ServerlessState } from "../../../build/state/serverless-state";
3
+ import { Observable } from "../../../utils/Observable";
4
+ export declare function ServerlessDisplay(props: {
5
+ serverless: Observable<ServerlessState>;
6
+ }): JSX.Element;
7
+ export declare function ServerlessLog(props: {
8
+ serverless: Observable<ServerlessState>;
9
+ }): JSX.Element;
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.ServerlessLog = exports.ServerlessDisplay = void 0;
15
+ var jsx_runtime_1 = require("react/jsx-runtime");
16
+ var ink_1 = require("ink");
17
+ var react_1 = require("react");
18
+ var useObservable_1 = require("../../../utils/useObservable");
19
+ var StatusIcon_1 = require("./StatusIcon");
20
+ var statusLabels = {
21
+ starting: "Starting",
22
+ compiling: "Compiling...",
23
+ error: "Error! See log for details.",
24
+ packaging: "Updating packages...",
25
+ preparing: "Preparing...",
26
+ success: "Success!",
27
+ waiting: "Waiting...",
28
+ };
29
+ function StatusLabel(props) {
30
+ var color = (0, react_1.useMemo)(function () {
31
+ if (props.status === "packaging" ||
32
+ props.status === "preparing" ||
33
+ props.status === "waiting" ||
34
+ props.status === "compiling") {
35
+ return "yellowBright";
36
+ }
37
+ else if (props.status === "error") {
38
+ return "redBright";
39
+ }
40
+ else if (props.status === "success") {
41
+ return "greenBright";
42
+ }
43
+ else {
44
+ return "whiteBright";
45
+ }
46
+ }, [props.status]);
47
+ var label = props.statusLabel || statusLabels[props.status];
48
+ if (props.duration) {
49
+ label += " (".concat(props.duration, "ms)");
50
+ }
51
+ return ((0, jsx_runtime_1.jsxs)(ink_1.Box, __assign({ paddingX: 1, width: "100%", flexGrow: 1, flexDirection: "row", justifyContent: "space-between" }, { children: [(0, jsx_runtime_1.jsx)(ink_1.Text, __assign({ color: color }, { children: label }), void 0), props.url && (0, jsx_runtime_1.jsxs)(ink_1.Text, __assign({ color: "white" }, { children: ["\u2728 ", props.url] }), void 0)] }), void 0));
52
+ }
53
+ function ServerlessDisplay(props) {
54
+ var data = (0, useObservable_1.useObservable)(props.serverless);
55
+ return ((0, jsx_runtime_1.jsx)(ink_1.Box, __assign({ width: "100%", flexDirection: "column" }, { children: (0, jsx_runtime_1.jsxs)(ink_1.Box, __assign({ width: "100%", paddingX: 1, borderStyle: "round", borderColor: data.status === "success" ? "green" : data.status === "error" ? "red" : "yellow", flexDirection: "row" }, { children: [(0, jsx_runtime_1.jsx)(ink_1.Box, __assign({ width: 2, flexGrow: 0, flexShrink: 0 }, { children: (0, jsx_runtime_1.jsx)(StatusIcon_1.StatusIcon, { icon: data.status === "success"
56
+ ? "tick"
57
+ : data.status === "preparing" || data.status === "packaging" || data.status === "compiling"
58
+ ? "loading"
59
+ : data.status === "error"
60
+ ? "error"
61
+ : "none" }, void 0) }), void 0), (0, jsx_runtime_1.jsx)(ink_1.Box, { children: (0, jsx_runtime_1.jsxs)(ink_1.Box, __assign({ flexDirection: "row" }, { children: [(0, jsx_runtime_1.jsx)(ink_1.Text, __assign({ bold: true }, { children: data.title }), void 0), (0, jsx_runtime_1.jsx)(StatusLabel, { status: data.status, statusLabel: "", duration: data.status === "success" ? data.duration : undefined, url: data.url }, void 0)] }), void 0) }, void 0)] }), void 0) }), void 0));
62
+ }
63
+ exports.ServerlessDisplay = ServerlessDisplay;
64
+ function ServerlessLog(props) {
65
+ var log = (0, useObservable_1.useObservable)(props.serverless).log;
66
+ return (0, jsx_runtime_1.jsx)(ink_1.Text, { children: log }, void 0);
67
+ }
68
+ exports.ServerlessLog = ServerlessLog;
@@ -0,0 +1 @@
1
+ export declare function main(): void;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.main = void 0;
4
+ var fs_1 = require("fs");
5
+ var path_1 = require("path");
6
+ function main() {
7
+ if (process.env.VERCEL) {
8
+ var pkgFile = (0, path_1.join)(process.cwd(), "package.json");
9
+ var pkg = JSON.parse((0, fs_1.readFileSync)(pkgFile).toString());
10
+ pkg.devDependencies["next"] = "^12.1.0";
11
+ (0, fs_1.writeFile)(pkgFile, JSON.stringify(pkg, null, " "), function () { });
12
+ }
13
+ }
14
+ exports.main = main;
@@ -17,8 +17,9 @@ var routing_1 = require("../routing");
17
17
  var router_1 = require("next/router");
18
18
  function NextRouter(_a) {
19
19
  var children = _a.children, path = _a.path, data = _a.data;
20
- var route = (0, router_1.useRouter)();
21
- return ((0, jsx_runtime_1.jsx)(routing_1.RouterRoot, __assign({ url: path, data: data, onNavigateRequest: function (url) {
20
+ var nextRoute = (0, router_1.useRouter)();
21
+ var route = __assign(__assign({}, nextRoute), { pathname: nextRoute.asPath });
22
+ return ((0, jsx_runtime_1.jsx)(routing_1.RouterRoot, __assign({ url: nextRoute.asPath, data: data, onNavigateRequest: function (url) {
22
23
  route.push(url);
23
24
  // setPendingUrl({ popped: false, url })
24
25
  }, onPreload: function (url) {
@@ -0,0 +1,55 @@
1
+ import { z } from "zod";
2
+ export declare const EDConfigSchema: z.ZodObject<{
3
+ $schema: z.ZodOptional<z.ZodString>;
4
+ serverless: z.ZodOptional<z.ZodObject<{
5
+ enabled: z.ZodBoolean;
6
+ uploads: z.ZodEnum<["proxy", "remote"]>;
7
+ plugins: z.ZodEnum<["proxy", "remote"]>;
8
+ theme: z.ZodEnum<["proxy", "copy", "remote"]>;
9
+ themeAssets: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
10
+ apiOnly: z.ZodOptional<z.ZodBoolean>;
11
+ endpoints: z.ZodRecord<z.ZodString, z.ZodString>;
12
+ }, "strip", z.ZodTypeAny, {
13
+ themeAssets?: string[] | undefined;
14
+ apiOnly?: boolean | undefined;
15
+ enabled: boolean;
16
+ uploads: "proxy" | "remote";
17
+ plugins: "proxy" | "remote";
18
+ theme: "copy" | "proxy" | "remote";
19
+ endpoints: Record<string, string>;
20
+ }, {
21
+ themeAssets?: string[] | undefined;
22
+ apiOnly?: boolean | undefined;
23
+ enabled: boolean;
24
+ uploads: "proxy" | "remote";
25
+ plugins: "proxy" | "remote";
26
+ theme: "copy" | "proxy" | "remote";
27
+ endpoints: Record<string, string>;
28
+ }>>;
29
+ devUI: z.ZodEnum<["disabled", "enabled"]>;
30
+ }, "strip", z.ZodTypeAny, {
31
+ $schema?: string | undefined;
32
+ serverless?: {
33
+ themeAssets?: string[] | undefined;
34
+ apiOnly?: boolean | undefined;
35
+ enabled: boolean;
36
+ uploads: "proxy" | "remote";
37
+ plugins: "proxy" | "remote";
38
+ theme: "copy" | "proxy" | "remote";
39
+ endpoints: Record<string, string>;
40
+ } | undefined;
41
+ devUI: "disabled" | "enabled";
42
+ }, {
43
+ $schema?: string | undefined;
44
+ serverless?: {
45
+ themeAssets?: string[] | undefined;
46
+ apiOnly?: boolean | undefined;
47
+ enabled: boolean;
48
+ uploads: "proxy" | "remote";
49
+ plugins: "proxy" | "remote";
50
+ theme: "copy" | "proxy" | "remote";
51
+ endpoints: Record<string, string>;
52
+ } | undefined;
53
+ devUI: "disabled" | "enabled";
54
+ }>;
55
+ export declare type EDConfig = z.infer<typeof EDConfigSchema>;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EDConfigSchema = void 0;
4
+ var zod_1 = require("zod");
5
+ exports.EDConfigSchema = zod_1.z.object({
6
+ $schema: zod_1.z.string().optional(),
7
+ serverless: zod_1.z
8
+ .object({
9
+ enabled: zod_1.z.boolean(),
10
+ uploads: zod_1.z.enum(["proxy", "remote"]),
11
+ plugins: zod_1.z.enum(["proxy", "remote"]),
12
+ theme: zod_1.z.enum(["proxy", "copy", "remote"]),
13
+ themeAssets: zod_1.z.array(zod_1.z.string()).optional(),
14
+ apiOnly: zod_1.z.boolean().optional(),
15
+ endpoints: zod_1.z.record(zod_1.z.string(), zod_1.z.string()),
16
+ })
17
+ .optional(),
18
+ devUI: zod_1.z.enum(["disabled", "enabled"]),
19
+ });
@@ -0,0 +1 @@
1
+ export declare function createConfigSchemaFile(location: string): void;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createConfigSchemaFile = void 0;
7
+ var fs_1 = require("fs");
8
+ var zod_to_json_schema_1 = __importDefault(require("zod-to-json-schema"));
9
+ var config_schema_1 = require("./config-schema");
10
+ function createConfigSchemaFile(location) {
11
+ var schema = (0, zod_to_json_schema_1.default)(config_schema_1.EDConfigSchema);
12
+ var content = JSON.stringify(schema, null, 2);
13
+ if ((0, fs_1.existsSync)(location)) {
14
+ var existingContent = (0, fs_1.readFileSync)(location).toString();
15
+ if (existingContent === content)
16
+ return;
17
+ }
18
+ (0, fs_1.writeFileSync)(location, content);
19
+ }
20
+ exports.createConfigSchemaFile = createConfigSchemaFile;
@@ -0,0 +1,39 @@
1
+ export declare function getEDConfig(dir?: string): import("zod").SafeParseReturnType<{
2
+ $schema?: string | undefined;
3
+ serverless?: {
4
+ themeAssets?: string[] | undefined;
5
+ apiOnly?: boolean | undefined;
6
+ enabled: boolean;
7
+ uploads: "proxy" | "remote";
8
+ plugins: "proxy" | "remote";
9
+ theme: "copy" | "proxy" | "remote";
10
+ endpoints: Record<string, string>;
11
+ } | undefined;
12
+ devUI: "disabled" | "enabled";
13
+ }, {
14
+ $schema?: string | undefined;
15
+ serverless?: {
16
+ themeAssets?: string[] | undefined;
17
+ apiOnly?: boolean | undefined;
18
+ enabled: boolean;
19
+ uploads: "proxy" | "remote";
20
+ plugins: "proxy" | "remote";
21
+ theme: "copy" | "proxy" | "remote";
22
+ endpoints: Record<string, string>;
23
+ } | undefined;
24
+ devUI: "disabled" | "enabled";
25
+ }>;
26
+ export declare function getEDConfigUnwrapped(dir?: string): {
27
+ $schema?: string | undefined;
28
+ serverless?: {
29
+ themeAssets?: string[] | undefined;
30
+ apiOnly?: boolean | undefined;
31
+ enabled: boolean;
32
+ uploads: "proxy" | "remote";
33
+ plugins: "proxy" | "remote";
34
+ theme: "copy" | "proxy" | "remote";
35
+ endpoints: Record<string, string>;
36
+ } | undefined;
37
+ devUI: "disabled" | "enabled";
38
+ };
39
+ export declare function getEDConfigFile(dir?: string): string;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getEDConfigFile = exports.getEDConfigUnwrapped = exports.getEDConfig = void 0;
4
+ var fs_1 = require("fs");
5
+ var path_1 = require("path");
6
+ var parse_config_1 = require("./parse-config");
7
+ function getEDConfig(dir) {
8
+ if (dir === void 0) { dir = process.cwd(); }
9
+ var configFile = getEDConfigFile(dir);
10
+ if (!(0, fs_1.existsSync)(configFile)) {
11
+ throw new Error("No config file found at ".concat(configFile));
12
+ }
13
+ var config = JSON.parse((0, fs_1.readFileSync)(configFile).toString());
14
+ return (0, parse_config_1.parseConfig)(config);
15
+ }
16
+ exports.getEDConfig = getEDConfig;
17
+ function getEDConfigUnwrapped(dir) {
18
+ if (dir === void 0) { dir = process.cwd(); }
19
+ var result = getEDConfig(dir);
20
+ if (result.success) {
21
+ return result.data;
22
+ }
23
+ else {
24
+ throw new Error(result.error.toString());
25
+ }
26
+ }
27
+ exports.getEDConfigUnwrapped = getEDConfigUnwrapped;
28
+ function getEDConfigFile(dir) {
29
+ if (dir === void 0) { dir = process.cwd(); }
30
+ return (0, path_1.join)(dir, "ed.config.json");
31
+ }
32
+ exports.getEDConfigFile = getEDConfigFile;
@@ -0,0 +1,2 @@
1
+ export * from "./config-schema";
2
+ export * from "./parse-config";
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./config-schema"), exports);
14
+ __exportStar(require("./parse-config"), exports);
@@ -0,0 +1,25 @@
1
+ export declare function parseConfig(config: any): import("zod").SafeParseReturnType<{
2
+ $schema?: string | undefined;
3
+ serverless?: {
4
+ themeAssets?: string[] | undefined;
5
+ apiOnly?: boolean | undefined;
6
+ enabled: boolean;
7
+ uploads: "proxy" | "remote";
8
+ plugins: "proxy" | "remote";
9
+ theme: "copy" | "proxy" | "remote";
10
+ endpoints: Record<string, string>;
11
+ } | undefined;
12
+ devUI: "disabled" | "enabled";
13
+ }, {
14
+ $schema?: string | undefined;
15
+ serverless?: {
16
+ themeAssets?: string[] | undefined;
17
+ apiOnly?: boolean | undefined;
18
+ enabled: boolean;
19
+ uploads: "proxy" | "remote";
20
+ plugins: "proxy" | "remote";
21
+ theme: "copy" | "proxy" | "remote";
22
+ endpoints: Record<string, string>;
23
+ } | undefined;
24
+ devUI: "disabled" | "enabled";
25
+ }>;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseConfig = void 0;
4
+ var config_schema_1 = require("./config-schema");
5
+ function parseConfig(config) {
6
+ return config_schema_1.EDConfigSchema.safeParse(config);
7
+ }
8
+ exports.parseConfig = parseConfig;
@@ -0,0 +1,2 @@
1
+ import type { ZodError } from "zod";
2
+ export declare function printZodErrors(err: ZodError): void;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.printZodErrors = void 0;
7
+ var chalk_1 = __importDefault(require("chalk"));
8
+ function printZodErrors(err) {
9
+ console.log(chalk_1.default.red("Error parsing ed.config.json:"));
10
+ err.issues.forEach(function (issue) {
11
+ console.log("- ".concat(issue.path.join("."), ": ").concat(issue.message));
12
+ });
13
+ }
14
+ exports.printZodErrors = printZodErrors;
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ declare type Props = {
3
+ lerpStart?: boolean;
4
+ lerps?: boolean;
5
+ name: string;
6
+ defined: boolean;
7
+ onLerpChange?(lerpStart: boolean): void;
8
+ onDefinedChange?(defined: boolean): void;
9
+ };
10
+ export declare function BreakpointColumnHeader(props: Props): JSX.Element;
11
+ export {};
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.BreakpointColumnHeader = void 0;
15
+ var jsx_runtime_1 = require("react/jsx-runtime");
16
+ var icons_1 = require("../icons");
17
+ var theme_1 = require("../theme");
18
+ var Text_1 = require("./atoms/Text");
19
+ function BreakpointColumnHeader(props) {
20
+ return ((0, jsx_runtime_1.jsxs)(Wrapper, { children: [(0, jsx_runtime_1.jsx)(Text_1.Text, __assign({ align: "center", variant: "monoBold" }, { children: props.name }), void 0), (0, jsx_runtime_1.jsx)(ToggleButton, __assign({ onClick: function () { var _a; return (_a = props.onDefinedChange) === null || _a === void 0 ? void 0 : _a.call(props, !props.defined); } }, { children: props.defined ? icons_1.checkFilled : icons_1.checkEmpty }), void 0)] }, void 0));
21
+ }
22
+ exports.BreakpointColumnHeader = BreakpointColumnHeader;
23
+ var Wrapper = (0, theme_1.styled)("div", {
24
+ display: "flex",
25
+ width: "100%",
26
+ flexDirection: "column",
27
+ });
28
+ var ToggleButton = (0, theme_1.styled)("button", {
29
+ appearance: "none",
30
+ background: "transparent",
31
+ border: "0px",
32
+ padding: "3px",
33
+ height: "auto",
34
+ display: "flex",
35
+ alignItems: "center",
36
+ justifyContent: "center",
37
+ color: "inherit",
38
+ "&:hover": {
39
+ // backgroundColor: "$bgHover",
40
+ },
41
+ svg: {
42
+ fill: "$fg",
43
+ width: "14px",
44
+ height: "14px",
45
+ display: "block",
46
+ },
47
+ });
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare function BreakpointIndicator(): JSX.Element;