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.
Files changed (113) hide show
  1. package/dist/app/entry/ssr-root-client.d.ts +0 -2
  2. package/dist/app/entry/ssr-root-client.d.ts.map +1 -1
  3. package/dist/app/lib/blocks/block-debugger.d.ts.map +1 -1
  4. package/dist/app/lib/blocks/block-debugger.js +19 -2
  5. package/dist/app/lib/devtools/components/panels/StructurePanel.js +1 -1
  6. package/dist/app/lib/routing/components/BrowserRouter.d.ts.map +1 -1
  7. package/dist/app/lib/routing/components/BrowserRouter.js +10 -7
  8. package/dist/app/server/assets.d.ts +45 -0
  9. package/dist/app/server/assets.d.ts.map +1 -0
  10. package/dist/app/server/assets.js +15 -0
  11. package/dist/app/server/index.d.ts +4 -0
  12. package/dist/app/server/index.d.ts.map +1 -1
  13. package/dist/app/server/index.js +3 -0
  14. package/dist/app/server/proxy-wp-admin.d.ts +6 -2
  15. package/dist/app/server/proxy-wp-admin.d.ts.map +1 -1
  16. package/dist/app/server/proxy-wp-admin.js +29 -57
  17. package/dist/app/server/render-ssr-page.d.ts +2 -6
  18. package/dist/app/server/render-ssr-page.d.ts.map +1 -1
  19. package/dist/app/server/render-ssr-page.js +9 -8
  20. package/dist/app/server/rpc-handler.d.ts +14 -0
  21. package/dist/app/server/rpc-handler.d.ts.map +1 -0
  22. package/dist/app/server/rpc-handler.js +63 -0
  23. package/dist/app/server/server-app.d.ts +22 -0
  24. package/dist/app/server/server-app.d.ts.map +1 -0
  25. package/dist/app/server/server-app.js +186 -0
  26. package/dist/app/server/server-context.d.ts +5 -5
  27. package/dist/app/server/server-context.d.ts.map +1 -1
  28. package/dist/app/server/server-context.js +9 -8
  29. package/dist/app/server/utils/fetch-origin.d.ts +13 -0
  30. package/dist/app/server/utils/fetch-origin.d.ts.map +1 -0
  31. package/dist/app/server/utils/fetch-origin.js +21 -0
  32. package/dist/app/server/utils/request.d.ts +20 -0
  33. package/dist/app/server/utils/request.d.ts.map +1 -0
  34. package/dist/app/server/utils/request.js +60 -0
  35. package/dist/node/cli/cli-worker.d.ts +10 -6
  36. package/dist/node/cli/cli-worker.d.ts.map +1 -1
  37. package/dist/node/cli/cli-worker.js +7 -14
  38. package/dist/node/cli/cli.js +37 -43
  39. package/dist/node/cli/display/CLIApp.d.ts +2 -4
  40. package/dist/node/cli/display/CLIApp.d.ts.map +1 -1
  41. package/dist/node/cli/display/CLIApp.js +2 -3
  42. package/dist/node/cli/version.d.ts +1 -1
  43. package/dist/node/cli/version.d.ts.map +1 -1
  44. package/dist/node/cli/version.js +1 -1
  45. package/dist/node/compiler/app-codegen.d.ts +18 -0
  46. package/dist/node/compiler/app-codegen.d.ts.map +1 -0
  47. package/dist/node/compiler/app-codegen.js +473 -0
  48. package/dist/node/compiler/build-serverless.d.ts +16 -0
  49. package/dist/node/compiler/build-serverless.d.ts.map +1 -0
  50. package/dist/node/compiler/build-serverless.js +40 -0
  51. package/dist/node/compiler/bundler.spa.d.ts +33 -0
  52. package/dist/node/compiler/bundler.spa.d.ts.map +1 -0
  53. package/dist/node/compiler/bundler.spa.js +59 -0
  54. package/dist/node/compiler/dev-css-links.d.ts +25 -0
  55. package/dist/node/compiler/dev-css-links.d.ts.map +1 -0
  56. package/dist/node/compiler/dev-css-links.js +87 -0
  57. package/dist/node/compiler/dev-server.d.ts +2 -0
  58. package/dist/node/compiler/dev-server.d.ts.map +1 -1
  59. package/dist/node/compiler/dev-server.js +46 -61
  60. package/dist/node/compiler/get-vite-config.d.ts +37 -6
  61. package/dist/node/compiler/get-vite-config.d.ts.map +1 -1
  62. package/dist/node/compiler/get-vite-config.js +113 -121
  63. package/dist/node/compiler/serverless-app.d.ts +35 -0
  64. package/dist/node/compiler/serverless-app.d.ts.map +1 -0
  65. package/dist/node/compiler/serverless-app.js +332 -0
  66. package/dist/node/compiler/transforms/block-meta.d.ts +10 -0
  67. package/dist/node/compiler/transforms/block-meta.d.ts.map +1 -0
  68. package/dist/node/compiler/transforms/block-meta.js +27 -0
  69. package/dist/node/compiler/transforms/component-names.d.ts +19 -0
  70. package/dist/node/compiler/transforms/component-names.d.ts.map +1 -0
  71. package/dist/node/compiler/transforms/component-names.js +45 -0
  72. package/dist/node/compiler/transforms/index.d.ts +36 -0
  73. package/dist/node/compiler/transforms/index.d.ts.map +1 -0
  74. package/dist/node/compiler/transforms/index.js +80 -0
  75. package/dist/node/compiler/transforms/types.d.ts +48 -0
  76. package/dist/node/compiler/transforms/types.d.ts.map +1 -0
  77. package/dist/node/compiler/transforms/types.js +1 -0
  78. package/dist/node/project/config.d.ts +1 -1
  79. package/dist/node/project/config.d.ts.map +1 -1
  80. package/dist/node/project/config.js +1 -1
  81. package/dist/node/project/env.js +1 -1
  82. package/dist/node/project/project-log.d.ts +7 -0
  83. package/dist/node/project/project-log.d.ts.map +1 -0
  84. package/dist/node/project/project-log.js +6 -0
  85. package/dist/node/project/project.d.ts +2 -2
  86. package/dist/node/project/project.d.ts.map +1 -1
  87. package/dist/node/project/project.js +3 -3
  88. package/dist/node/utils/fs.d.ts +70 -69
  89. package/dist/node/utils/fs.d.ts.map +1 -1
  90. package/dist/node/utils/http-to-https-redirect.d.ts +10 -0
  91. package/dist/node/utils/http-to-https-redirect.d.ts.map +1 -0
  92. package/dist/node/utils/http-to-https-redirect.js +49 -0
  93. package/dist/node/utils/self-signed-cert.d.ts.map +1 -1
  94. package/dist/node/utils/self-signed-cert.js +13 -0
  95. package/package.json +12 -13
  96. package/skills/eddev/docs/devtool/cli.mdx +10 -8
  97. package/tsconfig.node.json +17 -5
  98. package/types.env.d.ts +1 -1
  99. package/dist/node/compiler/build-vinxi.d.ts +0 -9
  100. package/dist/node/compiler/build-vinxi.d.ts.map +0 -1
  101. package/dist/node/compiler/build-vinxi.js +0 -39
  102. package/dist/node/compiler/bundler.admin.d.ts +0 -14
  103. package/dist/node/compiler/bundler.admin.d.ts.map +0 -1
  104. package/dist/node/compiler/bundler.admin.js +0 -37
  105. package/dist/node/compiler/bundler.frontend.d.ts +0 -15
  106. package/dist/node/compiler/bundler.frontend.d.ts.map +0 -1
  107. package/dist/node/compiler/bundler.frontend.js +0 -51
  108. package/dist/node/compiler/vinxi-app.d.ts +0 -23
  109. package/dist/node/compiler/vinxi-app.d.ts.map +0 -1
  110. package/dist/node/compiler/vinxi-app.js +0 -261
  111. package/dist/node/compiler/vinxi-codegen.d.ts +0 -13
  112. package/dist/node/compiler/vinxi-codegen.d.ts.map +0 -1
  113. 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
