treesap 0.2.1 → 0.3.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/README.md CHANGED
@@ -8,6 +8,7 @@ This package provides:
8
8
  - router and middleware primitives
9
9
  - static file serving with sensible cache defaults
10
10
  - a `treesap/vite` entry for Vite dev and production builds
11
+ - explicit islands support built on `sapling-island`
11
12
 
12
13
  ## Install
13
14
 
@@ -23,6 +24,11 @@ import { defineTreesapConfig } from "treesap/vite";
23
24
 
24
25
  export default defineTreesapConfig({
25
26
  appEntry: "src/server/app.tsx",
27
+ islands: {
28
+ entries: {
29
+ counter: "src/islands/counter.ts",
30
+ },
31
+ },
26
32
  plugins: [react()],
27
33
  });
28
34
  ```
@@ -50,7 +56,63 @@ Build with `vite build`, then run the server bundle with:
50
56
  node dist/server/main.js
51
57
  ```
52
58
 
59
+ ## Islands
60
+
61
+ Register island client entries explicitly in `defineTreesapConfig()`:
62
+
63
+ ```ts
64
+ import { defineTreesapConfig } from "treesap/vite";
65
+
66
+ export default defineTreesapConfig({
67
+ appEntry: "src/server/app.tsx",
68
+ islands: {
69
+ entries: {
70
+ counter: "src/islands/counter.ts",
71
+ },
72
+ },
73
+ });
74
+ ```
75
+
76
+ Then render them from server JSX with `Island`:
77
+
78
+ ```tsx
79
+ /** @jsxImportSource hono/jsx */
80
+ import { Island } from "treesap";
81
+
82
+ export function CounterSection() {
83
+ return (
84
+ <Island name="counter" loading="visible">
85
+ <div>
86
+ <button type="button" data-island-increment="">
87
+ Increment
88
+ </button>
89
+ <span data-island-count="">0</span>
90
+ </div>
91
+ </Island>
92
+ );
93
+ }
94
+ ```
95
+
96
+ Island client modules should export a default mount function:
97
+
98
+ ```ts
99
+ export default function mount(root: HTMLElement) {
100
+ const button = root.querySelector("[data-island-increment]");
101
+ const output = root.querySelector("[data-island-count]");
102
+ let count = 0;
103
+
104
+ button?.addEventListener("click", () => {
105
+ count += 1;
106
+ if (output) {
107
+ output.textContent = String(count);
108
+ }
109
+ });
110
+ }
111
+ ```
112
+
113
+ Recommended convention: keep island entries in `src/islands/`, but registration is explicit and no filesystem discovery is required.
114
+
53
115
  ## Exports
54
116
 
55
- - `treesap`: `createApp`, `createRouter`, `serve`, `Context`, `cors`, `serveStatic`
56
- - `treesap/vite`: `defineTreesapConfig`, `getViteEntryAssets`, `treesap`
117
+ - `treesap`: `createApp`, `createRouter`, `serve`, `Context`, `cors`, `serveStatic`, `Island`
118
+ - `treesap/vite`: `defineTreesapConfig`, `getViteEntryAssets`, `getViteModuleAsset`, `treesap`
package/dist/app.d.ts CHANGED
@@ -10,9 +10,12 @@ export declare class ServerApp {
10
10
  private readonly frameworkMiddlewares;
11
11
  private readonly middlewares;
12
12
  private readonly routes;
13
+ private readonly methodRoutes;
14
+ private readonly exactRoutes;
13
15
  private notFoundHandler;
14
16
  constructor(options?: CreateAppOptions);
15
17
  use(pathOrHandler: string | Handler, ...handlers: Handler[]): this;
18
+ private registerRoute;
16
19
  on(methods: string[] | readonly string[], path: string, ...handlers: Handler[]): this;
17
20
  get(path: string, ...handlers: Handler[]): this;
18
21
  post(path: string, ...handlers: Handler[]): this;
@@ -21,6 +24,7 @@ export declare class ServerApp {
21
24
  route(prefix: string, child: ServerApp): this;
22
25
  mount(prefix: string, child: ServerApp): this;
23
26
  notFound(handler: Handler): this;
27
+ private findRoute;
24
28
  fetch(request: Request | string | URL, init?: RequestInit): Promise<Response>;
25
29
  }
26
30
  export declare function createApp(options?: CreateAppOptions): ServerApp;
package/dist/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAIvC,MAAM,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC3C,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;AACvE,MAAM,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,KAAK,aAAa,CAAC;AAElE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAC5B;AAoGD,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA0B;IAC/D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0B;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,eAAe,CACkB;gBAE7B,OAAO,GAAE,gBAAqB;IAsB1C,GAAG,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE;IAkB3D,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE;IAW9E,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE;IAIxC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE;IAIzC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE;IAI1C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE;IAI3C,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS;IAqBtC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS;IAItC,QAAQ,CAAC,OAAO,EAAE,OAAO;IAKnB,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW;CA8ChE;AAED,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,aAEnD;AAED,wBAAgB,YAAY,cAE3B"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAUvC,MAAM,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC3C,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;AACvE,MAAM,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,KAAK,aAAa,CAAC;AAElE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAC5B;AAmHD,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA0B;IAC/D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0B;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoC;IACjE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiD;IAC7E,OAAO,CAAC,eAAe,CACkB;gBAE7B,OAAO,GAAE,gBAAqB;IAsB1C,GAAG,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE;IAkB3D,OAAO,CAAC,aAAa;IAcrB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE;IAc9E,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE;IAIxC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE;IAIzC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE;IAI1C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE;IAI3C,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS;IAqBtC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS;IAItC,QAAQ,CAAC,OAAO,EAAE,OAAO;IAKzB,OAAO,CAAC,SAAS;IAoCX,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW;CAwChE;AAED,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,aAEnD;AAED,wBAAgB,YAAY,cAE3B"}
package/dist/app.js CHANGED
@@ -2,7 +2,7 @@ import { existsSync } from "node:fs";
2
2
  import path from "node:path";
