eddev 0.2.67-beta1 → 0.3.0-beta2

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 (185) hide show
  1. package/admin/components/ImageWell.d.ts +2 -2
  2. package/admin/components/ImageWell.js +51 -39
  3. package/admin/defineField.d.ts +2 -2
  4. package/admin/defineWidget.d.ts +1 -1
  5. package/admin/defineWidget.js +2 -2
  6. package/admin/index.js +1 -5
  7. package/admin/installFieldTypes.js +26 -26
  8. package/admin/runWidgets.js +28 -17
  9. package/admin/selectMedia.d.ts +2 -2
  10. package/admin/selectMedia.js +1 -1
  11. package/blocks/ContentBlocks.d.ts +6 -6
  12. package/blocks/ContentBlocks.js +66 -58
  13. package/blocks/ErrorBoundaryEditor.d.ts +1 -1
  14. package/blocks/ErrorBoundaryEditor.js +45 -16
  15. package/blocks/ErrorBoundaryFrontend.d.ts +1 -1
  16. package/blocks/ErrorBoundaryFrontend.js +45 -16
  17. package/blocks/InspectorControls.d.ts +1 -1
  18. package/blocks/InspectorControls.js +3 -3
  19. package/blocks/blockAttributes.d.ts +2 -2
  20. package/blocks/blockAttributes.js +44 -24
  21. package/blocks/index.js +1 -5
  22. package/blocks/inlineEditing.d.ts +6 -6
  23. package/blocks/inlineEditing.js +55 -36
  24. package/blocks/installGutenbergHooks.js +68 -48
  25. package/build/babel/plugin-name-defined-components.js +16 -15
  26. package/build/build-favicon.js +62 -11
  27. package/build/clean.js +52 -5
  28. package/build/create-codegen-worker.js +33 -78
  29. package/build/create-serverless-dev-worker.js +39 -61
  30. package/build/create-webpack-worker.js +33 -65
  31. package/build/file-tree.d.ts +2 -2
  32. package/build/file-tree.js +12 -12
  33. package/build/get-webpack-config.js +395 -341
  34. package/build/graphql-codegen/graphql-codegen-files.js +25 -31
  35. package/build/graphql-codegen/graphql-codegen-no-duplicates.js +4 -4
  36. package/build/graphql-codegen/graphql-codegen-queries.js +99 -102
  37. package/build/manifests/manifest-blocks.d.ts +1 -1
  38. package/build/manifests/manifest-blocks.js +29 -37
  39. package/build/manifests/manifest-fields.d.ts +1 -1
  40. package/build/manifests/manifest-fields.js +21 -23
  41. package/build/manifests/manifest-views.d.ts +1 -1
  42. package/build/manifests/manifest-views.js +25 -32
  43. package/build/manifests/manifest-widgets.d.ts +1 -1
  44. package/build/manifests/manifest-widgets.js +20 -22
  45. package/build/manifests/manifest.d.ts +2 -2
  46. package/build/manifests/manifest.js +94 -30
  47. package/build/reporter.d.ts +1 -1
  48. package/build/reporter.js +32 -29
  49. package/build/serverless/create-next-app.d.ts +1 -1
  50. package/build/serverless/create-next-app.js +467 -245
  51. package/build/state/codegen-state.d.ts +4 -4
  52. package/build/state/compiler-state.d.ts +5 -5
  53. package/build/state/serverless-state.d.ts +3 -3
  54. package/build/workers/codegen-worker-script.js +519 -393
  55. package/build/workers/serverless-worker-dev-script.js +4 -4
  56. package/build/workers/webpack-worker-script.js +156 -90
  57. package/cli/build.dev.d.ts +1 -1
  58. package/cli/build.dev.js +126 -79
  59. package/cli/build.prod.d.ts +1 -1
  60. package/cli/build.prod.js +98 -42
  61. package/cli/cli.js +28 -19
  62. package/cli/display/components/BundleDisplay.d.ts +1 -1
  63. package/cli/display/components/BundleDisplay.js +24 -13
  64. package/cli/display/components/CodegenDisplay.d.ts +1 -1
  65. package/cli/display/components/CodegenDisplay.js +25 -14
  66. package/cli/display/components/DevCLIDisplay.d.ts +2 -2
  67. package/cli/display/components/DevCLIDisplay.js +25 -14
  68. package/cli/display/components/Fullscreen.js +20 -9
  69. package/cli/display/components/ServerlessDisplay.d.ts +2 -2
  70. package/cli/display/components/ServerlessDisplay.js +26 -15
  71. package/cli/display/components/StatusIcon.d.ts +2 -2
  72. package/cli/display/components/StatusIcon.js +3 -3
  73. package/cli/preinstall.js +5 -4
  74. package/cli/setup.js +73 -25
  75. package/components/AdminBar.d.ts +1 -1
  76. package/components/AdminBar.js +3 -37
  77. package/components/BrowserRouter.d.ts +2 -2
  78. package/components/BrowserRouter.js +54 -41
  79. package/components/InlinePage.d.ts +2 -2
  80. package/components/InlinePage.js +29 -17
  81. package/components/NextRouter.d.ts +2 -2
  82. package/components/NextRouter.js +29 -20
  83. package/components/index.js +1 -5
  84. package/config/config-schema.d.ts +1 -1
  85. package/config/config-schema.js +1 -1
  86. package/config/create-schema-file.js +6 -6
  87. package/config/get-config.js +13 -10
  88. package/config/index.js +1 -5
  89. package/config/parse-config.js +1 -1
  90. package/config/print-zod-errors.js +3 -3
  91. package/dev-ui/components/BreakpointColumnHeader.d.ts +2 -2
  92. package/dev-ui/components/BreakpointColumnHeader.js +18 -7
  93. package/dev-ui/components/BreakpointIndicator.d.ts +1 -1
  94. package/dev-ui/components/BreakpointIndicator.js +32 -25
  95. package/dev-ui/components/DevUI.d.ts +1 -1
  96. package/dev-ui/components/DevUI.js +13 -13
  97. package/dev-ui/components/Launcher.d.ts +2 -2
  98. package/dev-ui/components/Launcher.js +25 -13
  99. package/dev-ui/components/PanelWrapper.d.ts +2 -2
  100. package/dev-ui/components/PanelWrapper.js +8 -8
  101. package/dev-ui/components/ResponsiveLerpControl.d.ts +2 -2
  102. package/dev-ui/components/ResponsiveLerpControl.js +38 -27
  103. package/dev-ui/components/ResponsiveScaleEditor.d.ts +4 -4
  104. package/dev-ui/components/ResponsiveScaleEditor.js +78 -64
  105. package/dev-ui/components/atoms/Button.js +1 -1
  106. package/dev-ui/components/atoms/Dropdown.d.ts +3 -3
  107. package/dev-ui/components/atoms/Dropdown.js +9 -8
  108. package/dev-ui/components/atoms/NumberField.d.ts +2 -2
  109. package/dev-ui/components/atoms/NumberField.js +42 -29
  110. package/dev-ui/components/atoms/Spacer.js +1 -1
  111. package/dev-ui/components/atoms/Text.js +1 -1
  112. package/dev-ui/components/atoms/ToggleButton.d.ts +2 -2
  113. package/dev-ui/components/atoms/ToggleButton.js +16 -5
  114. package/dev-ui/components/atoms/Tooltip.d.ts +2 -2
  115. package/dev-ui/components/atoms/Tooltip.js +20 -8
  116. package/dev-ui/components/panels/AppDataDebugger.d.ts +1 -1
  117. package/dev-ui/components/panels/AppDataDebugger.js +19 -8
  118. package/dev-ui/components/panels/ColorEditor.d.ts +1 -1
  119. package/dev-ui/components/panels/ColorEditor.js +42 -35
  120. package/dev-ui/components/panels/PageDataDebugger.d.ts +1 -1
  121. package/dev-ui/components/panels/PageDataDebugger.js +20 -8
  122. package/dev-ui/components/panels/QueryDebugger.d.ts +1 -1
  123. package/dev-ui/components/panels/QueryDebugger.js +24 -12
  124. package/dev-ui/components/panels/SpacingEditor.d.ts +1 -1
  125. package/dev-ui/components/panels/SpacingEditor.js +48 -34
  126. package/dev-ui/components/panels/TypographyEditor.d.ts +1 -1
  127. package/dev-ui/components/panels/TypographyEditor.js +46 -38
  128. package/dev-ui/hooks/useBreakpoint.d.ts +1 -1
  129. package/dev-ui/hooks/useBreakpoint.js +13 -13
  130. package/dev-ui/hooks/usePersistState.js +7 -6
  131. package/dev-ui/hooks/useStylesheet.js +6 -6
  132. package/dev-ui/icons.d.ts +15 -15
  133. package/dev-ui/icons.js +27 -16
  134. package/dev-ui/index.js +1 -5
  135. package/dev-ui/loader.d.ts +1 -1
  136. package/dev-ui/loader.js +9 -13
  137. package/dev-ui/panels.d.ts +2 -2
  138. package/dev-ui/panels.js +7 -7
  139. package/dev-ui/theme.js +3 -3
  140. package/dynamic/dynamic-component.js +1 -1
  141. package/dynamic/index.js +1 -5
  142. package/entry/Root.d.ts +2 -2
  143. package/entry/Root.js +26 -16
  144. package/entry/entry.admin.dev.js +4 -4
  145. package/entry/entry.admin.prod.js +4 -4
  146. package/entry/entry.monolith.dev.js +5 -5
  147. package/entry/entry.monolith.prod.js +5 -5
  148. package/gravityforms/gravity-forms.d.ts +2 -2
  149. package/gravityforms/index.js +1 -5
  150. package/gravityforms/useGravityForm.d.ts +2 -2
  151. package/gravityforms/useGravityForm.js +130 -126
  152. package/hooks/index.js +1 -5
  153. package/hooks/queryUtils.d.ts +14 -14
  154. package/hooks/queryUtils.js +192 -101
  155. package/hooks/useAppData.d.ts +2 -2
  156. package/hooks/useAppData.js +9 -9
  157. package/hooks/usePageLoad.js +4 -4
  158. package/hooks/useQueryDebug.d.ts +1 -1
  159. package/hooks/useQueryDebug.js +7 -7
  160. package/hooks/useRPC.d.ts +4 -4
  161. package/hooks/useRPC.js +3 -3
  162. package/package.json +12 -12
  163. package/routing/index.js +1 -5
  164. package/routing/remoteProps.d.ts +1 -1
  165. package/routing/remoteProps.js +72 -31
  166. package/routing/routing.d.ts +25 -15
  167. package/routing/routing.js +200 -112
  168. package/routing/updateEditLink.js +1 -1
  169. package/serverless/define-api.d.ts +1 -1
  170. package/serverless/define-rpc-router.js +4 -8
  171. package/serverless/index.js +2 -6
  172. package/style/createStitches.js +142 -164
  173. package/style/index.js +1 -5
  174. package/tsconfig.json +1 -1
  175. package/utils/Observable.d.ts +2 -2
  176. package/utils/Observable.js +15 -12
  177. package/utils/getRepoName.js +3 -3
  178. package/utils/promptIfRepoNameIncorrect.js +64 -18
  179. package/utils/refreshOverlayInterop.js +1 -1
  180. package/utils/reportErrorStack.d.ts +1 -1
  181. package/utils/reportErrorStack.js +1 -1
  182. package/utils/serverlessAppContext.js +1 -1
  183. package/utils/updateEnvFile.js +69 -19
  184. package/utils/useObservable.js +3 -3
  185. package/views/index.js +1 -5
