@universal-deploy/node 0.0.2 → 0.1.0

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/serve.js CHANGED
@@ -1,14 +1,18 @@
1
1
  import userServerEntry from "virtual:ud:catch-all";
2
2
  import { assertFetchable } from "@universal-deploy/store/utils";
3
- import sirv from "@universal-middleware/sirv/srvx";
4
3
  import { serve } from "srvx";
5
4
 
6
5
  //#region src/serve.ts
7
- function startServer() {
6
+ async function startServer() {
8
7
  assertFetchable(userServerEntry, "virtual:ud:catch-all");
9
- return serve({
8
+ let { static: staticDir, prod } = userServerEntry;
9
+ if (__UD_STATIC__) staticDir = __UD_STATIC__;
10
+ if (!process.env.NODE_ENV) process.env.NODE_ENV = prod ? "production" : "development";
11
+ if (staticDir === void 0 || staticDir === true) staticDir = "public";
12
+ await serve({
10
13
  ...userServerEntry,
11
- middleware: [sirv("dist/client")]
14
+ gracefulShutdown: Boolean(prod),
15
+ middleware: [staticDir ? (await import("srvx/static")).serveStatic({ dir: staticDir }) : void 0].filter(Boolean)
12
16
  }).ready();
13
17
  }
14
18
  await startServer();
package/dist/vite.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  import { Plugin } from "vite";
2
2
 
3
3
  //#region src/vite.d.ts
4
- declare function node(): Plugin[];
4
+ declare function node(options?: {
5
+ static?: string | boolean;
6
+ }): Plugin[];
5
7
  //#endregion
6
8
  export { node };
package/dist/vite.js CHANGED
@@ -4,23 +4,33 @@ import { defaultClientConditions, defaultExternalConditions, defaultServerCondit
4
4
  //#region src/vite.ts
5
5
  const isBun = typeof Bun !== "undefined";
6
6
  const isDeno = typeof Deno !== "undefined";
7
- const re_photonNode = /^virtual:photon:node-entry$/;
8
- function node() {
7
+ const re_udNode = /^virtual:ud:node-entry$/;
8
+ function findClientOutDir(env) {
9
+ return Object.values(env.getTopLevelConfig().environments).find((e) => e.consumer === "client")?.build.outDir;
10
+ }
11
+ function node(options) {
9
12
  return [
10
13
  {
11
- name: "photon:node:node-entry",
14
+ name: "ud:node:entry",
12
15
  apply: "build",
13
16
  resolveId: {
14
- filter: { id: re_photonNode },
17
+ filter: { id: re_udNode },
15
18
  async handler(id, importer) {
16
19
  const resolved = await this.resolve("@universal-deploy/node/serve", importer);
17
20
  if (!resolved) throw new Error(`Cannot find server entry ${JSON.stringify(id)}`);
18
21
  return { id: resolved.id };
19
22
  }
23
+ },
24
+ transform: {
25
+ filter: { code: /__UD_STATIC__/ },
26
+ handler(code) {
27
+ const outDir = findClientOutDir(this.environment);
28
+ return code.replace(/__UD_STATIC__/g, JSON.stringify(typeof options?.static === "string" || typeof options?.static === "boolean" ? options.static : typeof outDir === "string" ? outDir : true));
29
+ }
20
30
  }
21
31
  },
22
32
  {
23
- name: "photon:node:node-like",
33
+ name: "ud:node:node-like",
24
34
  configEnvironment(_name, config) {
25
35
  const defaultCondition = config.consumer === "client" ? defaultClientConditions : defaultServerConditions;
26
36
  const additionalCondition = isBun ? ["bun"] : isDeno ? ["deno"] : [];
@@ -31,13 +41,16 @@ function node() {
31
41
  }
32
42
  },
33
43
  {
34
- name: "photon:node:emit",
44
+ name: "ud:node:emit",
35
45
  apply: "build",
36
46
  config: {
37
47
  order: "post",
38
48
  handler() {
39
49
  return {
40
- environments: { ssr: { build: { rollupOptions: { input: { index: "virtual:photon:node-entry" } } } } },
50
+ environments: { ssr: {
51
+ build: { [this.meta.rolldownVersion ? "rolldownOptions" : "rollupOptions"]: { input: { index: "virtual:ud:node-entry" } } },
52
+ resolve: { noExternal: ["@universal-deploy/node"] }
53
+ } },
41
54
  resolve: { alias: Object.fromEntries(builtinModules.filter((m) => !m.startsWith("node:")).map((m) => [m, `node:${m}`])) }
42
55
  };
43
56
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@universal-deploy/node",
3
- "version": "0.0.2",
3
+ "version": "0.1.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -10,9 +10,8 @@
10
10
  "./vite": "./dist/vite.js"
11
11
  },
12
12
  "dependencies": {
13
- "@universal-middleware/sirv": "^0.1.24",
14
- "srvx": "^0.9.8",
15
- "@universal-deploy/store": "^0.0.7"
13
+ "srvx": "^0.10.1",
14
+ "@universal-deploy/store": "^0.1.0"
16
15
  },
17
16
  "peerDependencies": {
18
17
  "vite": ">=7.1"
@@ -24,9 +23,9 @@
24
23
  },
25
24
  "devDependencies": {
26
25
  "@types/node": "^22.19.3",
27
- "tsdown": "^0.20.1",
26
+ "tsdown": "^0.20.3",
28
27
  "typescript": "^5.9.3",
29
- "vite": "^7.3.0"
28
+ "vite": "^8.0.0-beta.13"
30
29
  },
31
30
  "files": [
32
31
  "dist/"