eddev 0.2.2-beta.9 → 0.2.4

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 (48) hide show
  1. package/{fields → admin}/components/ImageWell.d.ts +0 -1
  2. package/{fields → admin}/components/ImageWell.js +0 -0
  3. package/{fields/defineFIeld.d.ts → admin/defineField.d.ts} +0 -0
  4. package/{fields/defineFIeld.js → admin/defineField.js} +0 -0
  5. package/admin/defineWidget.d.ts +10 -0
  6. package/admin/defineWidget.js +10 -0
  7. package/admin/index.d.ts +3 -0
  8. package/{fields → admin}/index.js +2 -1
  9. package/{fields → admin}/installFieldTypes.d.ts +0 -0
  10. package/{fields → admin}/installFieldTypes.js +0 -0
  11. package/admin/runWidgets.d.ts +1 -0
  12. package/admin/runWidgets.js +40 -0
  13. package/{fields → admin}/selectMedia.d.ts +0 -0
  14. package/{fields → admin}/selectMedia.js +0 -0
  15. package/build/get-webpack-config.js +18 -0
  16. package/build/manifests/manifest-widgets.d.ts +12 -0
  17. package/build/manifests/manifest-widgets.js +42 -0
  18. package/build/serverless/create-next-app.js +3 -6
  19. package/cli/display/components/BundleDisplay.d.ts +0 -1
  20. package/cli/display/components/CodegenDisplay.d.ts +0 -1
  21. package/cli/display/components/DevCLIDisplay.d.ts +0 -1
  22. package/cli/display/components/ServerlessDisplay.d.ts +0 -1
  23. package/cli/display/components/StatusIcon.d.ts +0 -1
  24. package/components/AdminBar.d.ts +0 -1
  25. package/components/BrowserRouter.js +4 -2
  26. package/dev-ui/components/BreakpointColumnHeader.d.ts +0 -1
  27. package/dev-ui/components/BreakpointIndicator.d.ts +0 -1
  28. package/dev-ui/components/DevUI.d.ts +0 -1
  29. package/dev-ui/components/ResponsiveLerpControl.d.ts +0 -1
  30. package/dev-ui/components/ResponsiveScaleEditor.d.ts +0 -1
  31. package/dev-ui/components/atoms/NumberField.d.ts +0 -1
  32. package/dev-ui/components/panels/PageDataDebugger.d.ts +0 -1
  33. package/dev-ui/components/panels/SpacingEditor.d.ts +0 -1
  34. package/dev-ui/components/panels/TypographyEditor.d.ts +0 -1
  35. package/dev-ui/icons.d.ts +0 -1
  36. package/dev-ui/loader.d.ts +0 -1
  37. package/entry/Root.d.ts +0 -1
  38. package/entry/entry.admin.dev.js +13 -1
  39. package/entry/entry.admin.prod.js +3 -1
  40. package/entry/entry.monolith.dev.js +2 -8
  41. package/entry/entry.monolith.prod.js +4 -9
  42. package/package.json +4 -4
  43. package/routing/remoteProps.d.ts +2 -0
  44. package/routing/remoteProps.js +7 -0
  45. package/serverless-template/_utils/fetch-wordpress-props.ts +11 -1
  46. package/serverless-template/package.json +2 -2
  47. package/serverless-template/pages/[...slug].tsx +8 -0
  48. package/fields/index.d.ts +0 -2
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  declare type Props = {
3
2
  previewSize: string;
4
3
  aspects: string[];
File without changes
File without changes
@@ -0,0 +1,10 @@
1
+ import { ComponentType } from "react";
2
+ declare type WidgetProps = {
3
+ element: HTMLElement;
4
+ dataset: DOMStringMap;
5
+ };
6
+ export declare function defineWidget(name: string, component: ComponentType<WidgetProps>): {
7
+ name: string;
8
+ component: ComponentType<WidgetProps>;
9
+ };
10
+ export {};
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defineWidget = void 0;
4
+ function defineWidget(name, component) {
5
+ return {
6
+ name: name,
7
+ component: component,
8
+ };
9
+ }
10
+ exports.defineWidget = defineWidget;
@@ -0,0 +1,3 @@
1
+ export * from "./defineField";
2
+ export * from "./defineWidget";
3
+ export * from "./components/ImageWell";
@@ -10,5 +10,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./defineFIeld"), exports);
13
+ __exportStar(require("./defineField"), exports);
14
+ __exportStar(require("./defineWidget"), exports);
14
15
  __exportStar(require("./components/ImageWell"), exports);
File without changes
File without changes
@@ -0,0 +1 @@
1
+ export declare function runWidgets(): void;
@@ -0,0 +1,40 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.runWidgets = void 0;
18
+ var jsx_runtime_1 = require("react/jsx-runtime");
19
+ // @ts-ignore
20
+ var widgets_1 = __importDefault(require("@manifest/widgets"));
21
+ var react_dom_1 = __importDefault(require("react-dom"));
22
+ function runWidgets() {
23
+ var elements = document.querySelectorAll("[data-widget]");
24
+ console.log("Running widgets", elements, widgets_1.default);
25
+ elements.forEach(function (el) {
26
+ if (el instanceof HTMLElement) {
27
+ var data = el.dataset;
28
+ var name_1 = data["widget"];
29
+ var type = widgets_1.default.find(function (item) { return item.name === name_1; });
30
+ if (type) {
31
+ var props = {
32
+ element: el,
33
+ dataset: data,
34
+ };
35
+ react_dom_1.default.render((0, jsx_runtime_1.jsx)(type.component, __assign({}, props), void 0), el);
36
+ }
37
+ }
38
+ });
39
+ }
40
+ exports.runWidgets = runWidgets;
File without changes
File without changes
@@ -79,6 +79,7 @@ var manifest_blocks_1 = require("./manifests/manifest-blocks");
79
79
  var manifest_fields_1 = require("./manifests/manifest-fields");
80
80
  var manifest_views_1 = require("./manifests/manifest-views");
81
81
  var get_config_1 = require("../config/get-config");
82
+ var manifest_widgets_1 = require("./manifests/manifest-widgets");
82
83
  function getWebpackConfig(opts) {
83
84
  return __awaiter(this, void 0, void 0, function () {
84
85
  var compiling, config, ALIAS, ENTRY, PLUGINS, RULES, DEFINES, VIRTUAL_MODULES, EXTERNALS, virtualModules, isServerless, isBrowser, isSSR, isDev, entryDir, distSuffix, outputFolder, loadableManifestFile, writeVirtualModule, manifestLoaders, rpcExists, buildID;
@@ -283,6 +284,23 @@ function getWebpackConfig(opts) {
283
284
  else {
284
285
  writeVirtualModule(ALIAS["@manifest/fields"], "\n export default {}\n ");
285
286
  }
287
+ // Field manifest
288
+ ALIAS["@manifest/widgets"] = path_1.default.resolve(opts.baseDirectory, "_widgets_manifest.js");
289
+ if (opts.isAdmin) {
290
+ manifestLoaders.push((0, manifest_widgets_1.createWidgetManifestGenerator)({
291
+ baseDirectory: opts.baseDirectory,
292
+ isAdmin: true,
293
+ isDev: isDev,
294
+ isServerless: isServerless,
295
+ watch: isDev,
296
+ onGenerate: function (manifest) {
297
+ writeVirtualModule(ALIAS["@manifest/widgets"], manifest);
298
+ },
299
+ }));
300
+ }
301
+ else {
302
+ writeVirtualModule(ALIAS["@manifest/widgets"], "\n export default {}\n ");
303
+ }
286
304
  // Block manifest
287
305
  ALIAS["@manifest/blocks"] = path_1.default.resolve(opts.baseDirectory, "_blocks_manifest.js");
288
306
  manifestLoaders.push((0, manifest_blocks_1.createBlockManifestGenerator)({
@@ -0,0 +1,12 @@
1
+ declare type Options = {
2
+ baseDirectory: string;
3
+ isAdmin: boolean;
4
+ isDev: boolean;
5
+ isServerless: boolean;
6
+ onGenerate: (value: string) => void;
7
+ watch: boolean;
8
+ };
9
+ export declare function createWidgetManifestGenerator(opts: Options): Promise<{
10
+ close(): void;
11
+ }>;
12
+ export {};
@@ -0,0 +1,42 @@
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.createWidgetManifestGenerator = void 0;
7
+ var manifest_1 = require("./manifest");
8
+ var path_1 = __importDefault(require("path"));
9
+ var change_case_1 = require("change-case");
10
+ function createWidgetManifestGenerator(opts) {
11
+ return (0, manifest_1.createManifestGenerator)({
12
+ glob: path_1.default.join(opts.baseDirectory, "/backend/widgets/*.tsx"),
13
+ onGenerate: opts.onGenerate,
14
+ watch: opts.watch,
15
+ generate: function (fileNames) {
16
+ if (opts.isAdmin) {
17
+ var files = fileNames
18
+ .filter(function (file) { return !file.includes("/_app"); })
19
+ .map(function (file) {
20
+ var relative = path_1.default.relative(opts.baseDirectory, file);
21
+ var name = path_1.default.basename(file).replace(/\.(jsx|tsx|ts|js)$/i, "");
22
+ var module = JSON.stringify("./" + relative);
23
+ var componentName = "Widget" + (0, change_case_1.pascalCase)(name);
24
+ return { relative: relative, name: name, module: module, componentName: componentName };
25
+ });
26
+ return "\n ".concat(files.map(function (_a) {
27
+ var componentName = _a.componentName, module = _a.module;
28
+ return "import ".concat(componentName, " from ").concat(module);
29
+ }).join("\n"), "\n\n export default [\n ").concat(files
30
+ .map(function (_a) {
31
+ var relative = _a.relative, componentName = _a.componentName, module = _a.module, name = _a.name;
32
+ return componentName;
33
+ })
34
+ .join(",\n"), "\n ]\n ");
35
+ }
36
+ else {
37
+ return "export default {}";
38
+ }
39
+ },
40
+ });
41
+ }
42
+ exports.createWidgetManifestGenerator = createWidgetManifestGenerator;
@@ -126,14 +126,11 @@ function createNextApp(opts) {
126
126
  "components/**/*",
127
127
  "hooks/**/*",
128
128
  "queries/**/*",
129
- ".env",
130
129
  "views/**/*",
131
- "theme.css.tsx",
132
- "types.graphql.ts",
133
- "types.views.ts",
134
- "types.blocks.ts",
135
- "types.api.ts",
136
130
  "utils/**/*",
131
+ ".env",
132
+ "*.ts",
133
+ "*.tsx",
137
134
  "ed.config.json",
138
135
  ])
139
136
  // Also sync APIs into the APIs folder
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { CompilerState } from "../../../build/state/compiler-state";
3
2
  import { Observable } from "../../../utils/Observable";
4
3
  export declare function BundleDisplay(props: {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { CodegenState } from "../../../build/state/codegen-state";
3
2
  import { Observable } from "../../../utils/Observable";
4
3
  export declare function CodegenDisplay(props: {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { CodegenState } from "../../../build/state/codegen-state";
3
2
  import { CompilerState } from "../../../build/state/compiler-state";
4
3
  import { ServerlessState } from "../../../build/state/serverless-state";
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ServerlessState } from "../../../build/state/serverless-state";
3
2
  import { Observable } from "../../../utils/Observable";
4
3
  export declare function ServerlessDisplay(props: {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  declare type Props = {
3
2
  icon: "loading" | "tick" | "error" | "none";
4
3
  };
@@ -1,2 +1 @@
1
- /// <reference types="react" />
2
1
  export declare function AdminBar(): JSX.Element;
@@ -68,11 +68,13 @@ function BrowserRouter(props) {
68
68
  setIsLoading(true);
69
69
  }
70
70
  (0, remoteProps_1.fetchProps)(pending.url).then(function (data) {
71
+ console.log("FETCHED", data);
71
72
  var view = views_1.default[data.view];
73
+ var nextUrl = data.canonical || pending.url;
72
74
  var finish = function () {
73
75
  var _a, _b;
74
76
  setState({
75
- url: pending.url,
77
+ url: nextUrl,
76
78
  data: data,
77
79
  });
78
80
  // setData(data)
@@ -86,7 +88,7 @@ function BrowserRouter(props) {
86
88
  setIsLoading(false);
87
89
  if (!pending.popped) {
88
90
  history.replaceState({ scrollPosition: (_b = document.scrollingElement) === null || _b === void 0 ? void 0 : _b.scrollTop }, "", document.location.href);
89
- history.pushState({}, "", pending.url);
91
+ history.pushState({}, "", nextUrl);
90
92
  }
91
93
  };
92
94
  if (view && view.preload) {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  declare type Props = {
3
2
  lerpStart?: boolean;
4
3
  lerps?: boolean;
@@ -1,2 +1 @@
1
- /// <reference types="react" />
2
1
  export declare function BreakpointIndicator(): JSX.Element;
@@ -1,2 +1 @@
1
- /// <reference types="react" />
2
1
  export default function DevUI(): JSX.Element;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ResponsiveAtomCalc } from "../../style";
3
2
  declare type Props = {
4
3
  data: ResponsiveAtomCalc[];
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { BreakpointArray } from "../../style";
3
2
  export declare const RESPONSIVE_COLUMN_WIDTH = "110px";
4
3
  export declare const RESPONSIVE_ROW_HEIGHT = "20px";
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  declare type Props = {
3
2
  prefix?: string;
4
3
  suffix?: string;
@@ -1,2 +1 @@
1
- /// <reference types="react" />
2
1
  export declare function PageDataDebugger(): JSX.Element;
@@ -1,2 +1 @@
1
- /// <reference types="react" />
2
1
  export declare function SpacingEditor(): JSX.Element;
@@ -1,2 +1 @@
1
- /// <reference types="react" />
2
1
  export declare function TypographyEditor(): JSX.Element;
package/dev-ui/icons.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export declare const bolt: JSX.Element;
3
2
  export declare const typography: JSX.Element;
4
3
  export declare const ruler: JSX.Element;
@@ -1,2 +1 @@
1
- /// <reference types="react" />
2
1
  export declare function DevUILoader(): JSX.Element | null;
package/entry/Root.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  declare function Root(): JSX.Element;
3
2
  declare const _default: typeof Root | import("next").NextComponentType<import("next").NextPageContext, {}, {}>;
4
3
  export default _default;
@@ -3,9 +3,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var installGutenbergHooks_1 = require("../blocks/installGutenbergHooks");
4
4
  // @ts-ignore
5
5
  var _theme_1 = require("@theme");
6
- var installFieldTypes_1 = require("../fields/installFieldTypes");
6
+ var installFieldTypes_1 = require("../admin/installFieldTypes");
7
+ var runWidgets_1 = require("../admin/runWidgets");
7
8
  (0, installGutenbergHooks_1.installEDGutenbergHooks)();
8
9
  (0, installFieldTypes_1.installFieldTypes)();
10
+ window.onload = runWidgets_1.runWidgets;
11
+ // @ts-ignore
12
+ // if (import.meta.webpackHot) {
13
+ // console.log("HEY", require.resolve("@manifest/widgets"))
14
+ // // @ts-ignore
15
+ // import.meta.webpackHot.accept([require.resolve("@manifest/widgets")], () => {
16
+ // const runWidgets = require("../admin/runWidgets").runWidgets
17
+ // console.log("HELLO")
18
+ // runWidgets()
19
+ // })
20
+ // }
9
21
  if (_theme_1.editorGlobalStyles) {
10
22
  (0, _theme_1.editorGlobalStyles)();
11
23
  }
@@ -3,9 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var installGutenbergHooks_1 = require("../blocks/installGutenbergHooks");
4
4
  // @ts-ignore
5
5
  var _theme_1 = require("@theme");
6
- var installFieldTypes_1 = require("../fields/installFieldTypes");
6
+ var installFieldTypes_1 = require("../admin/installFieldTypes");
7
+ var runWidgets_1 = require("../admin/runWidgets");
7
8
  (0, installGutenbergHooks_1.installEDGutenbergHooks)();
8
9
  (0, installFieldTypes_1.installFieldTypes)();
10
+ window.onload = runWidgets_1.runWidgets;
9
11
  if (_theme_1.editorGlobalStyles) {
10
12
  (0, _theme_1.editorGlobalStyles)();
11
13
  }
@@ -9,17 +9,11 @@ var jsx_runtime_1 = require("react/jsx-runtime");
9
9
  * It also assumes that it's being run from a theme directory in WordPress, and
10
10
  * that it's not being run in the Admin panel, but the user may be logged in.
11
11
  */
12
- var react_dom_1 = __importDefault(require("react-dom"));
12
+ var client_1 = __importDefault(require("react-dom/client"));
13
13
  var BrowserRouter_1 = require("../components/BrowserRouter");
14
14
  var Root_1 = __importDefault(require("./Root"));
15
15
  // @ts-ignore
16
16
  if (!window.wp)
17
17
  window.wp = {};
18
18
  // @ts-ignore
19
- if (react_dom_1.default.createRoot) {
20
- // @ts-ignore
21
- react_dom_1.default.createRoot(document.getElementById("root")).render((0, jsx_runtime_1.jsx)(BrowserRouter_1.BrowserRouter, { children: (0, jsx_runtime_1.jsx)(Root_1.default, {}, void 0) }, void 0));
22
- }
23
- else {
24
- react_dom_1.default.render((0, jsx_runtime_1.jsx)(BrowserRouter_1.BrowserRouter, { children: (0, jsx_runtime_1.jsx)(Root_1.default, {}, void 0) }, void 0), document.getElementById("root"));
25
- }
19
+ client_1.default.createRoot(document.getElementById("root")).render((0, jsx_runtime_1.jsx)(BrowserRouter_1.BrowserRouter, { children: (0, jsx_runtime_1.jsx)(Root_1.default, {}, void 0) }, void 0));
@@ -9,15 +9,10 @@ var jsx_runtime_1 = require("react/jsx-runtime");
9
9
  * It also assumes that it's being run from a theme directory in WordPress, and
10
10
  * that it's not being run in the Admin panel, but the user may be logged in.
11
11
  */
12
- // @ts-ignore
13
- var react_dom_1 = __importDefault(require("react-dom"));
12
+ var client_1 = __importDefault(require("react-dom/client"));
14
13
  var BrowserRouter_1 = require("../components/BrowserRouter");
15
14
  var Root_1 = __importDefault(require("./Root"));
16
15
  // @ts-ignore
17
- if (react_dom_1.default.createRoot) {
18
- // @ts-ignore
19
- react_dom_1.default.createRoot(document.getElementById("root")).render((0, jsx_runtime_1.jsx)(BrowserRouter_1.BrowserRouter, { children: (0, jsx_runtime_1.jsx)(Root_1.default, {}, void 0) }, void 0));
20
- }
21
- else {
22
- react_dom_1.default.render((0, jsx_runtime_1.jsx)(BrowserRouter_1.BrowserRouter, { children: (0, jsx_runtime_1.jsx)(Root_1.default, {}, void 0) }, void 0), document.getElementById("root"));
23
- }
16
+ // if (ReactDOM.createRoot) {
17
+ // @ts-ignore
18
+ client_1.default.createRoot(document.getElementById("root")).render((0, jsx_runtime_1.jsx)(BrowserRouter_1.BrowserRouter, { children: (0, jsx_runtime_1.jsx)(Root_1.default, {}, void 0) }, void 0));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eddev",
3
- "version": "0.2.2-beta.9",
3
+ "version": "0.2.4",
4
4
  "main": "./index.js",
5
5
  "license": "MIT",
6
6
  "bin": {
@@ -87,7 +87,7 @@
87
87
  "rimraf": "^3.0.2",
88
88
  "swr": "^1.0.1",
89
89
  "to-icon": "^1.1.4",
90
- "typescript": "^4.5.5",
90
+ "typescript": "4.5.5",
91
91
  "url-parse": "^1.5.3",
92
92
  "webpack": "^5.52.0",
93
93
  "webpack-bundle-analyzer": "^4.5.0",
@@ -103,7 +103,7 @@
103
103
  "@trpc/next": "^9.19.0",
104
104
  "@trpc/react": "^9.19.0",
105
105
  "@trpc/server": "^9.19.0",
106
- "react": "^18.0.0-rc.0",
107
- "react-dom": "^18.0.0-rc.0"
106
+ "react": "^18.0.0",
107
+ "react-dom": "^18.0.0"
108
108
  }
109
109
  }
@@ -8,6 +8,8 @@ export interface RouteData {
8
8
  viewType: "react" | "html";
9
9
  viewData: any;
10
10
  appData: any;
11
+ redirect?: string;
12
+ canonical?: string;
11
13
  meta?: {
12
14
  head: ParsedRouteTags;
13
15
  footer: ParsedRouteTags;
@@ -78,6 +78,13 @@ function fetchProps(url) {
78
78
  promise = fetch(requestUrl)
79
79
  .then(function (response) { return response.json(); })
80
80
  .then(function (data) {
81
+ if (data.redirect) {
82
+ var redirect_1 = data.redirect;
83
+ return fetchProps(redirect_1).then(function (data) {
84
+ data.canonical = redirect_1;
85
+ return data;
86
+ });
87
+ }
81
88
  delete pending[cacheKey];
82
89
  cache[cacheKey] = data;
83
90
  return data;
@@ -42,8 +42,18 @@ export async function fetchWordpressProps(pathname: string) {
42
42
  return url
43
43
  })
44
44
 
45
+ const payload = JSON.parse(text)
46
+
47
+ if (payload.redirect) {
48
+ return {
49
+ status: payload.code,
50
+ redirect: true,
51
+ uri: payload.redirect,
52
+ }
53
+ }
54
+
45
55
  return {
46
56
  status: response.status,
47
- data: JSON.parse(text),
57
+ data: payload,
48
58
  }
49
59
  }
@@ -8,8 +8,8 @@
8
8
  "start": "next start"
9
9
  },
10
10
  "dependencies": {
11
- "react": "17.0.2",
12
- "react-dom": "17.0.2",
11
+ "react": "^18.0.0-rc.3",
12
+ "react-dom": "^18.0.0-rc.3",
13
13
  "@trpc/next": "^9.19.0",
14
14
  "@trpc/server": "^9.19.0"
15
15
  },
@@ -14,10 +14,18 @@ export async function getStaticPaths(): Promise<GetStaticPathsResult> {
14
14
 
15
15
  export async function getStaticProps({ params }: GetStaticPropsContext): Promise<GetStaticPropsResult<any>> {
16
16
  const result = await fetchWordpressProps((params?.slug as string[]).join("/"))
17
+ console.log("RESULT", result)
17
18
  if (result.status === 404) {
18
19
  return {
19
20
  notFound: true,
20
21
  }
22
+ } else if (result.redirect) {
23
+ return {
24
+ redirect: {
25
+ destination: result.uri,
26
+ permanent: result.status === 301,
27
+ },
28
+ }
21
29
  }
22
30
  return {
23
31
  props: result.data,
package/fields/index.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export * from "./defineFIeld";
2
- export * from "./components/ImageWell";