@@ -1,11 +1,18 @@
1
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
+ };
2
13
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
14
  if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
15
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
9
16
  }) : (function(o, m, k, k2) {
10
17
  if (k2 === undefined) k2 = k;
11
18
  o[k2] = m[k];
@@ -22,223 +29,394 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
29
  __setModuleDefault(result, mod);
23
30
  return result;
24
31
  };
32
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
33
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
34
+ return new (P || (P = Promise))(function (resolve, reject) {
35
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
36
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
37
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
38
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
39
+ });
40
+ };
41
+ var __generator = (this && this.__generator) || function (thisArg, body) {
42
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
43
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
44
+ function verb(n) { return function (v) { return step([n, v]); }; }
45
+ function step(op) {
46
+ if (f) throw new TypeError("Generator is already executing.");
47
+ while (_) try {
48
+ 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;
49
+ if (y = 0, t) op = [op[0] & 2, t.value];
50
+ switch (op[0]) {
51
+ case 0: case 1: t = op; break;
52
+ case 4: _.label++; return { value: op[1], done: false };
53
+ case 5: _.label++; y = op[1]; op = [0]; continue;
54
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
55
+ default:
56
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
57
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
58
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
59
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
60
+ if (t[2]) _.ops.pop();
61
+ _.trys.pop(); continue;
62
+ }
63
+ op = body.call(thisArg, _);
64
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
65
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
66
+ }
67
+ };
25
68
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
69
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
70
  };
