eddev 0.1.49 → 0.2.0-beta.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 (65) hide show
  1. package/build/file-tree.js +4 -0
  2. package/build/get-webpack-config.js +53 -143
  3. package/build/manifests/manifest-blocks.d.ts +12 -0
  4. package/build/manifests/manifest-blocks.js +61 -0
  5. package/build/manifests/manifest-fields.d.ts +12 -0
  6. package/build/manifests/manifest-fields.js +42 -0
  7. package/build/manifests/manifest-views.d.ts +12 -0
  8. package/build/manifests/manifest-views.js +49 -0
  9. package/build/manifests/manifest.d.ts +11 -0
  10. package/build/manifests/manifest.js +96 -0
  11. package/build/serverless/create-next-app.d.ts +7 -0
  12. package/build/serverless/create-next-app.js +298 -0
  13. package/cli/cli.js +21 -0
  14. package/cli/prepare-next.d.ts +0 -0
  15. package/cli/prepare-next.js +1 -0
  16. package/components/NextRouter.d.ts +9 -0
  17. package/components/NextRouter.js +36 -0
  18. package/components/ServerlessRouter.d.ts +0 -0
  19. package/components/ServerlessRouter.js +1 -0
  20. package/dynamic/dynamic-component.d.ts +10 -0
  21. package/dynamic/dynamic-component.js +8 -0
  22. package/dynamic/index.d.ts +1 -0
  23. package/dynamic/index.js +13 -0
  24. package/fields/ImageWell.d.ts +8 -0
  25. package/fields/ImageWell.js +64 -0
  26. package/fields/installFieldTypes.js +17 -5
  27. package/gravityforms/useGravityForm.js +1 -1
  28. package/hooks/queryUtils.js +2 -2
  29. package/hooks/useAppData.js +16 -4
  30. package/package.json +6 -1
  31. package/routing/routing.js +5 -0
  32. package/serverless-template/README.md +34 -0
  33. package/serverless-template/_utils/fetch-wordpress-props.ts +15 -0
  34. package/serverless-template/global.d.ts +9 -0
  35. package/serverless-template/next-env.d.ts +3 -0
  36. package/serverless-template/next.config.js +58 -0
  37. package/serverless-template/null.ts +1 -0
  38. package/serverless-template/package-lock.json +641 -0
  39. package/serverless-template/package.json +19 -0
  40. package/serverless-template/pages/[...slug].tsx +20 -0
  41. package/serverless-template/pages/_app.tsx +34 -0
  42. package/serverless-template/pages/api/hello.ts +10 -0
  43. package/serverless-template/pages/api/rest/[...method].ts +38 -0
  44. package/serverless-template/pages/index.tsx +12 -0
  45. package/serverless-template/tsconfig.json +37 -0
  46. package/utils/serverlessAppContext.d.ts +3 -0
  47. package/utils/serverlessAppContext.js +6 -0
  48. package/blocks/EditorErrorBoundary.d.ts +0 -15
  49. package/blocks/EditorErrorBoundary.js +0 -64
  50. package/build/codegen-worker-script.d.ts +0 -5
  51. package/build/codegen-worker-script.js +0 -543
  52. package/build/webpack-worker-script.d.ts +0 -2
  53. package/build/webpack-worker-script.js +0 -160
  54. package/cli/display/lib/Observable.d.ts +0 -11
  55. package/cli/display/lib/Observable.js +0 -34
  56. package/cli/display/lib/useObservable.d.ts +0 -2
  57. package/cli/display/lib/useObservable.js +0 -12
  58. package/cli/generate.d.ts +0 -1
  59. package/cli/generate.js +0 -46
  60. package/components/ContentBlocks.d.ts +0 -36
  61. package/components/ContentBlocks.js +0 -92
  62. package/components/routing.d.ts +0 -44
  63. package/components/routing.js +0 -363
  64. package/utils/remoteProps.d.ts +0 -12
  65. package/utils/remoteProps.js +0 -95
