eddev 0.2.66 → 0.2.67-beta1

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 (188) hide show
  1. package/admin/components/ImageWell.d.ts +2 -3
  2. package/admin/components/ImageWell.js +39 -51
  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 +5 -1
  7. package/admin/installFieldTypes.js +26 -26
  8. package/admin/runWidgets.js +17 -28
  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 +58 -66
  13. package/blocks/ErrorBoundaryEditor.d.ts +1 -1
  14. package/blocks/ErrorBoundaryEditor.js +16 -45
  15. package/blocks/ErrorBoundaryFrontend.d.ts +1 -1
  16. package/blocks/ErrorBoundaryFrontend.js +16 -45
  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 +24 -44
  21. package/blocks/index.js +5 -1
  22. package/blocks/inlineEditing.d.ts +7 -7
  23. package/blocks/inlineEditing.js +36 -55
  24. package/blocks/installGutenbergHooks.js +48 -68
  25. package/build/babel/plugin-name-defined-components.js +15 -16
  26. package/build/build-favicon.js +11 -62
  27. package/build/clean.js +5 -52
  28. package/build/create-codegen-worker.js +78 -33
  29. package/build/create-serverless-dev-worker.js +61 -39
  30. package/build/create-webpack-worker.js +65 -33
  31. package/build/file-tree.d.ts +2 -2
  32. package/build/file-tree.js +12 -12
  33. package/build/get-webpack-config.js +341 -395
  34. package/build/graphql-codegen/graphql-codegen-files.js +31 -25
  35. package/build/graphql-codegen/graphql-codegen-no-duplicates.js +4 -4
  36. package/build/graphql-codegen/graphql-codegen-queries.js +102 -99
  37. package/build/manifests/manifest-blocks.d.ts +1 -1
  38. package/build/manifests/manifest-blocks.js +37 -29
  39. package/build/manifests/manifest-fields.d.ts +1 -1
  40. package/build/manifests/manifest-fields.js +23 -21
  41. package/build/manifests/manifest-views.d.ts +1 -1
  42. package/build/manifests/manifest-views.js +32 -25
  43. package/build/manifests/manifest-widgets.d.ts +1 -1
  44. package/build/manifests/manifest-widgets.js +22 -20
  45. package/build/manifests/manifest.d.ts +2 -2
  46. package/build/manifests/manifest.js +30 -90
  47. package/build/reporter.d.ts +1 -1
  48. package/build/reporter.js +29 -32
  49. package/build/serverless/create-next-app.d.ts +1 -1
  50. package/build/serverless/create-next-app.js +245 -467
  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 +392 -507
  55. package/build/workers/serverless-worker-dev-script.js +4 -4
  56. package/build/workers/webpack-worker-script.js +89 -150
  57. package/cli/build.dev.d.ts +1 -1
  58. package/cli/build.dev.js +79 -126
  59. package/cli/build.prod.d.ts +1 -1
  60. package/cli/build.prod.js +42 -98
  61. package/cli/cli.js +16 -55
  62. package/cli/display/components/BundleDisplay.d.ts +1 -2
  63. package/cli/display/components/BundleDisplay.js +13 -24
  64. package/cli/display/components/CodegenDisplay.d.ts +1 -2
  65. package/cli/display/components/CodegenDisplay.js +14 -25
  66. package/cli/display/components/DevCLIDisplay.d.ts +2 -3
  67. package/cli/display/components/DevCLIDisplay.js +14 -25
  68. package/cli/display/components/Fullscreen.js +9 -20
  69. package/cli/display/components/ServerlessDisplay.d.ts +2 -3
  70. package/cli/display/components/ServerlessDisplay.js +15 -26
  71. package/cli/display/components/StatusIcon.d.ts +2 -3
  72. package/cli/display/components/StatusIcon.js +3 -3
  73. package/cli/preinstall.js +4 -5
  74. package/cli/setup.js +25 -73
  75. package/components/AdminBar.d.ts +1 -2
  76. package/components/AdminBar.js +37 -3
  77. package/components/BrowserRouter.d.ts +2 -2
  78. package/components/BrowserRouter.js +41 -54
  79. package/components/InlinePage.d.ts +2 -2
  80. package/components/InlinePage.js +17 -29
  81. package/components/NextRouter.d.ts +2 -2
  82. package/components/NextRouter.js +20 -29
  83. package/components/index.js +5 -1
  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 +10 -13
  88. package/config/index.js +5 -1
  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 -3
  92. package/dev-ui/components/BreakpointColumnHeader.js +7 -18
  93. package/dev-ui/components/BreakpointIndicator.d.ts +1 -2
  94. package/dev-ui/components/BreakpointIndicator.js +25 -32
  95. package/dev-ui/components/DevUI.d.ts +1 -2
  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 +13 -25
  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 -3
  102. package/dev-ui/components/ResponsiveLerpControl.js +27 -38
  103. package/dev-ui/components/ResponsiveScaleEditor.d.ts +4 -5
  104. package/dev-ui/components/ResponsiveScaleEditor.js +64 -78
  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 +8 -9
  108. package/dev-ui/components/atoms/NumberField.d.ts +2 -3
  109. package/dev-ui/components/atoms/NumberField.js +29 -42
  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 +5 -16
  114. package/dev-ui/components/atoms/Tooltip.d.ts +2 -2
  115. package/dev-ui/components/atoms/Tooltip.js +8 -20
  116. package/dev-ui/components/panels/AppDataDebugger.d.ts +1 -2
  117. package/dev-ui/components/panels/AppDataDebugger.js +8 -19
  118. package/dev-ui/components/panels/ColorEditor.d.ts +1 -2
  119. package/dev-ui/components/panels/ColorEditor.js +35 -42
  120. package/dev-ui/components/panels/PageDataDebugger.d.ts +1 -2
  121. package/dev-ui/components/panels/PageDataDebugger.js +8 -20
  122. package/dev-ui/components/panels/QueryDebugger.d.ts +1 -2
  123. package/dev-ui/components/panels/QueryDebugger.js +12 -24
  124. package/dev-ui/components/panels/SpacingEditor.d.ts +1 -2
  125. package/dev-ui/components/panels/SpacingEditor.js +34 -48
  126. package/dev-ui/components/panels/TypographyEditor.d.ts +1 -2
  127. package/dev-ui/components/panels/TypographyEditor.js +38 -46
  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 +6 -7
  131. package/dev-ui/hooks/useStylesheet.js +6 -6
  132. package/dev-ui/icons.d.ts +15 -16
  133. package/dev-ui/icons.js +16 -27
  134. package/dev-ui/index.js +5 -1
  135. package/dev-ui/loader.d.ts +1 -2
  136. package/dev-ui/loader.js +13 -9
  137. package/dev-ui/panels.d.ts +2 -2
  138. package/dev-ui/panels.js +7 -7
  139. package/dev-ui/theme.d.ts +96 -70
  140. package/dev-ui/theme.js +3 -3
  141. package/dynamic/dynamic-component.d.ts +1 -10
  142. package/dynamic/dynamic-component.js +1 -1
  143. package/dynamic/index.js +5 -1
  144. package/entry/Root.d.ts +2 -3
  145. package/entry/Root.js +16 -26
  146. package/entry/entry.admin.dev.js +4 -4
  147. package/entry/entry.admin.prod.js +4 -4
  148. package/entry/entry.monolith.dev.js +5 -5
  149. package/entry/entry.monolith.prod.js +5 -5
  150. package/gravityforms/gravity-forms.d.ts +2 -2
  151. package/gravityforms/index.js +5 -1
  152. package/gravityforms/useGravityForm.d.ts +2 -2
  153. package/gravityforms/useGravityForm.js +126 -130
  154. package/hooks/index.js +5 -1
  155. package/hooks/queryUtils.d.ts +14 -14
  156. package/hooks/queryUtils.js +101 -192
  157. package/hooks/useAppData.d.ts +2 -2
  158. package/hooks/useAppData.js +9 -9
  159. package/hooks/usePageLoad.js +4 -4
  160. package/hooks/useQueryDebug.d.ts +1 -1
  161. package/hooks/useQueryDebug.js +7 -7
  162. package/hooks/useRPC.d.ts +4 -4
  163. package/hooks/useRPC.js +3 -3
  164. package/package.json +7 -7
  165. package/routing/index.js +5 -1
  166. package/routing/remoteProps.d.ts +1 -1
  167. package/routing/remoteProps.js +31 -72
  168. package/routing/routing.d.ts +15 -15
  169. package/routing/routing.js +108 -170
  170. package/routing/updateEditLink.js +1 -1
  171. package/serverless/define-api.d.ts +1 -1
  172. package/serverless/define-rpc-router.js +8 -4
  173. package/serverless/index.js +6 -2
  174. package/style/createStitches.d.ts +375 -783
  175. package/style/createStitches.js +164 -142
  176. package/style/index.js +5 -1
  177. package/tsconfig.json +1 -1
  178. package/utils/Observable.d.ts +2 -2
  179. package/utils/Observable.js +12 -15
  180. package/utils/getRepoName.js +3 -3
  181. package/utils/promptIfRepoNameIncorrect.js +18 -64
  182. package/utils/refreshOverlayInterop.js +1 -1
  183. package/utils/reportErrorStack.d.ts +1 -1
  184. package/utils/reportErrorStack.js +1 -1
  185. package/utils/serverlessAppContext.js +1 -1
  186. package/utils/updateEnvFile.js +19 -69
  187. package/utils/useObservable.js +3 -3
  188. package/views/index.js +5 -1