28
71
  Object.defineProperty(exports, "__esModule", { value: true });
29
72
  exports.createNextApp = void 0;
30
- const path_1 = require("path");
31
- const fs_extra_1 = require("fs-extra");
32
- const glob_promise_1 = __importDefault(require("glob-promise"));
33
- const child_process_1 = require("child_process");
34
- const fs_1 = require("fs");
35
- const manifest_blocks_1 = require("../manifests/manifest-blocks");
36
- const manifest_views_1 = require("../manifests/manifest-views");
37
- const getRepoName_1 = require("../../utils/getRepoName");
38
- const updateEnvFile_1 = require("../../utils/updateEnvFile");
73
+ var path_1 = require("path");
74
+ var fs_extra_1 = require("fs-extra");
75
+ var glob_promise_1 = __importDefault(require("glob-promise"));
76
+ var child_process_1 = require("child_process");
77
+ var fs_1 = require("fs");
78
+ var manifest_blocks_1 = require("../manifests/manifest-blocks");
79
+ var manifest_views_1 = require("../manifests/manifest-views");
80
+ var getRepoName_1 = require("../../utils/getRepoName");
81
+ var updateEnvFile_1 = require("../../utils/updateEnvFile");
39
82
  function requireConfig(dir) {
40
- const configPath = (0, path_1.resolve)(dir, "ed.config.json");
83
+ var configPath = (0, path_1.resolve)(dir, "ed.config.json");
41
84
  return require(configPath);
42
85
  }
