@coreframe/vite 0.2.23 → 0.2.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.
@@ -1,12 +1,15 @@
1
1
  import { Plugin } from "vite";
2
2
  import { startManagedDevSession } from "@coreframe/dev/managed-dev";
3
+ import { connectExistingDevSupervisor } from "@coreframe/dev/supervisor";
3
4
 
4
5
  //#region plugins/managed-dev.d.ts
5
6
  type CoreframeManagedDevPluginOptions = {
7
+ connectSupervisor?: typeof connectExistingDevSupervisor;
6
8
  env?: NodeJS.ProcessEnv;
7
9
  startSession?: typeof startManagedDevSession;
8
10
  };
9
11
  declare function coreframeManagedDevPlugin({
12
+ connectSupervisor,
10
13
  env,
11
14
  startSession
12
15
  }?: CoreframeManagedDevPluginOptions): Plugin;
@@ -1 +1 @@
1
- import{mkdir as e,writeFile as t}from"node:fs/promises";import n from"node:path";import{readProjectConfig as r}from"@coreframe/config";import{randomUUID as i}from"node:crypto";import{managedDevEnv as a,managedDevEvents as o,managedDevFlutterRestartFileEnv as s}from"@coreframe/dev-contracts/managed-dev";import{startManagedDevSession as c}from"@coreframe/dev/managed-dev";const l=Symbol.for(`@coreframe/vite/managed-dev-session-states`),u=(()=>{let e=globalThis;return e[l]??=new Map})();function d({env:l=process.env,startSession:u=c}={}){let d=l[a]===`1`,m,h,g,_,v=!1,y=!1,b={mode:`waiting`,warnings:[]},x=()=>_??=(async()=>{y=!0,await g,v=!1;let e=m;m=void 0,e&&h&&await p(h,e)})();return{name:`coreframe:managed-dev`,apply:`serve`,config(){return{define:{"import.meta.env.COREFRAME_MANAGED_DEV":JSON.stringify(d)}}},configureServer(a){if(!d)return;let c=a.config.root;h=c;let _=!1,S=()=>m?.getStatus()??b,C=()=>{y||a.ws.send(o.status,{status:S()})},w=(e,t)=>t.send(o.status,{status:S()}),T=async(e,t)=>{let n;try{if(!v||!m)throw Error(`Managed development is still initializing.`);let n=await m.action(e.action,{onCodexEvent:n=>t.send(o.codex,{...n,requestId:e.requestId})});t.send(o.actionResult,{requestId:e.requestId,...n}),_&&(_=!1,queueMicrotask(()=>{x().then(()=>a.restart()).catch(e=>{let t=e instanceof Error?e.message:String(e);a.config.logger.error(`Coreframe managed development restart failed: ${t}`,{error:e instanceof Error?e:void 0})})}));return}catch(e){n=e}let r=n instanceof Error?n.message:String(n);a.config.logger.error(`Coreframe managed development action failed: ${r}`,{error:n instanceof Error?n:void 0}),t.send(o.actionResult,{error:r,requestId:e.requestId,status:S()})};a.ws.on(o.statusRequest,w),a.ws.on(o.action,T),g=(async()=>{let o;try{let d=await r({cwd:c});if(y)return;if(o=await u({config:d,cwd:c,env:l,onRestart:()=>{_=!0},onFlutterRestart:async()=>{let r=l[s];if(r)try{await e(n.dirname(r),{recursive:!0}),await t(r,`${i()}\n`,{mode:384})}catch(e){let t=e instanceof Error?e.message:String(e);a.config.logger.error(`Coreframe Flutter restart request failed: ${t}`,{error:e instanceof Error?e:void 0})}},onStatusChange:e=>{b=e,C()}}),m=o,b=o.getStatus(),y){m=void 0,await o.close();return}if(await f(c,o),y){m=void 0,await p(c,o);return}v=!0}catch(e){if(m===o&&(m=void 0),!y){let t=e instanceof Error?e.message:String(e);b={message:t,mode:`error`,warnings:[t]},a.config.logger.error(`Coreframe managed development initialization failed: ${t}`,{error:e instanceof Error?e:void 0}),C()}}})(),a.httpServer?.once(`close`,()=>{a.ws.off(o.statusRequest,w),a.ws.off(o.action,T),x()})},async closeBundle(){await x()}}}async function f(e,t){await m(e,async e=>{let n=e.session;e.session=void 0,await n?.close();try{await t.activate(),e.session=t}catch(e){throw await t.close(),e}})}async function p(e,t){await m(e,async e=>{e.session===t&&(e.session=void 0),await t.close()})}async function m(e,t){let n=u.get(e);n||(n={transition:Promise.resolve()},u.set(e,n));let r=n.transition,i;n.transition=new Promise(e=>{i=()=>e()}),await r;try{await t(n)}finally{i()}}export{d as coreframeManagedDevPlugin};
1
+ import{mkdir as e,writeFile as t}from"node:fs/promises";import n from"node:path";import{readProjectConfig as r}from"@coreframe/config";import{randomUUID as i}from"node:crypto";import{managedDevEnv as a,managedDevEvents as o,managedDevFlutterRestartFileEnv as s}from"@coreframe/dev-contracts/managed-dev";import{startManagedDevSession as c}from"@coreframe/dev/managed-dev";import{connectExistingDevSupervisor as l}from"@coreframe/dev/supervisor";const u=Symbol.for(`@coreframe/vite/managed-dev-session-states`),d=(()=>{let e=globalThis;return e[u]??=new Map})();function f({connectSupervisor:u=l,env:d=process.env,startSession:f=c}={}){let h=d[a]===`1`,g,_,v,y,b,x,S,C=!1,w=!1,T=new Map,E={mode:`waiting`,warnings:[]},D=()=>S??=(async()=>{w=!0,await x,C=!1;let e=g,t=_,n=v;g=void 0,_=void 0,v=void 0,y?.(),y=void 0,e&&b&&await m(b,e),t&&(n&&await t.release(n).catch(()=>void 0),t.close())})();return{name:`coreframe:managed-dev`,apply:`serve`,config(){return{define:{"import.meta.env.COREFRAME_MANAGED_DEV":JSON.stringify(h)}}},configureServer(a){if(!h)return;let c=a.config.root;b=c;let l=!1,S=!1,O=()=>g?.getStatus()??E,k=()=>{w||a.ws.send(o.status,{status:O()})},A=()=>{S||w||(S=!0,queueMicrotask(()=>{S=!1,Promise.resolve(a.restart()).catch(e=>{let t=e instanceof Error?e.message:String(e);a.config.logger.error(`Coreframe managed development restart failed: ${t}`,{error:e instanceof Error?e:void 0})})}))},j=e=>{if(w||e.event!==`managed-dev`)return;if(e.kind===`status`){E=e.status,k();return}if(e.kind===`restart`){l=!0,T.size===0&&(l=!1,A());return}let t=T.get(e.requestId);!t||!e.codex||typeof e.codex!=`object`||t.send(o.codex,{...e.codex,requestId:e.requestId})},M=async(e,t)=>{if(_&&C)try{E=(await _.managedDevStatus()).status}catch(e){let t=e instanceof Error?e.message:String(e);a.config.logger.error(`Coreframe managed development status failed: ${t}`,{error:e instanceof Error?e:void 0})}t.send(o.status,{status:O()})},N=async(e,t)=>{let n;try{if(!C)throw Error(`Managed development is still initializing.`);let n=_;if(n){T.set(e.requestId,t);try{let r=await n.managedDevAction({action:e.action,requestId:e.requestId});r.status&&(E=r.status),t.send(o.actionResult,{...r,requestId:e.requestId}),!r.error&&l&&(l=!1,A())}finally{T.delete(e.requestId)}return}let r=g;if(!r)throw Error(`Managed development is still initializing.`);let i=await r.action(e.action,{onCodexEvent:n=>t.send(o.codex,{...n,requestId:e.requestId})});t.send(o.actionResult,{requestId:e.requestId,...i}),l&&(l=!1,queueMicrotask(()=>{D().then(()=>a.restart()).catch(e=>{let t=e instanceof Error?e.message:String(e);a.config.logger.error(`Coreframe managed development restart failed: ${t}`,{error:e instanceof Error?e:void 0})})}));return}catch(e){n=e}let r=n instanceof Error?n.message:String(n);a.config.logger.error(`Coreframe managed development action failed: ${r}`,{error:n instanceof Error?n:void 0}),t.send(o.actionResult,{error:r,requestId:e.requestId,status:O()})};a.ws.on(o.statusRequest,M),a.ws.on(o.action,N),x=(async()=>{let o,h;try{if(o=await u({cwd:c,env:d}),o){if(w){o.close();return}_=o,y=o.onEvent(j),await o.subscribe([`managed-dev`]);let e=await o.acquireManagedDev({env:d});if(v=e.leaseId,E=e.status,w){await o.release(e.leaseId).catch(()=>void 0),v=void 0,y?.(),y=void 0,_=void 0,o.close();return}C=!0;return}let b=await r({cwd:c});if(w)return;if(h=await f({config:b,cwd:c,env:d,onRestart:()=>{l=!0},onFlutterRestart:async()=>{let r=d[s];if(r)try{await e(n.dirname(r),{recursive:!0}),await t(r,`${i()}\n`,{mode:384})}catch(e){let t=e instanceof Error?e.message:String(e);a.config.logger.error(`Coreframe Flutter restart request failed: ${t}`,{error:e instanceof Error?e:void 0})}},onStatusChange:e=>{E=e,k()}}),g=h,E=h.getStatus(),w){g=void 0,await h.close();return}if(await p(c,h),w){g=void 0,await m(c,h);return}C=!0}catch(e){if(o&&_===o&&(y?.(),y=void 0,_=void 0,o.close()),g===h&&(g=void 0),!w){let t=e instanceof Error?e.message:String(e);E={message:t,mode:`error`,warnings:[t]},a.config.logger.error(`Coreframe managed development initialization failed: ${t}`,{error:e instanceof Error?e:void 0}),k()}}})(),a.httpServer?.once(`close`,()=>{a.ws.off(o.statusRequest,M),a.ws.off(o.action,N),D()})},async closeBundle(){await D()}}}async function p(e,t){await h(e,async e=>{let n=e.session;e.session=void 0,await n?.close();try{await t.activate(),e.session=t}catch(e){throw await t.close(),e}})}async function m(e,t){await h(e,async e=>{e.session===t&&(e.session=void 0),await t.close()})}async function h(e,t){let n=d.get(e);n||(n={transition:Promise.resolve()},d.set(e,n));let r=n.transition,i;n.transition=new Promise(e=>{i=()=>e()}),await r;try{await t(n)}finally{i()}}export{f as coreframeManagedDevPlugin};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coreframe/vite",
3
- "version": "0.2.23",
3
+ "version": "0.2.25",
4
4
  "description": "Vite plugins and build integrations for Coreframe apps",
5
5
  "repository": {
6
6
  "type": "git",
@@ -61,14 +61,14 @@
61
61
  "obug": "^2.1.3",
62
62
  "unplugin": "^2.3.11",
63
63
  "vite-plugin-hashed-favicons": "^2.1.1",
64
- "@coreframe/assets": "^0.1.12",
65
64
  "@coreframe/dashboard": "^0.3.10",
66
- "@coreframe/dev": "^0.1.13",
67
65
  "@coreframe/dev-contracts": "^0.1.6",
68
- "@coreframe/flutter-js": "^0.1.21",
69
- "@coreframe/flutter-tools": "^0.1.16",
66
+ "@coreframe/flutter-js": "^0.1.22",
70
67
  "@coreframe/config": "^0.1.9",
71
- "@coreframe/lib": "^0.2.10"
68
+ "@coreframe/dev": "^0.1.15",
69
+ "@coreframe/flutter-tools": "^0.1.17",
70
+ "@coreframe/lib": "^0.2.11",
71
+ "@coreframe/assets": "^0.1.12"
72
72
  },
73
73
  "devDependencies": {
74
74
  "@tsdown/css": "0.22.3",