@@ -1,18 +1,11 @@
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
- };
13
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
3
  if (k2 === undefined) k2 = k;
15
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
16
9
  }) : (function(o, m, k, k2) {
17
10
  if (k2 === undefined) k2 = k;
18
11
  o[k2] = m[k];
@@ -29,394 +22,223 @@ var __importStar = (this && this.__importStar) || function (mod) {
29
22
  __setModuleDefault(result, mod);
30
23
  return result;
31
24
  };
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
- };
68
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
69
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
70
27
  };
71
28
  Object.defineProperty(exports, "__esModule", { value: true });
72
29
  exports.createNextApp = void 0;
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");
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");
82
39
  function requireConfig(dir) {
83
- var configPath = (0, path_1.resolve)(dir, "ed.config.json");
40
+ const configPath = (0, path_1.resolve)(dir, "ed.config.json");
84
41
  return require(configPath);
85
42
  }
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
- });
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
+ }
238
129
  }
239
130
  exports.createNextApp = createNextApp;
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
- });
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);
260
137
  });
138
+ await Promise.all(files.map((file) => (0, fs_extra_1.removeSync)((0, path_1.resolve)(path, file))));
261
139
  }
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
- }
283
- });
284
- });
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
+ }));
285
150
  }
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
- });
151
+ async function updatePackages(dir) {
152
+ const proc = (0, child_process_1.spawn)("yarn", [], {
153
+ cwd: dir,
302
154
  });
303
- }
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*/];
155
+ proc.stdout?.pipe(process.stdout);
156
+ proc.stderr?.pipe(process.stderr);
157
+ return new Promise((resolve) => {
158
+ proc.on("close", () => {
159
+ resolve(null);
318
160
  });
319
161
  });
320
162
  }
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
- });
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,
342
182
  });
343
183
  }
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
- });
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
+ }));
354
194
  }
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*/];
374
- }
375
- });
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;`;
376
200
  });
377
201
  }
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
- }); })];
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
+ }));
212
+ }
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
+ }
227
+ }
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);
420
242
  });
421
243
  });
422
244
  }
@@ -438,99 +260,55 @@ function syncFiles(sourceFolder, targetFolder, patterns, proxy) {
438
260
  // }).listen(app.port)
439
261
  // })
440
262
  // }
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
- })];
456
- });
263
+ async function runScript(dir, args) {
264
+ const proc = (0, child_process_1.spawn)("yarn", args, {
265
+ cwd: dir,
457
266
  });
458
- }
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
- }
267
+ proc.stdout?.pipe(process.stdout);
268
+ proc.stderr?.pipe(process.stderr);
269
+ return new Promise((resolve) => {
270
+ proc.on("close", () => {
271
+ resolve(null);
496
272
  });
497
273
  });
498
274
  }
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
- }
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();
309
+ });
310
+ server.on("error", async () => {
311
+ resolve(await getPort(port + 1));
534
312
  });
535
313
  });
536
314
  }