@@ -0,0 +1,298 @@
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (_) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ var __importDefault = (this && this.__importDefault) || function (mod) {
50
+ return (mod && mod.__esModule) ? mod : { "default": mod };
51
+ };
52
+ Object.defineProperty(exports, "__esModule", { value: true });
53
+ exports.createNextApp = void 0;
54
+ var path_1 = require("path");
55
+ var fs_extra_1 = require("fs-extra");
56
+ var glob_promise_1 = __importDefault(require("glob-promise"));
57
+ var child_process_1 = require("child_process");
58
+ var fs_1 = require("fs");
59
+ var manifest_blocks_1 = require("../manifests/manifest-blocks");
60
+ var promises_1 = require("fs/promises");
61
+ var manifest_views_1 = require("../manifests/manifest-views");
62
+ function createNextApp(opts) {
63
+ return __awaiter(this, void 0, void 0, function () {
64
+ var serverlessDirectory;
65
+ return __generator(this, function (_a) {
66
+ switch (_a.label) {
67
+ case 0:
68
+ serverlessDirectory = (0, path_1.resolve)(opts.baseDirectory, ".serverless");
69
+ // Clean first
70
+ return [4 /*yield*/, clean(serverlessDirectory)
71
+ // Copy the template folder
72
+ ];
73
+ case 1:
74
+ // Clean first
75
+ _a.sent();
76
+ // Copy the template folder
77
+ return [4 /*yield*/, copyTemplate(serverlessDirectory)
78
+ // Update package.json
79
+ ];
80
+ case 2:
81
+ // Copy the template folder
82
+ _a.sent();
83
+ // Update package.json
84
+ return [4 /*yield*/, updatePackagesFile(opts.baseDirectory, serverlessDirectory)
85
+ // Update packages
86
+ // TODO: On vercel, can we maybe just symlink or copy node_modules?
87
+ ];
88
+ case 3:
89
+ // Update package.json
90
+ _a.sent();
91
+ // Update packages
92
+ // TODO: On vercel, can we maybe just symlink or copy node_modules?
93
+ return [4 /*yield*/, updatePackages(serverlessDirectory)
94
+ // Symlink important files and directories
95
+ ];
96
+ case 4:
97
+ // Update packages
98
+ // TODO: On vercel, can we maybe just symlink or copy node_modules?
99
+ _a.sent();
100
+ // Symlink important files and directories
101
+ return [4 /*yield*/, syncFiles(opts.baseDirectory, serverlessDirectory)
102
+ // Create manifests
103
+ ];
104
+ case 5:
105
+ // Symlink important files and directories
106
+ _a.sent();
107
+ // Create manifests
108
+ initManifests(serverlessDirectory, opts.dev);
109
+ if (!opts.dev) return [3 /*break*/, 7];
110
+ return [4 /*yield*/, runScript(serverlessDirectory, "dev")];
111
+ case 6:
112
+ _a.sent();
113
+ return [3 /*break*/, 9];
114
+ case 7:
115
+ if (!opts.build) return [3 /*break*/, 9];
116
+ return [4 /*yield*/, runScript(serverlessDirectory, "build")];
117
+ case 8:
118
+ _a.sent();
119
+ _a.label = 9;
120
+ case 9: return [2 /*return*/];
121
+ }
122
+ });
123
+ });
124
+ }
125
+ exports.createNextApp = createNextApp;
126
+ function clean(path) {
127
+ return __awaiter(this, void 0, void 0, function () {
128
+ var whitelist, files;
129
+ return __generator(this, function (_a) {
130
+ switch (_a.label) {
131
+ case 0:
132
+ if (!(0, fs_1.existsSync)(path))
133
+ return [2 /*return*/];
134
+ whitelist = ["node_modules", "package.json", "yarn.lock"];
135
+ return [4 /*yield*/, (0, fs_extra_1.readdir)(path)];
136
+ case 1:
137
+ files = (_a.sent()).filter(function (file) {
138
+ return !whitelist.includes(file);
139
+ });
140
+ return [4 /*yield*/, Promise.all(files.map(function (file) { return (0, fs_extra_1.removeSync)((0, path_1.resolve)(path, file)); }))];
141
+ case 2:
142
+ _a.sent();
143
+ return [2 /*return*/];
144
+ }
145
+ });
146
+ });
147
+ }
148
+ function copyTemplate(targetFolder) {
149
+ return __awaiter(this, void 0, void 0, function () {
150
+ var sourceFolder, files;
151
+ return __generator(this, function (_a) {
152
+ switch (_a.label) {
153
+ case 0:
154
+ sourceFolder = (0, path_1.resolve)(__dirname, "../../serverless-template");
155
+ console.log("Copying from", sourceFolder, "to", targetFolder);
156
+ (0, fs_extra_1.mkdirp)(targetFolder);
157
+ return [4 /*yield*/, (0, glob_promise_1.default)((0, path_1.resolve)(sourceFolder, "**/*.*"))];
158
+ case 1:
159
+ files = _a.sent();
160
+ return [4 /*yield*/, Promise.all(files.map(function (src) {
161
+ var dest = src.replace(sourceFolder, targetFolder);
162
+ return (0, fs_extra_1.copy)(src, dest);
163
+ // return new Promise((resolve) => {
164
+ // console.log("Copy", src, "to", dest)
165
+ // })
166
+ }))];
167
+ case 2:
168
+ _a.sent();
169
+ return [2 /*return*/];
170
+ }
171
+ });
172
+ });
173
+ }
174
+ function updatePackages(dir) {
175
+ var _a, _b;
176
+ return __awaiter(this, void 0, void 0, function () {
177
+ var proc;
178
+ return __generator(this, function (_c) {
179
+ proc = (0, child_process_1.spawn)("yarn", [], {
180
+ cwd: dir,
181
+ });
182
+ (_a = proc.stdout) === null || _a === void 0 ? void 0 : _a.pipe(process.stdout);
183
+ (_b = proc.stderr) === null || _b === void 0 ? void 0 : _b.pipe(process.stderr);
184
+ return [2 /*return*/, new Promise(function (resolve) {
185
+ proc.on("close", function () {
186
+ resolve(null);
187
+ });
188
+ })];
189
+ });
190
+ });
191
+ }
192
+ function updatePackagesFile(sourceFolder, targetFolder) {
193
+ return __awaiter(this, void 0, void 0, function () {
194
+ var sourcePackageFile, targetPackageFile, sourcePackage, targetPackage, mergedPackage;
195
+ return __generator(this, function (_a) {
196
+ sourcePackageFile = (0, path_1.resolve)(sourceFolder, "package.json");
197
+ targetPackageFile = (0, path_1.resolve)(targetFolder, "package.json");
198
+ sourcePackage = require(sourcePackageFile);
199
+ targetPackage = require(targetPackageFile);
200
+ mergedPackage = __assign(__assign({}, targetPackage), { dependencies: __assign(__assign({}, (sourcePackage.dependencies || {})), (targetPackage.dependencies || {})), devDependencies: __assign(__assign({}, (sourcePackage.devDependencies || {})), (targetPackage.devDependencies || {})) });
201
+ (0, fs_extra_1.writeJSON)(targetPackageFile, mergedPackage, {
202
+ spaces: 2,
203
+ });
204
+ return [2 /*return*/];
205
+ });
206
+ });
207
+ }
208
+ function syncFiles(sourceFolder, targetFolder) {
209
+ return __awaiter(this, void 0, void 0, function () {
210
+ var links;
211
+ return __generator(this, function (_a) {
212
+ switch (_a.label) {
213
+ case 0:
214
+ links = [
215
+ "blocks",
216
+ "components",
217
+ "hooks",
218
+ "queries",
219
+ ".env",
220
+ "views",
221
+ "theme.css.tsx",
222
+ "types.graphql.ts",
223
+ "types.views.ts",
224
+ "types.blocks.ts",
225
+ "utils",
226
+ ];
227
+ return [4 /*yield*/, Promise.all(links.map(function (file) {
228
+ var src = (0, path_1.resolve)(sourceFolder, file);
229
+ var dest = (0, path_1.resolve)(targetFolder, file);
230
+ if ((0, fs_1.existsSync)(src)) {
231
+ return (0, fs_extra_1.copy)(src, dest);
232
+ }
233
+ }))];
234
+ case 1:
235
+ _a.sent();
236
+ return [2 /*return*/];
237
+ }
238
+ });
239
+ });
240
+ }
241
+ function runScript(dir, script) {
242
+ var _a, _b;
243
+ return __awaiter(this, void 0, void 0, function () {
244
+ var proc;
245
+ return __generator(this, function (_c) {
246
+ proc = (0, child_process_1.spawn)("yarn", [script], {
247
+ cwd: dir,
248
+ });
249
+ (_a = proc.stdout) === null || _a === void 0 ? void 0 : _a.pipe(process.stdout);
250
+ (_b = proc.stderr) === null || _b === void 0 ? void 0 : _b.pipe(process.stderr);
251
+ return [2 /*return*/, new Promise(function (resolve) {
252
+ proc.on("close", function () {
253
+ resolve(null);
254
+ });
255
+ })];
256
+ });
257
+ });
258
+ }
259
+ function initManifests(dir, dev) {
260
+ return __awaiter(this, void 0, void 0, function () {
261
+ var _this = this;
262
+ return __generator(this, function (_a) {
263
+ switch (_a.label) {
264
+ case 0: return [4 /*yield*/, Promise.all([
265
+ (0, manifest_blocks_1.createBlockManifestGenerator)({
266
+ baseDirectory: dir,
267
+ isAdmin: false,
268
+ isDev: dev,
269
+ isServerless: true,
270
+ onGenerate: function (manifest) { return __awaiter(_this, void 0, void 0, function () {
271
+ return __generator(this, function (_a) {
272
+ (0, promises_1.writeFile)((0, path_1.resolve)(dir, "manifest_blocks.ts"), manifest);
273
+ return [2 /*return*/];
274
+ });
275
+ }); },
276
+ watch: dev,
277
+ }),
278
+ (0, manifest_views_1.createViewManifestGenerator)({
279
+ baseDirectory: dir,
280
+ isAdmin: false,
281
+ isDev: dev,
282
+ isServerless: true,
283
+ onGenerate: function (manifest) { return __awaiter(_this, void 0, void 0, function () {
284
+ return __generator(this, function (_a) {
285
+ (0, promises_1.writeFile)((0, path_1.resolve)(dir, "manifest_views.ts"), manifest);
286
+ return [2 /*return*/];
287
+ });
288
+ }); },
289
+ watch: dev,
290
+ }),
291
+ ])];
292
+ case 1:
293
+ _a.sent();
294
+ return [2 /*return*/];
295
+ }
296
+ });
297
+ });
298
+ }
package/cli/cli.js CHANGED
@@ -37,6 +37,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  var commander_1 = require("commander");
40
+ var create_next_app_1 = require("../build/serverless/create-next-app");
40
41
  var build_dev_1 = require("./build.dev");