- export function reactPlugin(args = {}) {
61
- let currentFile = null;
62
- return react({
63
- babel: {
64
- overrides: [{ test: /types\./, compact: true }],
65
- plugins: [
66
- {
67
- visitor: {
68
- Program: {
69
- enter: (path, state) => {
70
- const filename = state.file.opts.filename;
71
- if (filename.match(/.\/blocks\/.+\.tsx/)) {
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", "vinxi"],
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", "vinxi", ...(config?.optimizeDeps?.exclude ?? [])],
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
- function buildStatusPlugin(console) {
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
- if (hasStarted) {
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
- console.setWorking(false, "error");
158
+ status.end(id, true);
205
159
  },
206
160
  renderError() {
207
- console.setWorking(false, "error");
161
+ status.end(id, true);
208
162
  },
209
163
  writeBundle() {
210
- console.setWorking(false);
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
- tsconfigPaths(),
234
- reactPlugin({ retainBlockMeta: args.target === "cms" }),
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), tsconfigPaths()].flat();
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
- rollupOptions: {
232
+ rolldownOptions: {
251
233
  onwarn(warning, warn) {
252
234
  if (!cliMode.verbose &&
253
235
  warning.code &&
254
- ["SOURCEMAP_ERROR", "UNUSED_EXTERNAL_IMPORT", "INVALID_ANNOTATION", "EVAL"].includes(warning.code)) {
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.replace(/\n/, ""));
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.replace(/\n/, ""));
273
+ return args.console.warn(prefix(msg));
289
274
  };
290
275
  logger.error = (msg) => {
291
- args.console.fail(msg.replace(/\n/, ""));
292
- if (args.completeOnError)
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.replace(/\n/, ""));
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
- tsconfigPaths(),
310
+ baseConfigPlugin(),
325
311
  envPlugin(args),
326
- reactPlugin({
327
- retainBlockMeta: args.target === "cms",
328
- }),
329
- buildStatusPlugin(console),
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, completeOnError: true }),
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
- rollupOptions: {
337
+ rolldownOptions: {
350
338
  input: args.target === "frontend" ? entryFile : undefined,
351
- external: args.target === "cms" ? ["react", "react-dom"] : [],
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
- : undefined,
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"}