@evjs/webpack-plugin 0.0.1-rc.14 → 0.0.1-rc.16

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/README.md CHANGED
@@ -22,7 +22,7 @@ npm install @evjs/webpack-plugin
22
22
  1. **Scans client modules** for `"use server"` files via `detectUseServer()` from build-tools.
23
23
  2. **Generates a server entry** via `generateServerEntry()` — produces a virtual data-URI module.
24
24
  3. **Spawns a child compiler** targeting Node.js — builds the server bundle alongside the client.
25
- 4. **Emits `manifest.json`** mapping function IDs to their module and export names.
25
+ 4. **Emits `dist/manifest.json`** mapping function IDs to their module and export names.
26
26
 
27
27
  ### server-fn-loader
28
28
 
@@ -41,8 +41,8 @@ module.exports = {
41
41
  server: {
42
42
  // App factory (default: "@evjs/runtime/server#createApp")
43
43
  appFactory: "@evjs/runtime/server#createApp",
44
- // Runner — bake into bundle for self-starting dev server
45
- runner: process.env.NODE_ENV === "development"
44
+ // Backend — bake into bundle for self-starting dev server
45
+ backend: process.env.NODE_ENV === "development"
46
46
  ? "@evjs/runtime/server#serve"
47
47
  : undefined,
48
48
  // Extra imports (middleware, config, etc.)
@@ -70,5 +70,5 @@ module.exports = {
70
70
  | Option | Type | Default | Description |
71
71
  |--------|------|---------|-------------|
72
72
  | `server.appFactory` | `string` | `"@evjs/runtime/server#createApp"` | Module ref for app factory |
73
- | `server.runner` | `string?` | `undefined` | Module ref for auto-starting the server |
73
+ | `server.backend` | `string?` | `undefined` | Module ref for auto-starting the server |
74
74
  | `server.setup` | `string[]` | `[]` | Extra imports to prepend to server entry |
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAqBxC,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAElC,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAED;;;;;GAKG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAyB;gBAE5B,OAAO,CAAC,EAAE,sBAAsB;IAG5C,KAAK,CAAC,QAAQ,EAAE,QAAQ;CA2KzB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAuBxC,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAElC,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAED;;;;;GAKG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAyB;gBAE5B,OAAO,CAAC,EAAE,sBAAsB;IAG5C,KAAK,CAAC,QAAQ,EAAE,QAAQ;CA2KzB"}
package/esm/index.js CHANGED
@@ -10,8 +10,10 @@ class ManifestCollector {
10
10
  getManifest() {
11
11
  return {
12
12
  version: 1,
13
- entry: this.entry,
14
- fns: this.fns,
13
+ server: {
14
+ entry: this.entry,
15
+ fns: this.fns,
16
+ },
15
17
  };
16
18
  }
17
19
  }
@@ -137,11 +139,11 @@ export class EvWebpackPlugin {
137
139
  stage: compiler.webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS,
138
140
  }, () => {
139
141
  const manifest = collector.getManifest();
140
- if (Object.keys(manifest.fns).length === 0) {
142
+ if (Object.keys(manifest.server.fns).length === 0) {
141
143
  return;
142
144
  }
143
145
  const content = JSON.stringify(manifest, null, 2);
144
- compilation.emitAsset("../server/manifest.json", new compiler.webpack.sources.RawSource(content));
146
+ compilation.emitAsset("../manifest.json", new compiler.webpack.sources.RawSource(content));
145
147
  });
146
148
  });
147
149
  }
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { Compiler } from "webpack";
2
2
  interface LoaderContext {
3
+ async(): (err: Error | null, result?: string, sourceMap?: unknown) => void;
3
4
  getOptions(): {
4
5
  isServer?: boolean;
5
6
  };
@@ -18,6 +19,6 @@ interface LoaderContext {
18
19
  * Webpack loader for "use server" files.
19
20
  * Thin wrapper that delegates to @evjs/build-tools for the actual transformation.
20
21
  */
21
- export default function serverFnLoader(this: LoaderContext, source: string): Promise<string>;
22
+ export default function serverFnLoader(this: LoaderContext, source: string): Promise<void>;
22
23
  export {};
23
24
  //# sourceMappingURL=server-fn-loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-fn-loader.d.ts","sourceRoot":"","sources":["../src/server-fn-loader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,UAAU,aAAa;IACrB,UAAU,IAAI;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,QAAQ,GAAG;QACrB,sBAAsB,CAAC,EAAE;YACvB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;gBAAE,QAAQ,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,GAAG,IAAI,CAAC;SAC3E,CAAC;KACH,CAAC;CACH;AAED;;;GAGG;AACH,wBAA8B,cAAc,CAC1C,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,CAmBjB"}
1
+ {"version":3,"file":"server-fn-loader.d.ts","sourceRoot":"","sources":["../src/server-fn-loader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,UAAU,aAAa;IACrB,KAAK,IAAI,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3E,UAAU,IAAI;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,QAAQ,GAAG;QACrB,sBAAsB,CAAC,EAAE;YACvB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;gBAAE,QAAQ,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,GAAG,IAAI,CAAC;SAC3E,CAAC;KACH,CAAC;CACH;AAED;;;GAGG;AACH,wBAA8B,cAAc,CAC1C,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CA2Bf"}
@@ -4,21 +4,29 @@ import { transformServerFile } from "@evjs/build-tools";
4
4
  * Thin wrapper that delegates to @evjs/build-tools for the actual transformation.
5
5
  */
6
6
  export default async function serverFnLoader(source) {
7
- const explicitOptions = this.getOptions() || {};
8
- let isServer = explicitOptions.isServer;
9
- if (typeof isServer === "undefined") {
10
- const compilerName = this._compiler?.name;
11
- const target = this._compiler?.options?.target;
12
- isServer = compilerName === "evServer" || target === "node";
7
+ const callback = this.async();
8
+ try {
9
+ const explicitOptions = this.getOptions() || {};
10
+ let isServer = explicitOptions.isServer;
11
+ if (typeof isServer === "undefined") {
12
+ const compilerName = this._compiler?.name;
13
+ const target = this._compiler?.options?.target;
14
+ isServer = compilerName === "evServer" || target === "node";
15
+ }
16
+ const manifestCollector = this._compiler?._ev_manifest_collector;
17
+ const result = await transformServerFile(source, {
18
+ resourcePath: this.resourcePath,
19
+ rootContext: this.rootContext,
20
+ isServer: !!isServer,
21
+ onServerFn: manifestCollector
22
+ ? (fnId, meta) => manifestCollector.addServerFn(fnId, meta)
23
+ : undefined,
24
+ });
25
+ const map = result.map ? JSON.parse(result.map) : undefined;
26
+ callback(null, result.code, map);
27
+ }
28
+ catch (err) {
29
+ callback(err);
13
30
  }
14
- const manifestCollector = this._compiler?._ev_manifest_collector;
15
- return transformServerFile(source, {
16
- resourcePath: this.resourcePath,
17
- rootContext: this.rootContext,
18
- isServer: !!isServer,
19
- onServerFn: manifestCollector
20
- ? (fnId, meta) => manifestCollector.addServerFn(fnId, meta)
21
- : undefined,
22
- });
23
31
  }
24
32
  //# sourceMappingURL=server-fn-loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-fn-loader.js","sourceRoot":"","sources":["../src/server-fn-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAcxD;;;GAGG;AACH,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,cAAc,CAE1C,MAAc;IAEd,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;IAChD,IAAI,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;IACxC,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QACpC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC;QAC/C,QAAQ,GAAG,YAAY,KAAK,UAAU,IAAI,MAAM,KAAK,MAAM,CAAC;IAC9D,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,EAAE,sBAAsB,CAAC;IAEjE,OAAO,mBAAmB,CAAC,MAAM,EAAE;QACjC,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,UAAU,EAAE,iBAAiB;YAC3B,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC;YAC3D,CAAC,CAAC,SAAS;KACd,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"server-fn-loader.js","sourceRoot":"","sources":["../src/server-fn-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAexD;;;GAGG;AACH,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,cAAc,CAE1C,MAAc;IAEd,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;QAChD,IAAI,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;QACxC,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;YACpC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC;YAC/C,QAAQ,GAAG,YAAY,KAAK,UAAU,IAAI,MAAM,KAAK,MAAM,CAAC;QAC9D,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,EAAE,sBAAsB,CAAC;QAEjE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE;YAC/C,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,UAAU,EAAE,iBAAiB;gBAC3B,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC;gBAC3D,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,QAAQ,CAAC,GAAY,CAAC,CAAC;IACzB,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@evjs/webpack-plugin",
3
- "version": "0.0.1-rc.14",
3
+ "version": "0.0.1-rc.16",
4
4
  "description": "Webpack plugin and loaders for the ev framework",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -23,8 +23,7 @@
23
23
  "check-types": "tsc --noEmit"
24
24
  },
25
25
  "files": [
26
- "esm",
27
- "AGENT.md"
26
+ "esm"
28
27
  ],
29
28
  "keywords": [
30
29
  "evjs",
@@ -36,10 +35,11 @@
36
35
  "author": "xusd320",
37
36
  "license": "MIT",
38
37
  "dependencies": {
39
- "@evjs/build-tools": "0.0.1-rc.14",
40
- "@evjs/manifest": "0.0.1-rc.14"
38
+ "@evjs/build-tools": "*",
39
+ "@evjs/manifest": "*"
41
40
  },
42
41
  "devDependencies": {
42
+ "@types/node": "^22.13.5",
43
43
  "typescript": "^5.7.3",
44
44
  "webpack": "^5.105.4"
45
45
  },
package/AGENT.md DELETED
@@ -1,101 +0,0 @@
1
- # @evjs/webpack-plugin — Agent Guide
2
-
3
- > AI-agent reference for the `@evjs/webpack-plugin` package. This is an internal package used by `@evjs/cli` — application developers don't configure it directly.
4
-
5
- ## Overview
6
-
7
- Webpack adapter wrapping `@evjs/build-tools`. Provides:
8
- 1. **`EvWebpackPlugin`** — webpack plugin for server function discovery + child compilation
9
- 2. **`server-fn-loader`** — webpack loader for `"use server"` file transforms
10
-
11
- ## EvWebpackPlugin
12
-
13
- Auto-discovers `"use server"` files, generates server entry, spawns a server-targeted child compiler, and emits `manifest.json`.
14
-
15
- ```js
16
- const { EvWebpackPlugin } = require("@evjs/webpack-plugin");
17
-
18
- new EvWebpackPlugin({
19
- server: {
20
- appFactory: "@evjs/runtime/server#createApp", // default
21
- runner: "@evjs/runtime/server#serve", // for self-starting servers
22
- middleware: ["./src/middleware/auth#default"], // middleware imports
23
- },
24
- });
25
- ```
26
-
27
- ### Options
28
-
29
- | Option | Type | Default | Description |
30
- |--------|------|---------|-------------|
31
- | `server.appFactory` | `string` | `"@evjs/runtime/server#createApp"` | Hono app factory module ref |
32
- | `server.runner` | `string?` | `undefined` | Runner module ref (e.g., `"@evjs/runtime/server#serve"`) |
33
- | `server.middleware` | `string[]` | `[]` | Middleware module refs prepended to server entry |
34
-
35
- ### What It Does (Build Pipeline)
36
-
37
- 1. **Discovery** — globs for `*.server.{ts,js,tsx,jsx}` in source tree
38
- 2. **Client transform** — `server-fn-loader` replaces function bodies with `__fn_call` stubs
39
- 3. **Server entry generation** — calls `generateServerEntry()` from `@evjs/build-tools`
40
- 4. **Child compiler** — spawns a webpack child compilation targeting `node` with the server entry
41
- - **Externals**: all third-party `node_modules` are externalized (essential for native addons like `better-sqlite3`); `@evjs/*` packages are bundled into the CJS output
42
- 5. **Manifest emission** — writes `manifest.json` via `processAssets` hook
43
-
44
- ### Output
45
-
46
- ```
47
- dist/
48
- ├── client/ # client webpack output
49
- │ ├── main.[hash].js
50
- │ └── index.html
51
- └── server/
52
- ├── server.js # server bundle (Node.js)
53
- └── manifest.json # server function registry
54
- ```
55
-
56
- ### Manifest Format
57
-
58
- ```json
59
- {
60
- "version": 1,
61
- "serverFunctions": {
62
- "abc123:getUsers": {
63
- "module": "./api/users.server",
64
- "export": "getUsers"
65
- }
66
- }
67
- }
68
- ```
69
-
70
- ## server-fn-loader
71
-
72
- Webpack loader for `"use server"` files. Automatically detects whether it's running in the client or server compiler and applies the appropriate transform.
73
-
74
- ```js
75
- {
76
- test: /\.server\.(ts|tsx|js|jsx)$/,
77
- use: [
78
- { loader: "swc-loader" },
79
- { loader: "@evjs/webpack-plugin/server-fn-loader" },
80
- ],
81
- }
82
- ```
83
-
84
- **Client compiler** → replaces function bodies with `__fn_call` RPC stubs
85
- **Server compiler** → preserves function bodies, appends `registerServerFn()` calls
86
-
87
- ## Key Files
88
-
89
- | File | Purpose |
90
- |------|---------|
91
- | `src/index.ts` | `EvWebpackPlugin` — main plugin |
92
- | `src/server-fn-loader.ts` | Webpack loader for `"use server"` transforms |
93
-
94
- ## Integration with @evjs/cli
95
-
96
- `@evjs/cli` creates the webpack config in `create-webpack-config.ts`:
97
-
98
- 1. Adds `EvWebpackPlugin` to plugins
99
- 2. Adds `server-fn-loader` to module rules (before `swc-loader`)
100
- 3. Configures dev server proxy for `/api/fn` → API server
101
- 4. In dev mode, sets `runner` to `"@evjs/runtime/server#serve"` for auto-start