43
- async function createNextApp(opts) {
44
- const isVercel = process.env.VERCEL;
45
- const serverlessDirectory = isVercel ? opts.baseDirectory : (0, path_1.resolve)(opts.baseDirectory, ".serverless");
46
- const sendSignal = opts.sendSignal || (() => { });
47
- sendSignal({ code: "preparing" });
48
- const repoName = (0, getRepoName_1.getRepoName)(opts.baseDirectory);
49
- // Clean first
50
- if (!isVercel) {
51
- await clean(serverlessDirectory);
52
- }
53
- // Copy the template folder
54
- await copyTemplate(serverlessDirectory);
55
- // Update package.json
56
- if (isVercel) {
57
- await updatePackagesFile((0, path_1.resolve)(__dirname, "../../serverless-template"), opts.baseDirectory, opts.baseDirectory);
58
- }
59
- else {
60
- await updatePackagesFile((0, path_1.resolve)(__dirname, "../../serverless-template"), opts.baseDirectory, serverlessDirectory);
61
- }
62
- const assetPaths = requireConfig(opts.baseDirectory).serverless?.themeAssets || [];
63
- // Symlink important files and directories
64
- if (!isVercel) {
65
- // Sync important files during development, as they change
66
- await syncFiles(opts.baseDirectory, serverlessDirectory, [
67
- "blocks/**/*",
68
- "components/**/*",
69
- "hooks/**/*",
70
- "queries/**/*",
71
- "views/**/*",
72
- "utils/**/*",
73
- ".env",
74
- "*.ts",
75
- "*.tsx",
76
- ".babelrc",
77
- "ed.config.json",
78
- ]);
79
- // Also sync APIs into the APIs folder
80
- await syncFiles((0, path_1.join)(opts.baseDirectory, "apis"), (0, path_1.join)(serverlessDirectory, "apis"), ["**/*.{tsx,ts,js,jsx}"]);
81
- await syncAPIProxies((0, path_1.join)(opts.baseDirectory, "apis"), (0, path_1.join)(serverlessDirectory, "pages/api"));
82
- await syncFiles((0, path_1.join)(opts.baseDirectory, "routes"), (0, path_1.join)(serverlessDirectory, "pages"), ["**/*.{tsx,ts,js,jsx}"]);
83
- // Sync the public folder
84
- if (assetPaths.length) {
85
- await syncFiles(opts.baseDirectory, (0, path_1.join)(serverlessDirectory, `public/wp-content/themes/${repoName.repoName}`), assetPaths);
86
- }
87
- // Sync favicon
88
- await syncFiles((0, path_1.join)(opts.baseDirectory), (0, path_1.join)(serverlessDirectory, `public/`), ["favicon.ico"]);
89
- }
90
- else {
91
- // On Vercel, copy some files to the public folder
92
- // Copy public assets
93
- if (assetPaths.length) {
94
- await copyFiles(opts.baseDirectory, (0, path_1.join)(serverlessDirectory, `public/wp-content/themes/${repoName.repoName}`), assetPaths);
95
- }
96
- // Sync favicon
97
- await copyFiles((0, path_1.join)(opts.baseDirectory), (0, path_1.join)(serverlessDirectory, `public/`), ["favicon.ico"]);
98
- await copyFiles((0, path_1.join)(opts.baseDirectory, "routes"), (0, path_1.join)(serverlessDirectory, "pages/"), ["**/*"]);
99
- // Write APIs proxy code
100
- await writeAPIProxies((0, path_1.join)(opts.baseDirectory, "apis"), (0, path_1.join)(serverlessDirectory, "pages/api"));
101
- }
102
- // Remove pages/api/trpc directory if no _rpc is found
103
- if (!(0, fs_1.existsSync)((0, path_1.join)(opts.baseDirectory, "apis/_rpc/index.ts")) &&
104
- !(0, fs_1.existsSync)((0, path_1.join)(opts.baseDirectory, "apis/_rpc.ts"))) {
105
- (0, fs_extra_1.removeSync)((0, path_1.join)(serverlessDirectory, "pages/api/trpc"));
106
- }
107
- // Create manifests
108
- await initManifests(serverlessDirectory, opts.dev);
109
- // Update packages
110
- if (!isVercel) {
111
- sendSignal({ code: "packaging" });
112
- await updatePackages(serverlessDirectory);
113
- }
114
- sendSignal({ code: "compiling" });
115
- // Start
116
- if (opts.dev) {
117
- const port = await getPort(3000);
118
- // Write the endpoint URL to .env
119
- (0, updateEnvFile_1.updateEnvFile)({
120
- DEBUG_SERVERLESS_ENDPOINT: `http://localhost:${port}`,
121
- }, opts.baseDirectory);
122
- sendSignal({ code: "url", url: `http://127.0.0.1:${port}` });
123
- // await devNext(serverlessDirectory, port)
124
- await runScript(serverlessDirectory, ["dev", "--port", String(port)]);
125
- }
126
- else if (opts.build) {
127
- await runScript(serverlessDirectory, ["build"]);
128
- }
86
+ function createNextApp(opts) {
87
+ var _a;
88
+ return __awaiter(this, void 0, void 0, function () {
89
+ var isVercel, serverlessDirectory, sendSignal, repoName, assetPaths, port;
90
+ return __generator(this, function (_b) {
91
+ switch (_b.label) {
92
+ case 0:
93
+ isVercel = process.env.VERCEL;
94
+ serverlessDirectory = isVercel ? opts.baseDirectory : (0, path_1.resolve)(opts.baseDirectory, ".serverless");
95
+ sendSignal = opts.sendSignal || (function () { });
96
+ sendSignal({ code: "preparing" });
97
+ repoName = (0, getRepoName_1.getRepoName)(opts.baseDirectory);
98
+ if (!!isVercel) return [3 /*break*/, 2];
99
+ return [4 /*yield*/, clean(serverlessDirectory)];
100
+ case 1:
101
+ _b.sent();
102
+ _b.label = 2;
103
+ case 2:
104
+ // Copy the template folder
105
+ return [4 /*yield*/, copyTemplate(serverlessDirectory)
106
+ // Update package.json
107
+ ];
108
+ case 3:
109
+ // Copy the template folder
110
+ _b.sent();
111
+ if (!isVercel) return [3 /*break*/, 5];
112
+ return [4 /*yield*/, updatePackagesFile((0, path_1.resolve)(__dirname, "../../serverless-template"), opts.baseDirectory, opts.baseDirectory)];
113
+ case 4:
114
+ _b.sent();
115
+ return [3 /*break*/, 7];
116
+ case 5: return [4 /*yield*/, updatePackagesFile((0, path_1.resolve)(__dirname, "../../serverless-template"), opts.baseDirectory, serverlessDirectory)];
117
+ case 6:
118
+ _b.sent();
119
+ _b.label = 7;
120
+ case 7:
121
+ assetPaths = ((_a = requireConfig(opts.baseDirectory).serverless) === null || _a === void 0 ? void 0 : _a.themeAssets) || [];
122
+ if (!!isVercel) return [3 /*break*/, 15];
123
+ // Sync important files during development, as they change
124
+ return [4 /*yield*/, syncFiles(opts.baseDirectory, serverlessDirectory, [
125
+ "blocks/**/*",
126
+ "components/**/*",
127
+ "hooks/**/*",
128
+ "queries/**/*",
129
+ "views/**/*",
130
+ "utils/**/*",
131
+ ".env",
132
+ "*.ts",
133
+ "*.tsx",
134
+ ".babelrc",
135
+ "ed.config.json",
136
+ ])
137
+ // Also sync APIs into the APIs folder
138
+ ];
139
+ case 8:
140
+ // Sync important files during development, as they change
141
+ _b.sent();
142
+ // Also sync APIs into the APIs folder
143
+ return [4 /*yield*/, syncFiles((0, path_1.join)(opts.baseDirectory, "apis"), (0, path_1.join)(serverlessDirectory, "apis"), ["**/*.{tsx,ts,js,jsx}"])];
144
+ case 9:
145
+ // Also sync APIs into the APIs folder
146
+ _b.sent();
147
+ return [4 /*yield*/, syncAPIProxies((0, path_1.join)(opts.baseDirectory, "apis"), (0, path_1.join)(serverlessDirectory, "pages/api"))];
148
+ case 10:
149
+ _b.sent();
150
+ return [4 /*yield*/, syncFiles((0, path_1.join)(opts.baseDirectory, "routes"), (0, path_1.join)(serverlessDirectory, "pages"), ["**/*.{tsx,ts,js,jsx}"])
151
+ // Sync the public folder
152
+ ];
153
+ case 11:
154
+ _b.sent();
155
+ if (!assetPaths.length) return [3 /*break*/, 13];
156
+ return [4 /*yield*/, syncFiles(opts.baseDirectory, (0, path_1.join)(serverlessDirectory, "public/wp-content/themes/".concat(repoName.repoName)), assetPaths)];
157
+ case 12:
158
+ _b.sent();
159
+ _b.label = 13;
160
+ case 13:
161
+ // Sync favicon
162
+ return [4 /*yield*/, syncFiles((0, path_1.join)(opts.baseDirectory), (0, path_1.join)(serverlessDirectory, "public/"), ["favicon.ico"])];
163
+ case 14:
164
+ // Sync favicon
165
+ _b.sent();
166
+ return [3 /*break*/, 21];
167
+ case 15:
168
+ if (!assetPaths.length) return [3 /*break*/, 17];
169
+ return [4 /*yield*/, copyFiles(opts.baseDirectory, (0, path_1.join)(serverlessDirectory, "public/wp-content/themes/".concat(repoName.repoName)), assetPaths)];
170
+ case 16:
171
+ _b.sent();
172
+ _b.label = 17;
173
+ case 17:
174
+ // Sync favicon
175
+ return [4 /*yield*/, copyFiles((0, path_1.join)(opts.baseDirectory), (0, path_1.join)(serverlessDirectory, "public/"), ["favicon.ico"])];
176
+ case 18:
177
+ // Sync favicon
178
+ _b.sent();
179
+ return [4 /*yield*/, copyFiles((0, path_1.join)(opts.baseDirectory, "routes"), (0, path_1.join)(serverlessDirectory, "pages/"), ["**/*"])
180
+ // Write APIs proxy code
181
+ ];
182
+ case 19:
183
+ _b.sent();
184
+ // Write APIs proxy code
185
+ return [4 /*yield*/, writeAPIProxies((0, path_1.join)(opts.baseDirectory, "apis"), (0, path_1.join)(serverlessDirectory, "pages/api"))];
186
+ case 20:
187
+ // Write APIs proxy code
188
+ _b.sent();
189
+ _b.label = 21;
190
+ case 21:
191
+ // Remove pages/api/trpc directory if no _rpc is found
192
+ if (!(0, fs_1.existsSync)((0, path_1.join)(opts.baseDirectory, "apis/_rpc/index.ts")) &&
193
+ !(0, fs_1.existsSync)((0, path_1.join)(opts.baseDirectory, "apis/_rpc.ts"))) {
194
+ (0, fs_extra_1.removeSync)((0, path_1.join)(serverlessDirectory, "pages/api/trpc"));
195
+ }
196
+ // Create manifests
197
+ return [4 /*yield*/, initManifests(serverlessDirectory, opts.dev)
198
+ // Update packages
199
+ ];
200
+ case 22:
201
+ // Create manifests
202
+ _b.sent();
203
+ if (!!isVercel) return [3 /*break*/, 24];
204
+ sendSignal({ code: "packaging" });
205
+ return [4 /*yield*/, updatePackages(serverlessDirectory)];
206
+ case 23:
207
+ _b.sent();
208
+ _b.label = 24;
209
+ case 24:
210
+ sendSignal({ code: "compiling" });
211
+ if (!opts.dev) return [3 /*break*/, 27];
212
+ return [4 /*yield*/, getPort(3000)
213
+ // Write the endpoint URL to .env
214
+ ];
215
+ case 25:
216
+ port = _b.sent();
217
+ // Write the endpoint URL to .env
218
+ (0, updateEnvFile_1.updateEnvFile)({
219
+ DEBUG_SERVERLESS_ENDPOINT: "http://localhost:".concat(port),
220
+ }, opts.baseDirectory);
221
+ sendSignal({ code: "url", url: "http://127.0.0.1:".concat(port) });
222
+ // await devNext(serverlessDirectory, port)
223
+ return [4 /*yield*/, runScript(serverlessDirectory, ["dev", "--port", String(port)])];
224
+ case 26:
225
+ // await devNext(serverlessDirectory, port)
226
+ _b.sent();
227
+ return [3 /*break*/, 29];
228
+ case 27:
229
+ if (!opts.build) return [3 /*break*/, 29];
230
+ return [4 /*yield*/, runScript(serverlessDirectory, ["build"])];
231
+ case 28:
232
+ _b.sent();
233
+ _b.label = 29;
234
+ case 29: return [2 /*return*/];
235
+ }
236
+ });
237
+ });
129
238
  }
130
239
  exports.createNextApp = createNextApp;
131
- async function clean(path) {
132
- if (!(0, fs_1.existsSync)(path))
133
- return;
134
- const whitelist = ["node_modules", "package.json", "yarn.lock"];
135
- const files = (await (0, fs_extra_1.readdir)(path)).filter((file) => {
136
- return !whitelist.includes(file);
240
+ function clean(path) {
241
+ return __awaiter(this, void 0, void 0, function () {
242
+ var whitelist, files;
243
+ return __generator(this, function (_a) {
244
+ switch (_a.label) {
245
+ case 0:
246
+ if (!(0, fs_1.existsSync)(path))
247
+ return [2 /*return*/];
248
+ whitelist = ["node_modules", "package.json", "yarn.lock"];
249
+ return [4 /*yield*/, (0, fs_extra_1.readdir)(path)];
250
+ case 1:
251
+ files = (_a.sent()).filter(function (file) {
252
+ return !whitelist.includes(file);
253
+ });
254
+ return [4 /*yield*/, Promise.all(files.map(function (file) { return (0, fs_extra_1.removeSync)((0, path_1.resolve)(path, file)); }))];
255
+ case 2:
256
+ _a.sent();
257
+ return [2 /*return*/];
258
+ }
259
+ });
137
260
  });
138
- await Promise.all(files.map((file) => (0, fs_extra_1.removeSync)((0, path_1.resolve)(path, file))));
139
- }
140
- async function copyTemplate(targetFolder) {
141
- const sourceFolder = (0, path_1.resolve)(__dirname, "../../serverless-template");
142
- (0, fs_extra_1.mkdirp)(targetFolder);
143
- const files = await (0, glob_promise_1.default)((0, path_1.resolve)(sourceFolder, "**/*.*"));
144
- await Promise.all(files.map((src) => {
145
- if (src.includes("package.json"))
146
- return null;
147
- const dest = src.replace(sourceFolder, targetFolder);
148
- return (0, fs_extra_1.copy)(src, dest);
149
- }));
150
261
  }
151
- async function updatePackages(dir) {
152
- const proc = (0, child_process_1.spawn)("yarn", [], {
153
- cwd: dir,
154
- });
155
- proc.stdout?.pipe(process.stdout);
156
- proc.stderr?.pipe(process.stderr);
157
- return new Promise((resolve) => {
158
- proc.on("close", () => {
159
- resolve(null);
262
+ function copyTemplate(targetFolder) {
263
+ return __awaiter(this, void 0, void 0, function () {
264
+ var sourceFolder, files;
265
+ return __generator(this, function (_a) {
266
+ switch (_a.label) {
267
+ case 0:
268
+ sourceFolder = (0, path_1.resolve)(__dirname, "../../serverless-template");
269
+ (0, fs_extra_1.mkdirp)(targetFolder);
270
+ return [4 /*yield*/, (0, glob_promise_1.default)((0, path_1.resolve)(sourceFolder, "**/*.*"))];
271
+ case 1:
272
+ files = _a.sent();
273
+ return [4 /*yield*/, Promise.all(files.map(function (src) {
274
+ if (src.includes("package.json"))
275
+ return null;
276
+ var dest = src.replace(sourceFolder, targetFolder);
277
+ return (0, fs_extra_1.copy)(src, dest);
278
+ }))];
279
+ case 2:
280
+ _a.sent();
281
+ return [2 /*return*/];
282
+ }
160
283
  });
161
284
  });
162
285
  }
163
- async function updatePackagesFile(templateFolder, appFolder, outDirectory) {
164
- const sourcePackageFile = (0, path_1.resolve)(templateFolder, "package.json");
165
- const targetPackageFile = (0, path_1.resolve)(appFolder, "package.json");
166
- const outPackageFile = (0, path_1.resolve)(outDirectory, "package.json");
167
- const sourcePackage = require(sourcePackageFile);
168
- const targetPackage = require(targetPackageFile);
169
- const mergedPackage = {
170
- ...sourcePackage,
171
- dependencies: {
172
- ...(sourcePackage.dependencies || {}),
173
- ...(targetPackage.dependencies || {}),
174
- },
175
- devDependencies: {
176
- ...(sourcePackage.devDependencies || {}),
177
- ...(targetPackage.devDependencies || {}),
178
- },
179
- };
180
- (0, fs_extra_1.writeJSON)(outPackageFile, mergedPackage, {
181
- spaces: 2,
286
+ function updatePackages(dir) {
287
+ var _a, _b;
288
+ return __awaiter(this, void 0, void 0, function () {
289
+ var proc;
290
+ return __generator(this, function (_c) {
291
+ proc = (0, child_process_1.spawn)("yarn", [], {
292
+ cwd: dir,
293
+ });
294
+ (_a = proc.stdout) === null || _a === void 0 ? void 0 : _a.pipe(process.stdout);
295
+ (_b = proc.stderr) === null || _b === void 0 ? void 0 : _b.pipe(process.stderr);
296
+ return [2 /*return*/, new Promise(function (resolve) {
297
+ proc.on("close", function () {
298
+ resolve(null);
299
+ });
300
+ })];
301
+ });
182
302
  });
183
303
  }
184
- async function writeAPIProxies(sourceFolder, targetFolder) {
185
- const files = await (0, glob_promise_1.default)((0, path_1.join)(sourceFolder, "**/*.{tsx,ts,js}"));
186
- await Promise.all(files.map((file) => {
187
- const name = file.replace(sourceFolder, "");
188
- const outputPath = (0, path_1.join)(targetFolder, name);
189
- if (name.includes("_rpc"))
190
- return;
191
- (0, fs_extra_1.ensureFileSync)((0, path_1.join)(outputPath));
192
- return (0, fs_extra_1.writeFile)(outputPath, `import handler from "${file}"; export default handler;`);
193
- }));
304
+ function updatePackagesFile(templateFolder, appFolder, outDirectory) {
305
+ return __awaiter(this, void 0, void 0, function () {
306
+ var sourcePackageFile, targetPackageFile, outPackageFile, sourcePackage, targetPackage, mergedPackage;
307
+ return __generator(this, function (_a) {
308
+ sourcePackageFile = (0, path_1.resolve)(templateFolder, "package.json");
309
+ targetPackageFile = (0, path_1.resolve)(appFolder, "package.json");
310
+ outPackageFile = (0, path_1.resolve)(outDirectory, "package.json");
311
+ sourcePackage = require(sourcePackageFile);
312
+ targetPackage = require(targetPackageFile);
313
+ mergedPackage = __assign(__assign({}, sourcePackage), { dependencies: __assign(__assign({}, (sourcePackage.dependencies || {})), (targetPackage.dependencies || {})), devDependencies: __assign(__assign({}, (sourcePackage.devDependencies || {})), (targetPackage.devDependencies || {})) });
314
+ (0, fs_extra_1.writeJSON)(outPackageFile, mergedPackage, {
315
+ spaces: 2,
316
+ });
317
+ return [2 /*return*/];
318
+ });
319
+ });
194
320
  }
195
- async function syncAPIProxies(sourceFolder, targetFolder) {
196
- return syncFiles(sourceFolder, targetFolder, ["**/*"], (inputPath) => {
197
- if (inputPath.includes("_rpc"))
198
- return null;
199
- return `import handler from "${inputPath.replace(/\.(ts|js)x?$/, "")}"; export default handler;`;
321
+ function writeAPIProxies(sourceFolder, targetFolder) {
322
+ return __awaiter(this, void 0, void 0, function () {
323
+ var files;
324
+ return __generator(this, function (_a) {
325
+ switch (_a.label) {
326
+ case 0: return [4 /*yield*/, (0, glob_promise_1.default)((0, path_1.join)(sourceFolder, "**/*.{tsx,ts,js}"))];
327
+ case 1:
328
+ files = _a.sent();
329
+ return [4 /*yield*/, Promise.all(files.map(function (file) {
330
+ var name = file.replace(sourceFolder, "");
331
+ var outputPath = (0, path_1.join)(targetFolder, name);
332
+ if (name.includes("_rpc"))
333
+ return;
334
+ (0, fs_extra_1.ensureFileSync)((0, path_1.join)(outputPath));
335
+ return (0, fs_extra_1.writeFile)(outputPath, "import handler from \"".concat(file, "\"; export default handler;"));
336
+ }))];
337
+ case 2:
338
+ _a.sent();
339
+ return [2 /*return*/];
340
+ }
341
+ });
200
342
  });
201
343
  }
202
- async function copyFiles(sourceFolder, targetFolder, patterns) {
203
- // Glob all the files
204
- const files = (await Promise.all(patterns.map((pattern) => (0, glob_promise_1.default)((0, path_1.resolve)(sourceFolder, pattern))))).flat();
205
- // Replace sourceFolder in each path, and copy to target folder
206
- await Promise.all(files.map((file) => {
207
- const stat = (0, fs_1.statSync)(file);
208
- if (!stat.isDirectory()) {
209
- return (0, fs_extra_1.copy)(file, file.replace(sourceFolder, targetFolder));
210
- }
211
- }));
344
+ function syncAPIProxies(sourceFolder, targetFolder) {
345
+ return __awaiter(this, void 0, void 0, function () {
346
+ return __generator(this, function (_a) {
347
+ return [2 /*return*/, syncFiles(sourceFolder, targetFolder, ["**/*"], function (inputPath) {
348
+ if (inputPath.includes("_rpc"))
349
+ return null;
350
+ return "import handler from \"".concat(inputPath.replace(/\.(ts|js)x?$/, ""), "\"; export default handler;");
351
+ })];
352
+ });
353
+ });
212
354
  }
213
- async function syncFiles(sourceFolder, targetFolder, patterns, proxy) {
214
- return new Promise(async (ready) => {
215
- const { default: chokidar } = await Promise.resolve().then(() => __importStar(require("chokidar")));
216
- chokidar
217
- .watch(patterns, {
218
- cwd: sourceFolder,
219
- })
220
- .on("add", (path) => {
221
- if (proxy) {
222
- const output = proxy((0, path_1.relative)(targetFolder, (0, path_1.join)(sourceFolder, path)), (0, path_1.join)(targetFolder, path));
223
- if (typeof output === "string") {
224
- (0, fs_extra_1.ensureFileSync)((0, path_1.join)(targetFolder, path));
225
- (0, fs_extra_1.writeFile)((0, path_1.join)(targetFolder, path), output);
226
- }
355
+ function copyFiles(sourceFolder, targetFolder, patterns) {
356
+ return __awaiter(this, void 0, void 0, function () {
357
+ var files;
358
+ return __generator(this, function (_a) {
359
+ switch (_a.label) {
360
+ case 0: return [4 /*yield*/, Promise.all(patterns.map(function (pattern) { return (0, glob_promise_1.default)((0, path_1.resolve)(sourceFolder, pattern)); }))];
361
+ case 1:
362
+ files = (_a.sent()).flat();
363
+ // Replace sourceFolder in each path, and copy to target folder
364
+ return [4 /*yield*/, Promise.all(files.map(function (file) {
365
+ var stat = (0, fs_1.statSync)(file);
366
+ if (!stat.isDirectory()) {
367
+ return (0, fs_extra_1.copy)(file, file.replace(sourceFolder, targetFolder));
368
+ }
369
+ }))];
370
+ case 2:
371
+ // Replace sourceFolder in each path, and copy to target folder
372
+ _a.sent();
373
+ return [2 /*return*/];
227
374
  }
228
- else {
229
- (0, fs_extra_1.copy)((0, path_1.join)(sourceFolder, path), (0, path_1.join)(targetFolder, path));
230
- }
231
- })
232
- .on("unlink", (path) => {
233
- (0, fs_extra_1.remove)((0, path_1.join)(targetFolder, path));
234
- })
235
- .on("change", (path) => {
236
- if (!proxy) {
237
- (0, fs_extra_1.copy)((0, path_1.join)(sourceFolder, path), (0, path_1.join)(targetFolder, path));
238
- }
239
- })
240
- .on("ready", () => {
241
- ready(undefined);
375
+ });
376
+ });
377
+ }
378
+ function syncFiles(sourceFolder, targetFolder, patterns, proxy) {
379
+ return __awaiter(this, void 0, void 0, function () {
380
+ var _this = this;
381
+ return __generator(this, function (_a) {
382
+ return [2 /*return*/, new Promise(function (ready) { return __awaiter(_this, void 0, void 0, function () {
383
+ var chokidar;
384
+ return __generator(this, function (_a) {
385
+ switch (_a.label) {
386
+ case 0: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("chokidar")); })];
387
+ case 1:
388
+ chokidar = (_a.sent()).default;
389
+ chokidar
390
+ .watch(patterns, {
391
+ cwd: sourceFolder,
392
+ })
393
+ .on("add", function (path) {
394
+ if (proxy) {
395
+ var output = proxy((0, path_1.relative)(targetFolder, (0, path_1.join)(sourceFolder, path)), (0, path_1.join)(targetFolder, path));
396
+ if (typeof output === "string") {
397
+ (0, fs_extra_1.ensureFileSync)((0, path_1.join)(targetFolder, path));
398
+ (0, fs_extra_1.writeFile)((0, path_1.join)(targetFolder, path), output);
399
+ }
400
+ }
401
+ else {
402
+ (0, fs_extra_1.copy)((0, path_1.join)(sourceFolder, path), (0, path_1.join)(targetFolder, path));
403
+ }
404
+ })
405
+ .on("unlink", function (path) {
406
+ (0, fs_extra_1.remove)((0, path_1.join)(targetFolder, path));
407
+ })
408
+ .on("change", function (path) {
409
+ if (!proxy) {
410
+ (0, fs_extra_1.copy)((0, path_1.join)(sourceFolder, path), (0, path_1.join)(targetFolder, path));
411
+ }
412
+ })
413
+ .on("ready", function () {
414
+ ready(undefined);
415
+ });
416
+ return [2 /*return*/];
417
+ }
418
+ });
419
+ }); })];
242
420
  });
243
421
  });
244
422
  }
@@ -260,55 +438,99 @@ async function syncFiles(sourceFolder, targetFolder, patterns, proxy) {
260
438
  // }).listen(app.port)
261
439
  // })
262
440
  // }
263
- async function runScript(dir, args) {
264
- const proc = (0, child_process_1.spawn)("yarn", args, {
265
- cwd: dir,
266
- });
267
- proc.stdout?.pipe(process.stdout);
268
- proc.stderr?.pipe(process.stderr);
269
- return new Promise((resolve) => {
270
- proc.on("close", () => {
271
- resolve(null);
441
+ function runScript(dir, args) {
442
+ var _a, _b;
443
+ return __awaiter(this, void 0, void 0, function () {
444
+ var proc;
445
+ return __generator(this, function (_c) {
446
+ proc = (0, child_process_1.spawn)("yarn", args, {
447
+ cwd: dir,
448
+ });
449
+ (_a = proc.stdout) === null || _a === void 0 ? void 0 : _a.pipe(process.stdout);
450
+ (_b = proc.stderr) === null || _b === void 0 ? void 0 : _b.pipe(process.stderr);
451
+ return [2 /*return*/, new Promise(function (resolve) {
452
+ proc.on("close", function () {
453
+ resolve(null);
454
+ });
455
+ })];
272
456
  });
273
457
  });
274
458
  }
275
- async function initManifests(dir, dev) {
276
- await Promise.all([
277
- (0, manifest_blocks_1.createBlockManifestGenerator)({
278
- baseDirectory: dir,
279
- isAdmin: false,
280
- isDev: dev,
281
- isServerless: true,
282
- onGenerate: async (manifest) => {
283
- (0, fs_extra_1.writeFile)((0, path_1.resolve)(dir, "manifest_blocks.ts"), manifest);
284
- },
285
- watch: dev,
286
- }),
287
- (0, manifest_views_1.createViewManifestGenerator)({
288
- baseDirectory: dir,
289
- isAdmin: false,
290
- isDev: dev,
291
- isServerless: true,
292
- onGenerate: async (manifest) => {
293
- (0, fs_extra_1.writeFile)((0, path_1.resolve)(dir, "manifest_views.ts"), manifest);
294
- },
295
- watch: dev,
296
- }),
297
- ]);
298
- }
299
- async function getPort(port = 3000) {
300
- const { createServer } = await Promise.resolve().then(() => __importStar(require("net")));
301
- return await new Promise((resolve) => {
302
- const server = createServer();
303
- server.listen(port, "127.0.0.1");
304
- server.on("listening", () => {
305
- server.once("close", () => {
306
- resolve(port);
307
- });
308
- server.close();
459
+ function initManifests(dir, dev) {
460
+ return __awaiter(this, void 0, void 0, function () {
461
+ var _this = this;
462
+ return __generator(this, function (_a) {
463
+ switch (_a.label) {
464
+ case 0: return [4 /*yield*/, Promise.all([
465
+ (0, manifest_blocks_1.createBlockManifestGenerator)({
466
+ baseDirectory: dir,
467
+ isAdmin: false,
468
+ isDev: dev,
469
+ isServerless: true,
470
+ onGenerate: function (manifest) { return __awaiter(_this, void 0, void 0, function () {
471
+ return __generator(this, function (_a) {
472
+ (0, fs_extra_1.writeFile)((0, path_1.resolve)(dir, "manifest_blocks.ts"), manifest);
473
+ return [2 /*return*/];
474
+ });
475
+ }); },
476
+ watch: dev,
477
+ }),
478
+ (0, manifest_views_1.createViewManifestGenerator)({
479
+ baseDirectory: dir,
480
+ isAdmin: false,
481
+ isDev: dev,
482
+ isServerless: true,
483
+ onGenerate: function (manifest) { return __awaiter(_this, void 0, void 0, function () {
484
+ return __generator(this, function (_a) {
485
+ (0, fs_extra_1.writeFile)((0, path_1.resolve)(dir, "manifest_views.ts"), manifest);
486
+ return [2 /*return*/];
487
+ });
488
+ }); },
489
+ watch: dev,
490
+ }),
491
+ ])];
492
+ case 1:
493
+ _a.sent();
494
+ return [2 /*return*/];
495
+ }
309
496
  });
310
- server.on("error", async () => {
311
- resolve(await getPort(port + 1));
497
+ });
498
+ }
499
+ function getPort(port) {
500
+ if (port === void 0) { port = 3000; }
501
+ return __awaiter(this, void 0, void 0, function () {
502
+ var createServer;
503
+ var _this = this;
504
+ return __generator(this, function (_a) {
505
+ switch (_a.label) {
506
+ case 0: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("net")); })];
507
+ case 1:
508
+ createServer = (_a.sent()).createServer;
509
+ return [4 /*yield*/, new Promise(function (resolve) {
510
+ var server = createServer();
511
+ server.listen(port, "127.0.0.1");
512
+ server.on("listening", function () {
513
+ server.once("close", function () {
514
+ resolve(port);
515
+ });
516
+ server.close();
517
+ });
518
+ server.on("error", function () { return __awaiter(_this, void 0, void 0, function () {
519
+ var _a;
520
+ return __generator(this, function (_b) {
521
+ switch (_b.label) {
522
+ case 0:
523
+ _a = resolve;
524
+ return [4 /*yield*/, getPort(port + 1)];
525
+ case 1:
526
+ _a.apply(void 0, [_b.sent()]);
527
+ return [2 /*return*/];
528
+ }
529
+ });
530
+ }); });
531
+ })];
532
+ case 2: return [2 /*return*/, _a.sent()];
533
+ }
312
534
  });
313
535
  });
314
536
  }