@coreframe/vite 0.2.29 → 0.2.31

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/client.d.ts CHANGED
@@ -3,6 +3,7 @@
3
3
  interface ImportMetaEnv {
4
4
  readonly COREFRAME_ENV: "development" | "preview" | "production"
5
5
  readonly COREFRAME_MANAGED_DEV?: boolean
6
+ readonly DEBUG: boolean
6
7
  readonly MOBILE_PLATFORM: "ios" | "android" | undefined
7
8
  readonly PLATFORM: import("@coreframe/lib/shell").ShellPlatform
8
9
  }
@@ -1 +1 @@
1
- import{coreframeLocalWorkerVariables as e,normalizeWorkerEnvironment as t}from"@coreframe/config";const n=`/cdn-cgi/*`,r=[`DATABASE_URL`],i=[`POSTHOG_`,`VITE_POSTHOG_`,`VITE_GA_`];function a(i,a={}){let s=i,c=a.processEnvironment??process.env,u=c.COREFRAME_ENV===`preview`;if(!u&&c.CLOUDFLARE_ENV!==`development`)return;let d=s.assets?.run_worker_first,f=d!==!0&&!(Array.isArray(d)?d:[]).includes(n),p=new Set(t(a.environment).map(e=>e.name)),m=u?l(c):new Set([...e,...r.filter(e=>p.has(e))]),h=Object.fromEntries([...m].flatMap(e=>{let t=c[e];return t?[[e,t]]:[]})),g=u?o(s,a.previewWorker?.bindings??{}):{};if(!(!f&&Object.keys(h).length===0&&Object.keys(g).length===0))return{...g,...f?{assets:{run_worker_first:[n]}}:{},...Object.keys(h).length>0?{vars:{...s.vars,...h}}:{}}}function o(e,t){let n=new Set,r=new Set,i={};for(let t of[`assets`,`version_metadata`]){let n=e[t];n!==void 0&&(i[t]=structuredClone(n))}for(let[a,o]of Object.entries(e)){if(o===void 0||a===`assets`||a===`env`||a===`version_metadata`||a===`vars`)continue;let e=s(o,a,t,n,r);e!==void 0&&(i[a]=e)}if(r.size>0)throw Error(`Preview Worker bindings need explicit resource overrides in coreframe.config.ts: ${[...r].sort().join(`, `)}.`);let a=Object.keys(t).filter(e=>!n.has(e)).sort();if(a.length>0)throw Error(`Preview Worker binding overrides do not match Wrangler bindings: ${a.join(`, `)}.`);return i}function s(e,t,n,r,i){if(Array.isArray(e)){let a=e.flatMap(e=>{let a=s(e,t,n,r,i);return a===void 0?[]:[a]});return a.length>0?a:void 0}if(!c(e))return;let a=typeof e.binding==`string`?e.binding:t===`ratelimits`&&typeof e.name==`string`?e.name:void 0;if(a){let t=n[a];if(!t){i.add(a);return}return r.add(a),{...structuredClone(e),...structuredClone(t)}}let o={};for(let[a,c]of Object.entries(e)){let e=s(c,t,n,r,i);e!==void 0&&(o[a]=e)}return Object.keys(o).length>0?o:void 0}function c(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function l(e){let t;try{t=JSON.parse(e.COREFRAME_PREVIEW_WORKER_VARIABLES??`[]`)}catch{throw Error(`COREFRAME_PREVIEW_WORKER_VARIABLES must be a JSON array.`)}if(!Array.isArray(t)||!t.every(e=>typeof e==`string`))throw Error(`COREFRAME_PREVIEW_WORKER_VARIABLES must be a JSON array of variable names.`);return new Set(t.filter(e=>!i.some(t=>e.startsWith(t))))}export{a as coreframeCloudflareConfig,o as derivePreviewWorkerBindings};
1
+ import{coreframeLocalWorkerVariables as e,normalizeWorkerEnvironment as t}from"@coreframe/config";const n=`/cdn-cgi/*`,r=[`DATABASE_URL`],i=[`POSTHOG_`,`VITE_POSTHOG_`,`VITE_GA_`];function a(i,a={}){let s=i,u=a.processEnvironment??process.env,d=u.COREFRAME_ENV===`preview`;if(!d&&u.CLOUDFLARE_ENV!==`development`)return;let f=s.assets?.run_worker_first,p=f!==!0&&!(Array.isArray(f)?f:[]).includes(n),m=new Set(t(a.environment).map(e=>e.name)),h=d?l(u):new Set([...e,...r.filter(e=>m.has(e))]),g=Object.fromEntries([...h].flatMap(e=>{let t=u[e];return t?[[e,t]]:[]})),_=d?o(s,a.previewWorker?.bindings??{}):{};if(!p&&Object.keys(g).length===0&&Object.keys(_).length===0)return;let v={..._,...p&&{assets:d&&c(_.assets)?{..._.assets,run_worker_first:[...Array.isArray(s.assets?.run_worker_first)?s.assets.run_worker_first:[],n]}:{run_worker_first:[n]}},...Object.keys(g).length>0&&{vars:{...s.vars,...g}}};if(d){Object.assign(i,v);return}return v}function o(e,t){let n=new Set,r=new Set,i={};for(let t of[`assets`,`version_metadata`]){let n=e[t];n!==void 0&&(i[t]=structuredClone(n))}for(let[a,o]of Object.entries(e)){if(o===void 0||a===`assets`||a===`env`||a===`version_metadata`||a===`vars`)continue;let e=s(o,a,t,n,r);e!==void 0&&(i[a]=e)}if(r.size>0)throw Error(`Preview Worker bindings need explicit resource overrides in coreframe.config.ts: ${[...r].sort().join(`, `)}.`);let a=Object.keys(t).filter(e=>!n.has(e)).sort();if(a.length>0)throw Error(`Preview Worker binding overrides do not match Wrangler bindings: ${a.join(`, `)}.`);return i}function s(e,t,n,r,i){if(Array.isArray(e)){let a=e.flatMap(e=>{let a=s(e,t,n,r,i);return a===void 0?[]:[a]});return a.length>0?a:void 0}if(!c(e))return;let a=typeof e.binding==`string`?e.binding:t===`ratelimits`&&typeof e.name==`string`?e.name:void 0;if(a){let t=n[a];if(!t){i.add(a);return}return r.add(a),{...structuredClone(e),...structuredClone(t)}}let o={};for(let[a,c]of Object.entries(e)){let e=s(c,t,n,r,i);e!==void 0&&(o[a]=e)}return Object.keys(o).length>0?o:void 0}function c(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function l(e){let t;try{t=JSON.parse(e.COREFRAME_PREVIEW_WORKER_VARIABLES??`[]`)}catch{throw Error(`COREFRAME_PREVIEW_WORKER_VARIABLES must be a JSON array.`)}if(!Array.isArray(t)||!t.every(e=>typeof e==`string`))throw Error(`COREFRAME_PREVIEW_WORKER_VARIABLES must be a JSON array of variable names.`);return new Set(t.filter(e=>!i.some(t=>e.startsWith(t))))}export{a as coreframeCloudflareConfig,o as derivePreviewWorkerBindings};
@@ -0,0 +1,6 @@
1
+ import { Plugin } from "vite";
2
+
3
+ //#region plugins/environment.d.ts
4
+ declare function coreframeEnvironmentPlugin(): Plugin;
5
+ //#endregion
6
+ export { coreframeEnvironmentPlugin };
@@ -0,0 +1 @@
1
+ import{parseSync as e}from"vite";function t(e,n){if(Array.isArray(e)){for(let r of e)t(r,n);return}if(typeof e!=`object`||!e)return;let r=e;if(!(typeof r.type!=`string`||typeof r.start!=`number`||typeof r.end!=`number`)){n(r);for(let e of Object.values(r))t(e,n)}}function n(n,r,i){let a=r.split(`?`,1)[0];if(!a||!n.includes(`import.meta.env.DEBUG`)||!/\.[cm]?[jt]sx?$/.test(a))return;let o=[];t(e(a,n,{range:!0}).program,e=>{e.type===`MemberExpression`&&n.slice(e.start,e.end)===`import.meta.env.DEBUG`&&o.push(e)});let s=String(i);for(let e of o.sort((e,t)=>t.start-e.start))n=`${n.slice(0,e.start)}${s.padEnd(e.end-e.start)}${n.slice(e.end)}`;return o.length>0?n:void 0}function r(e){return process.env.COREFRAME_ENV===`preview`||e.mode===`preview`?`preview`:e.command===`serve`?`development`:`production`}function i(){let e=!1,t=!1;return{name:`coreframe:environment`,enforce:`pre`,config(n,i){let a=r(i);return e=a!==`production`,t=i.mode===`test`||i.mode===`benchmark`,{define:{"import.meta.env.COREFRAME_ENV":JSON.stringify(a),"import.meta.env.DEBUG":JSON.stringify(e)}}},transform(r,i){if(t)return n(r,i,e)}}}export{i as coreframeEnvironmentPlugin};
@@ -1 +1 @@
1
- import{coreframeAssetsPlugin as e}from"./assets.js";import{coreframeDashboardPlugin as t}from"./dashboard.js";import{coreframeDevJobsPlugin as n}from"./dev-jobs.js";import{coreframeDevelopmentControlsPlugin as r}from"./development-controls.js";import{coreframeFaviconPlugin as i}from"./favicon.js";import{coreframeFlutterDevToolsPlugin as a}from"./flutter-devtools.js";import{t as o}from"../icons-vb_lG-av.js";import{coreframeManagedDevPlugin as s}from"./managed-dev.js";import{coreframePreviewPlugin as c}from"./preview.js";import{coreframeStartupTimingPlugin as l}from"./startup-timing.js";import{t as u}from"../worktree-head-BZrhW1-Q.js";function d(d={}){return[l(),c(d.config??{}),e(),...o(),r(),a(),n(),s(),u(),t(),...i(d.webManifest===void 0?void 0:{webManifest:d.webManifest})]}export{d as coreframeVitePreset};
1
+ import{coreframeAssetsPlugin as e}from"./assets.js";import{coreframeDashboardPlugin as t}from"./dashboard.js";import{coreframeDevJobsPlugin as n}from"./dev-jobs.js";import{coreframeDevelopmentControlsPlugin as r}from"./development-controls.js";import{coreframeEnvironmentPlugin as i}from"./environment.js";import{coreframeFaviconPlugin as a}from"./favicon.js";import{coreframeFlutterDevToolsPlugin as o}from"./flutter-devtools.js";import{t as s}from"../icons-vb_lG-av.js";import{coreframeManagedDevPlugin as c}from"./managed-dev.js";import{coreframePreviewPlugin as l}from"./preview.js";import{coreframeStartupTimingPlugin as u}from"./startup-timing.js";import{t as d}from"../worktree-head-BZrhW1-Q.js";function f(f={}){return[u(),i(),l(f.config??{}),e(),...s(),r(),o(),n(),c(),d(),t(),...a(f.webManifest===void 0?void 0:{webManifest:f.webManifest})]}export{f as coreframeVitePreset};
@@ -1 +1 @@
1
- function e(e){return{name:`coreframe:preview`,config(t,n){let r=process.env.COREFRAME_ENV===`preview`||n.mode===`preview`?`preview`:n.command===`serve`?`development`:`production`;if(n.mode!==`preview`)return{define:{"import.meta.env.COREFRAME_ENV":JSON.stringify(r)}};let i=e.preview??{},a=i.tunnel?[i.tunnel.hostname]:void 0,o=i.appOrigin?{origin:i.appOrigin}:void 0;return{define:{"import.meta.env.COREFRAME_ENV":JSON.stringify(r)},preview:{allowedHosts:a,cors:o,host:i.host,port:i.port,strictPort:i.strictPort??!0}}}}}export{e as coreframePreviewPlugin};
1
+ function e(e){return{name:`coreframe:preview`,config(t,n){if(n.mode!==`preview`)return;let r=e.preview??{},i=r.appOrigin?new URL(r.appOrigin).hostname:void 0;return{preview:{allowedHosts:r.tunnel&&i?[i]:void 0,cors:r.appOrigin?{origin:r.appOrigin}:void 0,host:r.host,port:r.port,strictPort:r.strictPort??!0}}}}}export{e as coreframePreviewPlugin};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coreframe/vite",
3
- "version": "0.2.29",
3
+ "version": "0.2.31",
4
4
  "description": "Vite plugins and build integrations for Coreframe apps",
5
5
  "repository": {
6
6
  "type": "git",
@@ -57,14 +57,14 @@
57
57
  "obug": "^2.1.3",
58
58
  "unplugin": "^2.3.11",
59
59
  "vite-plugin-hashed-favicons": "^2.1.1",
60
- "@coreframe/config": "^0.1.11",
61
- "@coreframe/assets": "^0.1.14",
62
- "@coreframe/dashboard": "^0.3.14",
63
- "@coreframe/dev-contracts": "^0.1.8",
64
- "@coreframe/flutter-js": "^0.1.26",
65
- "@coreframe/flutter-tools": "^0.1.21",
66
- "@coreframe/lib": "^0.2.14",
67
- "@coreframe/dev": "^0.1.18"
60
+ "@coreframe/config": "^0.1.13",
61
+ "@coreframe/assets": "^0.1.16",
62
+ "@coreframe/dev": "^0.1.20",
63
+ "@coreframe/dashboard": "^0.3.16",
64
+ "@coreframe/flutter-js": "^0.1.28",
65
+ "@coreframe/flutter-tools": "^0.1.23",
66
+ "@coreframe/lib": "^0.2.15",
67
+ "@coreframe/dev-contracts": "^0.1.8"
68
68
  },
69
69
  "devDependencies": {
70
70
  "@tsdown/css": "0.22.3",