eddev 0.2.2-beta.8 → 0.2.3
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.
- package/{fields → admin}/components/ImageWell.d.ts +0 -1
- package/{fields → admin}/components/ImageWell.js +0 -0
- package/{fields/defineFIeld.d.ts → admin/defineField.d.ts} +0 -0
- package/{fields/defineFIeld.js → admin/defineField.js} +0 -0
- package/admin/defineWidget.d.ts +10 -0
- package/admin/defineWidget.js +10 -0
- package/admin/index.d.ts +3 -0
- package/{fields → admin}/index.js +2 -1
- package/{fields → admin}/installFieldTypes.d.ts +0 -0
- package/{fields → admin}/installFieldTypes.js +0 -0
- package/admin/runWidgets.d.ts +1 -0
- package/admin/runWidgets.js +40 -0
- package/{fields → admin}/selectMedia.d.ts +0 -0
- package/{fields → admin}/selectMedia.js +0 -0
- package/build/get-webpack-config.js +18 -0
- package/build/manifests/manifest-widgets.d.ts +12 -0
- package/build/manifests/manifest-widgets.js +42 -0
- package/build/serverless/create-next-app.js +3 -6
- package/cli/display/components/BundleDisplay.d.ts +0 -1
- package/cli/display/components/CodegenDisplay.d.ts +0 -1
- package/cli/display/components/DevCLIDisplay.d.ts +0 -1
- package/cli/display/components/ServerlessDisplay.d.ts +0 -1
- package/cli/display/components/StatusIcon.d.ts +0 -1
- package/components/AdminBar.d.ts +0 -1
- package/dev-ui/components/BreakpointColumnHeader.d.ts +0 -1
- package/dev-ui/components/BreakpointIndicator.d.ts +0 -1
- package/dev-ui/components/DevUI.d.ts +0 -1
- package/dev-ui/components/ResponsiveLerpControl.d.ts +0 -1
- package/dev-ui/components/ResponsiveScaleEditor.d.ts +0 -1
- package/dev-ui/components/atoms/NumberField.d.ts +0 -1
- package/dev-ui/components/panels/PageDataDebugger.d.ts +0 -1
- package/dev-ui/components/panels/SpacingEditor.d.ts +0 -1
- package/dev-ui/components/panels/TypographyEditor.d.ts +0 -1
- package/dev-ui/icons.d.ts +0 -1
- package/dev-ui/loader.d.ts +0 -1
- package/entry/Root.d.ts +0 -1
- package/entry/entry.admin.dev.js +13 -1
- package/entry/entry.admin.prod.js +3 -1
- package/entry/entry.monolith.dev.js +2 -8
- package/entry/entry.monolith.prod.js +4 -9
- package/package.json +4 -4
- package/serverless-template/_utils/fetch-wordpress-props.ts +11 -1
- package/serverless-template/package.json +2 -2
- package/serverless-template/pages/[...slug].tsx +8 -0
- package/fields/index.d.ts +0 -2
|
File without changes
|
|
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 {};
|
package/admin/index.d.ts
ADDED
|
@@ -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("./
|
|
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
|
package/components/AdminBar.d.ts
CHANGED
package/dev-ui/icons.d.ts
CHANGED
package/dev-ui/loader.d.ts
CHANGED
package/entry/Root.d.ts
CHANGED
package/entry/entry.admin.dev.js
CHANGED
|
@@ -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("../
|
|
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("../
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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 (
|
|
18
|
-
|
|
19
|
-
|
|
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.
|
|
3
|
+
"version": "0.2.3",
|
|
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": "
|
|
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
|
|
107
|
-
"react-dom": "^18.0.0
|
|
106
|
+
"react": "^18.0.0",
|
|
107
|
+
"react-dom": "^18.0.0"
|
|
108
108
|
}
|
|
109
109
|
}
|
|
@@ -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:
|
|
57
|
+
data: payload,
|
|
48
58
|
}
|
|
49
59
|
}
|
|
@@ -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