eddev 0.1.32 → 0.1.33-beta-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 (45) hide show
  1. package/blocks/ContentBlocks.js +2 -1
  2. package/blocks/{EditorErrorBoundary.d.ts → ErrorBoundaryEditor.d.ts} +1 -1
  3. package/blocks/{EditorErrorBoundary.js → ErrorBoundaryEditor.js} +9 -9
  4. package/blocks/ErrorBoundaryFrontend.d.ts +15 -0
  5. package/blocks/ErrorBoundaryFrontend.js +69 -0
  6. package/blocks/index.d.ts +0 -1
  7. package/blocks/index.js +0 -1
  8. package/blocks/inlineEditing.js +1 -21
  9. package/blocks/installGutenbergHooks.d.ts +1 -0
  10. package/blocks/installGutenbergHooks.js +27 -6
  11. package/build/babel/plugin-name-defined-components.d.ts +7 -0
  12. package/build/babel/plugin-name-defined-components.js +46 -0
  13. package/build/create-codegen-worker.d.ts +1 -1
  14. package/build/create-codegen-worker.js +1 -1
  15. package/build/create-webpack-worker.d.ts +1 -1
  16. package/build/create-webpack-worker.js +1 -1
  17. package/build/get-webpack-config.js +29 -17
  18. package/build/workers/codegen-worker-script.js +5 -1
  19. package/build/workers/webpack-worker-script.js +1 -0
  20. package/cli/display/components/BundleDisplay.d.ts +1 -1
  21. package/cli/display/components/BundleDisplay.js +1 -1
  22. package/cli/display/components/CodegenDisplay.d.ts +1 -1
  23. package/cli/display/components/CodegenDisplay.js +1 -1
  24. package/cli/display/components/DevCLIDisplay.d.ts +1 -1
  25. package/components/BrowserRouter.js +11 -2
  26. package/components/InlinePage.js +1 -1
  27. package/entry/entry.admin.dev.js +2 -2
  28. package/entry/entry.admin.prod.js +2 -2
  29. package/package.json +1 -1
  30. package/{utils → routing}/remoteProps.d.ts +8 -0
  31. package/{utils → routing}/remoteProps.js +1 -1
  32. package/routing/routing.d.ts +1 -1
  33. package/routing/routing.js +2 -2
  34. package/routing/updateEditLink.d.ts +1 -0
  35. package/routing/updateEditLink.js +12 -0
  36. package/routing/updateHeadTags.d.ts +2 -0
  37. package/routing/updateHeadTags.js +11 -0
  38. package/{cli/display/lib → utils}/Observable.d.ts +0 -0
  39. package/{cli/display/lib → utils}/Observable.js +0 -0
  40. package/{cli/display/lib → utils}/useObservable.d.ts +0 -0
  41. package/{cli/display/lib → utils}/useObservable.js +0 -0
  42. package/components/ContentBlocks.d.ts +0 -36
  43. package/components/ContentBlocks.js +0 -92
  44. package/components/routing.d.ts +0 -44
  45. package/components/routing.js +0 -363
@@ -29,6 +29,7 @@ var jsx_runtime_1 = require("react/jsx-runtime");
29
29
  var blocks_1 = __importDefault(require("@manifest/blocks"));
30
30
  var blockAttributes_1 = require("./blockAttributes");
31
31
  var react_1 = require("react");
32
+ var ErrorBoundaryFrontend_1 = require("./ErrorBoundaryFrontend");
32
33
  exports.BlocksContext = (0, react_1.createContext)(undefined);
33
34
  function ContentBlocks(props) {
34
35
  if (!Array.isArray(props.blocks))
@@ -81,7 +82,7 @@ function ContentBlocks(props) {
81
82
  }
82
83
  }
83
84
  // Attempt to wrap the block
84
- return ((0, jsx_runtime_1.jsxs)(react_1.Fragment, { children: [spaceBefore, blockNode, spaceAfter] }, index));
85
+ return ((0, jsx_runtime_1.jsxs)(react_1.Fragment, { children: [spaceBefore, (0, jsx_runtime_1.jsx)(ErrorBoundaryFrontend_1.ErrorBoundaryFrontend, { children: blockNode }, void 0), spaceAfter] }, index));
85
86
  });
86
87
  }, [blocks, props.wrapBlock, props.spacer]);
87
88
  return (0, jsx_runtime_1.jsx)(react_1.Fragment, { children: layout }, void 0);
