@lunora/vite 1.0.0-alpha.121 → 1.0.0-alpha.122

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
@@ -1,3 +1,3 @@
1
- import{createRequire as u}from"node:module";import{cloudflare as m}from"@cloudflare/vite-plugin";import{detectAgentRules as d,claimAgentRulesHint as c,AGENT_RULES_HINT as f,detectFramework as p,resolveTargetOrThrow as g}from"@lunora/config";import{detectFramework as lr}from"@lunora/config";import S from"@visulima/vite-overlay";import{g as s}from"./packem_shared/log-DTdeAemA.mjs";import R from"./packem_shared/codegenPlugin-CAs97KEK.mjs";import k from"./packem_shared/containerLogsPlugin-QOsfYAYL.mjs";import h from"./packem_shared/devStatePlugin-CMRBp9zZ.mjs";import v from"./packem_shared/devVariablesPlugin-0SvpKjRJ.mjs";import{createCommandProbe as w,withDevWorkerEnv as P}from"./packem_shared/DEV_WORKER_ENV_VALUE-CdVg3e_J.mjs";import{DEV_WORKER_ENV_VALUE as mr,DEV_WORKER_ENV_VAR as dr}from"./packem_shared/DEV_WORKER_ENV_VALUE-CdVg3e_J.mjs";import{frameworkComposePlugin as E}from"./packem_shared/CLASS_A_WIRING-QlSvg7Ku.mjs";import{CLASS_A_WIRING as fr,LUNORA_WORKER_VIRTUAL_ID as pr,buildWorkerEntrySource as gr,isAutoComposable as Sr}from"./packem_shared/CLASS_A_WIRING-QlSvg7Ku.mjs";import A from"./packem_shared/logStreamPlugin-CFlQAr0R.mjs";import{proxyCheckPlugin as _}from"./packem_shared/checkLunoraProxy-n_jVuOU-.mjs";import{checkLunoraProxy as kr}from"./packem_shared/checkLunoraProxy-n_jVuOU-.mjs";import{planViteRemoteBindings as W,remoteBindingsCleanupPlugin as x,remoteBindingsConfigPlugin as C}from"./packem_shared/planViteRemoteBindings-DGYDapgM.mjs";import{withRemoteBindings as vr}from"./packem_shared/planViteRemoteBindings-DGYDapgM.mjs";import{lunoraSolutionFinders as D}from"./packem_shared/lunoraSolutionFinder-Dl5pUZK2.mjs";import{lunoraSolutionFinder as Pr}from"./packem_shared/lunoraSolutionFinder-Dl5pUZK2.mjs";import{studioPlugin as T}from"./packem_shared/STUDIO_PATH-onjC3IB9.mjs";import{STUDIO_PATH as Ar,buildStudioUrl as _r}from"./packem_shared/STUDIO_PATH-onjC3IB9.mjs";import{withWorkerStartupHint as V}from"./packem_shared/WORKER_STARTUP_HINT-Dsm2vG6Q.mjs";import{WORKER_STARTUP_HINT as xr,augmentWorkerStartupError as Cr,isWorkerEntryEvalError as Dr}from"./packem_shared/WORKER_STARTUP_HINT-Dsm2vG6Q.mjs";import{wranglerValidatorPlugin as $}from"./packem_shared/wranglerValidatorPlugin-CjW1aQLs.mjs";import{default as Vr}from"./packem_shared/LUNORA_API_UPDATED_EVENT-CO2Rv2re.mjs";import{reconcileWranglerCrons as yr}from"@lunora/config/cloudflare";const y=e=>({apply:"serve",configureServer(r){return()=>{d(e.projectRoot).installed||!c()||r.config.logger.warn(`
1
+ import{createRequire as u}from"node:module";import{cloudflare as m}from"@cloudflare/vite-plugin";import{detectAgentRules as d,claimAgentRulesHint as c,AGENT_RULES_HINT as f,detectFramework as p,resolveTargetOrThrow as g}from"@lunora/config";import{detectFramework as lr}from"@lunora/config";import S from"@visulima/vite-overlay";import{g as s}from"./packem_shared/log-DTdeAemA.mjs";import R from"./packem_shared/codegenPlugin-CAs97KEK.mjs";import k from"./packem_shared/containerLogsPlugin-QOsfYAYL.mjs";import h from"./packem_shared/devStatePlugin-CMRBp9zZ.mjs";import v from"./packem_shared/devVariablesPlugin-0SvpKjRJ.mjs";import{createCommandProbe as w,withDevWorkerEnv as P}from"./packem_shared/DEV_WORKER_ENV_VALUE-CdVg3e_J.mjs";import{DEV_WORKER_ENV_VALUE as mr,DEV_WORKER_ENV_VAR as dr}from"./packem_shared/DEV_WORKER_ENV_VALUE-CdVg3e_J.mjs";import{frameworkComposePlugin as E}from"./packem_shared/CLASS_A_WIRING-CHGNvusY.mjs";import{CLASS_A_WIRING as fr,LUNORA_WORKER_VIRTUAL_ID as pr,buildWorkerEntrySource as gr,isAutoComposable as Sr}from"./packem_shared/CLASS_A_WIRING-CHGNvusY.mjs";import A from"./packem_shared/logStreamPlugin-CFlQAr0R.mjs";import{proxyCheckPlugin as _}from"./packem_shared/checkLunoraProxy-n_jVuOU-.mjs";import{checkLunoraProxy as kr}from"./packem_shared/checkLunoraProxy-n_jVuOU-.mjs";import{planViteRemoteBindings as W,remoteBindingsCleanupPlugin as x,remoteBindingsConfigPlugin as C}from"./packem_shared/planViteRemoteBindings-DGYDapgM.mjs";import{withRemoteBindings as vr}from"./packem_shared/planViteRemoteBindings-DGYDapgM.mjs";import{lunoraSolutionFinders as D}from"./packem_shared/lunoraSolutionFinder-Dl5pUZK2.mjs";import{lunoraSolutionFinder as Pr}from"./packem_shared/lunoraSolutionFinder-Dl5pUZK2.mjs";import{studioPlugin as T}from"./packem_shared/STUDIO_PATH-onjC3IB9.mjs";import{STUDIO_PATH as Ar,buildStudioUrl as _r}from"./packem_shared/STUDIO_PATH-onjC3IB9.mjs";import{withWorkerStartupHint as V}from"./packem_shared/WORKER_STARTUP_HINT-Dsm2vG6Q.mjs";import{WORKER_STARTUP_HINT as xr,augmentWorkerStartupError as Cr,isWorkerEntryEvalError as Dr}from"./packem_shared/WORKER_STARTUP_HINT-Dsm2vG6Q.mjs";import{wranglerValidatorPlugin as $}from"./packem_shared/wranglerValidatorPlugin-pzoKmqgc.mjs";import{default as Vr}from"./packem_shared/LUNORA_API_UPDATED_EVENT-CO2Rv2re.mjs";import{reconcileWranglerCrons as yr}from"@lunora/config/cloudflare";const y=e=>({apply:"serve",configureServer(r){return()=>{d(e.projectRoot).installed||!c()||r.config.logger.warn(`
2
2
  ${s(f)}
3
3
  `)}},name:"lunora:agent-rules-hint"}),N=()=>({}),O={astro:"Astro",none:"standalone (SPA / SSR-less)",nuxt:"Nuxt","react-router":"React Router","solid-start":"SolidStart",sveltekit:"SvelteKit","tanstack-start":"TanStack Start","tanstack-start-solid":"TanStack Start (Solid)"},U=e=>{const r=O[e.framework];return e.framework==="none"?s("no meta-framework detected — running standalone."):e.class==="B"?s(`detected ${r} — composition is handled by the framework adapter.`):s(`detected ${r} — composing the Lunora worker into one Cloudflare Worker.`)},L=(e,r)=>{let t=!1;const o=()=>{r.framework??=p(e.projectRoot)};return{config(){o()},configResolved(){o()},configureServer(){o(),!t&&r.framework!==void 0&&(t=!0,console.info(U(r.framework)))},name:"lunora:framework-detect"}},b=e=>{if(e===!1)return!1;const r=e===!0||e===void 0?{}:e;return{...r,forwardedConsoleMethods:r.forwardedConsoleMethods??["error","warn"],solutionFinders:[...D,...r.solutionFinders??[]]}},I=e=>{const r=e??{},t=r.schemaDir??"lunora";let o;r.cloudflare===!1?o=!1:r.cloudflare===!0||r.cloudflare===void 0?o={}:o=r.cloudflare;const n=r.projectRoot??process.cwd();return{allowUnauthenticatedShardAccess:r.allowUnauthenticatedShardAccess??!1,apiSpec:r.apiSpec??"openapi",cloudflare:o,studio:r.studio??!0,generatedDir:r.generatedDir??`${t}/_generated`,overlay:b(r.overlay),projectRoot:n,schemaDir:t,target:g(n,r.target),validateWrangler:r.validateWrangler??!0}},ar=e=>{const r=I(e),t=N(),{isServe:o,plugin:n}=w(),a=[n,L(r,t),E(r,t),v(r),R(r),A(),h(r),y(r),_()];if(r.studio&&a.push(T()),r.validateWrangler&&a.push($(r)),r.overlay!==!1&&a.push(S(r.overlay)),r.cloudflare!==!1){a.push(k(r));const i=W({projectRoot:r.projectRoot}),l=P(r.cloudflare,o);i.enabled&&(i.configPath!==void 0&&a.push(x(i.cleanup)),a.push(C(l,i))),a.push(...V(m(l)))}return a},nr=u(import.meta.url)("../package.json").version;export{fr as CLASS_A_WIRING,mr as DEV_WORKER_ENV_VALUE,dr as DEV_WORKER_ENV_VAR,Vr as LUNORA_API_UPDATED_EVENT,pr as LUNORA_WORKER_VIRTUAL_ID,Ar as STUDIO_PATH,nr as VERSION,xr as WORKER_STARTUP_HINT,Cr as augmentWorkerStartupError,_r as buildStudioUrl,gr as buildWorkerEntrySource,kr as checkLunoraProxy,R as codegenPlugin,k as containerLogsPlugin,w as createCommandProbe,lr as detectFramework,h as devStatePlugin,v as devVariablesPlugin,E as frameworkComposePlugin,Sr as isAutoComposable,Dr as isWorkerEntryEvalError,A as logStreamPlugin,ar as lunora,Pr as lunoraSolutionFinder,D as lunoraSolutionFinders,W as planViteRemoteBindings,_ as proxyCheckPlugin,yr as reconcileWranglerCrons,x as remoteBindingsCleanupPlugin,C as remoteBindingsConfigPlugin,b as resolveOverlayOption,T as studioPlugin,P as withDevWorkerEnv,vr as withRemoteBindings,V as withWorkerStartupHint,$ as wranglerValidatorPlugin};
@@ -1,11 +1,11 @@
1
1
  import{existsSync as f,readFileSync as h}from"node:fs";import{resolve as k,join as l}from"node:path";import{LunoraError as w}from"@lunora/errors";const m="virtual:lunora/worker",v="\0",i=`${v}${m}`,A=`// @lunora/vite — the composed worker entry is worker-only and unavailable in the client environment.
2
2
  export default {};
3
- `,R=/\/$/,u={"react-router":{handler:'{ fetch: (request) => createRequestHandler(() => import("virtual:react-router/server-build"), import.meta.env.MODE)(request) }',imports:'import { createRequestHandler } from "react-router";'},"solid-start":{handler:"ssrModule.default",imports:'import * as ssrModule from "@solidjs/start/server-handler";'},"tanstack-start":{handler:"ssrModule.default",imports:'import * as ssrModule from "@tanstack/react-start/server-entry";'},"tanstack-start-solid":{handler:"ssrModule.default",imports:'import * as ssrModule from "@tanstack/solid-start/server-entry";'}},S=r=>{const e=r.framework;return e?.class==="A"&&u[e.framework]!==void 0},c=r=>S(r),O=r=>{try{const e=JSON.parse(h(l(r,"package.json"),"utf8"));return["dependencies","devDependencies","peerDependencies"].some(t=>e[t]?.lunorash!==void 0)}catch{return!1}},$=(r,e,t=!1,s=!1,o=!1)=>{const a=u[r];if(a===void 0)throw new w("INTERNAL",`[lunora] no class-A worker wiring for framework "${r}"`);const n=e.replaceAll("\\","/"),d=s?"lunorash/runtime":"@lunora/runtime",p=t?`
3
+ `,R=/\/$/,d={"react-router":{handler:'{ fetch: (request) => createRequestHandler(() => import("virtual:react-router/server-build"), import.meta.env.MODE)(request) }',imports:'import { createRequestHandler } from "react-router";'},"solid-start":{handler:"ssrModule.default",imports:'import * as ssrModule from "@solidjs/start/server-handler";'},"tanstack-start":{handler:"ssrModule.default",imports:'import * as ssrModule from "@tanstack/react-start/server-entry";'},"tanstack-start-solid":{handler:"ssrModule.default",imports:'import * as ssrModule from "@tanstack/solid-start/server-entry";'}},c=r=>{const e=r.framework;return e?.class==="A"&&d[e.framework]!==void 0},S=r=>{try{const e=JSON.parse(h(l(r,"package.json"),"utf8"));return["dependencies","devDependencies","peerDependencies"].some(t=>e[t]?.lunorash!==void 0)}catch{return!1}},O=(r,e,t=!1,s=!1,o=!1)=>{const a=d[r];if(a===void 0)throw new w("INTERNAL",`[lunora] no class-A worker wiring for framework "${r}"`);const n=e.replaceAll("\\","/"),u=s?"lunorash/runtime":"@lunora/runtime",p=t?`
4
4
  export * from "${n}/containers";
5
5
  `:"";return`// Generated by @lunora/vite — class-A worker composition (PLAN4 M2).
6
6
  // Do not edit: emitted from the detected framework (${r}). Point your
7
7
  // wrangler \`main\` here (or re-export it) instead of hand-wiring createWorker.
8
- import { composeWorker } from "${d}";
8
+ import { composeWorker } from "${u}";
9
9
  ${a.imports}
10
10
  import { LUNORA_FUNCTIONS } from "${n}/functions";
11
11
  import { openApiSpec } from "${n}/openapi";
@@ -30,4 +30,4 @@ export default {
30
30
  return worker.fetch(request, env, context);
31
31
  },
32
32
  };
33
- `},L=(r,e)=>{const t=k(r.projectRoot,r.generatedDir.replace(R,"")),s=O(r.projectRoot);return{load(o){if(o===i&&c(e)&&e.framework!==void 0){if(this.environment.name==="client")return A;const a=f(l(t,"containers.ts"));return $(e.framework.framework,t,a,s,r.allowUnauthenticatedShardAccess)}},name:"lunora:framework-compose",resolveId(o){if(o===m&&c(e))return i}}};export{u as CLASS_A_WIRING,m as LUNORA_WORKER_VIRTUAL_ID,i as RESOLVED_LUNORA_WORKER_ID,$ as buildWorkerEntrySource,L as frameworkComposePlugin,S as isAutoComposable};
33
+ `},y=(r,e)=>{const t=k(r.projectRoot,r.generatedDir.replace(R,"")),s=S(r.projectRoot);return{load(o){if(o===i&&c(e)&&e.framework!==void 0){if(this.environment.name==="client")return A;const a=f(l(t,"containers.ts"));return O(e.framework.framework,t,a,s,r.allowUnauthenticatedShardAccess)}},name:"lunora:framework-compose",resolveId(o){if(o===m&&c(e))return i}}};export{d as CLASS_A_WIRING,m as LUNORA_WORKER_VIRTUAL_ID,i as RESOLVED_LUNORA_WORKER_ID,O as buildWorkerEntrySource,y as frameworkComposePlugin,c as isAutoComposable};
@@ -1,3 +1,3 @@
1
- import{spawnSync as t}from"node:child_process";import{validateWranglerProject as i,readWranglerJsonc as s}from"@lunora/config/cloudflare";import{LunoraError as l}from"@lunora/errors";import{g as a}from"./log-DTdeAemA.mjs";const c=r=>r.startsWith("./")||r.startsWith("../")||r.startsWith("/")||r.includes("Dockerfile"),g=()=>{try{return t("docker",["info"],{stdio:"ignore"}).status===0}catch{return!1}},d=(r,e=g)=>{const{parsed:n}=s(r);!(n?.containers??[]).some(o=>typeof o?.image=="string"&&c(o.image))||e()||console.warn(a("wrangler.jsonc declares containers built from a local Dockerfile, but no Docker-compatible engine is running. Start Docker (or Colima) before `vite dev`, or the container instances will fail to start."))},m=(r,e)=>{const n=["[lunora] wrangler configuration is missing bindings required by your schema.",` file: ${r}`,"",...e.map(o=>` - ${o}`),""," Update your wrangler.jsonc and restart the dev server."];return new Error(n.join(`
1
+ import{spawnSync as t}from"node:child_process";import{validateWranglerProject as i,readWranglerJsonc as s}from"@lunora/config/cloudflare";import{LunoraError as l}from"@lunora/errors";import{g as a}from"./log-DTdeAemA.mjs";const c=r=>r.startsWith("./")||r.startsWith("../")||r.startsWith("/")||r.includes("Dockerfile"),g=()=>{try{return t("docker",["info"],{stdio:"ignore"}).status===0}catch{return!1}},d=(r,e=g)=>{const{parsed:o}=s(r);!(o?.containers??[]).some(n=>typeof n?.image=="string"&&c(n.image))||e()||console.warn(a("wrangler.jsonc declares containers built from a local Dockerfile, but no Docker-compatible engine is running. Start Docker (or Colima) before `vite dev`, or the container instances will fail to start."))},m=(r,e)=>{const o=["[lunora] wrangler configuration is missing bindings required by your schema.",` file: ${r}`,"",...e.map(n=>` - ${n}`),""," Update your wrangler.jsonc and restart the dev server."];return new Error(o.join(`
2
2
  `))},p=r=>({configResolved(){const e=i({projectRoot:r.projectRoot,schemaDir:r.schemaDir});if(!e.wranglerPath)throw new l("INTERNAL",["[lunora] wrangler.jsonc not found.",` searched in: ${r.projectRoot}`," create a wrangler.jsonc declaring at least the SHARD durable object binding."].join(`
3
- `));if(e.report.warnings.length>0)for(const n of e.report.warnings)console.warn(a(`wrangler validator: ${n}`));if(e.problems.length>0)throw m(e.wranglerPath,e.problems);d(e.wranglerPath)},name:"lunora:wrangler-validator"});export{d as warnWhenDockerMissing,p as wranglerValidatorPlugin};
3
+ `));for(const o of e.report.warnings)console.warn(a(`wrangler validator: ${o}`));if(e.problems.length>0)throw m(e.wranglerPath,e.problems);d(e.wranglerPath)},name:"lunora:wrangler-validator"});export{d as warnWhenDockerMissing,p as wranglerValidatorPlugin};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lunora/vite",
3
- "version": "1.0.0-alpha.121",
3
+ "version": "1.0.0-alpha.122",
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",
@@ -46,9 +46,9 @@
46
46
  },
47
47
  "dependencies": {
48
48
  "@cloudflare/vite-plugin": "1.47.0",
49
- "@lunora/codegen": "1.0.0-alpha.92",
50
- "@lunora/config": "1.0.0-alpha.121",
51
- "@lunora/errors": "1.0.0-alpha.14",
49
+ "@lunora/codegen": "1.0.0-alpha.93",
50
+ "@lunora/config": "1.0.0-alpha.122",
51
+ "@lunora/errors": "1.0.0-alpha.15",
52
52
  "@visulima/vite-overlay": "2.0.5",
53
53
  "jsonc-parser": "^3.3.1",
54
54
  "ts-morph": "^28.0.0"