eddev 0.2.0-beta.3 → 0.2.0-beta.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/build-favicon.d.ts +1 -0
- package/build/build-favicon.js +71 -0
- package/build/create-serverless-dev-worker.d.ts +3 -0
- package/build/create-serverless-dev-worker.js +99 -0
- package/build/get-webpack-config.js +24 -11
- package/build/reporter.js +0 -109
- package/build/serverless/create-next-app.d.ts +2 -0
- package/build/serverless/create-next-app.js +309 -77
- package/build/state/serverless-state.d.ts +26 -0
- package/build/state/serverless-state.js +2 -0
- package/build/workers/codegen-worker-script.js +2 -0
- package/build/workers/serverless-worker-dev-script.d.ts +1 -0
- package/build/workers/serverless-worker-dev-script.js +21 -0
- package/cli/build.dev.js +30 -7
- package/cli/build.prod.js +5 -0
- package/cli/cli.js +26 -18
- package/cli/display/components/DevCLIDisplay.d.ts +3 -0
- package/cli/display/components/DevCLIDisplay.js +20 -1
- package/cli/display/components/ServerlessDisplay.d.ts +9 -0
- package/cli/display/components/ServerlessDisplay.js +68 -0
- package/config/config-schema.d.ts +55 -0
- package/config/config-schema.js +19 -0
- package/config/create-schema-file.d.ts +1 -0
- package/config/create-schema-file.js +20 -0
- package/config/get-config.d.ts +39 -0
- package/config/get-config.js +32 -0
- package/config/index.d.ts +2 -0
- package/config/index.js +14 -0
- package/config/parse-config.d.ts +25 -0
- package/config/parse-config.js +8 -0
- package/config/print-zod-errors.d.ts +2 -0
- package/config/print-zod-errors.js +14 -0
- package/dev-ui/components/BreakpointColumnHeader.d.ts +11 -0
- package/dev-ui/components/BreakpointColumnHeader.js +47 -0
- package/dev-ui/components/BreakpointIndicator.d.ts +2 -0
- package/dev-ui/components/BreakpointIndicator.js +138 -0
- package/dev-ui/components/DevUI.d.ts +2 -0
- package/dev-ui/components/DevUI.js +28 -0
- package/dev-ui/components/Launcher.d.ts +98 -0
- package/dev-ui/components/Launcher.js +94 -0
- package/dev-ui/components/PanelWrapper.d.ts +8 -0
- package/dev-ui/components/PanelWrapper.js +37 -0
- package/dev-ui/components/ResponsiveLerpControl.d.ts +8 -0
- package/dev-ui/components/ResponsiveLerpControl.js +177 -0
- package/dev-ui/components/ResponsiveScaleEditor.d.ts +26 -0
- package/dev-ui/components/ResponsiveScaleEditor.js +233 -0
- package/dev-ui/components/atoms/Button.d.ts +47 -0
- package/dev-ui/components/atoms/Button.js +67 -0
- package/dev-ui/components/atoms/Dropdown.d.ts +13 -0
- package/dev-ui/components/atoms/Dropdown.js +50 -0
- package/dev-ui/components/atoms/NumberField.d.ts +12 -0
- package/dev-ui/components/atoms/NumberField.js +111 -0
- package/dev-ui/components/atoms/Spacer.d.ts +42 -0
- package/dev-ui/components/atoms/Spacer.js +8 -0
- package/dev-ui/components/atoms/Text.d.ts +45 -0
- package/dev-ui/components/atoms/Text.js +39 -0
- package/dev-ui/components/atoms/ToggleButton.d.ts +8 -0
- package/dev-ui/components/atoms/ToggleButton.js +41 -0
- package/dev-ui/components/atoms/Tooltip.d.ts +9 -0
- package/dev-ui/components/atoms/Tooltip.js +66 -0
- package/dev-ui/components/panels/PageDataDebugger.d.ts +2 -0
- package/dev-ui/components/panels/PageDataDebugger.js +30 -0
- package/dev-ui/components/panels/SpacingEditor.d.ts +2 -0
- package/dev-ui/components/panels/SpacingEditor.js +88 -0
- package/dev-ui/components/panels/TypographyEditor.d.ts +2 -0
- package/dev-ui/components/panels/TypographyEditor.js +88 -0
- package/dev-ui/hooks/useBreakpoint.d.ts +11 -0
- package/dev-ui/hooks/useBreakpoint.js +59 -0
- package/dev-ui/hooks/usePersistState.d.ts +1 -0
- package/dev-ui/hooks/usePersistState.js +36 -0
- package/dev-ui/hooks/useStylesheet.d.ts +4 -0
- package/dev-ui/hooks/useStylesheet.js +31 -0
- package/dev-ui/icons.d.ts +15 -0
- package/dev-ui/icons.js +29 -0
- package/dev-ui/index.d.ts +1 -0
- package/dev-ui/index.js +13 -0
- package/dev-ui/loader.d.ts +2 -0
- package/dev-ui/loader.js +42 -0
- package/dev-ui/panels.d.ts +11 -0
- package/dev-ui/panels.js +33 -0
- package/dev-ui/theme.d.ts +151 -0
- package/dev-ui/theme.js +50 -0
- package/entry/Root.d.ts +3 -1
- package/entry/Root.js +18 -6
- package/hooks/index.d.ts +1 -0
- package/hooks/index.js +1 -0
- package/hooks/rpc-client.d.ts +3 -0
- package/hooks/rpc-client.js +15 -0
- package/hooks/useAppData.js +0 -1
- package/hooks/useRPC.d.ts +4 -0
- package/hooks/useRPC.js +16 -0
- package/package.json +18 -8
- package/serverless/create-rpc-client.d.ts +20 -0
- package/serverless/create-rpc-client.js +20 -0
- package/serverless/define-api.d.ts +2 -0
- package/serverless/define-api.js +66 -0
- package/serverless/define-rpc-router.d.ts +4 -0
- package/serverless/define-rpc-router.js +33 -0
- package/serverless/error-codes.d.ts +2 -0
- package/serverless/error-codes.js +14 -0
- package/serverless/index.d.ts +3 -0
- package/serverless/index.js +15 -0
- package/serverless/rpc-client.d.ts +3 -0
- package/serverless/rpc-client.js +15 -0
- package/serverless/rpc-provider.d.ts +1 -0
- package/serverless/rpc-provider.js +5 -0
- package/serverless-template/_utils/PageMeta.tsx +44 -0
- package/serverless-template/_utils/ed-config.ts +5 -0
- package/serverless-template/_utils/fetch-wordpress-props.ts +36 -6
- package/serverless-template/_utils/fetch-wp.ts +16 -0
- package/serverless-template/global.d.ts +1 -0
- package/serverless-template/next.config.js +72 -53
- package/serverless-template/package.json +5 -3
- package/serverless-template/pages/_app.tsx +20 -4
- package/serverless-template/pages/_document.tsx +19 -0
- package/serverless-template/pages/api/trpc/[...trpc].ts +29 -0
- package/style/createStitches.d.ts +71 -1
- package/style/createStitches.js +151 -45
- package/utils/getRepoName.d.ts +2 -2
- package/utils/getRepoName.js +14 -52
- package/utils/updateEnvFile.d.ts +1 -0
- package/utils/updateEnvFile.js +76 -0
- package/cli/prepare-next.d.ts +0 -0
- package/cli/prepare-next.js +0 -1
- package/entry/entry.serverless.dev.d.ts +0 -0
- package/entry/entry.serverless.dev.js +0 -2
- package/fields/ImageWell.d.ts +0 -8
- package/fields/ImageWell.js +0 -64
- package/serverless-template/package-lock.json +0 -641
- package/serverless-template/pages/api/hello.ts +0 -10
|
@@ -10,6 +10,25 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
+
}) : function(o, v) {
|
|
23
|
+
o["default"] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
26
|
+
if (mod && mod.__esModule) return mod;
|
|
27
|
+
var result = {};
|
|
28
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
29
|
+
__setModuleDefault(result, mod);
|
|
30
|
+
return result;
|
|
31
|
+
};
|
|
13
32
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
33
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
34
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -59,65 +78,159 @@ var fs_1 = require("fs");
|
|
|
59
78
|
var manifest_blocks_1 = require("../manifests/manifest-blocks");
|
|
60
79
|
var promises_1 = require("fs/promises");
|
|
61
80
|
var manifest_views_1 = require("../manifests/manifest-views");
|
|
81
|
+
var getRepoName_1 = require("../../utils/getRepoName");
|
|
82
|
+
var updateEnvFile_1 = require("../../utils/updateEnvFile");
|
|
83
|
+
function requireConfig(dir) {
|
|
84
|
+
var configPath = (0, path_1.resolve)(dir, "ed.config.json");
|
|
85
|
+
return require(configPath);
|
|
86
|
+
}
|
|
62
87
|
function createNextApp(opts) {
|
|
88
|
+
var _a;
|
|
63
89
|
return __awaiter(this, void 0, void 0, function () {
|
|
64
|
-
var serverlessDirectory;
|
|
65
|
-
return __generator(this, function (
|
|
66
|
-
switch (
|
|
90
|
+
var isVercel, serverlessDirectory, sendSignal, repoName, assetPaths, port;
|
|
91
|
+
return __generator(this, function (_b) {
|
|
92
|
+
switch (_b.label) {
|
|
67
93
|
case 0:
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
94
|
+
isVercel = process.env.VERCEL;
|
|
95
|
+
serverlessDirectory = isVercel ? opts.baseDirectory : (0, path_1.resolve)(opts.baseDirectory, ".serverless");
|
|
96
|
+
sendSignal = opts.sendSignal || (function () { });
|
|
97
|
+
sendSignal({ code: "preparing" });
|
|
98
|
+
repoName = (0, getRepoName_1.getRepoName)(opts.baseDirectory);
|
|
99
|
+
if (!!isVercel) return [3 /*break*/, 2];
|
|
100
|
+
return [4 /*yield*/, clean(serverlessDirectory)];
|
|
73
101
|
case 1:
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
];
|
|
80
|
-
case 2:
|
|
81
|
-
// Copy the template folder
|
|
82
|
-
_a.sent();
|
|
102
|
+
_b.sent();
|
|
103
|
+
_b.label = 2;
|
|
104
|
+
case 2:
|
|
105
|
+
// Copy the template folder
|
|
106
|
+
return [4 /*yield*/, copyTemplate(serverlessDirectory)
|
|
83
107
|
// Update package.json
|
|
84
|
-
|
|
85
|
-
// Update packages
|
|
86
|
-
// TODO: On vercel, can we maybe just symlink or copy node_modules?
|
|
87
|
-
];
|
|
108
|
+
];
|
|
88
109
|
case 3:
|
|
89
|
-
//
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
return [4 /*yield*/, updatePackages(serverlessDirectory)
|
|
94
|
-
// Symlink important files and directories
|
|
95
|
-
];
|
|
110
|
+
// Copy the template folder
|
|
111
|
+
_b.sent();
|
|
112
|
+
if (!!isVercel) return [3 /*break*/, 5];
|
|
113
|
+
return [4 /*yield*/, updatePackagesFile(opts.baseDirectory, serverlessDirectory)];
|
|
96
114
|
case 4:
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
_a.sent();
|
|
100
|
-
// Symlink important files and directories
|
|
101
|
-
return [4 /*yield*/, syncFiles(opts.baseDirectory, serverlessDirectory)
|
|
102
|
-
// Create manifests
|
|
103
|
-
];
|
|
115
|
+
_b.sent();
|
|
116
|
+
_b.label = 5;
|
|
104
117
|
case 5:
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
//
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
118
|
+
assetPaths = ((_a = requireConfig(opts.baseDirectory).serverless) === null || _a === void 0 ? void 0 : _a.themeAssets) || [];
|
|
119
|
+
if (!!isVercel) return [3 /*break*/, 12];
|
|
120
|
+
// Sync important files during development, as they change
|
|
121
|
+
return [4 /*yield*/, syncFiles(opts.baseDirectory, serverlessDirectory, [
|
|
122
|
+
"blocks/**/*",
|
|
123
|
+
"components/**/*",
|
|
124
|
+
"hooks/**/*",
|
|
125
|
+
"queries/**/*",
|
|
126
|
+
".env",
|
|
127
|
+
"views/**/*",
|
|
128
|
+
"theme.css.tsx",
|
|
129
|
+
"types.graphql.ts",
|
|
130
|
+
"types.views.ts",
|
|
131
|
+
"types.blocks.ts",
|
|
132
|
+
"types.api.ts",
|
|
133
|
+
"utils/**/*",
|
|
134
|
+
"ed.config.json",
|
|
135
|
+
])
|
|
136
|
+
// Also sync APIs into the APIs folder
|
|
137
|
+
];
|
|
111
138
|
case 6:
|
|
112
|
-
|
|
113
|
-
|
|
139
|
+
// Sync important files during development, as they change
|
|
140
|
+
_b.sent();
|
|
141
|
+
// Also sync APIs into the APIs folder
|
|
142
|
+
return [4 /*yield*/, syncFiles((0, path_1.join)(opts.baseDirectory, "api"), (0, path_1.join)(serverlessDirectory, "api"), ["**/*.{tsx,ts,js,jsx}"])];
|
|
114
143
|
case 7:
|
|
115
|
-
|
|
116
|
-
|
|
144
|
+
// Also sync APIs into the APIs folder
|
|
145
|
+
_b.sent();
|
|
146
|
+
return [4 /*yield*/, syncAPIProxies((0, path_1.join)(serverlessDirectory, "api"), (0, path_1.join)(serverlessDirectory, "pages/api"))
|
|
147
|
+
// Sync the public folder
|
|
148
|
+
];
|
|
117
149
|
case 8:
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
150
|
+
_b.sent();
|
|
151
|
+
if (!assetPaths.length) return [3 /*break*/, 10];
|
|
152
|
+
return [4 /*yield*/, syncFiles(opts.baseDirectory, (0, path_1.join)(serverlessDirectory, "public/wp-content/themes/".concat(repoName.repoName)), assetPaths)];
|
|
153
|
+
case 9:
|
|
154
|
+
_b.sent();
|
|
155
|
+
_b.label = 10;
|
|
156
|
+
case 10:
|
|
157
|
+
// Sync favicon
|
|
158
|
+
return [4 /*yield*/, syncFiles((0, path_1.join)(opts.baseDirectory), (0, path_1.join)(serverlessDirectory, "public/"), ["favicon.ico"])];
|
|
159
|
+
case 11:
|
|
160
|
+
// Sync favicon
|
|
161
|
+
_b.sent();
|
|
162
|
+
return [3 /*break*/, 17];
|
|
163
|
+
case 12:
|
|
164
|
+
if (!assetPaths.length) return [3 /*break*/, 14];
|
|
165
|
+
return [4 /*yield*/, copyFiles(opts.baseDirectory, (0, path_1.join)(serverlessDirectory, "public/wp-content/themes/".concat(repoName.repoName)), assetPaths)];
|
|
166
|
+
case 13:
|
|
167
|
+
_b.sent();
|
|
168
|
+
_b.label = 14;
|
|
169
|
+
case 14:
|
|
170
|
+
// Sync favicon
|
|
171
|
+
return [4 /*yield*/, copyFiles((0, path_1.join)(opts.baseDirectory), (0, path_1.join)(serverlessDirectory, "public/"), ["favicon.ico"])
|
|
172
|
+
// Write APIs proxy code
|
|
173
|
+
];
|
|
174
|
+
case 15:
|
|
175
|
+
// Sync favicon
|
|
176
|
+
_b.sent();
|
|
177
|
+
// Write APIs proxy code
|
|
178
|
+
return [4 /*yield*/, writeAPIProxies((0, path_1.join)(opts.baseDirectory, "api"), (0, path_1.join)(serverlessDirectory, "pages/api"))
|
|
179
|
+
// Remove pages/api/trpc directory if no _rpc is found
|
|
180
|
+
];
|
|
181
|
+
case 16:
|
|
182
|
+
// Write APIs proxy code
|
|
183
|
+
_b.sent();
|
|
184
|
+
// Remove pages/api/trpc directory if no _rpc is found
|
|
185
|
+
console.log({
|
|
186
|
+
index: (0, path_1.join)(opts.baseDirectory, "api/_rpc/index.ts"),
|
|
187
|
+
rpc: (0, path_1.join)(opts.baseDirectory, "api/_rpc.ts"),
|
|
188
|
+
});
|
|
189
|
+
if (!(0, fs_1.existsSync)((0, path_1.join)(opts.baseDirectory, "api/_rpc/index.ts")) &&
|
|
190
|
+
!(0, fs_1.existsSync)((0, path_1.join)(opts.baseDirectory, "api/_rpc.ts"))) {
|
|
191
|
+
// removeSync(join(serverlessDirectory, "pages/api/trpc"))
|
|
192
|
+
}
|
|
193
|
+
_b.label = 17;
|
|
194
|
+
case 17:
|
|
195
|
+
if (!!isVercel) return [3 /*break*/, 19];
|
|
196
|
+
sendSignal({ code: "packaging" });
|
|
197
|
+
return [4 /*yield*/, updatePackages(serverlessDirectory)];
|
|
198
|
+
case 18:
|
|
199
|
+
_b.sent();
|
|
200
|
+
_b.label = 19;
|
|
201
|
+
case 19:
|
|
202
|
+
sendSignal({ code: "compiling" });
|
|
203
|
+
// Create manifests
|
|
204
|
+
return [4 /*yield*/, initManifests(serverlessDirectory, opts.dev)
|
|
205
|
+
// Start
|
|
206
|
+
];
|
|
207
|
+
case 20:
|
|
208
|
+
// Create manifests
|
|
209
|
+
_b.sent();
|
|
210
|
+
if (!opts.dev) return [3 /*break*/, 23];
|
|
211
|
+
return [4 /*yield*/, getPort(3000)
|
|
212
|
+
// Write the endpoint URL to .env
|
|
213
|
+
];
|
|
214
|
+
case 21:
|
|
215
|
+
port = _b.sent();
|
|
216
|
+
// Write the endpoint URL to .env
|
|
217
|
+
(0, updateEnvFile_1.updateEnvFile)({
|
|
218
|
+
DEBUG_SERVERLESS_ENDPOINT: "http://localhost:".concat(port),
|
|
219
|
+
}, opts.baseDirectory);
|
|
220
|
+
sendSignal({ code: "url", url: "http://127.0.0.1:".concat(port) });
|
|
221
|
+
// await devNext(serverlessDirectory, port)
|
|
222
|
+
return [4 /*yield*/, runScript(serverlessDirectory, ["dev", "--port", String(port)])];
|
|
223
|
+
case 22:
|
|
224
|
+
// await devNext(serverlessDirectory, port)
|
|
225
|
+
_b.sent();
|
|
226
|
+
return [3 /*break*/, 25];
|
|
227
|
+
case 23:
|
|
228
|
+
if (!opts.build) return [3 /*break*/, 25];
|
|
229
|
+
return [4 /*yield*/, runScript(serverlessDirectory, ["build"])];
|
|
230
|
+
case 24:
|
|
231
|
+
_b.sent();
|
|
232
|
+
_b.label = 25;
|
|
233
|
+
case 25: return [2 /*return*/];
|
|
121
234
|
}
|
|
122
235
|
});
|
|
123
236
|
});
|
|
@@ -152,7 +265,6 @@ function copyTemplate(targetFolder) {
|
|
|
152
265
|
switch (_a.label) {
|
|
153
266
|
case 0:
|
|
154
267
|
sourceFolder = (0, path_1.resolve)(__dirname, "../../serverless-template");
|
|
155
|
-
console.log("Copying from", sourceFolder, "to", targetFolder);
|
|
156
268
|
(0, fs_extra_1.mkdirp)(targetFolder);
|
|
157
269
|
return [4 /*yield*/, (0, glob_promise_1.default)((0, path_1.resolve)(sourceFolder, "**/*.*"))];
|
|
158
270
|
case 1:
|
|
@@ -160,9 +272,6 @@ function copyTemplate(targetFolder) {
|
|
|
160
272
|
return [4 /*yield*/, Promise.all(files.map(function (src) {
|
|
161
273
|
var dest = src.replace(sourceFolder, targetFolder);
|
|
162
274
|
return (0, fs_extra_1.copy)(src, dest);
|
|
163
|
-
// return new Promise((resolve) => {
|
|
164
|
-
// console.log("Copy", src, "to", dest)
|
|
165
|
-
// })
|
|
166
275
|
}))];
|
|
167
276
|
case 2:
|
|
168
277
|
_a.sent();
|
|
@@ -197,7 +306,7 @@ function updatePackagesFile(sourceFolder, targetFolder) {
|
|
|
197
306
|
targetPackageFile = (0, path_1.resolve)(targetFolder, "package.json");
|
|
198
307
|
sourcePackage = require(sourcePackageFile);
|
|
199
308
|
targetPackage = require(targetPackageFile);
|
|
200
|
-
mergedPackage = __assign(__assign({}, targetPackage), { dependencies: __assign(__assign({}, (
|
|
309
|
+
mergedPackage = __assign(__assign({}, targetPackage), { dependencies: __assign(__assign({}, (targetPackage.dependencies || {})), (sourcePackage.dependencies || {})), devDependencies: __assign(__assign({}, (targetPackage.devDependencies || {})), (sourcePackage.devDependencies || {})) });
|
|
201
310
|
(0, fs_extra_1.writeJSON)(targetPackageFile, mergedPackage, {
|
|
202
311
|
spaces: 2,
|
|
203
312
|
});
|
|
@@ -205,45 +314,130 @@ function updatePackagesFile(sourceFolder, targetFolder) {
|
|
|
205
314
|
});
|
|
206
315
|
});
|
|
207
316
|
}
|
|
208
|
-
function
|
|
317
|
+
function writeAPIProxies(sourceFolder, targetFolder) {
|
|
209
318
|
return __awaiter(this, void 0, void 0, function () {
|
|
210
|
-
var
|
|
319
|
+
var files;
|
|
211
320
|
return __generator(this, function (_a) {
|
|
212
321
|
switch (_a.label) {
|
|
213
|
-
case 0:
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
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
|
-
}
|
|
322
|
+
case 0: return [4 /*yield*/, (0, glob_promise_1.default)((0, path_1.join)(sourceFolder, "**/*.{tsx,ts,js}"))];
|
|
323
|
+
case 1:
|
|
324
|
+
files = _a.sent();
|
|
325
|
+
return [4 /*yield*/, Promise.all(files.map(function (file) {
|
|
326
|
+
var name = file.replace(sourceFolder, "");
|
|
327
|
+
var outputPath = (0, path_1.join)(targetFolder, name);
|
|
328
|
+
if (name.includes("_rpc"))
|
|
329
|
+
return;
|
|
330
|
+
return (0, promises_1.writeFile)(outputPath, "import handler from \"".concat(file, "\"; export default handler;"));
|
|
233
331
|
}))];
|
|
332
|
+
case 2:
|
|
333
|
+
_a.sent();
|
|
334
|
+
return [2 /*return*/];
|
|
335
|
+
}
|
|
336
|
+
});
|
|
337
|
+
});
|
|
338
|
+
}
|
|
339
|
+
function syncAPIProxies(sourceFolder, targetFolder) {
|
|
340
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
341
|
+
return __generator(this, function (_a) {
|
|
342
|
+
return [2 /*return*/, syncFiles(sourceFolder, targetFolder, ["**/*.{tsx,ts,js}"], function (inputPath) {
|
|
343
|
+
if (inputPath.includes("_rpc"))
|
|
344
|
+
return null;
|
|
345
|
+
return "import handler from \"".concat(inputPath.replace(/\.(ts|js)x?$/, ""), "\"; export default handler;");
|
|
346
|
+
})];
|
|
347
|
+
});
|
|
348
|
+
});
|
|
349
|
+
}
|
|
350
|
+
function copyFiles(sourceFolder, targetFolder, patterns) {
|
|
351
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
352
|
+
var files;
|
|
353
|
+
return __generator(this, function (_a) {
|
|
354
|
+
switch (_a.label) {
|
|
355
|
+
case 0: return [4 /*yield*/, Promise.all(patterns.map(function (pattern) { return (0, glob_promise_1.default)((0, path_1.resolve)(sourceFolder, pattern)); }))];
|
|
234
356
|
case 1:
|
|
357
|
+
files = (_a.sent()).flat();
|
|
358
|
+
// Replace sourceFolder in each path, and copy to target folder
|
|
359
|
+
return [4 /*yield*/, Promise.all(files.map(function (file) {
|
|
360
|
+
var stat = (0, fs_1.statSync)(file);
|
|
361
|
+
if (!stat.isDirectory()) {
|
|
362
|
+
return (0, fs_extra_1.copy)(file, file.replace(sourceFolder, targetFolder));
|
|
363
|
+
}
|
|
364
|
+
}))];
|
|
365
|
+
case 2:
|
|
366
|
+
// Replace sourceFolder in each path, and copy to target folder
|
|
235
367
|
_a.sent();
|
|
236
368
|
return [2 /*return*/];
|
|
237
369
|
}
|
|
238
370
|
});
|
|
239
371
|
});
|
|
240
372
|
}
|
|
241
|
-
function
|
|
373
|
+
function syncFiles(sourceFolder, targetFolder, patterns, proxy) {
|
|
374
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
375
|
+
var _this = this;
|
|
376
|
+
return __generator(this, function (_a) {
|
|
377
|
+
return [2 /*return*/, new Promise(function (ready) { return __awaiter(_this, void 0, void 0, function () {
|
|
378
|
+
var chokidar;
|
|
379
|
+
return __generator(this, function (_a) {
|
|
380
|
+
switch (_a.label) {
|
|
381
|
+
case 0: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("chokidar")); })];
|
|
382
|
+
case 1:
|
|
383
|
+
chokidar = (_a.sent()).default;
|
|
384
|
+
chokidar
|
|
385
|
+
.watch(patterns, {
|
|
386
|
+
cwd: sourceFolder,
|
|
387
|
+
})
|
|
388
|
+
.on("add", function (path) {
|
|
389
|
+
if (proxy) {
|
|
390
|
+
var output = proxy((0, path_1.relative)(targetFolder, (0, path_1.join)(sourceFolder, path)), (0, path_1.join)(targetFolder, path));
|
|
391
|
+
if (typeof output === "string") {
|
|
392
|
+
(0, promises_1.writeFile)((0, path_1.join)(targetFolder, path), output);
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
else {
|
|
396
|
+
(0, fs_extra_1.copy)((0, path_1.join)(sourceFolder, path), (0, path_1.join)(targetFolder, path));
|
|
397
|
+
}
|
|
398
|
+
})
|
|
399
|
+
.on("unlink", function (path) {
|
|
400
|
+
(0, fs_extra_1.remove)((0, path_1.join)(targetFolder, path));
|
|
401
|
+
})
|
|
402
|
+
.on("change", function (path) {
|
|
403
|
+
if (!proxy) {
|
|
404
|
+
(0, fs_extra_1.copy)((0, path_1.join)(sourceFolder, path), (0, path_1.join)(targetFolder, path));
|
|
405
|
+
}
|
|
406
|
+
})
|
|
407
|
+
.on("ready", function () {
|
|
408
|
+
ready(undefined);
|
|
409
|
+
});
|
|
410
|
+
return [2 /*return*/];
|
|
411
|
+
}
|
|
412
|
+
});
|
|
413
|
+
}); })];
|
|
414
|
+
});
|
|
415
|
+
});
|
|
416
|
+
}
|
|
417
|
+
// async function devNext(dir: string, port: number) {
|
|
418
|
+
// const { createServer } = await import("http")
|
|
419
|
+
// const { parse } = await import("url")
|
|
420
|
+
// const { default: next } = await import("next")
|
|
421
|
+
// const app = next({
|
|
422
|
+
// dev: true,
|
|
423
|
+
// dir: dir,
|
|
424
|
+
// minimalMode: true,
|
|
425
|
+
// customServer: true,
|
|
426
|
+
// port: port,
|
|
427
|
+
// })
|
|
428
|
+
// const handle = app.getRequestHandler()
|
|
429
|
+
// app.prepare().then(() => {
|
|
430
|
+
// createServer((req, res) => {
|
|
431
|
+
// handle(req, res, parse(req.url || "", true))
|
|
432
|
+
// }).listen(app.port)
|
|
433
|
+
// })
|
|
434
|
+
// }
|
|
435
|
+
function runScript(dir, args) {
|
|
242
436
|
var _a, _b;
|
|
243
437
|
return __awaiter(this, void 0, void 0, function () {
|
|
244
438
|
var proc;
|
|
245
439
|
return __generator(this, function (_c) {
|
|
246
|
-
proc = (0, child_process_1.spawn)("yarn",
|
|
440
|
+
proc = (0, child_process_1.spawn)("yarn", args, {
|
|
247
441
|
cwd: dir,
|
|
248
442
|
});
|
|
249
443
|
(_a = proc.stdout) === null || _a === void 0 ? void 0 : _a.pipe(process.stdout);
|
|
@@ -296,3 +490,41 @@ function initManifests(dir, dev) {
|
|
|
296
490
|
});
|
|
297
491
|
});
|
|
298
492
|
}
|
|
493
|
+
function getPort(port) {
|
|
494
|
+
if (port === void 0) { port = 3000; }
|
|
495
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
496
|
+
var createServer;
|
|
497
|
+
var _this = this;
|
|
498
|
+
return __generator(this, function (_a) {
|
|
499
|
+
switch (_a.label) {
|
|
500
|
+
case 0: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("net")); })];
|
|
501
|
+
case 1:
|
|
502
|
+
createServer = (_a.sent()).createServer;
|
|
503
|
+
return [4 /*yield*/, new Promise(function (resolve) {
|
|
504
|
+
var server = createServer();
|
|
505
|
+
server.listen(port, "127.0.0.1");
|
|
506
|
+
server.on("listening", function () {
|
|
507
|
+
server.once("close", function () {
|
|
508
|
+
resolve(port);
|
|
509
|
+
});
|
|
510
|
+
server.close();
|
|
511
|
+
});
|
|
512
|
+
server.on("error", function () { return __awaiter(_this, void 0, void 0, function () {
|
|
513
|
+
var _a;
|
|
514
|
+
return __generator(this, function (_b) {
|
|
515
|
+
switch (_b.label) {
|
|
516
|
+
case 0:
|
|
517
|
+
_a = resolve;
|
|
518
|
+
return [4 /*yield*/, getPort(port + 1)];
|
|
519
|
+
case 1:
|
|
520
|
+
_a.apply(void 0, [_b.sent()]);
|
|
521
|
+
return [2 /*return*/];
|
|
522
|
+
}
|
|
523
|
+
});
|
|
524
|
+
}); });
|
|
525
|
+
})];
|
|
526
|
+
case 2: return [2 /*return*/, _a.sent()];
|
|
527
|
+
}
|
|
528
|
+
});
|
|
529
|
+
});
|
|
530
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare type ServerlessStatus = "starting" | "packaging" | "preparing" | "compiling" | "success" | "waiting" | "error";
|
|
2
|
+
export declare type ServerlessState = {
|
|
3
|
+
title: string;
|
|
4
|
+
status: ServerlessStatus;
|
|
5
|
+
statusLabel?: string;
|
|
6
|
+
duration?: number;
|
|
7
|
+
log?: string;
|
|
8
|
+
url?: string;
|
|
9
|
+
};
|
|
10
|
+
export declare type ServerlessSignal = {
|
|
11
|
+
code: "packaging";
|
|
12
|
+
} | {
|
|
13
|
+
code: "preparing";
|
|
14
|
+
} | {
|
|
15
|
+
code: "compiling";
|
|
16
|
+
} | {
|
|
17
|
+
code: "finished";
|
|
18
|
+
duration: number;
|
|
19
|
+
} | {
|
|
20
|
+
code: "error";
|
|
21
|
+
} | {
|
|
22
|
+
code: "log";
|
|
23
|
+
} | {
|
|
24
|
+
code: "url";
|
|
25
|
+
url: string;
|
|
26
|
+
};
|
|
@@ -162,6 +162,8 @@ function beginWork(opts) {
|
|
|
162
162
|
}
|
|
163
163
|
});
|
|
164
164
|
}); };
|
|
165
|
+
// Create RPC/API types
|
|
166
|
+
(0, promises_1.writeFile)(Path.join(opts.baseDirectory, "types.api.ts"), "\n import type { router, createContext } from \"./api/_rpc\"\n import { createReactQueryHooks } from \"@trpc/react\"\n export {}\n \n const createQueryHooks = () => createReactQueryHooks<typeof router>()\n \n declare global {\n type RPCUse = ReturnType<typeof createQueryHooks>\n type RPCRouter = typeof router\n type RPCContextType = Awaited<ReturnType<typeof createContext>>\n type RPCClient = ReturnType<RPCUse[\"createClient\"]>\n type RPCUseQuery = RPCUse[\"useQuery\"]\n type RPCUseMutation = RPCUse[\"useMutation\"]\n type RPCUseInfiniteQuery = RPCUse[\"useInfiniteQuery\"]\n } \n ");
|
|
165
167
|
regenerate = debounce(100, function () { return __awaiter(_this, void 0, void 0, function () {
|
|
166
168
|
var startTime, hasChanged, err_1, documentSets, parseErrors, _loop_1, _a, _b, _i, key, generates, errors, _c, _d, _e, file, base, config, output, err_2;
|
|
167
169
|
var _this = this;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var worker_threads_1 = require("worker_threads");
|
|
4
|
+
var create_next_app_1 = require("../serverless/create-next-app");
|
|
5
|
+
var sendSignal = function (sig) {
|
|
6
|
+
if (worker_threads_1.parentPort) {
|
|
7
|
+
worker_threads_1.parentPort.postMessage(sig);
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
function beginWork() {
|
|
11
|
+
process.on("uncaughtException", function (err) {
|
|
12
|
+
sendSignal({ code: "error" });
|
|
13
|
+
});
|
|
14
|
+
(0, create_next_app_1.createNextApp)({
|
|
15
|
+
baseDirectory: process.cwd(),
|
|
16
|
+
build: false,
|
|
17
|
+
dev: true,
|
|
18
|
+
sendSignal: sendSignal,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
beginWork();
|
package/cli/build.dev.js
CHANGED
|
@@ -48,18 +48,37 @@ var ink_1 = require("ink");
|
|
|
48
48
|
var DevCLIDisplay_1 = require("./display/components/DevCLIDisplay");
|
|
49
49
|
var create_webpack_worker_1 = require("../build/create-webpack-worker");
|
|
50
50
|
var create_codegen_worker_1 = require("../build/create-codegen-worker");
|
|
51
|
+
var create_schema_file_1 = require("../config/create-schema-file");
|
|
52
|
+
var get_config_1 = require("../config/get-config");
|
|
53
|
+
var print_zod_errors_1 = require("../config/print-zod-errors");
|
|
54
|
+
var Observable_1 = require("../utils/Observable");
|
|
55
|
+
var fs_extra_1 = require("fs-extra");
|
|
56
|
+
var create_serverless_dev_worker_1 = require("../build/create-serverless-dev-worker");
|
|
57
|
+
var build_favicon_1 = require("../build/build-favicon");
|
|
51
58
|
function devCommand(opts) {
|
|
59
|
+
var _a;
|
|
52
60
|
return __awaiter(this, void 0, void 0, function () {
|
|
53
|
-
var themeName, enableFrontend, enableAdmin, enableCodegen, frontendObservable, adminObservable, codegenObservable;
|
|
54
|
-
return __generator(this, function (
|
|
55
|
-
switch (
|
|
56
|
-
case 0:
|
|
61
|
+
var configResult, config, themeName, enableFrontend, enableAdmin, enableCodegen, enableServerless, frontendObservable, adminObservable, codegenObservable, configChanged, serverlessObservable;
|
|
62
|
+
return __generator(this, function (_b) {
|
|
63
|
+
switch (_b.label) {
|
|
64
|
+
case 0:
|
|
65
|
+
(0, create_schema_file_1.createConfigSchemaFile)(path_1.default.resolve(process.cwd(), ".ed.config.schema.json"));
|
|
66
|
+
(0, build_favicon_1.buildFavicon)().catch(function () { });
|
|
67
|
+
return [4 /*yield*/, (0, promptIfRepoNameIncorrect_1.promptIfRepoThemeMismatch)()];
|
|
57
68
|
case 1:
|
|
58
|
-
|
|
69
|
+
_b.sent();
|
|
70
|
+
configResult = (0, get_config_1.getEDConfig)();
|
|
71
|
+
if (!configResult.success) {
|
|
72
|
+
(0, print_zod_errors_1.printZodErrors)(configResult.error);
|
|
73
|
+
console.log("\nPlease fix the above config errors, and restart the dev command.");
|
|
74
|
+
return [2 /*return*/];
|
|
75
|
+
}
|
|
76
|
+
config = configResult.data;
|
|
59
77
|
themeName = path_1.default.basename(process.cwd());
|
|
60
78
|
enableFrontend = !opts.mode || opts.mode === "frontend";
|
|
61
79
|
enableAdmin = !opts.mode || opts.mode === "admin";
|
|
62
80
|
enableCodegen = !opts.mode || opts.mode === "codegen";
|
|
81
|
+
enableServerless = (_a = config.serverless) === null || _a === void 0 ? void 0 : _a.enabled;
|
|
63
82
|
frontendObservable = enableFrontend
|
|
64
83
|
? (0, create_webpack_worker_1.createWebpackWorker)({
|
|
65
84
|
title: "Frontend Bundle",
|
|
@@ -93,9 +112,13 @@ function devCommand(opts) {
|
|
|
93
112
|
retainLog: opts.retainLog,
|
|
94
113
|
})
|
|
95
114
|
: undefined;
|
|
96
|
-
|
|
115
|
+
configChanged = new Observable_1.Observable(false);
|
|
116
|
+
(0, fs_extra_1.watchFile)((0, get_config_1.getEDConfigFile)(), {}, function () {
|
|
117
|
+
configChanged.update(true);
|
|
118
|
+
});
|
|
119
|
+
serverlessObservable = enableServerless ? (0, create_serverless_dev_worker_1.createServerlessWorker)() : undefined;
|
|
97
120
|
// Render output to screen
|
|
98
|
-
(0, ink_1.render)((0, jsx_runtime_1.jsx)(DevCLIDisplay_1.DevCLIDisplay, { bundles: [frontendObservable, adminObservable].filter(Boolean), codegen: codegenObservable }, void 0));
|
|
121
|
+
(0, ink_1.render)((0, jsx_runtime_1.jsx)(DevCLIDisplay_1.DevCLIDisplay, { bundles: [frontendObservable, adminObservable].filter(Boolean), serverless: serverlessObservable, codegen: codegenObservable, configChanged: configChanged }, void 0));
|
|
99
122
|
return [2 /*return*/];
|
|
100
123
|
}
|
|
101
124
|
});
|
package/cli/build.prod.js
CHANGED
|
@@ -45,6 +45,7 @@ var webpack_1 = require("webpack");
|
|
|
45
45
|
var promptIfRepoNameIncorrect_1 = require("../utils/promptIfRepoNameIncorrect");
|
|
46
46
|
var path_1 = __importDefault(require("path"));
|
|
47
47
|
var clean_1 = require("../build/clean");
|
|
48
|
+
var build_favicon_1 = require("../build/build-favicon");
|
|
48
49
|
function prodCommand(opts) {
|
|
49
50
|
return __awaiter(this, void 0, void 0, function () {
|
|
50
51
|
var contentBase, themeName, compiler, _a, _b;
|
|
@@ -52,6 +53,10 @@ function prodCommand(opts) {
|
|
|
52
53
|
switch (_c.label) {
|
|
53
54
|
case 0:
|
|
54
55
|
contentBase = process.cwd() + "/dist/";
|
|
56
|
+
(0, build_favicon_1.buildFavicon)().catch(function (err) {
|
|
57
|
+
console.log("Error building favicon:");
|
|
58
|
+
console.error(err);
|
|
59
|
+
});
|
|
55
60
|
return [4 /*yield*/, (0, promptIfRepoNameIncorrect_1.promptIfRepoThemeMismatch)()];
|
|
56
61
|
case 1:
|
|
57
62
|
_c.sent();
|