eddev 2.3.30 → 2.4.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/entry/ssr-root-client.d.ts +0 -2
- package/dist/app/entry/ssr-root-client.d.ts.map +1 -1
- package/dist/app/lib/blocks/block-debugger.d.ts.map +1 -1
- package/dist/app/lib/blocks/block-debugger.js +19 -2
- package/dist/app/lib/devtools/components/panels/StructurePanel.js +1 -1
- package/dist/app/lib/routing/components/BrowserRouter.d.ts.map +1 -1
- package/dist/app/lib/routing/components/BrowserRouter.js +10 -7
- package/dist/app/server/assets.d.ts +45 -0
- package/dist/app/server/assets.d.ts.map +1 -0
- package/dist/app/server/assets.js +15 -0
- package/dist/app/server/index.d.ts +4 -0
- package/dist/app/server/index.d.ts.map +1 -1
- package/dist/app/server/index.js +3 -0
- package/dist/app/server/proxy-wp-admin.d.ts +6 -2
- package/dist/app/server/proxy-wp-admin.d.ts.map +1 -1
- package/dist/app/server/proxy-wp-admin.js +29 -57
- package/dist/app/server/render-ssr-page.d.ts +2 -6
- package/dist/app/server/render-ssr-page.d.ts.map +1 -1
- package/dist/app/server/render-ssr-page.js +9 -8
- package/dist/app/server/rpc-handler.d.ts +14 -0
- package/dist/app/server/rpc-handler.d.ts.map +1 -0
- package/dist/app/server/rpc-handler.js +63 -0
- package/dist/app/server/server-app.d.ts +22 -0
- package/dist/app/server/server-app.d.ts.map +1 -0
- package/dist/app/server/server-app.js +186 -0
- package/dist/app/server/server-context.d.ts +5 -5
- package/dist/app/server/server-context.d.ts.map +1 -1
- package/dist/app/server/server-context.js +9 -8
- package/dist/app/server/utils/fetch-origin.d.ts +13 -0
- package/dist/app/server/utils/fetch-origin.d.ts.map +1 -0
- package/dist/app/server/utils/fetch-origin.js +21 -0
- package/dist/app/server/utils/request.d.ts +20 -0
- package/dist/app/server/utils/request.d.ts.map +1 -0
- package/dist/app/server/utils/request.js +60 -0
- package/dist/node/cli/cli-worker.d.ts +10 -6
- package/dist/node/cli/cli-worker.d.ts.map +1 -1
- package/dist/node/cli/cli-worker.js +7 -14
- package/dist/node/cli/cli.js +37 -43
- package/dist/node/cli/display/CLIApp.d.ts +2 -4
- package/dist/node/cli/display/CLIApp.d.ts.map +1 -1
- package/dist/node/cli/display/CLIApp.js +2 -3
- package/dist/node/cli/version.d.ts +1 -1
- package/dist/node/cli/version.d.ts.map +1 -1
- package/dist/node/cli/version.js +1 -1
- package/dist/node/compiler/app-codegen.d.ts +18 -0
- package/dist/node/compiler/app-codegen.d.ts.map +1 -0
- package/dist/node/compiler/app-codegen.js +473 -0
- package/dist/node/compiler/build-serverless.d.ts +16 -0
- package/dist/node/compiler/build-serverless.d.ts.map +1 -0
- package/dist/node/compiler/build-serverless.js +40 -0
- package/dist/node/compiler/bundler.spa.d.ts +33 -0
- package/dist/node/compiler/bundler.spa.d.ts.map +1 -0
- package/dist/node/compiler/bundler.spa.js +59 -0
- package/dist/node/compiler/dev-css-links.d.ts +25 -0
- package/dist/node/compiler/dev-css-links.d.ts.map +1 -0
- package/dist/node/compiler/dev-css-links.js +87 -0
- package/dist/node/compiler/dev-server.d.ts +2 -0
- package/dist/node/compiler/dev-server.d.ts.map +1 -1
- package/dist/node/compiler/dev-server.js +46 -61
- package/dist/node/compiler/get-vite-config.d.ts +37 -6
- package/dist/node/compiler/get-vite-config.d.ts.map +1 -1
- package/dist/node/compiler/get-vite-config.js +113 -121
- package/dist/node/compiler/serverless-app.d.ts +35 -0
- package/dist/node/compiler/serverless-app.d.ts.map +1 -0
- package/dist/node/compiler/serverless-app.js +332 -0
- package/dist/node/compiler/transforms/block-meta.d.ts +10 -0
- package/dist/node/compiler/transforms/block-meta.d.ts.map +1 -0
- package/dist/node/compiler/transforms/block-meta.js +27 -0
- package/dist/node/compiler/transforms/component-names.d.ts +19 -0
- package/dist/node/compiler/transforms/component-names.d.ts.map +1 -0
- package/dist/node/compiler/transforms/component-names.js +45 -0
- package/dist/node/compiler/transforms/index.d.ts +36 -0
- package/dist/node/compiler/transforms/index.d.ts.map +1 -0
- package/dist/node/compiler/transforms/index.js +80 -0
- package/dist/node/compiler/transforms/types.d.ts +48 -0
- package/dist/node/compiler/transforms/types.d.ts.map +1 -0
- package/dist/node/compiler/transforms/types.js +1 -0
- package/dist/node/project/config.d.ts +1 -1
- package/dist/node/project/config.d.ts.map +1 -1
- package/dist/node/project/config.js +1 -1
- package/dist/node/project/env.js +1 -1
- package/dist/node/project/project-log.d.ts +7 -0
- package/dist/node/project/project-log.d.ts.map +1 -0
- package/dist/node/project/project-log.js +6 -0
- package/dist/node/project/project.d.ts +2 -2
- package/dist/node/project/project.d.ts.map +1 -1
- package/dist/node/project/project.js +3 -3
- package/dist/node/utils/fs.d.ts +70 -69
- package/dist/node/utils/fs.d.ts.map +1 -1
- package/dist/node/utils/http-to-https-redirect.d.ts +10 -0
- package/dist/node/utils/http-to-https-redirect.d.ts.map +1 -0
- package/dist/node/utils/http-to-https-redirect.js +49 -0
- package/dist/node/utils/self-signed-cert.d.ts.map +1 -1
- package/dist/node/utils/self-signed-cert.js +13 -0
- package/package.json +12 -13
- package/skills/eddev/docs/devtool/cli.mdx +10 -8
- package/tsconfig.node.json +17 -5
- package/types.env.d.ts +1 -1
- package/dist/node/compiler/build-vinxi.d.ts +0 -9
- package/dist/node/compiler/build-vinxi.d.ts.map +0 -1
- package/dist/node/compiler/build-vinxi.js +0 -39
- package/dist/node/compiler/bundler.admin.d.ts +0 -14
- package/dist/node/compiler/bundler.admin.d.ts.map +0 -1
- package/dist/node/compiler/bundler.admin.js +0 -37
- package/dist/node/compiler/bundler.frontend.d.ts +0 -15
- package/dist/node/compiler/bundler.frontend.d.ts.map +0 -1
- package/dist/node/compiler/bundler.frontend.js +0 -51
- package/dist/node/compiler/vinxi-app.d.ts +0 -23
- package/dist/node/compiler/vinxi-app.d.ts.map +0 -1
- package/dist/node/compiler/vinxi-app.js +0 -261
- package/dist/node/compiler/vinxi-codegen.d.ts +0 -13
- package/dist/node/compiler/vinxi-codegen.d.ts.map +0 -1
- package/dist/node/compiler/vinxi-codegen.js +0 -764
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import * as t from "@babel/types";
|
|
2
1
|
import replace from "@rollup/plugin-replace";
|
|
3
2
|
import react from "@vitejs/plugin-react";
|
|
4
3
|
import glsl from "vite-plugin-glsl";
|
|
5
|
-
import { pascalCase } from "change-case-all";
|
|
6
4
|
import { withoutTrailingSlash } from "ufo";
|
|
7
|
-
import { createLogger } from "vite";
|
|
8
|
-
import tsconfigPaths from "vite-tsconfig-paths";
|
|
5
|
+
import { createLogger, esmExternalRequirePlugin } from "vite";
|
|
9
6
|
import { cliMode } from "../cli/cli-mode.js";
|
|
7
|
+
import { transformsPlugin } from "./transforms/index.js";
|
|
10
8
|
export function envPlugin(args) {
|
|
11
9
|
const serverlessOrigin = args.client && !args.serverless ? '(window.SERVERLESS_ENDPOINT ?? "/")' : JSON.stringify("/");
|
|
12
10
|
const envDefines = {
|
|
@@ -57,84 +55,18 @@ export function envPlugin(args) {
|
|
|
57
55
|
preventAssignment: true,
|
|
58
56
|
});
|
|
59
57
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
currentFile = { type: "block", id: filename.replace(/.*\/blocks\/(.+)\.tsx/, "$1") };
|
|
73
|
-
}
|
|
74
|
-
else if (filename.match(/.\/views\/.+\.tsx/)) {
|
|
75
|
-
currentFile = { type: "view", id: filename.replace(/.*\/views\/(.+)\.tsx/, "$1") };
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
currentFile = null;
|
|
79
|
-
}
|
|
80
|
-
},
|
|
81
|
-
exit: (path, state) => {
|
|
82
|
-
currentFile = null;
|
|
83
|
-
// console.log("Exiting", state.file.opts.filename)
|
|
84
|
-
},
|
|
85
|
-
},
|
|
86
|
-
ExportNamedDeclaration: (path, state) => {
|
|
87
|
-
if (!currentFile)
|
|
88
|
-
return;
|
|
89
|
-
const decl = path.node.declaration;
|
|
90
|
-
if (decl?.type !== "VariableDeclaration")
|
|
91
|
-
return;
|
|
92
|
-
const id = decl.declarations[0].id;
|
|
93
|
-
if (!t.isIdentifier(id))
|
|
94
|
-
return;
|
|
95
|
-
if (id.name === "meta") {
|
|
96
|
-
if (args.retainBlockMeta && currentFile?.type === "block") {
|
|
97
|
-
// Adds a defineBlock.meta("name", meta) call, which can be used by the editor
|
|
98
|
-
path.replaceWith(t.callExpression(t.memberExpression(t.identifier("defineBlock"), t.identifier("meta")), [
|
|
99
|
-
t.stringLiteral(currentFile.id),
|
|
100
|
-
decl.declarations[0].init,
|
|
101
|
-
]));
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
path.remove();
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
},
|
|
108
|
-
ExportDefaultDeclaration: (path) => {
|
|
109
|
-
if (!currentFile)
|
|
110
|
-
return;
|
|
111
|
-
if (path.node.declaration.type === "CallExpression") {
|
|
112
|
-
const call = path.node.declaration;
|
|
113
|
-
if (call.callee.type === "Identifier" && ["defineBlock", "defineView"].includes(call.callee.name)) {
|
|
114
|
-
const type = call.callee.name.replace("define", "");
|
|
115
|
-
const args = call.arguments;
|
|
116
|
-
if (args.length === 2 &&
|
|
117
|
-
args[0].type === "StringLiteral" &&
|
|
118
|
-
args[1].type === "ArrowFunctionExpression") {
|
|
119
|
-
const name = args[0].value;
|
|
120
|
-
let body = args[1].body;
|
|
121
|
-
if (t.isExpression(body)) {
|
|
122
|
-
body = t.blockStatement([t.returnStatement(body)]);
|
|
123
|
-
}
|
|
124
|
-
const componentName = pascalCase(type) + "_" + name.replace(/[^a-z0-9]/g, "_").replace(/_+/g, "_");
|
|
125
|
-
path.replaceWithMultiple([
|
|
126
|
-
t.exportDefaultDeclaration(t.functionDeclaration(t.identifier(componentName), args[1].params, body, args[1].generator, args[1].async)),
|
|
127
|
-
t.expressionStatement(t.assignmentExpression("=", t.memberExpression(t.identifier(componentName), t.identifier("displayName")), t.stringLiteral(pascalCase(type) + "(" + name + ")"))),
|
|
128
|
-
]);
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
},
|
|
133
|
-
},
|
|
134
|
-
},
|
|
135
|
-
],
|
|
136
|
-
},
|
|
137
|
-
});
|
|
58
|
+
/** Maps the bundler args to the target used by eddev's source transforms. */
|
|
59
|
+
export function getTransformTarget(args) {
|
|
60
|
+
if (args.target === "cms")
|
|
61
|
+
return "cms";
|
|
62
|
+
return args.client ? "frontend" : "server";
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* React (JSX, Fast Refresh) plus eddev's block/view source transforms.
|
|
66
|
+
* See `./transforms` for what the transforms do.
|
|
67
|
+
*/
|
|
68
|
+
export function reactPlugin(args) {
|
|
69
|
+
return [transformsPlugin({ target: args.target }), react()];
|
|
138
70
|
}
|
|
139
71
|
/**
|
|
140
72
|
* Turns on SSR module proxying,
|
|
@@ -145,21 +77,18 @@ export function ssrPlugin() {
|
|
|
145
77
|
config(config) {
|
|
146
78
|
config.legacy = {
|
|
147
79
|
...config.legacy,
|
|
148
|
-
proxySsrExternalModules: true,
|
|
149
|
-
// @ts-ignore
|
|
150
80
|
skipWebSocketTokenCheck: true,
|
|
151
81
|
};
|
|
152
82
|
config.ssr = {
|
|
153
83
|
...config.ssr,
|
|
154
84
|
noExternal: [
|
|
155
85
|
"eddev",
|
|
156
|
-
"vinxi",
|
|
157
86
|
"react-use",
|
|
158
87
|
// @ts-ignore
|
|
159
88
|
...(config?.optimizeDeps?.noExternal ?? []),
|
|
160
89
|
],
|
|
161
90
|
optimizeDeps: {
|
|
162
|
-
exclude: ["eddev"
|
|
91
|
+
exclude: ["eddev"],
|
|
163
92
|
},
|
|
164
93
|
};
|
|
165
94
|
config.optimizeDeps = {
|
|
@@ -173,7 +102,7 @@ export function ssrPlugin() {
|
|
|
173
102
|
"react-dom/client",
|
|
174
103
|
...(config?.optimizeDeps?.include ?? []),
|
|
175
104
|
],
|
|
176
|
-
exclude: ["eddev",
|
|
105
|
+
exclude: ["eddev", ...(config?.optimizeDeps?.exclude ?? [])],
|
|
177
106
|
};
|
|
178
107
|
config.server = {
|
|
179
108
|
...config.server,
|
|
@@ -184,30 +113,55 @@ export function ssrPlugin() {
|
|
|
184
113
|
},
|
|
185
114
|
};
|
|
186
115
|
}
|
|
187
|
-
|
|
116
|
+
/**
|
|
117
|
+
* Tracks one or more concurrent builds reporting into the same log. The log shows "working" until
|
|
118
|
+
* every build has finished, and "error" if any of them failed.
|
|
119
|
+
*/
|
|
120
|
+
export function createBuildStatusTracker(console) {
|
|
121
|
+
const active = new Set();
|
|
122
|
+
const failed = new Set();
|
|
188
123
|
let hasStarted = false;
|
|
124
|
+
return {
|
|
125
|
+
start(id) {
|
|
126
|
+
if (active.size === 0) {
|
|
127
|
+
if (hasStarted) {
|
|
128
|
+
console.resetLog();
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
hasStarted = true;
|
|
132
|
+
console.startTimer();
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
active.add(id);
|
|
136
|
+
failed.delete(id);
|
|
137
|
+
console.setWorking(true);
|
|
138
|
+
},
|
|
139
|
+
end(id, didFail) {
|
|
140
|
+
active.delete(id);
|
|
141
|
+
if (didFail)
|
|
142
|
+
failed.add(id);
|
|
143
|
+
if (active.size === 0) {
|
|
144
|
+
console.setWorking(false, failed.size ? "error" : undefined);
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
function buildStatusPlugin(status, id) {
|
|
189
150
|
return {
|
|
190
151
|
name: "eddev:logging",
|
|
191
152
|
enforce: "post",
|
|
192
153
|
buildStart() {
|
|
193
|
-
|
|
194
|
-
console.resetLog();
|
|
195
|
-
}
|
|
196
|
-
else {
|
|
197
|
-
hasStarted = true;
|
|
198
|
-
console.startTimer();
|
|
199
|
-
}
|
|
200
|
-
console.setWorking(true);
|
|
154
|
+
status.start(id);
|
|
201
155
|
},
|
|
202
156
|
buildEnd(error) {
|
|
203
157
|
if (error)
|
|
204
|
-
|
|
158
|
+
status.end(id, true);
|
|
205
159
|
},
|
|
206
160
|
renderError() {
|
|
207
|
-
|
|
161
|
+
status.end(id, true);
|
|
208
162
|
},
|
|
209
163
|
writeBundle() {
|
|
210
|
-
|
|
164
|
+
status.end(id);
|
|
211
165
|
},
|
|
212
166
|
};
|
|
213
167
|
}
|
|
@@ -223,6 +177,23 @@ export function workersPlugin() {
|
|
|
223
177
|
},
|
|
224
178
|
};
|
|
225
179
|
}
|
|
180
|
+
/**
|
|
181
|
+
* Settings shared by every eddev Vite build:
|
|
182
|
+
* - tsconfig `paths` (eg. `@components/*`) are resolved natively by Vite.
|
|
183
|
+
* - CSS minification (Lightning CSS) recovers from invalid declarations with a warning instead of
|
|
184
|
+
* failing the build. Browsers drop such declarations anyway, and esbuild (Vite 6) passed them through.
|
|
185
|
+
*/
|
|
186
|
+
export function baseConfigPlugin() {
|
|
187
|
+
return {
|
|
188
|
+
name: "eddev:base-config",
|
|
189
|
+
config() {
|
|
190
|
+
return {
|
|
191
|
+
resolve: { tsconfigPaths: true },
|
|
192
|
+
css: { lightningcss: { errorRecovery: true } },
|
|
193
|
+
};
|
|
194
|
+
},
|
|
195
|
+
};
|
|
196
|
+
}
|
|
226
197
|
export function corePlugins(args) {
|
|
227
198
|
return [
|
|
228
199
|
glsl({
|
|
@@ -230,28 +201,39 @@ export function corePlugins(args) {
|
|
|
230
201
|
}),
|
|
231
202
|
args.serverless && ssrPlugin(),
|
|
232
203
|
envPlugin(args),
|
|
233
|
-
|
|
234
|
-
reactPlugin({
|
|
204
|
+
baseConfigPlugin(),
|
|
205
|
+
reactPlugin({ target: getTransformTarget(args) }),
|
|
235
206
|
ignoreRollupErrorsPlugin(),
|
|
236
207
|
workersPlugin(),
|
|
237
|
-
args.console && loggerPlugin({ console: args.console }),
|
|
208
|
+
args.console && loggerPlugin({ console: args.console, label: args.logLabel }),
|
|
238
209
|
].flat();
|
|
239
210
|
}
|
|
240
211
|
export function storybookVitePlugins(args) {
|
|
241
|
-
return [args.serverless && ssrPlugin(), envPlugin(args),
|
|
212
|
+
return [args.serverless && ssrPlugin(), envPlugin(args), baseConfigPlugin()].flat();
|
|
242
213
|
}
|
|
214
|
+
/** Bundler warnings hidden unless `--verbose` is set: noisy, and not actionable in project code. */
|
|
215
|
+
const QUIET_WARNING_CODES = [
|
|
216
|
+
"SOURCEMAP_ERROR",
|
|
217
|
+
"SOURCEMAP_BROKEN",
|
|
218
|
+
"UNUSED_EXTERNAL_IMPORT",
|
|
219
|
+
"INVALID_ANNOTATION",
|
|
220
|
+
"EVAL",
|
|
221
|
+
"PLUGIN_TIMINGS",
|
|
222
|
+
"MODULE_LEVEL_DIRECTIVE",
|
|
223
|
+
];
|
|
224
|
+
const isQuietWarning = (msg) => !cliMode.verbose && typeof msg === "string" && QUIET_WARNING_CODES.some((code) => msg.includes(`[${code}]`));
|
|
243
225
|
export function ignoreRollupErrorsPlugin() {
|
|
244
226
|
return {
|
|
245
227
|
name: "ignore-rollup-errors",
|
|
246
228
|
config(config) {
|
|
247
|
-
const onWarn = config.build?.rollupOptions?.onwarn;
|
|
229
|
+
const onWarn = config.build?.rolldownOptions?.onwarn ?? config.build?.rollupOptions?.onwarn;
|
|
248
230
|
return {
|
|
249
231
|
build: {
|
|
250
|
-
|
|
232
|
+
rolldownOptions: {
|
|
251
233
|
onwarn(warning, warn) {
|
|
252
234
|
if (!cliMode.verbose &&
|
|
253
235
|
warning.code &&
|
|
254
|
-
|
|
236
|
+
QUIET_WARNING_CODES.includes(warning.code)) {
|
|
255
237
|
return;
|
|
256
238
|
}
|
|
257
239
|
if (warning.code) {
|
|
@@ -271,6 +253,7 @@ export function ignoreRollupErrorsPlugin() {
|
|
|
271
253
|
};
|
|
272
254
|
}
|
|
273
255
|
export function loggerPlugin(args) {
|
|
256
|
+
const prefix = (msg) => (args.label ? `[${args.label}] ` : "") + msg.replace(/\n/, "");
|
|
274
257
|
return {
|
|
275
258
|
name: "eddev:logger",
|
|
276
259
|
config() {
|
|
@@ -278,22 +261,23 @@ export function loggerPlugin(args) {
|
|
|
278
261
|
logger.info = (msg) => {
|
|
279
262
|
if (msg.includes("hmr update"))
|
|
280
263
|
args.console.resetLog();
|
|
281
|
-
args.console.info(msg
|
|
264
|
+
args.console.info(prefix(msg));
|
|
282
265
|
};
|
|
283
266
|
logger.warn = (msg) => {
|
|
267
|
+
if (isQuietWarning(msg))
|
|
268
|
+
return;
|
|
284
269
|
if (typeof msg === "string" && msg.includes("auto-determine entry point"))
|
|
285
270
|
return;
|
|
286
271
|
if (typeof msg === "string" && msg.includes("Error when using sourcemap for reporting"))
|
|
287
272
|
return;
|
|
288
|
-
return args.console.warn(msg
|
|
273
|
+
return args.console.warn(prefix(msg));
|
|
289
274
|
};
|
|
290
275
|
logger.error = (msg) => {
|
|
291
|
-
args.console.fail(msg
|
|
292
|
-
|
|
293
|
-
args.console.setWorking(false, "error");
|
|
276
|
+
args.console.fail(prefix(msg));
|
|
277
|
+
args.onError?.();
|
|
294
278
|
};
|
|
295
279
|
logger.warnOnce = (msg) => {
|
|
296
|
-
args.console.warn(msg
|
|
280
|
+
args.console.warn(prefix(msg));
|
|
297
281
|
};
|
|
298
282
|
logger.clearScreen = () => {
|
|
299
283
|
args.console.resetLog();
|
|
@@ -306,6 +290,8 @@ export function loggerPlugin(args) {
|
|
|
306
290
|
}
|
|
307
291
|
export function getViteConfig(args) {
|
|
308
292
|
const console = args.console;
|
|
293
|
+
const status = args.status ?? createBuildStatusTracker(console);
|
|
294
|
+
const buildId = args.logLabel ?? args.target;
|
|
309
295
|
const entryFile = `./.eddev/${args.mode === "production" ? "prod" : "dev"}-spa/entry.${args.target === "cms" ? "admin" : "client"}.tsx`;
|
|
310
296
|
/** Initial config */
|
|
311
297
|
const config = {
|
|
@@ -321,14 +307,16 @@ export function getViteConfig(args) {
|
|
|
321
307
|
glsl({
|
|
322
308
|
root: args.rootDir,
|
|
323
309
|
}),
|
|
324
|
-
|
|
310
|
+
baseConfigPlugin(),
|
|
325
311
|
envPlugin(args),
|
|
326
|
-
reactPlugin({
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
312
|
+
reactPlugin({ target: getTransformTarget(args) }),
|
|
313
|
+
// The cms bundle uses WordPress' React globals. Bundled CommonJS (eg. react/jsx-runtime) calls
|
|
314
|
+
// require("react"), which Rolldown leaves as-is for externals; this rewrites it to an import so it
|
|
315
|
+
// maps to `window.React` in the IIFE output.
|
|
316
|
+
args.target === "cms" && esmExternalRequirePlugin({ external: ["react", "react-dom"] }),
|
|
317
|
+
buildStatusPlugin(status, buildId),
|
|
330
318
|
ignoreRollupErrorsPlugin(),
|
|
331
|
-
loggerPlugin({ console,
|
|
319
|
+
loggerPlugin({ console, label: args.logLabel, onError: () => status.end(buildId, true) }),
|
|
332
320
|
workersPlugin(),
|
|
333
321
|
],
|
|
334
322
|
build: {
|
|
@@ -346,9 +334,9 @@ export function getViteConfig(args) {
|
|
|
346
334
|
cssFileName: "style",
|
|
347
335
|
}
|
|
348
336
|
: undefined,
|
|
349
|
-
|
|
337
|
+
rolldownOptions: {
|
|
350
338
|
input: args.target === "frontend" ? entryFile : undefined,
|
|
351
|
-
|
|
339
|
+
// cms externals (react, react-dom) are handled by esmExternalRequirePlugin above
|
|
352
340
|
output: args.target === "cms"
|
|
353
341
|
? {
|
|
354
342
|
// entryFileNames: "main.admin.js",
|
|
@@ -358,7 +346,11 @@ export function getViteConfig(args) {
|
|
|
358
346
|
"react-dom": "window.ReactDOM",
|
|
359
347
|
},
|
|
360
348
|
}
|
|
361
|
-
:
|
|
349
|
+
: {
|
|
350
|
+
codeSplitting: {
|
|
351
|
+
groups: [{ name: "entry.client", tags: ["$initial"] }],
|
|
352
|
+
},
|
|
353
|
+
},
|
|
362
354
|
},
|
|
363
355
|
},
|
|
364
356
|
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { InlineConfig } from "vite";
|
|
2
|
+
import { EDConfig } from "../project/config.js";
|
|
3
|
+
import { StatefulLog } from "../utils/stateful-log.js";
|
|
4
|
+
export type ServerlessAppArgs = {
|
|
5
|
+
mode: "development" | "production";
|
|
6
|
+
publicUrl: string;
|
|
7
|
+
rootDir: string;
|
|
8
|
+
/** The WordPress origin (SITE_URL) */
|
|
9
|
+
origin: string;
|
|
10
|
+
log: StatefulLog<any>;
|
|
11
|
+
/** Nitro preset, eg. `vercel`, `node-server`, `cloudflare-module` */
|
|
12
|
+
preset?: string;
|
|
13
|
+
rpcBases?: string[];
|
|
14
|
+
config: EDConfig;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* The Vite environments that make up the serverless app (Nitro adds its own `nitro` environment):
|
|
18
|
+
* - `client`: the public site in the browser, served from `/_build/`
|
|
19
|
+
* - `admin`: the WordPress editor bundle for proxied wp-admin pages, served from `/_admin/`
|
|
20
|
+
* - `ssr`: the server entry, rendering pages and handling data/RPC requests
|
|
21
|
+
*
|
|
22
|
+
* In dev, `admin` runs as a separate Vite server mounted at `/_admin/` instead, because a dev server
|
|
23
|
+
* only serves its `client` environment to browsers (see `adminDevServerPlugin`).
|
|
24
|
+
*/
|
|
25
|
+
export declare const SERVERLESS_ENVIRONMENTS: readonly ["client", "admin", "ssr"];
|
|
26
|
+
/**
|
|
27
|
+
* Dev only: lets the server runtime (which runs in the same process, via Nitro's `self` runner) ask the
|
|
28
|
+
* admin dev server for the admin bundle's stylesheets. Read by the generated `manifest/assets.ts`.
|
|
29
|
+
*/
|
|
30
|
+
export declare const ADMIN_DEV_STYLESHEETS_HOOK = "__EDDEV_ADMIN_DEV_STYLESHEETS__";
|
|
31
|
+
/**
|
|
32
|
+
* The Vite config for the serverless app, used by both `eddev dev` and `eddev build --serverless`.
|
|
33
|
+
*/
|
|
34
|
+
export declare function getServerlessViteConfig(args: ServerlessAppArgs): InlineConfig;
|
|
35
|
+
//# sourceMappingURL=serverless-app.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serverless-app.d.ts","sourceRoot":"","sources":["../../../src/node/compiler/serverless-app.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAuC,MAAM,MAAM,CAAA;AAE7E,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAkBtD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,aAAa,GAAG,YAAY,CAAA;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,CAAA;IACrB,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,MAAM,EAAE,QAAQ,CAAA;CACjB,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,qCAAsC,CAAA;AAI1E;;;GAGG;AACH,eAAO,MAAM,0BAA0B,oCAAoC,CAAA;AAsO3E;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,iBAAiB,GAAG,YAAY,CA0F7E"}
|