3
3
  import { Context } from "./context.js";
4
4
  import { serveStatic } from "./middleware/serve-static.js";
5
- import { compilePath, joinPaths } from "./path.js";
5
+ import { compilePath, isExactPathPattern, joinPaths, normalizePathname, } from "./path.js";
6
6
  function isProductionRuntime() {
7
7
  const viteEnv = import.meta.env;
8
8
  return viteEnv?.PROD === true || process.env.NODE_ENV === "production";
@@ -21,6 +21,11 @@ function resolveDefaultPublicRoot(rootDir) {
21
21
  }
22
22
  return null;
23
23
  }
24
+ function appendRouteRecord(index, key, record) {
25
+ const records = index.get(key) ?? [];
26
+ records.push(record);
27
+ index.set(key, records);
28
+ }
24
29
  function applyResponseDefaults(response) {
25
30
  const contentType = response.headers.get("Content-Type")?.toLowerCase() ?? "";
26
31
  if (!contentType.startsWith("text/html") ||
@@ -65,6 +70,8 @@ export class ServerApp {
65
70
  frameworkMiddlewares = [];
66
71
  middlewares = [];
67
72
  routes = [];
73
+ methodRoutes = new Map();
74
+ exactRoutes = new Map();
68
75
  notFoundHandler = (ctx) => ctx.text("Not Found", { status: 404 });
69
76
  constructor(options = {}) {
70
77
  if (options.publicDir === false) {
@@ -97,13 +104,26 @@ export class ServerApp {
97
104
  }
98
105
  return this;
99
106
  }
107
+ registerRoute(record) {
108
+ this.routes.push(record);
109
+ for (const method of record.methods) {
110
+ appendRouteRecord(this.methodRoutes, method, record);
111
+ if (isExactPathPattern(record.matcher.pattern)) {
112
+ const exactRoutesForMethod = this.exactRoutes.get(method) ?? new Map();
113
+ appendRouteRecord(exactRoutesForMethod, record.matcher.pattern, record);
114
+ this.exactRoutes.set(method, exactRoutesForMethod);
115
+ }
116
+ }
117
+ }
100
118
  on(methods, path, ...handlers) {
101
- this.routes.push({
119
+ const matcher = compilePath(path);
120
+ const record = {
102
121
  path,
103
122
  methods: [...methods].map((method) => method.toUpperCase()),
104
- matcher: compilePath(path),
123
+ matcher,
105
124
  handlers,
106
- });
125
+ };
126
+ this.registerRoute(record);
107
127
  return this;
108
128
  }
109
129
  get(path, ...handlers) {
@@ -127,7 +147,7 @@ export class ServerApp {
127
147
  });
128
148
  });
129
149
  child.routes.forEach((record) => {
130
- this.routes.push({
150
+ this.registerRoute({
131
151
  path: joinPaths(prefix, record.path),
132
152
  methods: [...record.methods],
133
153
  matcher: compilePath(joinPaths(prefix, record.path)),
@@ -143,6 +163,36 @@ export class ServerApp {
143
163
  this.notFoundHandler = handler;
144
164
  return this;
145
165
  }
166
+ findRoute(method, pathname) {
167
+ const normalizedPathname = normalizePathname(pathname);
168
+ const exactRouteCandidates = [
169
+ ...(this.exactRoutes.get(method)?.get(normalizedPathname) ?? []),
170
+ ...(this.exactRoutes.get("ALL")?.get(normalizedPathname) ?? []),
171
+ ];
172
+ for (const record of exactRouteCandidates) {
173
+ return {
174
+ record,
175
+ params: {},
176
+ };
177
+ }
178
+ const routeCandidates = [
179
+ ...(this.methodRoutes.get(method) ?? []),
180
+ ...(this.methodRoutes.get("ALL") ?? []),
181
+ ];
182
+ for (const record of routeCandidates) {
183
+ if (isExactPathPattern(record.matcher.pattern)) {
184
+ continue;
185
+ }
186
+ const match = record.matcher.test(normalizedPathname);
187
+ if (match) {
188
+ return {
189
+ record,
190
+ params: match.params,
191
+ };
192
+ }
193
+ }
194
+ return null;
195
+ }
146
196
  async fetch(request, init) {
147
197
  const normalizedRequest = request instanceof Request ? request : new Request(request, init);
148
198
  const url = new URL(normalizedRequest.url);
@@ -151,13 +201,9 @@ export class ServerApp {
151
201
  .filter((record) => record.matcher.test(url.pathname))
152
202
  .concat(this.frameworkMiddlewares.filter((record) => record.matcher.test(url.pathname)))
153
203
  .map((record) => record.handler);
154
- const route = this.routes.find((record) => {
155
- if (!record.methods.includes(method) && !record.methods.includes("ALL")) {
156
- return false;
157
- }
158
- return Boolean(record.matcher.test(url.pathname));
159
- });
160
- const params = route?.matcher.test(url.pathname)?.params ?? {};
204
+ const routeMatch = this.findRoute(method, url.pathname);
205
+ const route = routeMatch?.record;
206
+ const params = routeMatch?.params ?? {};
161
207
  const ctx = new Context(normalizedRequest, params);
162
208
  const notFound = async () => {
163
209
  const response = await this.notFoundHandler(ctx, async () => new Response(null, { status: 404 }));
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAqB,MAAM,WAAW,CAAC;AAWtE,SAAS,mBAAmB;IAC1B,MAAM,OAAO,GAAI,MAAM,CAAC,IAEtB,CAAC,GAAG,CAAC;IAEP,OAAO,OAAO,EAAE,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;AACzE,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAe;IAC/C,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC5D,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAExD,IAAI,mBAAmB,EAAE,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACxD,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QAChC,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/B,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAeD,SAAS,qBAAqB,CAAC,QAAkB;IAC/C,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAC9E,IACE,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC;QACpC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EACrC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,oCAAoC,CAAC,CAAC;IAEnE,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE;QACjC,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,OAAO;KACR,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,QAAmB,EACnB,GAAY,EACZ,SAAe;IAEf,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;IAEf,KAAK,UAAU,QAAQ,CAAC,QAAgB;QACtC,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,KAAK,GAAG,QAAQ,CAAC;QAEjB,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,SAAS,EAAE,CAAC;QACrB,CAAC;QAED,IAAI,UAAgC,CAAC;QACrC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;YAC7C,UAAU,GAAG,MAAM,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YAC1C,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,OAAO,SAAS;IACH,oBAAoB,GAAuB,EAAE,CAAC;IAC9C,WAAW,GAAuB,EAAE,CAAC;IACrC,MAAM,GAAkB,EAAE,CAAC;IACpC,eAAe,GAAY,CAAC,GAAG,EAAE,EAAE,CACzC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAEzC,YAAY,UAA4B,EAAE;QACxC,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/D,MAAM,UAAU,GACd,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ;YACnC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC;YAC1C,CAAC,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAExC,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;YAC7B,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC;YAC1B,OAAO,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;SAC3C,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,aAA+B,EAAE,GAAG,QAAmB;QACzD,MAAM,IAAI,GAAG,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC;QACrE,MAAM,IAAI,GACR,OAAO,aAAa,KAAK,QAAQ;YAC/B,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,CAAC,aAAa,EAAE,GAAG,QAAQ,CAAC,CAAC;QAEnC,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;gBACpB,IAAI;gBACJ,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC;gBAC1B,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,EAAE,CAAC,OAAqC,EAAE,IAAY,EAAE,GAAG,QAAmB;QAC5E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,IAAI;YACJ,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC3D,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC;YAC1B,QAAQ;SACT,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,IAAY,EAAE,GAAG,QAAmB;QACtC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,IAAY,EAAE,GAAG,QAAmB;QACvC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,IAAY,EAAE,GAAG,QAAmB;QACxC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,IAAY,EAAE,GAAG,QAAmB;QACzC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,MAAc,EAAE,KAAgB;QACpC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACnC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;gBACpB,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC;gBACpC,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBACpD,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC;gBACpC,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;gBAC5B,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBACpD,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;aAC/B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,MAAc,EAAE,KAAgB;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,QAAQ,CAAC,OAAgB;QACvB,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAA+B,EAAE,IAAkB;QAC7D,MAAM,iBAAiB,GACrB,OAAO,YAAY,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACpE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAEtD,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW;aACrC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aACrD,MAAM,CACL,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAC1C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAClC,CACF;aACA,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACxC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxE,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC;QAC/D,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAS,KAAK,IAAI,EAAE;YAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CACzC,GAAG,EACH,KAAK,IAAI,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAChD,CAAC;YACF,IAAI,QAAQ,YAAY,QAAQ,EAAE,CAAC;gBACjC,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7C,CAAC,CAAC;QAEF,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,eAAe,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;YACvE,OAAO,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,GAAG,eAAe,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAChE,OAAO,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;CACF;AAED,MAAM,UAAU,SAAS,CAAC,OAA0B;IAClD,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,SAAS,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export { Context, type Renderable } from "./context.ts";
2
2
  export { createApp, createRouter, type CreateAppOptions, type Handler, type Next, type HandlerResult, ServerApp, } from "./app.ts";
3
3
  export { cors } from "./middleware/cors.ts";
4
+ export { Island, type IslandProps } from "./island.tsx";
4
5
  export { serveStatic } from "./middleware/serve-static.ts";
5
6
  export { serve, sendNodeResponse, toWebRequest } from "./node.ts";
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EACL,SAAS,EACT,YAAY,EACZ,KAAK,gBAAgB,EACrB,KAAK,OAAO,EACZ,KAAK,IAAI,EACT,KAAK,aAAa,EAClB,SAAS,GACV,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EACL,SAAS,EACT,YAAY,EACZ,KAAK,gBAAgB,EACrB,KAAK,OAAO,EACZ,KAAK,IAAI,EACT,KAAK,aAAa,EAClB,SAAS,GACV,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  export { Context } from "./context.js";
2
2
  export { createApp, createRouter, ServerApp, } from "./app.js";
3
3
  export { cors } from "./middleware/cors.js";
4
+ export { Island } from "./island.js";
4
5
  export { serveStatic } from "./middleware/serve-static.js";
5
6
  export { serve, sendNodeResponse, toWebRequest } from "./node.js";
6
7
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAmB,MAAM,cAAc,CAAC;AACxD,OAAO,EACL,SAAS,EACT,YAAY,EAKZ,SAAS,GACV,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAmB,MAAM,cAAc,CAAC;AACxD,OAAO,EACL,SAAS,EACT,YAAY,EAKZ,SAAS,GACV,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAoB,MAAM,aAAc,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ import "sapling-island";
2
+ //# sourceMappingURL=island-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"island-runtime.d.ts","sourceRoot":"","sources":["../src/island-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import "sapling-island";
2
+ if (typeof document !== "undefined") {
3
+ const existingStyle = document.querySelector("style[data-treesap-islands]");
4
+ if (!existingStyle) {
5
+ const style = document.createElement("style");
6
+ style.dataset.treesapIslands = "";
7
+ style.textContent = "sapling-island { display: contents; }";
8
+ document.head.append(style);
9
+ }
10
+ }
11
+ //# sourceMappingURL=island-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"island-runtime.js","sourceRoot":"","sources":["../src/island-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,CAAC;AAExB,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;IACpC,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;IAE5E,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,KAAK,CAAC,OAAO,CAAC,cAAc,GAAG,EAAE,CAAC;QAClC,KAAK,CAAC,WAAW,GAAG,uCAAuC,CAAC;QAC5D,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC"}
@@ -0,0 +1,10 @@
1
+ /** @jsxImportSource hono/jsx */
2
+ import type { Renderable } from "./context.ts";
3
+ export interface IslandProps {
4
+ name: string;
5
+ loading?: string;
6
+ timeout?: number | string;
7
+ children: Renderable;
8
+ }
9
+ export declare function Island(props: IslandProps): import("hono/jsx/jsx-dev-runtime").JSX.Element;
10
+ //# sourceMappingURL=island.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"island.d.ts","sourceRoot":"","sources":["../src/island.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,QAAQ,EAAE,UAAU,CAAC;CACtB;AAqCD,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,kDA+BxC"}
package/dist/island.js ADDED
@@ -0,0 +1,45 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "hono/jsx/jsx-runtime";
2
+ import { getViteModuleAsset } from "./vite.js";
3
+ function getRegisteredIslandEntries() {
4
+ return globalThis.__TREESAP_ISLANDS__ ?? {};
5
+ }
6
+ function createIslandBootstrapScript(name, scriptUrl) {
7
+ return `
8
+ void (async () => {
9
+ const currentScript = document.currentScript;
10
+ const island = currentScript?.closest("sapling-island");
11
+ const root = island?.querySelector("[data-treesap-island-root]");
12
+
13
+ if (!(root instanceof HTMLElement)) {
14
+ throw new Error(${JSON.stringify(`Treesap island "${name}" could not find its island root.`)});
15
+ }
16
+
17
+ const module = await import(${JSON.stringify(scriptUrl)});
18
+ const mount = module.default;
19
+
20
+ if (typeof mount !== "function") {
21
+ throw new Error(${JSON.stringify(`Treesap island "${name}" must export a default mount(root) function.`)});
22
+ }
23
+
24
+ await mount(root);
25
+ })().catch((error) => {
26
+ setTimeout(() => {
27
+ throw error;
28
+ });
29
+ });
30
+ `.trim();
31
+ }
32
+ export function Island(props) {
33
+ const islandEntries = getRegisteredIslandEntries();
34
+ const entry = islandEntries[props.name];
35
+ if (!entry) {
36
+ throw new Error(`Treesap island "${props.name}" is not registered. Add it to defineTreesapConfig({ islands: { entries: { ... } } }).`);
37
+ }
38
+ const scriptUrl = getViteModuleAsset({ entry });
39
+ if (!scriptUrl) {
40
+ throw new Error(`Treesap island "${props.name}" could not resolve a built browser asset for "${entry}".`);
41
+ }
42
+ const bootstrapScript = createIslandBootstrapScript(props.name, scriptUrl);
43
+ return (_jsxs("sapling-island", { loading: props.loading ?? "load", timeout: props.timeout === undefined ? undefined : String(props.timeout), children: [_jsx("div", { "data-treesap-island-root": "", "data-treesap-island": props.name, children: props.children }), _jsx("template", { children: _jsx("script", { dangerouslySetInnerHTML: { __html: bootstrapScript } }) })] }));
44
+ }
45
+ //# sourceMappingURL=island.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"island.js","sourceRoot":"","sources":["../src/island.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAS/C,SAAS,0BAA0B;IACjC,OAAO,UAAU,CAAC,mBAAmB,IAAI,EAAE,CAAC;AAC9C,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAY,EAAE,SAAiB;IAClE,OAAO;;;;;;;sBAOa,IAAI,CAAC,SAAS,CAC9B,mBAAmB,IAAI,mCAAmC,CAC3D;;;gCAG2B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;;;;sBAInC,IAAI,CAAC,SAAS,CAC9B,mBAAmB,IAAI,+CAA+C,CACvE;;;;;;;;;CASJ,CAAC,IAAI,EAAE,CAAC;AACT,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,KAAkB;IACvC,MAAM,aAAa,GAAG,0BAA0B,EAAE,CAAC;IACnD,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,mBAAmB,KAAK,CAAC,IAAI,wFAAwF,CACtH,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAChD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,mBAAmB,KAAK,CAAC,IAAI,kDAAkD,KAAK,IAAI,CACzF,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GAAG,2BAA2B,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAE3E,OAAO,CACL,0BACE,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,MAAM,EAChC,OAAO,EAAE,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,aAExE,0CAA8B,EAAE,yBAAsB,KAAK,CAAC,IAAI,YAC7D,KAAK,CAAC,QAAQ,GACX,EACN,6BACE,iBAAQ,uBAAuB,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,GAAI,GACvD,IACI,CAClB,CAAC;AACJ,CAAC"}
package/dist/path.d.ts CHANGED
@@ -5,6 +5,9 @@ export interface CompiledPath {
5
5
  pattern: string;
6
6
  test(pathname: string): PathMatchResult | null;
7
7
  }
8
+ export declare function normalizePattern(pattern: string): string;
9
+ export declare function normalizePathname(pathname: string): string;
10
+ export declare function isExactPathPattern(pattern: string): boolean;
8
11
  export declare function compilePath(pattern: string): CompiledPath;
9
12
  export declare function joinPaths(prefix: string, pathName: string): string;
10
13
  //# sourceMappingURL=path.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../src/path.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAAC;CAChD;AAsBD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAsBzD;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAazD"}
1
+ {"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../src/path.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAAC;CAChD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,UAU/C;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,UAMjD;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,WAIjD;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAsBzD;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAazD"}
package/dist/path.js CHANGED
@@ -1,4 +1,4 @@
1
- function normalizePattern(pattern) {
1
+ export function normalizePattern(pattern) {
2
2
  if (!pattern || pattern === "*") {
3
3
  return "/*";
4
4
  }
@@ -7,12 +7,16 @@ function normalizePattern(pattern) {
7
7
  }
8
8
  return pattern;
9
9
  }
10
- function normalizePathname(pathname) {
10
+ export function normalizePathname(pathname) {
11
11
  if (!pathname || pathname === "/") {
12
12
  return "/";
13
13
  }
14
14
  return pathname.endsWith("/") ? pathname.slice(0, -1) : pathname;
15
15
  }
16
+ export function isExactPathPattern(pattern) {
17
+ const normalizedPattern = normalizePattern(pattern);
18
+ return !normalizedPattern.includes("*") && !normalizedPattern.includes(":");
19
+ }
16
20
  export function compilePath(pattern) {
17
21
  const normalizedPattern = normalizePattern(pattern);
18
22
  const matcher = new URLPattern({ pathname: normalizedPattern });
package/dist/path.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"path.js","sourceRoot":"","sources":["../src/path.ts"],"names":[],"mappings":"AASA,SAAS,gBAAgB,CAAC,OAAe;IACvC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,OAAO,EAAE,CAAC;IACvB,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAgB;IACzC,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;QAClC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAEhE,OAAO;QACL,OAAO,EAAE,iBAAiB;QAC1B,IAAI,CAAC,QAAgB;YACnB,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACvD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC7D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAC/B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC7D,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;YAC1D,CAAC,CAAC,CACH,CAAC;YAEF,OAAO,EAAE,MAAM,EAAE,CAAC;QACpB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,QAAgB;IACxD,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QAC9B,OAAO,QAAQ,IAAI,GAAG,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7E,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC;IAE5E,OAAO,GAAG,gBAAgB,GAAG,cAAc,EAAE,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"path.js","sourceRoot":"","sources":["../src/path.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,OAAO,EAAE,CAAC;IACvB,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;QAClC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAEpD,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAEhE,OAAO;QACL,OAAO,EAAE,iBAAiB;QAC1B,IAAI,CAAC,QAAgB;YACnB,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACvD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC7D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAC/B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC7D,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;YAC1D,CAAC,CAAC,CACH,CAAC;YAEF,OAAO,EAAE,MAAM,EAAE,CAAC;QACpB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,QAAgB;IACxD,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QAC9B,OAAO,QAAQ,IAAI,GAAG,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7E,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC;IAE5E,OAAO,GAAG,gBAAgB,GAAG,cAAc,EAAE,CAAC;AAChD,CAAC"}
package/dist/vite.d.ts CHANGED
@@ -1,7 +1,17 @@
1
1
  import { type Plugin, type PluginOption, type UserConfig } from "vite";
2
+ export interface TreesapIslandsOptions {
3
+ entries: Record<string, string>;
4
+ }
5
+ interface NormalizedTreesapIslandEntry {
6
+ name: string;
7
+ entry: string;
8
+ absolutePath: string;
9
+ }
2
10
  export interface TreesapVitePluginOptions {
3
11
  appEntry: string;
4
12
  appFactoryExport?: string;
13
+ browserEntry?: string;
14
+ islands?: NormalizedTreesapIslandEntry[];
5
15
  spaBase?: string;
6
16
  spaIndexHtml?: string;
7
17
  spaEntryModule?: string;
@@ -11,6 +21,7 @@ export interface DefineTreesapConfigOptions {
11
21
  appFactoryExport?: string;
12
22
  serverEntry?: string;
13
23
  browserEntry?: string;
24
+ islands?: TreesapIslandsOptions;
14
25
  plugins?: PluginOption[];
15
26
  vite?: UserConfig;
16
27
  }
@@ -28,4 +39,11 @@ export declare function getViteEntryAssets(options: {
28
39
  scripts: string[];
29
40
  styles: string[];
30
41
  };
42
+ export declare function getViteModuleAsset(options: {
43
+ entry: string;
44
+ mode?: string;
45
+ manifestPath?: string;
46
+ base?: string;
47
+ }): string;
48
+ export {};
31
49
  //# sourceMappingURL=vite.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,UAAU,EAEhB,MAAM,MAAM,CAAC;AASd,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAqDD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,WAS7C;AA+JD,wBAAgB,OAAO,CAAC,OAAO,EAAE,wBAAwB,GAAG,MAAM,CAgDjE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,qCA6BtE;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;;;EA6CA"}
1
+ {"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,UAAU,EAEhB,MAAM,MAAM,CAAC;AASd,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,UAAU,4BAA4B;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,4BAA4B,EAAE,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AA6DD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,WAS7C;AA8OD,wBAAgB,OAAO,CAAC,OAAO,EAAE,wBAAwB,GAAG,MAAM,CAmEjE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,qCA6BtE;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;;;EAoDA;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,UAWA"}
package/dist/vite.js CHANGED
@@ -31,6 +31,12 @@ function normalizeManifestLookupPath(entry) {
31
31
  .replace(/^(\.\.\/)+/, "")
32
32
  .replace(/^\.\//, "");
33
33
  }
34
+ function stripQuery(id) {
35
+ return id.replace(/\?.*$/, "");
36
+ }
37
+ function createDevEntryScriptPath(entry) {
38
+ return `/${normalizeManifestLookupPath(entry)}`;
39
+ }
34
40
  function normalizeSpaBase(base) {
35
41
  if (!base.startsWith("/")) {
36
42
  return `/${base}`;
@@ -91,11 +97,56 @@ async function loadTreesapApp(server, entry, exportName) {
91
97
  function resolveConfigRoot(viteConfig) {
92
98
  return path.resolve(viteConfig?.root ?? process.cwd());
93
99
  }
100
+ function resolveBrowserEntry(options) {
101
+ const root = resolveConfigRoot(options.vite);
102
+ const browserEntry = options.browserEntry ?? "src/entry-style.ts";
103
+ return {
104
+ entry: normalizeManifestLookupPath(browserEntry),
105
+ absolutePath: path.resolve(root, browserEntry),
106
+ };
107
+ }
108
+ function resolveIslandEntries(options) {
109
+ const root = resolveConfigRoot(options.vite);
110
+ const rawEntries = options.islands?.entries ?? {};
111
+ return Object.entries(rawEntries).map(([name, entry]) => {
112
+ const normalizedName = name.trim();
113
+ const normalizedEntry = entry.trim();
114
+ if (!normalizedName) {
115
+ throw new Error("Treesap islands entries must have a non-empty name.");
116
+ }
117
+ if (!normalizedEntry) {
118
+ throw new Error(`Treesap island "${normalizedName}" must point to a non-empty entry path.`);
119
+ }
120
+ return {
121
+ name: normalizedName,
122
+ entry: normalizeManifestLookupPath(normalizedEntry),
123
+ absolutePath: path.resolve(root, normalizedEntry),
124
+ };
125
+ });
126
+ }
127
+ function createClientBuildInputs(options) {
128
+ const browserEntry = resolveBrowserEntry(options);
129
+ const islandEntries = resolveIslandEntries(options);
130
+ const input = {
131
+ browser: browserEntry.absolutePath,
132
+ };
133
+ islandEntries.forEach((island) => {
134
+ input[`island-${island.name}`] = island.absolutePath;
135
+ });
136
+ return input;
137
+ }
138
+ function createTreesapDefineConfig(options) {
139
+ const islandEntries = Object.fromEntries(resolveIslandEntries(options).map((entry) => [entry.name, entry.entry]));
140
+ return {
141
+ "globalThis.__TREESAP_ISLANDS__": JSON.stringify(islandEntries),
142
+ };
143
+ }
94
144
  function createTreesapSharedConfig(options) {
95
145
  const root = resolveConfigRoot(options.vite);
96
146
  return mergeConfig({
97
147
  appType: "custom",
98
148
  root,
149
+ define: createTreesapDefineConfig(options),
99
150
  ssr: {
100
151
  noExternal: ["hono"],
101
152
  },
@@ -111,6 +162,8 @@ function createTreesapDevConfig(options) {
111
162
  treesap({
112
163
  appEntry: options.appEntry,
113
164
  appFactoryExport: options.appFactoryExport,
165
+ browserEntry: resolveBrowserEntry(options).absolutePath,
166
+ islands: resolveIslandEntries(options),
114
167
  }),
115
168
  ...(options.plugins ?? []),
116
169
  ],
@@ -118,19 +171,24 @@ function createTreesapDevConfig(options) {
118
171
  }
119
172
  function createTreesapClientBuildConfig(options) {
120
173
  const root = resolveConfigRoot(options.vite);
121
- const browserEntry = options.browserEntry ?? "src/www/entry-style.ts";
122
174
  return mergeConfig(createTreesapSharedConfig(options), {
123
175
  base: "/",
124
176
  publicDir: path.resolve(root, "public"),
125
- plugins: [...(options.plugins ?? [])],
177
+ plugins: [
178
+ treesap({
179
+ appEntry: options.appEntry,
180
+ appFactoryExport: options.appFactoryExport,
181
+ browserEntry: resolveBrowserEntry(options).absolutePath,
182
+ islands: resolveIslandEntries(options),
183
+ }),
184
+ ...(options.plugins ?? []),
185
+ ],
126
186
  build: {
127
187
  manifest: true,
128
188
  outDir: "dist/client",
129
189
  emptyOutDir: true,
130
190
  rolldownOptions: {
131
- input: {
132
- browser: path.resolve(root, browserEntry),
133
- },
191
+ input: createClientBuildInputs(options),
134
192
  },
135
193
  },
136
194
  });
@@ -139,7 +197,15 @@ function createTreesapServerBuildConfig(options) {
139
197
  return mergeConfig(createTreesapSharedConfig(options), {
140
198
  base: "/",
141
199
  publicDir: false,
142
- plugins: [...(options.plugins ?? [])],
200
+ plugins: [
201
+ treesap({
202
+ appEntry: options.appEntry,
203
+ appFactoryExport: options.appFactoryExport,
204
+ browserEntry: resolveBrowserEntry(options).absolutePath,
205
+ islands: resolveIslandEntries(options),
206
+ }),
207
+ ...(options.plugins ?? []),
208
+ ],
143
209
  build: {
144
210
  ssr: options.serverEntry ?? "src/main.tsx",
145
211
  target: "node22",
@@ -174,8 +240,25 @@ export function treesap(options) {
174
240
  const appFactoryExport = options.appFactoryExport ?? "createServerApp";
175
241
  const spaIndexHtml = options.spaIndexHtml ?? "src/app/index.html";
176
242
  const spaEntryModule = options.spaEntryModule ?? "/src/app/main.tsx";
243
+ const browserEntry = options.browserEntry
244
+ ? path.resolve(options.browserEntry)
245
+ : null;
246
+ const islandEntries = options.islands ?? [];
177
247
  return {
178
248
  name: "treesap",
249
+ transform(code, id) {
250
+ if (!browserEntry || islandEntries.length === 0) {
251
+ return null;
252
+ }
253
+ const moduleId = path.resolve(stripQuery(id));
254
+ if (moduleId !== browserEntry || code.includes(`"treesap/island-runtime"`)) {
255
+ return null;
256
+ }
257
+ return {
258
+ code: `import "treesap/island-runtime";\n${code}`,
259
+ map: null,
260
+ };
261
+ },
179
262
  configureServer(server) {
180
263
  server.middlewares.use(async (req, res, next) => {
181
264
  const rewrittenUrl = maybeRewriteSpaAssetRequest(req.url ?? "/", spaBase);
@@ -244,8 +327,12 @@ export function defineTreesapConfig(options) {
244
327
  export function getViteEntryAssets(options) {
245
328
  const mode = options.mode ?? resolveRuntimeMode();
246
329
  if (mode !== "production") {
330
+ const scripts = Array.from(new Set([
331
+ ...(options.devScripts ?? []),
332
+ createDevEntryScriptPath(options.entry),
333
+ ]));
247
334
  return {
248
- scripts: options.devScripts ?? [],
335
+ scripts,
249
336
  styles: options.devStyles ?? [],
250
337
  };
251
338
  }
@@ -275,4 +362,14 @@ export function getViteEntryAssets(options) {
275
362
  styles: (entry?.css ?? []).map((href) => normalizePublicPath(href, base)),
276
363
  };
277
364
  }
365
+ export function getViteModuleAsset(options) {
366
+ return (getViteEntryAssets({
367
+ entry: options.entry,
368
+ mode: options.mode,
369
+ manifestPath: options.manifestPath,
370
+ base: options.base,
371
+ devScripts: [createDevEntryScriptPath(options.entry)],
372
+ devStyles: [],
373
+ }).scripts[0] ?? null);
374
+ }
278
375
  //# sourceMappingURL=vite.js.map
package/dist/vite.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"vite.js","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vite.js","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "treesap",
3
- "version": "0.2.1",
3
+ "version": "0.3.0",
4
4
  "description": "Opinionated Vite-first Node SSR framework.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -13,6 +13,10 @@
13
13
  "./vite": {
14
14
  "types": "./dist/vite.d.ts",
15
15
  "import": "./dist/vite.js"
16
+ },
17
+ "./island-runtime": {
18
+ "types": "./dist/island-runtime.d.ts",
19
+ "import": "./dist/island-runtime.js"
16
20
  }
17
21
  },
18
22
  "files": [
@@ -21,7 +25,8 @@
21
25
  ],
22
26
  "scripts": {
23
27
  "clean": "rm -rf dist",
24
- "build": "tsc -p tsconfig.build.json",
28
+ "build": "npm run clean && tsc -p tsconfig.build.json",
29
+ "prepare": "npm run build",
25
30
  "test": "vitest run -c vitest.config.ts",
26
31
  "prepublishOnly": "npm run build && npm test"
27
32
  },
@@ -34,7 +39,8 @@
34
39
  ],
35
40
  "license": "MIT",
36
41
  "dependencies": {
37
- "hono": "^4.10.3"
42
+ "hono": "^4.10.3",
43
+ "sapling-island": "^0.2.3"
38
44
  },
39
45
  "peerDependencies": {
40
46
  "vite": "^8.0.0"