@lunora/vite 1.0.0-alpha.24 → 1.0.0-alpha.25

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/index.mjs CHANGED
@@ -14,8 +14,8 @@ import logStreamPlugin from './packem_shared/logStreamPlugin-CqvZ17kd.mjs';
14
14
  import { planViteRemoteBindings, remoteBindingsCleanupPlugin, withRemoteBindings } from './packem_shared/planViteRemoteBindings-QN5ncUS1.mjs';
15
15
  import { lunoraSolutionFinders } from './packem_shared/lunoraSolutionFinder-BKEAiUJP.mjs';
16
16
  export { lunoraSolutionFinder } from './packem_shared/lunoraSolutionFinder-BKEAiUJP.mjs';
17
- import { studioPlugin } from './packem_shared/STUDIO_PATH-5ppCdBHa.mjs';
18
- export { STUDIO_PATH, buildStudioUrl } from './packem_shared/STUDIO_PATH-5ppCdBHa.mjs';
17
+ import { studioPlugin } from './packem_shared/STUDIO_PATH-yREc3Bbm.mjs';
18
+ export { STUDIO_PATH, buildStudioUrl } from './packem_shared/STUDIO_PATH-yREc3Bbm.mjs';
19
19
  import { withWorkerStartupHint } from './packem_shared/WORKER_STARTUP_HINT-DhsXUW8k.mjs';
20
20
  export { WORKER_STARTUP_HINT, augmentWorkerStartupError, isWorkerEntryEvalError } from './packem_shared/WORKER_STARTUP_HINT-DhsXUW8k.mjs';
21
21
  import { wranglerValidatorPlugin } from './packem_shared/wranglerValidatorPlugin-CEoJEghS.mjs';
@@ -113,7 +113,7 @@ const createStudioHandler = (server, isNonLoopbackBind) => {
113
113
  let assetsStamp;
114
114
  let html;
115
115
  const projectRoot = server.config.root ?? process.cwd();
116
- const serveStaticAsset = (pathname, response) => {
116
+ const serveStaticAsset = (pathname, request, response) => {
117
117
  const stamp = studioAssetsStamp();
118
118
  if (assets === void 0 || stamp !== assetsStamp) {
119
119
  assets = loadStudioAssets(server.config.logger);
@@ -126,6 +126,17 @@ const createStudioHandler = (server, isNonLoopbackBind) => {
126
126
  return;
127
127
  }
128
128
  const isScript = pathname === STUDIO_SCRIPT_PATH;
129
+ const assetKind = isScript ? "js" : "css";
130
+ const etag = stamp === void 0 ? void 0 : `W/"${assetKind}-${String(stamp)}"`;
131
+ response.setHeader("Cache-Control", "no-cache");
132
+ if (etag !== void 0) {
133
+ response.setHeader("ETag", etag);
134
+ if (headerValue(request.headers?.["if-none-match"]) === etag.toLowerCase()) {
135
+ response.statusCode = 304;
136
+ response.end();
137
+ return;
138
+ }
139
+ }
129
140
  sendOk(response, isScript ? assets.script : assets.styles, isScript ? "text/javascript; charset=utf-8" : "text/css; charset=utf-8");
130
141
  };
131
142
  return (request, response, next) => {
@@ -155,7 +166,7 @@ const createStudioHandler = (server, isNonLoopbackBind) => {
155
166
  return;
156
167
  }
157
168
  if (pathname === STUDIO_SCRIPT_PATH || pathname === STUDIO_STYLE_PATH) {
158
- serveStaticAsset(pathname, response);
169
+ serveStaticAsset(pathname, request, response);
159
170
  return;
160
171
  }
161
172
  html ??= renderStudioHtml({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lunora/vite",
3
- "version": "1.0.0-alpha.24",
3
+ "version": "1.0.0-alpha.25",
4
4
  "description": "The Lunora Vite plugin: codegen, type sync, wrangler validation, and an error overlay over @cloudflare/vite-plugin",
5
5
  "keywords": [
6
6
  "cloudflare",
@@ -47,13 +47,13 @@
47
47
  "dependencies": {
48
48
  "@cloudflare/vite-plugin": "1.42.3",
49
49
  "@lunora/codegen": "1.0.0-alpha.15",
50
- "@lunora/config": "1.0.0-alpha.24",
50
+ "@lunora/config": "1.0.0-alpha.25",
51
51
  "@visulima/vite-overlay": "2.0.0-alpha.35",
52
52
  "jsonc-parser": "^3.3.1",
53
53
  "ts-morph": "^28.0.0"
54
54
  },
55
55
  "peerDependencies": {
56
- "@lunora/studio": "1.0.0-alpha.12",
56
+ "@lunora/studio": "1.0.0-alpha.13",
57
57
  "vite": "^8.1.0"
58
58
  },
59
59
  "peerDependenciesMeta": {