41
42
  var build_prod_1 = require("./build.prod");
42
43
  var setup_1 = require("./setup");
@@ -65,6 +66,26 @@ program
65
66
  serverless: options.serverless,
66
67
  });
67
68
  });
69
+ program
70
+ .command("vercel-build")
71
+ .description("Create and build a Next.js project in .serverless")
72
+ .action(function (options) {
73
+ (0, create_next_app_1.createNextApp)({
74
+ baseDirectory: process.cwd(),
75
+ dev: false,
76
+ build: true,
77
+ });
78
+ });
79
+ program
80
+ .command("next")
81
+ .description("Create a Next.js project in .serverless")
82
+ .action(function (options) {
83
+ (0, create_next_app_1.createNextApp)({
84
+ baseDirectory: process.cwd(),
85
+ dev: true,
86
+ build: false,
87
+ });
88
+ });
68
89
  program
69
90
  .command("setup")
70
91
  .description("Initialize the WordPress theme interactively")
File without changes
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,9 @@
1
+ import { ReactNode } from "react";
2
+ import { RouteData } from "../routing/remoteProps";
3
+ declare type Props = {
4
+ children: ReactNode;
5
+ path: string;
6
+ data: RouteData;
7
+ };
8
+ export declare function NextRouter({ children, path, data }: Props): JSX.Element;
9
+ export {};
@@ -0,0 +1,36 @@
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.NextRouter = void 0;
15
+ var jsx_runtime_1 = require("react/jsx-runtime");
16
+ var routing_1 = require("../routing");
17
+ var router_1 = require("next/router");
18
+ function NextRouter(_a) {
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) {
22
+ route.push(url);
23
+ // setPendingUrl({ popped: false, url })
24
+ }, onPreload: function (url) {
25
+ // if (isSameOrigin(url)) {
26
+ // fetchProps(url)
27
+ // }
28
+ }, onNavigated: function () {
29
+ // if (pending && typeof pending.scrollPosition === "number") {
30
+ // setScrollPosition({ value: pending.scrollPosition })
31
+ // } else {
32
+ // setScrollPosition({ value: 0 })
33
+ // }
34
+ } }, { children: children }), void 0));
35
+ }
36
+ exports.NextRouter = NextRouter;
File without changes
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ export declare const dynamic: {
3
+ <Props, Module = import("@loadable/component").DefaultComponent<Props>>(loadFn: (props: Props) => Promise<Module>, options: import("@loadable/component").OptionsWithResolver<Props, Module>): import("@loadable/component").LoadableComponent<Props>;
4
+ <Props_1>(loadFn: (props: Props_1) => Promise<import("@loadable/component").DefaultComponent<Props_1>>, options?: import("@loadable/component").OptionsWithoutResolver<Props_1> | undefined): import("@loadable/component").LoadableComponent<Props_1>;
5
+ <Component extends import("react").ComponentClass<any, any>>(loadFn: (props: import("react").ComponentProps<Component>) => Promise<Component | {
6
+ default: Component;
7
+ }>, options?: import("@loadable/component").Options<import("react").ComponentProps<Component>, Component> | undefined): import("@loadable/component").LoadableClassComponent<Component>;
8
+ } & {
9
+ lib: <Props_2, Module_1>(loadFn: (props: Props_2) => Promise<Module_1>, options?: import("@loadable/component").OptionsWithoutResolver<Props_2> | undefined) => import("@loadable/component").LoadableLibrary<Module_1>;
10
+ };
@@ -0,0 +1,8 @@
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.dynamic = void 0;
7
+ var component_1 = __importDefault(require("@loadable/component"));
8
+ exports.dynamic = component_1.default;
@@ -0,0 +1 @@
1
+ export * from "./dynamic-component";
@@ -0,0 +1,13 @@
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("./dynamic-component"), exports);
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ declare type Props = {
3
+ previewSize: string;
4
+ value: number;
5
+ onChange: (value: number | null) => void;
6
+ };
7
+ export declare function ImageWell(props: Props): JSX.Element;
8
+ export {};
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ImageWell = void 0;
4
+ var jsx_runtime_1 = require("react/jsx-runtime");
5
+ var react_1 = require("@stitches/react");
6
+ var react_2 = require("react");
7
+ function ImageWell(props) {
8
+ var _a = (0, react_2.useState)(null), selectedImage = _a[0], setSelectedImage = _a[1];
9
+ var _b = (0, react_2.useState)(false), imageIsLoading = _b[0], setImageIsLoading = _b[1];
10
+ (0, react_2.useEffect)(function () {
11
+ if (props.value) {
12
+ var cancelled = false;
13
+ setImageIsLoading(true);
14
+ fetch("/wp-json/ed/v1/media/" + Number(props.value))
15
+ .then(function (response) { return response.json(); })
16
+ .then(function (image) {
17
+ setImageIsLoading(false);
18
+ setSelectedImage(image);
19
+ });
20
+ }
21
+ }, [props.value]);
22
+ return ((0, jsx_runtime_1.jsxs)(Wrapper, { children: [imageIsLoading ? ((0, jsx_runtime_1.jsx)(Loading, { children: (0, jsx_runtime_1.jsx)(Spinner, {}, void 0) }, void 0)) : selectedImage ? ((0, jsx_runtime_1.jsx)(ImageContainer, { children: (0, jsx_runtime_1.jsx)("img", { src: selectedImage.sizes[props.previewSize] || selectedImage.sizes["thumbnail"] }, void 0) }, void 0)) : null, (0, jsx_runtime_1.jsx)(Toolbar, { children: selectedImage || imageIsLoading ? ((0, jsx_runtime_1.jsxs)(react_2.Fragment, { children: [(0, jsx_runtime_1.jsx)(Button, { children: "Remove" }, void 0), (0, jsx_runtime_1.jsx)(Button, { children: "Edit" }, void 0), (0, jsx_runtime_1.jsx)(Button, { children: "View" }, void 0)] }, void 0)) : null }, void 0)] }, void 0));
23
+ }
24
+ exports.ImageWell = ImageWell;
25
+ var Wrapper = (0, react_1.styled)("div", {
26
+ position: "relative",
27
+ display: "block",
28
+ width: "100%",
29
+ border: "1px solid #aaaaaa",
30
+ });
31
+ var ImageContainer = (0, react_1.styled)("div", {
32
+ padding: "4px",
33
+ img: {
34
+ maxWidth: "100%",
35
+ },
36
+ });
37
+ var spin = (0, react_1.keyframes)({
38
+ from: {
39
+ transform: "rotate(0deg)",
40
+ },
41
+ to: {
42
+ transform: "rotate(360deg)",
43
+ },
44
+ });
45
+ var Spinner = (0, react_1.styled)("div", {
46
+ display: "block",
47
+ width: "32px",
48
+ height: "32px",
49
+ border: "4px solid transparent",
50
+ borderTop: "currentColor",
51
+ animation: "".concat(spin, " 1s linear infinite"),
52
+ });
53
+ var Loading = (0, react_1.styled)("div", {
54
+ display: "flex",
55
+ justifyContent: "center",
56
+ alignItems: "center",
57
+ padding: "8px",
58
+ });
59
+ var Toolbar = (0, react_1.styled)("div", {
60
+ position: "absolute",
61
+ top: 0,
62
+ right: 0,
63
+ padding: "4px",
64
+ });
@@ -34,8 +34,9 @@ function installFieldTypes() {
34
34
  var _loop_1 = function (name_1) {
35
35
  var type = fields_1.default[name_1];
36
36
  var Component = type.render;
37
- var init = function (_a) {
38
- var $el = _a.$el, cid = _a.cid, data = _a.data;
37
+ var init = function (field) {
38
+ console.log("Field is", field);
39
+ var $el = field.$el, cid = field.cid, data = field.data;
39
40
  var input = $el.find("input[type='hidden']");
40
41
  var container = document.createElement("div");
41
42
  $el.append(container);
@@ -52,9 +53,20 @@ exports.installFieldTypes = installFieldTypes;
52
53
  function FieldWrapper(_a) {
53
54
  var input = _a.input, defaultValue = _a.defaultValue, Component = _a.Component, settings = _a.settings;
54
55
  var _b = (0, react_1.useState)(function () { var _a; return (_a = (input.value ? JSON.parse(input.value) : null)) !== null && _a !== void 0 ? _a : defaultValue; }), value = _b[0], setValue = _b[1];
56
+ var _c = (0, react_1.useState)(false), valueChanged = _c[0], setValueChanged = _c[1];
55
57
  (0, react_1.useEffect)(function () {
56
58
  input.value = JSON.stringify(value);
57
- console.log(input.value);
58
- }, [value]);
59
- return (0, jsx_runtime_1.jsx)(Component, { value: value, onChange: setValue, settings: settings }, void 0);
59
+ if (valueChanged) {
60
+ try {
61
+ // @ts-ignore
62
+ window.jQuery(input).change();
63
+ }
64
+ catch (err) { }
65
+ setValueChanged(false);
66
+ }
67
+ }, [value, valueChanged]);
68
+ return ((0, jsx_runtime_1.jsx)(Component, { value: value, onChange: function (value) {
69
+ setValue(value);
70
+ setValueChanged(true);
71
+ }, settings: settings }, void 0));
60
72
  }
@@ -140,7 +140,7 @@ function submit(form, state) {
140
140
  switch (_a.label) {
141
141
  case 0:
142
142
  _a.trys.push([0, 3, , 4]);
143
- url = "/wp-json/ed/v1/gf/submit";
143
+ url = process.serverless ? "/api/rest/form-submit" : "/wp-json/ed/v1/gf/submit";
144
144
  params = {
145
145
  formID: form.id,
146
146
  values: prepareValuesPayload(form, state, {}),
@@ -68,7 +68,7 @@ var fetcherGET = function (name, params) { return __awaiter(void 0, void 0, void
68
68
  return __generator(this, function (_a) {
69
69
  switch (_a.label) {
70
70
  case 0:
71
- url = "/wp-json/ed/v1/query/".concat(name);
71
+ url = process.serverless ? "/api/rest/query/".concat(name) : "/wp-json/ed/v1/query/".concat(name);
72
72
  if (params)
73
73
  url += "?params=" + encodeURIComponent(params);
74
74
  return [4 /*yield*/, fetch(url, {})];
@@ -187,7 +187,7 @@ function createUseMutation(init) {
187
187
  case 0:
188
188
  setSubmitting(true);
189
189
  setSubmitted(false);
190
- url = "/wp-json/ed/v1/mutation/".concat(init.name);
190
+ url = process.serverless ? "/api/mutation/".concat(init.name) : "/wp-json/ed/v1/mutation/".concat(init.name);
191
191
  _a.label = 1;
192
192
  case 1:
193
193
  _a.trys.push([1, 4, , 5]);
@@ -4,7 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.useAppDataStore = exports.useAppData = void 0;
7
+ var react_1 = require("react");
7
8
  var zustand_1 = __importDefault(require("zustand"));
9
+ var serverlessAppContext_1 = require("../utils/serverlessAppContext");
8
10
  var useAppDataStore = (0, zustand_1.default)(function (set) { return ({
9
11
  data: undefined,
10
12
  setAppData: function (data) {
@@ -13,10 +15,20 @@ var useAppDataStore = (0, zustand_1.default)(function (set) { return ({
13
15
  }); });
14
16
  exports.useAppDataStore = useAppDataStore;
15
17
  function useAppData(selector) {
16
- return useAppDataStore(function (store) {
18
+ // @ts-ignore
19
+ if (process.serverless) {
20
+ var value = (0, react_1.useContext)(serverlessAppContext_1.ServerlessAppDataContext);
21
+ console.log("VALUE IS", value);
17
22
  if (selector)
18
- return selector(store.data);
19
- return store.data;
20
- });
23
+ return selector(value);
24
+ return value;
25
+ }
26
+ else {
27
+ return useAppDataStore(function (store) {
28
+ if (selector)
29
+ return selector(store.data);
30
+ return store.data;
31
+ });
32
+ }
21
33
  }
22
34
  exports.useAppData = useAppData;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eddev",
3
- "version": "0.1.49",
3
+ "version": "0.2.0-beta.1",
4
4
  "main": "./index.js",
5
5
  "license": "MIT",
6
6
  "bin": {
@@ -15,6 +15,7 @@
15
15
  "@types/babel__core": "^7.1.16",
16
16
  "@types/babel__traverse": "^7.14.2",
17
17
  "@types/chokidar": "^2.1.3",
18
+ "@types/fs-extra": "^9.0.13",
18
19
  "@types/inquirer": "^8.1.1",
19
20
  "@types/loadable__component": "^5.13.4",
20
21
  "@types/node": "^16.7.10",
@@ -25,6 +26,7 @@
25
26
  "@types/url-parse": "^1.4.4",
26
27
  "@types/webpack-dev-server": "^3.11.2",
27
28
  "csstype": "^3.0.9",
29
+ "next": "^12.0.10",
28
30
  "react-html-props": "^1.0.32"
29
31
  },
30
32
  "dependencies": {
@@ -59,7 +61,9 @@
59
61
  "dotenv": "^10.0.0",
60
62
  "error-overlay-webpack-plugin": "^1.0.0",
61
63
  "error-stack-parser": "^2.0.6",
64
+ "execa": "^6.0.0",
62
65
  "friendly-errors-webpack-plugin": "^1.7.0",
66
+ "fs-extra": "^10.0.0",
63
67
  "git-remote-origin-url": "^3.1.0",
64
68
  "glob": "^7.1.7",
65
69
  "glob-promise": "^4.2.0",
@@ -68,6 +72,7 @@
68
72
  "ink": "^3.2.0",
69
73
  "inquirer": "^8.1.2",
70
74
  "mini-css-extract-plugin": "^2.2.2",
75
+ "next-transpile-modules": "^9.0.0",
71
76
  "postcss-loader": "^6.1.1",
72
77
  "qs": "^6.10.1",
73
78
  "react-dev-utils": "^12.0.0-next.37",
@@ -326,6 +326,11 @@ var isInternalPageLink = function (href) {
326
326
  };
327
327
  exports.isInternalPageLink = isInternalPageLink;
328
328
  exports.Link = (0, react_1.forwardRef)(function (props, ref) {
329
+ // @ts-ignore
330
+ if (process.serverless) {
331
+ var NextLink = require("next/link").default;
332
+ return ((0, jsx_runtime_1.jsx)(NextLink, __assign({ href: props.href, passHref: true }, { children: (0, jsx_runtime_1.jsx)("a", __assign({}, props, { href: undefined }), void 0) }), void 0));
333
+ }
329
334
  var localRef = (0, react_1.useRef)();
330
335
  var router = (0, react_1.useContext)(RouterContext);
331
336
  (0, react_1.useEffect)(function () {