@@ -6,7 +6,7 @@ interface State {
6
6
  hasError: boolean;
7
7
  error?: Error;
8
8
  }
9
- export declare class EditorErrorBoundary extends Component<Props, State> {
9
+ export declare class ErrorBoundaryEditor extends Component<Props, State> {
10
10
  state: State;
11
11
  static getDerivedStateFromError(err: Error): State;
12
12
  componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
@@ -26,26 +26,26 @@ var __assign = (this && this.__assign) || function () {
26
26
  return __assign.apply(this, arguments);
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.EditorErrorBoundary = void 0;
29
+ exports.ErrorBoundaryEditor = void 0;
30
30
  var jsx_runtime_1 = require("react/jsx-runtime");
31
31
  var react_1 = require("react");
32
- var EditorErrorBoundary = /** @class */ (function (_super) {
33
- __extends(EditorErrorBoundary, _super);
34
- function EditorErrorBoundary() {
32
+ var ErrorBoundaryEditor = /** @class */ (function (_super) {
33
+ __extends(ErrorBoundaryEditor, _super);
34
+ function ErrorBoundaryEditor() {
35
35
  var _this = _super !== null && _super.apply(this, arguments) || this;
36
36
  _this.state = {
37
37
  hasError: false,
38
38
  };
39
39
  return _this;
40
40
  }
41
- EditorErrorBoundary.getDerivedStateFromError = function (err) {
41
+ ErrorBoundaryEditor.getDerivedStateFromError = function (err) {
42
42
  // Update state so the next render will show the fallback UI.
43
43
  return { hasError: true, error: err };
44
44
  };
45
- EditorErrorBoundary.prototype.componentDidCatch = function (error, errorInfo) {
45
+ ErrorBoundaryEditor.prototype.componentDidCatch = function (error, errorInfo) {
46
46
  console.error("Uncaught error:", error, errorInfo);
47
47
  };
48
- EditorErrorBoundary.prototype.render = function () {
48
+ ErrorBoundaryEditor.prototype.render = function () {
49
49
  if (this.state.hasError) {
50
50
  var err = this.state.error;
51
51
  return ((0, jsx_runtime_1.jsx)("pre", __assign({ style: {
@@ -59,6 +59,6 @@ var EditorErrorBoundary = /** @class */ (function (_super) {
59
59
  }
60
60
  return this.props.children;
61
61
  };
62
- return EditorErrorBoundary;
62
+ return ErrorBoundaryEditor;
63
63
  }(react_1.Component));
64
- exports.EditorErrorBoundary = EditorErrorBoundary;
64
+ exports.ErrorBoundaryEditor = ErrorBoundaryEditor;
@@ -0,0 +1,15 @@
1
+ import React, { Component, ErrorInfo, ReactNode } from "react";
2
+ interface Props {
3
+ children: ReactNode;
4
+ }
5
+ interface State {
6
+ hasError: boolean;
7
+ error?: Error;
8
+ }
9
+ export declare class ErrorBoundaryFrontend extends Component<Props, State> {
10
+ state: State;
11
+ static getDerivedStateFromError(err: Error): State;
12
+ componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
13
+ render(): React.ReactNode;
14
+ }
15
+ export {};
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.ErrorBoundaryFrontend = void 0;
30
+ var jsx_runtime_1 = require("react/jsx-runtime");
31
+ var react_1 = require("react");
32
+ var ErrorBoundaryFrontend = /** @class */ (function (_super) {
33
+ __extends(ErrorBoundaryFrontend, _super);
34
+ function ErrorBoundaryFrontend() {
35
+ var _this = _super !== null && _super.apply(this, arguments) || this;
36
+ _this.state = {
37
+ hasError: false,
38
+ };
39
+ return _this;
40
+ }
41
+ ErrorBoundaryFrontend.getDerivedStateFromError = function (err) {
42
+ // Update state so the next render will show the fallback UI.
43
+ return { hasError: true, error: err };
44
+ };
45
+ ErrorBoundaryFrontend.prototype.componentDidCatch = function (error, errorInfo) {
46
+ console.error("Uncaught error:", error, errorInfo);
47
+ };
48
+ ErrorBoundaryFrontend.prototype.render = function () {
49
+ if (this.state.hasError) {
50
+ var err = this.state.error;
51
+ if (process.dev) {
52
+ return ((0, jsx_runtime_1.jsx)("pre", __assign({ style: {
53
+ fontSize: "12px",
54
+ color: "red",
55
+ border: "1px solid red",
56
+ borderRadius: "4px",
57
+ padding: "4px",
58
+ overflowX: "auto",
59
+ } }, { children: err.stack }), void 0));
60
+ }
61
+ else {
62
+ return null;
63
+ }
64
+ }
65
+ return this.props.children;
66
+ };
67
+ return ErrorBoundaryFrontend;
68
+ }(react_1.Component));
69
+ exports.ErrorBoundaryFrontend = ErrorBoundaryFrontend;
package/blocks/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- export * from "./installGutenbergHooks";
2
1
  export * from "./defineBlock";
3
2
  export * from "./inlineEditing";
4
3
  export * from "./ContentBlocks";
package/blocks/index.js CHANGED
@@ -11,7 +11,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.useInnerBlocks = exports.useInlineEditableValue = void 0;
14
- __exportStar(require("./installGutenbergHooks"), exports);
15
14
  __exportStar(require("./defineBlock"), exports);
16
15
  __exportStar(require("./inlineEditing"), exports);
17
16
  __exportStar(require("./ContentBlocks"), exports);
@@ -56,31 +56,11 @@ function EditableText(_a) {
56
56
  }
57
57
  }
58
58
  exports.EditableText = EditableText;
59
- function getTaggedBlocks(tag) {
60
- // @ts-ignore
61
- return wp.blocks
62
- .getBlockTypes()
63
- .filter(function (block) {
64
- if (!Array.isArray(block.tags))
65
- return false;
66
- if (typeof tag === "string") {
67
- return block.tags.includes(tag);
68
- }
69
- else if (Array.isArray(tag)) {
70
- return !!block.tags.find(function (t) { return tag.includes(t); });
71
- }
72
- })
73
- .map(function (block) { return block.name; });
74
- }
75
59
  function InnerBlocks(props) {
76
60
  if (process.admin) {
77
61
  var allowedBlocks = props.allowedBlocks;
78
62
  // console.log("ALLOWED BLOCKS", props.allowTaggedBlocks, allowedBlocks)
79
- return ((0, jsx_runtime_1.jsx)(InnerBlocksAdminWrapper, __assign({ orientation: props.orientation || "vertical" }, { children: (0, jsx_runtime_1.jsx)(block_editor_1.InnerBlocks
80
- // @ts-ignore
81
- , {
82
- // @ts-ignore
83
- orientation: props.orientation, allowedBlocks: allowedBlocks, renderAppender: props.renderAppender, templateLock: props.templateLock, template: props.template }, void 0) }), void 0));
63
+ return ((0, jsx_runtime_1.jsx)(InnerBlocksAdminWrapper, __assign({ orientation: props.orientation || "vertical" }, { children: (0, jsx_runtime_1.jsx)(block_editor_1.InnerBlocks, { orientation: props.orientation, allowedBlocks: allowedBlocks, renderAppender: props.renderAppender, templateLock: props.templateLock, template: props.template }, void 0) }), void 0));
84
64
  }
85
65
  else {
86
66
  var blocks = (0, blockAttributes_1.useInnerBlocks)();
@@ -1 +1,2 @@
1
1
  export declare function installEDGutenbergHooks(): void;
2
+ export declare function setBlockManifest(manifest: any): void;
@@ -23,18 +23,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
23
23
  return (mod && mod.__esModule) ? mod : { "default": mod };
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.installEDGutenbergHooks = void 0;
26
+ exports.setBlockManifest = exports.installEDGutenbergHooks = void 0;
27
27
  var jsx_runtime_1 = require("react/jsx-runtime");
28
28
  // @ts-ignore
29
29
  var hooks_1 = require("@wordpress/hooks");
30
30
  var react_1 = require("react");
31
31
  // @ts-ignore
32
- var blocks_1 = __importDefault(require("@manifest/blocks"));
33
- // @ts-ignore
34
32
  var blockAttributes_1 = require("./blockAttributes");
35
- var EditorErrorBoundary_1 = require("./EditorErrorBoundary");
33
+ var ErrorBoundaryEditor_1 = require("./ErrorBoundaryEditor");
36
34
  var react_2 = require("@stitches/react");
35
+ // @ts-ignore
36
+ var blocks_1 = __importDefault(require("@manifest/blocks"));
37
+ var Observable_1 = require("../utils/Observable");
38
+ var useObservable_1 = require("../utils/useObservable");
37
39
  var BlockContext = (0, react_1.createContext)(undefined);
40
+ // Store the block manifest as a local variable
41
+ var blocksManifest = new Observable_1.Observable(blocks_1.default);
38
42
  function installEDGutenbergHooks() {
39
43
  (0, react_2.globalCss)({
40
44
  ".block-editor-block-list__block:hover": {
@@ -129,8 +133,13 @@ function installEDGutenbergHooks() {
129
133
  function BlockRenderer(_a) {
130
134
  var payload = _a.payload;
131
135
  var block = (0, react_1.useContext)(BlockContext);
132
- var BlockComponent = blocks_1.default[block === null || block === void 0 ? void 0 : block.name];
133
- return ((0, jsx_runtime_1.jsx)(EditorErrorBoundary_1.EditorErrorBoundary, { children: (0, jsx_runtime_1.jsx)(BlockComponent, __assign({}, payload), void 0) }, void 0));
136
+ if (!block)
137
+ return null;
138
+ var manifest = (0, useObservable_1.useObservable)(blocksManifest);
139
+ var BlockComponent = manifest[block.name];
140
+ if (!BlockComponent)
141
+ return (0, jsx_runtime_1.jsx)("div", { children: "Unable to load block component" }, void 0);
142
+ return ((0, jsx_runtime_1.jsx)(ErrorBoundaryEditor_1.ErrorBoundaryEditor, { children: (0, jsx_runtime_1.jsx)(BlockComponent, __assign({}, payload), void 0) }, void 0));
134
143
  }
135
144
  // @ts-ignore
136
145
  var parseJSX = acf.parseJSX;
@@ -141,3 +150,15 @@ function installEDGutenbergHooks() {
141
150
  };
142
151
  }
143
152
  exports.installEDGutenbergHooks = installEDGutenbergHooks;
153
+ function setBlockManifest(manifest) {
154
+ blocksManifest.update(manifest);
155
+ }
156
+ exports.setBlockManifest = setBlockManifest;
157
+ // @ts-ignore
158
+ if (import.meta.webpackHot) {
159
+ // @ts-ignore
160
+ import.meta.webpackHot.accept([require.resolve("@manifest/blocks")], function () {
161
+ var updatedManifest = require("@manifest/blocks").default;
162
+ setBlockManifest(updatedManifest);
163
+ });
164
+ }
@@ -0,0 +1,7 @@
1
+ import * as types from "@babel/types";
2
+ import { Visitor } from "@babel/traverse";
3
+ export default function ({ types: t }: {
4
+ types: typeof types;
5
+ }): {
6
+ visitor: Visitor<any>;
7
+ };
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var pascal_case_1 = require("pascal-case");
4
+ function default_1(_a) {
5
+ var t = _a.types;
6
+ return {
7
+ visitor: {
8
+ CallExpression: function (path, state) {
9
+ // Does the call expression name match defineBlock or defineView?
10
+ var callee = path.node.callee;
11
+ var args = path.node.arguments;
12
+ if (callee.type === "Identifier" && (callee.name === "defineBlock" || callee.name === "defineView")) {
13
+ // First argument a string literal?
14
+ var name_1 = "";
15
+ if (args.length > 0 && args[0].type === "StringLiteral") {
16
+ name_1 = args[0].value;
17
+ // While we're here, make sure that the name matches the filename
18
+ var filename = state.file.opts.filename;
19
+ var expectedName = filename
20
+ .replace(state.opts.baseDirectory, "")
21
+ .replace(/\.tsx?$/, "")
22
+ .replace(/^\/?(blocks|views)\//, "");
23
+ if (name_1 !== expectedName) {
24
+ throw path.buildCodeFrameError("The name in your ".concat(callee.name, " didn't match the filename!\n\nDid you mean ").concat(callee.name, "(\"").concat(expectedName, "\")?"));
25
+ }
26
+ }
27
+ // Second argument an arrow function?
28
+ if (args.length === 2) {
29
+ if (args[1].type === "ArrowFunctionExpression") {
30
+ // Great! Replace the arrow function with a normal function
31
+ var body = args[1].body;
32
+ if (t.isExpression(body)) {
33
+ body = t.blockStatement([t.returnStatement(body)]);
34
+ }
35
+ path.replaceWith(t.callExpression(t.identifier(callee.name), [
36
+ t.stringLiteral(name_1),
37
+ t.functionExpression(t.identifier((0, pascal_case_1.pascalCase)(name_1)), args[1].params, body, args[1].generator, args[1].async),
38
+ ]));
39
+ }
40
+ }
41
+ }
42
+ },
43
+ },
44
+ };
45
+ }
46
+ exports.default = default_1;
@@ -1,4 +1,4 @@
1
- import { Observable } from "../cli/display/lib/Observable";
1
+ import { Observable } from "../utils/Observable";
2
2
  import { CodegenOptions } from "./workers/codegen-worker-script";
3
3
  import { CodegenState } from "./state/codegen-state";
4
4
  export declare function createCodegenWorker(opts: CodegenOptions): Observable<CodegenState>;
@@ -14,7 +14,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.createCodegenWorker = void 0;
15
15
  var worker_threads_1 = require("worker_threads");
16
16
  var path_1 = require("path");
17
- var Observable_1 = require("../cli/display/lib/Observable");
17
+ var Observable_1 = require("../utils/Observable");
18
18
  function createCodegenWorker(opts) {
19
19
  var worker = new worker_threads_1.Worker((0, path_1.join)(__dirname, "workers/codegen-worker-script.js"), {
20
20
  workerData: opts,
@@ -1,4 +1,4 @@
1
1
  import { WebpackWorkerOptions } from "./get-webpack-config";
2
- import { Observable } from "../cli/display/lib/Observable";
2
+ import { Observable } from "../utils/Observable";
3
3
  import { CompilerState } from "./state/compiler-state";
4
4
  export declare function createWebpackWorker(opts: WebpackWorkerOptions): Observable<CompilerState>;
@@ -14,7 +14,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.createWebpackWorker = void 0;
15
15
  var worker_threads_1 = require("worker_threads");
16
16
  var path_1 = require("path");
17
- var Observable_1 = require("../cli/display/lib/Observable");
17
+ var Observable_1 = require("../utils/Observable");
18
18
  function createWebpackWorker(opts) {
19
19
  var worker = new worker_threads_1.Worker((0, path_1.join)(__dirname, "workers/webpack-worker-script.js"), {
20
20
  workerData: opts,
@@ -74,9 +74,11 @@ var webpack_bundle_analyzer_1 = require("webpack-bundle-analyzer");
74
74
  // @ts-ignore
75
75
  var mini_css_extract_plugin_1 = __importDefault(require("mini-css-extract-plugin"));
76
76
  var autoprefixer_1 = __importDefault(require("autoprefixer"));
77
+ // Custom Babel plugins
78
+ var plugin_name_defined_components_1 = __importDefault(require("./babel/plugin-name-defined-components"));
77
79
  function getWebpackConfig(opts) {
78
80
  return __awaiter(this, void 0, void 0, function () {
79
- var compiling, ALIAS, ENTRY, PLUGINS, RULES, DEFINES, VIRTUAL_MODULES, EXTERNALS, virtualModules, isServerless, isBrowser, isSSR, isDev, entryDir, distSuffix, outputFolder, loadableManifestFile, writeVirtualModule, updateTemplateRouter, templateLookupPattern, _a, updateBlocksManifest, blockLookupManifest, _b;
81
+ var compiling, ALIAS, ENTRY, PLUGINS, RULES, DEFINES, VIRTUAL_MODULES, EXTERNALS, virtualModules, isServerless, isBrowser, isSSR, isDev, entryDir, distSuffix, outputFolder, loadableManifestFile, writeVirtualModule, updateTemplateRouter, templateLookupPattern, _a, updateBlocksManifest, blockLookupManifest, _b, buildID;
80
82
  return __generator(this, function (_c) {
81
83
  switch (_c.label) {
82
84
  case 0:
@@ -150,7 +152,8 @@ function getWebpackConfig(opts) {
150
152
  require.resolve("@babel/preset-typescript"),
151
153
  ],
152
154
  plugins: [
153
- isBrowser && isDev && [require.resolve("react-refresh/babel"), { skipEnvCheck: true }],
155
+ [plugin_name_defined_components_1.default, { baseDirectory: opts.baseDirectory, cool: true }],
156
+ isBrowser && isDev && !opts.isAdmin && [require.resolve("react-refresh/babel"), { skipEnvCheck: true }],
154
157
  require.resolve("@loadable/babel-plugin"),
155
158
  ].filter(Boolean),
156
159
  },
@@ -191,17 +194,6 @@ function getWebpackConfig(opts) {
191
194
  },
192
195
  ],
193
196
  });
194
- // Define some values
195
- DEFINES["process.browser"] = JSON.stringify(isBrowser);
196
- DEFINES["process.ssr"] = JSON.stringify(isServerless && !isBrowser);
197
- DEFINES["process.LOADABLE_STATS_FILE"] = JSON.stringify(loadableManifestFile);
198
- DEFINES["process.dev"] = isDev ? "true" : "false";
199
- DEFINES["process.admin"] = opts.isAdmin ? "true" : "false";
200
- DEFINES["process.env.themePath"] = JSON.stringify("/wp-content/themes/".concat(opts.themeName));
201
- DEFINES["process.themePath"] = JSON.stringify("/wp-content/themes/".concat(opts.themeName));
202
- if (isBrowser) {
203
- DEFINES["process.env.themePath"] = "window.THEME_PATH || ".concat(DEFINES["process.env.themePath"]);
204
- }
205
197
  // Bundle analyser
206
198
  if (!opts.isAdmin && !isDev) {
207
199
  PLUGINS.push(new webpack_bundle_analyzer_1.BundleAnalyzerPlugin({
@@ -211,10 +203,12 @@ function getWebpackConfig(opts) {
211
203
  }));
212
204
  }
213
205
  // React Refresh
214
- if (isBrowser && isDev) {
206
+ if (isBrowser && isDev && !opts.isAdmin) {
215
207
  PLUGINS.push(new react_refresh_webpack_plugin_1.default({
216
208
  overlay: {
217
209
  // module: require.resolve("../utils/refreshOverlayInterop"),
210
+ // @ts-ignore
211
+ // sockProtocol: "http",
218
212
  sockHost: "127.0.0.1",
219
213
  sockPort: opts.hotPort,
220
214
  sockIntegration: "wds",
@@ -308,7 +302,8 @@ function getWebpackConfig(opts) {
308
302
  var componentName = (0, change_case_1.pascalCase)(name);
309
303
  return { relative: relative, name: name, module: module, componentName: componentName };
310
304
  });
311
- if (opts.isAdmin) {
305
+ var useLoadableBlocks = opts.isAdmin && !isDev;
306
+ if (useLoadableBlocks) {
312
307
  writeVirtualModule(ALIAS["@manifest/blocks"], "\n import coreBlocks from './blocks/_core.tsx'\n ".concat(!isServerless && "import loadable from '".concat(require.resolve("@loadable/component"), "';"), "\n\n export default {\n ...coreBlocks,\n ").concat(files
313
308
  .map(function (_a) {
314
309
  var relative = _a.relative, componentName = _a.componentName, module = _a.module;
@@ -360,6 +355,21 @@ function getWebpackConfig(opts) {
360
355
  if (opts.isAdmin) {
361
356
  EXTERNALS["react"] = "React";
362
357
  }
358
+ // Define some values
359
+ DEFINES["process.browser"] = JSON.stringify(isBrowser);
360
+ DEFINES["process.ssr"] = JSON.stringify(isServerless && !isBrowser);
361
+ DEFINES["process.LOADABLE_STATS_FILE"] = JSON.stringify(loadableManifestFile);
362
+ DEFINES["process.dev"] = isDev ? "true" : "false";
363
+ DEFINES["process.admin"] = opts.isAdmin ? "true" : "false";
364
+ DEFINES["process.env.themePath"] = JSON.stringify("/wp-content/themes/".concat(opts.themeName));
365
+ DEFINES["process.themePath"] = JSON.stringify("/wp-content/themes/".concat(opts.themeName));
366
+ if (isDev && opts.isAdmin) {
367
+ DEFINES["process.BLOCK_MANIFEST_FILE"] = JSON.stringify(ALIAS["@manifest/blocks"]);
368
+ }
369
+ if (isBrowser) {
370
+ DEFINES["process.env.themePath"] = "window.THEME_PATH || ".concat(DEFINES["process.env.themePath"]);
371
+ }
372
+ buildID = Date.now();
363
373
  return [2 /*return*/, {
364
374
  mode: opts.mode,
365
375
  context: opts.baseDirectory,
@@ -372,8 +382,10 @@ function getWebpackConfig(opts) {
372
382
  // chunkIds: "named",
373
383
  },
374
384
  output: {
375
- filename: "[name].".concat(opts.isAdmin ? "admin" : "frontend", ".js"),
376
- publicPath: isDev ? "//127.0.0.1:".concat(opts.hotPort, "/") : "/wp-content/themes/".concat(opts.themeName, "/dist/").concat(distSuffix, "/"),
385
+ filename: "[name].".concat(opts.isAdmin ? "admin" : "frontend", ".js?v=").concat(buildID),
386
+ chunkFilename: "[name].".concat(opts.isAdmin ? "admin" : "frontend", ".js?v=").concat(buildID),
387
+ // publicPath: isDev ? `//127.0.0.1:${opts.hotPort}/` : `/wp-content/themes/${opts.themeName}/dist/${distSuffix}/`,
388
+ publicPath: "/wp-content/themes/".concat(opts.themeName, "/dist/").concat(distSuffix, "/"),
377
389
  path: outputFolder,
378
390
  globalObject: isSSR ? "this" : "self",
379
391
  clean: true,
@@ -289,6 +289,8 @@ function beginWork(opts) {
289
289
  // exportFragmentSpreadSubTypes: true,
290
290
  inlineFragmentTypes: "combine",
291
291
  onlyOperationTypes: true,
292
+ skipTypename: true,
293
+ preResolveTypes: true,
292
294
  },
293
295
  },
294
296
  "types.views.ts": {
@@ -333,7 +335,7 @@ function beginWork(opts) {
333
335
  var item = _d[_i];
334
336
  if (item.name.value === "block") {
335
337
  var blockField = (_c = (_b = (_a = item === null || item === void 0 ? void 0 : item.selectionSet) === null || _a === void 0 ? void 0 : _a.selections[0]) === null || _b === void 0 ? void 0 : _b.name) === null || _c === void 0 ? void 0 : _c.value;
336
- blockSelection = "Exclude<".concat(importedName, "[\"block\"][").concat(JSON.stringify(blockField), "], null>");
338
+ blockSelection = "Exclude<".concat(importedName, "[\"block\"][").concat(JSON.stringify(blockField), "], null | undefined>");
337
339
  }
338
340
  else {
339
341
  queryKeyVals.push([JSON.stringify(item.name.value), "".concat(importedName, "[").concat(JSON.stringify(item.name.value), "]")].join(": "));
@@ -460,9 +462,11 @@ function beginWork(opts) {
460
462
  });
461
463
  }); };
462
464
  watchGlob(Path.resolve(opts.baseDirectory, "./acf-json/*.json"), function (path) {
465
+ needsSchemaFetch = true;
463
466
  maybeRegenerate_1(path);
464
467
  });
465
468
  watchGlob(Path.resolve(opts.baseDirectory, "./backend/**/*.php"), function (path) {
469
+ needsSchemaFetch = true;
466
470
  maybeRegenerate_1(path);
467
471
  });
468
472
  watchGlob(envFile, function () {
@@ -102,6 +102,7 @@ function beginWork(opts) {
102
102
  sockPort: opts.hotPort,
103
103
  contentBase: false,
104
104
  noInfo: true,
105
+ https: false,
105
106
  // quiet: true,
106
107
  // clientLogLevel: "silent",
107
108
  headers: {
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { CompilerState } from "../../../build/state/compiler-state";
3
- import { Observable } from "../lib/Observable";
3
+ import { Observable } from "../../../utils/Observable";
4
4
  export declare function BundleDisplay(props: {
5
5
  bundle: Observable<CompilerState>;
6
6
  }): JSX.Element;
@@ -15,7 +15,7 @@ exports.BundleDisplay = void 0;
15
15
  var jsx_runtime_1 = require("react/jsx-runtime");
16
16
  var ink_1 = require("ink");
17
17
  var react_1 = require("react");
18
- var useObservable_1 = require("../lib/useObservable");
18
+ var useObservable_1 = require("../../../utils/useObservable");
19
19
  var StatusIcon_1 = require("./StatusIcon");
20
20
  var statusLabels = {
21
21
  compiling: "Compiling...",
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { CodegenState } from "../../../build/state/codegen-state";
3
- import { Observable } from "../lib/Observable";
3
+ import { Observable } from "../../../utils/Observable";
4
4
  export declare function CodegenDisplay(props: {
5
5
  codegen: Observable<CodegenState>;
6
6
  }): JSX.Element;
@@ -15,7 +15,7 @@ exports.CodegenDisplay = void 0;
15
15
  var jsx_runtime_1 = require("react/jsx-runtime");
16
16
  var ink_1 = require("ink");
17
17
  var react_1 = require("react");
18
- var useObservable_1 = require("../lib/useObservable");
18
+ var useObservable_1 = require("../../../utils/useObservable");
19
19
  var StatusIcon_1 = require("./StatusIcon");
20
20
  var statusLabels = {
21
21
  generating: "Generating...",
@@ -1,7 +1,7 @@
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 { Observable } from "../lib/Observable";
4
+ import { Observable } from "../../../utils/Observable";
5
5
  declare type Props = {
6
6
  bundles: Observable<CompilerState>[];
7
7
  codegen?: Observable<CodegenState>;
@@ -17,13 +17,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.BrowserRouter = void 0;
18
18
  var jsx_runtime_1 = require("react/jsx-runtime");
19
19
  var react_1 = require("react");
20
- var remoteProps_1 = require("../utils/remoteProps");
20
+ var remoteProps_1 = require("../routing/remoteProps");
21
21
  var routing_1 = require("../routing");
22
22
  // @ts-ignore
23
23
  var views_1 = __importDefault(require("@manifest/views"));
24
24
  var usePageLoad_1 = require("../hooks/usePageLoad");
25
25
  var hooks_1 = require("../hooks");
26
26
  var reportErrorStack_1 = require("../utils/reportErrorStack");
27
+ var updateEditLink_1 = require("../routing/updateEditLink");
28
+ var updateHeadTags_1 = require("../routing/updateHeadTags");
27
29
  var hasPopulatedCache = false;
28
30
  function BrowserRouter(props) {
29
31
  var setAppData = (0, hooks_1.useAppDataStore)(function (s) { return s.setAppData; });
@@ -62,9 +64,16 @@ function BrowserRouter(props) {
62
64
  (0, remoteProps_1.fetchProps)(pending.url).then(function (data) {
63
65
  var view = views_1.default[data.view];
64
66
  var finish = function () {
67
+ var _a;
65
68
  setUrl(pending.url);
66
69
  setData(data);
67
- setAppData(data.appData.data);
70
+ if (data.appData) {
71
+ setAppData(data.appData.data);
72
+ }
73
+ if (data.editLink)
74
+ (0, updateEditLink_1.updateEditLink)(data.editLink);
75
+ if ((_a = data.meta) === null || _a === void 0 ? void 0 : _a.head)
76
+ (0, updateHeadTags_1.updateHeadTags)(data.meta.head);
68
77
  setIsLoading(false);
69
78
  if (!pending.popped) {
70
79
  history.pushState({}, "", pending.url);
@@ -17,7 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.InlinePage = void 0;
18
18
  var jsx_runtime_1 = require("react/jsx-runtime");
19
19
  var react_1 = require("react");
20
- var remoteProps_1 = require("../utils/remoteProps");
20
+ var remoteProps_1 = require("../routing/remoteProps");
21
21
  var routing_1 = require("../routing");
22
22
  // @ts-ignore
23
23
  var views_1 = __importDefault(require("@manifest/views"));
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var blocks_1 = require("../blocks");
3
+ var installGutenbergHooks_1 = require("../blocks/installGutenbergHooks");
4
4
  // @ts-ignore
5
5
  var _theme_1 = require("@theme");
6
- (0, blocks_1.installEDGutenbergHooks)();
6
+ (0, installGutenbergHooks_1.installEDGutenbergHooks)();
7
7
  if (_theme_1.editorGlobalStyles) {
8
8
  (0, _theme_1.editorGlobalStyles)();
9
9
  }
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var blocks_1 = require("../blocks");
3
+ var installGutenbergHooks_1 = require("../blocks/installGutenbergHooks");
4
4
  // @ts-ignore
5
5
  var _theme_1 = require("@theme");
6
- (0, blocks_1.installEDGutenbergHooks)();
6
+ (0, installGutenbergHooks_1.installEDGutenbergHooks)();
7
7
  if (_theme_1.editorGlobalStyles) {
8
8
  (0, _theme_1.editorGlobalStyles)();
9
9
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eddev",
3
- "version": "0.1.32",
3
+ "version": "0.1.33-beta-4",
4
4
  "main": "./index.js",
5
5
  "license": "MIT",
6
6
  "bin": {