eddev 0.2.0-beta.5 → 0.2.0-beta.52
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 +26 -11
- package/build/manifests/manifest-views.js +1 -1
- package/build/reporter.js +0 -109
- package/build/serverless/create-next-app.d.ts +2 -0
- package/build/serverless/create-next-app.js +326 -86
- package/build/state/serverless-state.d.ts +26 -0
- package/build/state/serverless-state.js +2 -0
- package/build/workers/codegen-worker-script.js +33 -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 +38 -7
- package/cli/build.prod.js +13 -1
- 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/components/NextRouter.js +3 -2
- 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 +32 -0
- package/hooks/useRPC.js +18 -0
- package/package.json +19 -8
- package/routing/routing.js +1 -1
- 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 +6 -0
- package/serverless/define-rpc-router.js +35 -0
- package/serverless/error-codes.d.ts +2 -0
- package/serverless/error-codes.js +14 -0
- package/serverless/index.d.ts +5 -0
- package/serverless/index.js +18 -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 +40 -8
- package/serverless-template/_utils/fetch-wp.ts +16 -0
- package/serverless-template/global.d.ts +7 -1
- package/serverless-template/next.config.js +73 -53
- package/serverless-template/package.json +5 -3
- package/serverless-template/pages/404.tsx +12 -0
- package/serverless-template/pages/[...slug].tsx +7 -2
- package/serverless-template/pages/_app.tsx +32 -12
- package/serverless-template/pages/_document.tsx +19 -0
- package/serverless-template/pages/api/rest/{[...method].ts → [method].ts} +4 -2
- package/serverless-template/pages/api/trpc/[...trpc].ts +26 -0
- package/serverless-template/pages/index.tsx +2 -2
- 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) {
|
|
@@ -57,67 +76,164 @@ var glob_promise_1 = __importDefault(require("glob-promise"));
|
|
|
57
76
|
var child_process_1 = require("child_process");
|
|
58
77
|
var fs_1 = require("fs");
|
|
59
78
|
var manifest_blocks_1 = require("../manifests/manifest-blocks");
|
|
60
|
-
var promises_1 = require("fs/promises");
|
|
61
79
|
var manifest_views_1 = require("../manifests/manifest-views");
|
|
80
|
+
var getRepoName_1 = require("../../utils/getRepoName");
|
|
81
|
+
var updateEnvFile_1 = require("../../utils/updateEnvFile");
|
|
82
|
+
function requireConfig(dir) {
|
|
83
|
+
var configPath = (0, path_1.resolve)(dir, "ed.config.json");
|
|
84
|
+
return require(configPath);
|
|
85
|
+
}
|
|
62
86
|
function createNextApp(opts) {
|
|
87
|
+
var _a;
|
|
63
88
|
return __awaiter(this, void 0, void 0, function () {
|
|
64
|
-
var serverlessDirectory;
|
|
65
|
-
return __generator(this, function (
|
|
66
|
-
switch (
|
|
89
|
+
var isVercel, serverlessDirectory, sendSignal, repoName, assetPaths, port;
|
|
90
|
+
return __generator(this, function (_b) {
|
|
91
|
+
switch (_b.label) {
|
|
67
92
|
case 0:
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
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)];
|
|
73
100
|
case 1:
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
];
|
|
80
|
-
case 2:
|
|
81
|
-
// Copy the template folder
|
|
82
|
-
_a.sent();
|
|
101
|
+
_b.sent();
|
|
102
|
+
_b.label = 2;
|
|
103
|
+
case 2:
|
|
104
|
+
// Copy the template folder
|
|
105
|
+
return [4 /*yield*/, copyTemplate(serverlessDirectory)
|
|
83
106
|
// Update package.json
|
|
84
|
-
|
|
85
|
-
// Update packages
|
|
86
|
-
// TODO: On vercel, can we maybe just symlink or copy node_modules?
|
|
87
|
-
];
|
|
107
|
+
];
|
|
88
108
|
case 3:
|
|
89
|
-
//
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
return [4 /*yield*/, updatePackages(serverlessDirectory)
|
|
94
|
-
// Symlink important files and directories
|
|
95
|
-
];
|
|
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)];
|
|
96
113
|
case 4:
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
// Symlink important files and directories
|
|
101
|
-
return [4 /*yield*/, syncFiles(opts.baseDirectory, serverlessDirectory)
|
|
102
|
-
// Create manifests
|
|
103
|
-
];
|
|
104
|
-
case 5:
|
|
105
|
-
// Symlink important files and directories
|
|
106
|
-
_a.sent();
|
|
107
|
-
// Create manifests
|
|
108
|
-
initManifests(serverlessDirectory, opts.dev);
|
|
109
|
-
if (!opts.dev) return [3 /*break*/, 7];
|
|
110
|
-
return [4 /*yield*/, runScript(serverlessDirectory, "dev")];
|
|
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)];
|
|
111
117
|
case 6:
|
|
112
|
-
|
|
113
|
-
|
|
118
|
+
_b.sent();
|
|
119
|
+
_b.label = 7;
|
|
114
120
|
case 7:
|
|
115
|
-
|
|
116
|
-
return [
|
|
121
|
+
assetPaths = ((_a = requireConfig(opts.baseDirectory).serverless) === null || _a === void 0 ? void 0 : _a.themeAssets) || [];
|
|
122
|
+
if (!!isVercel) return [3 /*break*/, 14];
|
|
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
|
+
".env",
|
|
130
|
+
"views/**/*",
|
|
131
|
+
"theme.css.tsx",
|
|
132
|
+
"types.graphql.ts",
|
|
133
|
+
"types.views.ts",
|
|
134
|
+
"types.blocks.ts",
|
|
135
|
+
"types.api.ts",
|
|
136
|
+
"utils/**/*",
|
|
137
|
+
"ed.config.json",
|
|
138
|
+
])
|
|
139
|
+
// Also sync APIs into the APIs folder
|
|
140
|
+
];
|
|
117
141
|
case 8:
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
142
|
+
// Sync important files during development, as they change
|
|
143
|
+
_b.sent();
|
|
144
|
+
// Also sync APIs into the APIs folder
|
|
145
|
+
return [4 /*yield*/, syncFiles((0, path_1.join)(opts.baseDirectory, "apis"), (0, path_1.join)(serverlessDirectory, "apis"), ["**/*.{tsx,ts,js,jsx}"])];
|
|
146
|
+
case 9:
|
|
147
|
+
// Also sync APIs into the APIs folder
|
|
148
|
+
_b.sent();
|
|
149
|
+
return [4 /*yield*/, syncAPIProxies((0, path_1.join)(opts.baseDirectory, "apis"), (0, path_1.join)(serverlessDirectory, "pages/api"))
|
|
150
|
+
// Sync the public folder
|
|
151
|
+
];
|
|
152
|
+
case 10:
|
|
153
|
+
_b.sent();
|
|
154
|
+
if (!assetPaths.length) return [3 /*break*/, 12];
|
|
155
|
+
return [4 /*yield*/, syncFiles(opts.baseDirectory, (0, path_1.join)(serverlessDirectory, "public/wp-content/themes/".concat(repoName.repoName)), assetPaths)];
|
|
156
|
+
case 11:
|
|
157
|
+
_b.sent();
|
|
158
|
+
_b.label = 12;
|
|
159
|
+
case 12:
|
|
160
|
+
// Sync favicon
|
|
161
|
+
return [4 /*yield*/, syncFiles((0, path_1.join)(opts.baseDirectory), (0, path_1.join)(serverlessDirectory, "public/"), ["favicon.ico"])];
|
|
162
|
+
case 13:
|
|
163
|
+
// Sync favicon
|
|
164
|
+
_b.sent();
|
|
165
|
+
return [3 /*break*/, 19];
|
|
166
|
+
case 14:
|
|
167
|
+
if (!assetPaths.length) return [3 /*break*/, 16];
|
|
168
|
+
return [4 /*yield*/, copyFiles(opts.baseDirectory, (0, path_1.join)(serverlessDirectory, "public/wp-content/themes/".concat(repoName.repoName)), assetPaths)];
|
|
169
|
+
case 15:
|
|
170
|
+
_b.sent();
|
|
171
|
+
_b.label = 16;
|
|
172
|
+
case 16:
|
|
173
|
+
// Sync favicon
|
|
174
|
+
return [4 /*yield*/, copyFiles((0, path_1.join)(opts.baseDirectory), (0, path_1.join)(serverlessDirectory, "public/"), ["favicon.ico"])
|
|
175
|
+
// Write APIs proxy code
|
|
176
|
+
];
|
|
177
|
+
case 17:
|
|
178
|
+
// Sync favicon
|
|
179
|
+
_b.sent();
|
|
180
|
+
// Write APIs proxy code
|
|
181
|
+
return [4 /*yield*/, writeAPIProxies((0, path_1.join)(opts.baseDirectory, "apis"), (0, path_1.join)(serverlessDirectory, "pages/api"))
|
|
182
|
+
// Remove pages/api/trpc directory if no _rpc is found
|
|
183
|
+
];
|
|
184
|
+
case 18:
|
|
185
|
+
// Write APIs proxy code
|
|
186
|
+
_b.sent();
|
|
187
|
+
// Remove pages/api/trpc directory if no _rpc is found
|
|
188
|
+
console.log({
|
|
189
|
+
index: (0, path_1.join)(opts.baseDirectory, "apis/_rpc/index.ts"),
|
|
190
|
+
rpc: (0, path_1.join)(opts.baseDirectory, "apis/_rpc.ts"),
|
|
191
|
+
});
|
|
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
|
+
// removeSync(join(serverlessDirectory, "pages/api/trpc"))
|
|
195
|
+
}
|
|
196
|
+
_b.label = 19;
|
|
197
|
+
case 19:
|
|
198
|
+
// Create manifests
|
|
199
|
+
return [4 /*yield*/, initManifests(serverlessDirectory, opts.dev)
|
|
200
|
+
// Update packages
|
|
201
|
+
];
|
|
202
|
+
case 20:
|
|
203
|
+
// Create manifests
|
|
204
|
+
_b.sent();
|
|
205
|
+
if (!!isVercel) return [3 /*break*/, 22];
|
|
206
|
+
sendSignal({ code: "packaging" });
|
|
207
|
+
return [4 /*yield*/, updatePackages(serverlessDirectory)];
|
|
208
|
+
case 21:
|
|
209
|
+
_b.sent();
|
|
210
|
+
_b.label = 22;
|
|
211
|
+
case 22:
|
|
212
|
+
sendSignal({ code: "compiling" });
|
|
213
|
+
if (!opts.dev) return [3 /*break*/, 25];
|
|
214
|
+
return [4 /*yield*/, getPort(3000)
|
|
215
|
+
// Write the endpoint URL to .env
|
|
216
|
+
];
|
|
217
|
+
case 23:
|
|
218
|
+
port = _b.sent();
|
|
219
|
+
// Write the endpoint URL to .env
|
|
220
|
+
(0, updateEnvFile_1.updateEnvFile)({
|
|
221
|
+
DEBUG_SERVERLESS_ENDPOINT: "http://localhost:".concat(port),
|
|
222
|
+
}, opts.baseDirectory);
|
|
223
|
+
sendSignal({ code: "url", url: "http://127.0.0.1:".concat(port) });
|
|
224
|
+
// await devNext(serverlessDirectory, port)
|
|
225
|
+
return [4 /*yield*/, runScript(serverlessDirectory, ["dev", "--port", String(port)])];
|
|
226
|
+
case 24:
|
|
227
|
+
// await devNext(serverlessDirectory, port)
|
|
228
|
+
_b.sent();
|
|
229
|
+
return [3 /*break*/, 27];
|
|
230
|
+
case 25:
|
|
231
|
+
if (!opts.build) return [3 /*break*/, 27];
|
|
232
|
+
return [4 /*yield*/, runScript(serverlessDirectory, ["build"])];
|
|
233
|
+
case 26:
|
|
234
|
+
_b.sent();
|
|
235
|
+
_b.label = 27;
|
|
236
|
+
case 27: return [2 /*return*/];
|
|
121
237
|
}
|
|
122
238
|
});
|
|
123
239
|
});
|
|
@@ -152,17 +268,15 @@ function copyTemplate(targetFolder) {
|
|
|
152
268
|
switch (_a.label) {
|
|
153
269
|
case 0:
|
|
154
270
|
sourceFolder = (0, path_1.resolve)(__dirname, "../../serverless-template");
|
|
155
|
-
console.log("Copying from", sourceFolder, "to", targetFolder);
|
|
156
271
|
(0, fs_extra_1.mkdirp)(targetFolder);
|
|
157
272
|
return [4 /*yield*/, (0, glob_promise_1.default)((0, path_1.resolve)(sourceFolder, "**/*.*"))];
|
|
158
273
|
case 1:
|
|
159
274
|
files = _a.sent();
|
|
160
275
|
return [4 /*yield*/, Promise.all(files.map(function (src) {
|
|
276
|
+
if (src.includes("package.json"))
|
|
277
|
+
return null;
|
|
161
278
|
var dest = src.replace(sourceFolder, targetFolder);
|
|
162
279
|
return (0, fs_extra_1.copy)(src, dest);
|
|
163
|
-
// return new Promise((resolve) => {
|
|
164
|
-
// console.log("Copy", src, "to", dest)
|
|
165
|
-
// })
|
|
166
280
|
}))];
|
|
167
281
|
case 2:
|
|
168
282
|
_a.sent();
|
|
@@ -189,61 +303,149 @@ function updatePackages(dir) {
|
|
|
189
303
|
});
|
|
190
304
|
});
|
|
191
305
|
}
|
|
192
|
-
function updatePackagesFile(
|
|
306
|
+
function updatePackagesFile(templateFolder, appFolder, outDirectory) {
|
|
193
307
|
return __awaiter(this, void 0, void 0, function () {
|
|
194
|
-
var sourcePackageFile, targetPackageFile, sourcePackage, targetPackage, mergedPackage;
|
|
308
|
+
var sourcePackageFile, targetPackageFile, outPackageFile, sourcePackage, targetPackage, mergedPackage;
|
|
195
309
|
return __generator(this, function (_a) {
|
|
196
|
-
sourcePackageFile = (0, path_1.resolve)(
|
|
197
|
-
targetPackageFile = (0, path_1.resolve)(
|
|
310
|
+
sourcePackageFile = (0, path_1.resolve)(templateFolder, "package.json");
|
|
311
|
+
targetPackageFile = (0, path_1.resolve)(appFolder, "package.json");
|
|
312
|
+
outPackageFile = (0, path_1.resolve)(outDirectory, "package.json");
|
|
198
313
|
sourcePackage = require(sourcePackageFile);
|
|
199
314
|
targetPackage = require(targetPackageFile);
|
|
200
|
-
mergedPackage = __assign(__assign({},
|
|
201
|
-
(0, fs_extra_1.writeJSON)(
|
|
315
|
+
mergedPackage = __assign(__assign({}, sourcePackage), { dependencies: __assign(__assign({}, (sourcePackage.dependencies || {})), (targetPackage.dependencies || {})), devDependencies: __assign(__assign({}, (sourcePackage.devDependencies || {})), (targetPackage.devDependencies || {})) });
|
|
316
|
+
(0, fs_extra_1.writeJSON)(outPackageFile, mergedPackage, {
|
|
202
317
|
spaces: 2,
|
|
203
318
|
});
|
|
204
319
|
return [2 /*return*/];
|
|
205
320
|
});
|
|
206
321
|
});
|
|
207
322
|
}
|
|
208
|
-
function
|
|
323
|
+
function writeAPIProxies(sourceFolder, targetFolder) {
|
|
209
324
|
return __awaiter(this, void 0, void 0, function () {
|
|
210
|
-
var
|
|
325
|
+
var files;
|
|
211
326
|
return __generator(this, function (_a) {
|
|
212
327
|
switch (_a.label) {
|
|
213
|
-
case 0:
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
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
|
-
}
|
|
328
|
+
case 0: return [4 /*yield*/, (0, glob_promise_1.default)((0, path_1.join)(sourceFolder, "**/*.{tsx,ts,js}"))];
|
|
329
|
+
case 1:
|
|
330
|
+
files = _a.sent();
|
|
331
|
+
return [4 /*yield*/, Promise.all(files.map(function (file) {
|
|
332
|
+
var name = file.replace(sourceFolder, "");
|
|
333
|
+
var outputPath = (0, path_1.join)(targetFolder, name);
|
|
334
|
+
if (name.includes("_rpc"))
|
|
335
|
+
return;
|
|
336
|
+
(0, fs_extra_1.ensureFileSync)((0, path_1.join)(outputPath));
|
|
337
|
+
return (0, fs_extra_1.writeFile)(outputPath, "import handler from \"".concat(file, "\"; export default handler;"));
|
|
233
338
|
}))];
|
|
339
|
+
case 2:
|
|
340
|
+
_a.sent();
|
|
341
|
+
return [2 /*return*/];
|
|
342
|
+
}
|
|
343
|
+
});
|
|
344
|
+
});
|
|
345
|
+
}
|
|
346
|
+
function syncAPIProxies(sourceFolder, targetFolder) {
|
|
347
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
348
|
+
return __generator(this, function (_a) {
|
|
349
|
+
return [2 /*return*/, syncFiles(sourceFolder, targetFolder, ["**/*"], function (inputPath) {
|
|
350
|
+
if (inputPath.includes("_rpc"))
|
|
351
|
+
return null;
|
|
352
|
+
return "import handler from \"".concat(inputPath.replace(/\.(ts|js)x?$/, ""), "\"; export default handler;");
|
|
353
|
+
})];
|
|
354
|
+
});
|
|
355
|
+
});
|
|
356
|
+
}
|
|
357
|
+
function copyFiles(sourceFolder, targetFolder, patterns) {
|
|
358
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
359
|
+
var files;
|
|
360
|
+
return __generator(this, function (_a) {
|
|
361
|
+
switch (_a.label) {
|
|
362
|
+
case 0: return [4 /*yield*/, Promise.all(patterns.map(function (pattern) { return (0, glob_promise_1.default)((0, path_1.resolve)(sourceFolder, pattern)); }))];
|
|
234
363
|
case 1:
|
|
364
|
+
files = (_a.sent()).flat();
|
|
365
|
+
// Replace sourceFolder in each path, and copy to target folder
|
|
366
|
+
return [4 /*yield*/, Promise.all(files.map(function (file) {
|
|
367
|
+
var stat = (0, fs_1.statSync)(file);
|
|
368
|
+
if (!stat.isDirectory()) {
|
|
369
|
+
return (0, fs_extra_1.copy)(file, file.replace(sourceFolder, targetFolder));
|
|
370
|
+
}
|
|
371
|
+
}))];
|
|
372
|
+
case 2:
|
|
373
|
+
// Replace sourceFolder in each path, and copy to target folder
|
|
235
374
|
_a.sent();
|
|
236
375
|
return [2 /*return*/];
|
|
237
376
|
}
|
|
238
377
|
});
|
|
239
378
|
});
|
|
240
379
|
}
|
|
241
|
-
function
|
|
380
|
+
function syncFiles(sourceFolder, targetFolder, patterns, proxy) {
|
|
381
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
382
|
+
var _this = this;
|
|
383
|
+
return __generator(this, function (_a) {
|
|
384
|
+
return [2 /*return*/, new Promise(function (ready) { return __awaiter(_this, void 0, void 0, function () {
|
|
385
|
+
var chokidar;
|
|
386
|
+
return __generator(this, function (_a) {
|
|
387
|
+
switch (_a.label) {
|
|
388
|
+
case 0: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("chokidar")); })];
|
|
389
|
+
case 1:
|
|
390
|
+
chokidar = (_a.sent()).default;
|
|
391
|
+
chokidar
|
|
392
|
+
.watch(patterns, {
|
|
393
|
+
cwd: sourceFolder,
|
|
394
|
+
})
|
|
395
|
+
.on("add", function (path) {
|
|
396
|
+
if (proxy) {
|
|
397
|
+
var output = proxy((0, path_1.relative)(targetFolder, (0, path_1.join)(sourceFolder, path)), (0, path_1.join)(targetFolder, path));
|
|
398
|
+
if (typeof output === "string") {
|
|
399
|
+
(0, fs_extra_1.ensureFileSync)((0, path_1.join)(targetFolder, path));
|
|
400
|
+
(0, fs_extra_1.writeFile)((0, path_1.join)(targetFolder, path), output);
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
else {
|
|
404
|
+
(0, fs_extra_1.copy)((0, path_1.join)(sourceFolder, path), (0, path_1.join)(targetFolder, path));
|
|
405
|
+
}
|
|
406
|
+
})
|
|
407
|
+
.on("unlink", function (path) {
|
|
408
|
+
(0, fs_extra_1.remove)((0, path_1.join)(targetFolder, path));
|
|
409
|
+
})
|
|
410
|
+
.on("change", function (path) {
|
|
411
|
+
if (!proxy) {
|
|
412
|
+
(0, fs_extra_1.copy)((0, path_1.join)(sourceFolder, path), (0, path_1.join)(targetFolder, path));
|
|
413
|
+
}
|
|
414
|
+
})
|
|
415
|
+
.on("ready", function () {
|
|
416
|
+
ready(undefined);
|
|
417
|
+
});
|
|
418
|
+
return [2 /*return*/];
|
|
419
|
+
}
|
|
420
|
+
});
|
|
421
|
+
}); })];
|
|
422
|
+
});
|
|
423
|
+
});
|
|
424
|
+
}
|
|
425
|
+
// async function devNext(dir: string, port: number) {
|
|
426
|
+
// const { createServer } = await import("http")
|
|
427
|
+
// const { parse } = await import("url")
|
|
428
|
+
// const { default: next } = await import("next")
|
|
429
|
+
// const app = next({
|
|
430
|
+
// dev: true,
|
|
431
|
+
// dir: dir,
|
|
432
|
+
// minimalMode: true,
|
|
433
|
+
// customServer: true,
|
|
434
|
+
// port: port,
|
|
435
|
+
// })
|
|
436
|
+
// const handle = app.getRequestHandler()
|
|
437
|
+
// app.prepare().then(() => {
|
|
438
|
+
// createServer((req, res) => {
|
|
439
|
+
// handle(req, res, parse(req.url || "", true))
|
|
440
|
+
// }).listen(app.port)
|
|
441
|
+
// })
|
|
442
|
+
// }
|
|
443
|
+
function runScript(dir, args) {
|
|
242
444
|
var _a, _b;
|
|
243
445
|
return __awaiter(this, void 0, void 0, function () {
|
|
244
446
|
var proc;
|
|
245
447
|
return __generator(this, function (_c) {
|
|
246
|
-
proc = (0, child_process_1.spawn)("yarn",
|
|
448
|
+
proc = (0, child_process_1.spawn)("yarn", args, {
|
|
247
449
|
cwd: dir,
|
|
248
450
|
});
|
|
249
451
|
(_a = proc.stdout) === null || _a === void 0 ? void 0 : _a.pipe(process.stdout);
|
|
@@ -269,7 +471,7 @@ function initManifests(dir, dev) {
|
|
|
269
471
|
isServerless: true,
|
|
270
472
|
onGenerate: function (manifest) { return __awaiter(_this, void 0, void 0, function () {
|
|
271
473
|
return __generator(this, function (_a) {
|
|
272
|
-
(0,
|
|
474
|
+
(0, fs_extra_1.writeFile)((0, path_1.resolve)(dir, "manifest_blocks.ts"), manifest);
|
|
273
475
|
return [2 /*return*/];
|
|
274
476
|
});
|
|
275
477
|
}); },
|
|
@@ -282,7 +484,7 @@ function initManifests(dir, dev) {
|
|
|
282
484
|
isServerless: true,
|
|
283
485
|
onGenerate: function (manifest) { return __awaiter(_this, void 0, void 0, function () {
|
|
284
486
|
return __generator(this, function (_a) {
|
|
285
|
-
(0,
|
|
487
|
+
(0, fs_extra_1.writeFile)((0, path_1.resolve)(dir, "manifest_views.ts"), manifest);
|
|
286
488
|
return [2 /*return*/];
|
|
287
489
|
});
|
|
288
490
|
}); },
|
|
@@ -296,3 +498,41 @@ function initManifests(dir, dev) {
|
|
|
296
498
|
});
|
|
297
499
|
});
|
|
298
500
|
}
|
|
501
|
+
function getPort(port) {
|
|
502
|
+
if (port === void 0) { port = 3000; }
|
|
503
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
504
|
+
var createServer;
|
|
505
|
+
var _this = this;
|
|
506
|
+
return __generator(this, function (_a) {
|
|
507
|
+
switch (_a.label) {
|
|
508
|
+
case 0: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("net")); })];
|
|
509
|
+
case 1:
|
|
510
|
+
createServer = (_a.sent()).createServer;
|
|
511
|
+
return [4 /*yield*/, new Promise(function (resolve) {
|
|
512
|
+
var server = createServer();
|
|
513
|
+
server.listen(port, "127.0.0.1");
|
|
514
|
+
server.on("listening", function () {
|
|
515
|
+
server.once("close", function () {
|
|
516
|
+
resolve(port);
|
|
517
|
+
});
|
|
518
|
+
server.close();
|
|
519
|
+
});
|
|
520
|
+
server.on("error", function () { return __awaiter(_this, void 0, void 0, function () {
|
|
521
|
+
var _a;
|
|
522
|
+
return __generator(this, function (_b) {
|
|
523
|
+
switch (_b.label) {
|
|
524
|
+
case 0:
|
|
525
|
+
_a = resolve;
|
|
526
|
+
return [4 /*yield*/, getPort(port + 1)];
|
|
527
|
+
case 1:
|
|
528
|
+
_a.apply(void 0, [_b.sent()]);
|
|
529
|
+
return [2 /*return*/];
|
|
530
|
+
}
|
|
531
|
+
});
|
|
532
|
+
}); });
|
|
533
|
+
})];
|
|
534
|
+
case 2: return [2 /*return*/, _a.sent()];
|
|
535
|
+
}
|
|
536
|
+
});
|
|
537
|
+
});
|
|
538
|
+
}
|
|
@@ -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
|
+
};
|
|
@@ -150,6 +150,7 @@ function beginWork(opts) {
|
|
|
150
150
|
schemaDescription: false,
|
|
151
151
|
specifiedByUrl: true,
|
|
152
152
|
});
|
|
153
|
+
processSchema(schema);
|
|
153
154
|
hash = JSON.stringify(schema);
|
|
154
155
|
if (hash !== lastSchemaHash) {
|
|
155
156
|
lastSchemaHash = hash;
|
|
@@ -162,6 +163,8 @@ function beginWork(opts) {
|
|
|
162
163
|
}
|
|
163
164
|
});
|
|
164
165
|
}); };
|
|
166
|
+
// Create RPC/API types
|
|
167
|
+
(0, promises_1.writeFile)(Path.join(opts.baseDirectory, "types.api.ts"), "\n import type { router, createContext } from \"./apis/_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\n declare global {\n namespace NodeJS {\n interface Process {\n // @ts-ignore\n browser: boolean\n dev: boolean\n admin: boolean\n serverless: boolean\n }\n }\n }\n \n ");
|
|
165
168
|
regenerate = debounce(100, function () { return __awaiter(_this, void 0, void 0, function () {
|
|
166
169
|
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
170
|
var _this = this;
|
|
@@ -575,4 +578,34 @@ function debounce(wait, fn) {
|
|
|
575
578
|
};
|
|
576
579
|
return debounced;
|
|
577
580
|
}
|
|
581
|
+
function processSchema(schema) {
|
|
582
|
+
var walkFields = function (fields) { };
|
|
583
|
+
var updateFieldType = function (fieldType) {
|
|
584
|
+
var _a;
|
|
585
|
+
if (fieldType.kind === "LIST") {
|
|
586
|
+
if (((_a = fieldType.ofType) === null || _a === void 0 ? void 0 : _a.kind) !== "NON_NULL") {
|
|
587
|
+
fieldType.ofType = {
|
|
588
|
+
kind: "NON_NULL",
|
|
589
|
+
name: null,
|
|
590
|
+
ofType: fieldType.ofType,
|
|
591
|
+
};
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
};
|
|
595
|
+
var updateType = function (type) {
|
|
596
|
+
if (typeof type.type === "object" && type.type) {
|
|
597
|
+
updateFieldType(type.type);
|
|
598
|
+
}
|
|
599
|
+
if (type.fields) {
|
|
600
|
+
for (var _i = 0, _a = type.fields; _i < _a.length; _i++) {
|
|
601
|
+
var field = _a[_i];
|
|
602
|
+
updateType(field);
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
};
|
|
606
|
+
for (var _i = 0, _a = schema.__schema.types; _i < _a.length; _i++) {
|
|
607
|
+
var type = _a[_i];
|
|
608
|
+
updateType(type);
|
|
609
|
+
}
|
|
610
|
+
}
|
|
578
611
|
beginWork(worker_threads_1.workerData);
|
|
@@ -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();
|