@coreframe/vite 0.2.19 → 0.2.21
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.
|
@@ -8,7 +8,7 @@ type CoreframeDashboardPluginOptions = {
|
|
|
8
8
|
env?: NodeJS.ProcessEnv;
|
|
9
9
|
projectRoot?: string;
|
|
10
10
|
};
|
|
11
|
-
/** Hosts the app-owned dashboard at the main same-origin URL and generates its Worker
|
|
11
|
+
/** Hosts the app-owned dashboard at the main same-origin URL and generates its Worker target. */
|
|
12
12
|
declare function coreframeDashboardPlugin({
|
|
13
13
|
dashboardConfig,
|
|
14
14
|
dashboardOrigin,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{existsSync as e}from"node:fs";import{readFile as t}from"node:fs/promises";import{dirname as n,isAbsolute as r,resolve as i}from"node:path";import{readProjectConfig as a}from"@coreframe/config";import{
|
|
1
|
+
import{existsSync as e}from"node:fs";import{readFile as t}from"node:fs/promises";import{dirname as n,isAbsolute as r,resolve as i}from"node:path";import{readProjectConfig as a}from"@coreframe/config";import{composeDashboardManifest as o,composeDashboardPluginTarget as s,discoverDashboardPages as c,renderDashboardPluginTargetModule as l,resolveDashboardModuleReference as u,resolveDashboardRouteModules as d}from"@coreframe/dashboard/build";import{createDashboardRequestHandler as f}from"@coreframe/dashboard/server";import{createServer as p,loadConfigFromFile as m,normalizePath as h}from"vite";const g=`/__dashboard`,_=`virtual:coreframe-dashboard-worker-plugins`,v=`\0${_}`,y=`virtual:coreframe-dashboard-manifest`,b=`\0${y}`,x=`virtual:coreframe-dashboard-routes`,S=`\0${x}`,C=`virtual:coreframe-dashboard-document`,w=`\0${C}`,T=`virtual:coreframe-dashboard-styles`,E=`\0${T}`;function D({dashboardConfig:e=`dashboard/dashboard.config.ts`,dashboardOrigin:t=process.env.COREFRAME_DASHBOARD_ORIGIN??`http://127.0.0.1:5174`,env:r=process.env,projectRoot:a=process.cwd()}={}){let o,c,u=()=>c??=M(a,e,o);return{name:`coreframe:dashboard`,async config(e,n){return o=n,{define:{__COREFRAME_DASHBOARD_BUILD__:JSON.stringify(await L(a,r))},server:{proxy:{[g]:{target:t}}}}},resolveId(e){if(e===_)return v},async load(e){if(e===v)return l(s(await u(),`deployed`))},configureServer(e){return()=>{let t=e.printUrls.bind(e);e.printUrls=()=>{t();let n=e.resolvedUrls?.local[0];n&&e.config.logger.info(` ➜ Dashboard: ${new URL(g,n)}`)}}},configurePreviewServer:{order:`pre`,async handler(t){let r=await p({appType:`custom`,configFile:!1,envFile:!1,logLevel:`silent`,mode:t.config.mode,resolve:{alias:t.config.resolve.alias,dedupe:t.config.resolve.dedupe,tsconfigPaths:t.config.resolve.tsconfigPaths},root:a,server:{hmr:!1,middlewareMode:!0,watch:null}}),o;try{let s=await F(r.ssrLoadModule.bind(r),await u(),n(N(a,e))),c=t.config.environments.client.build.outDir;o=f({clientDist:i(t.config.root,c,g.slice(1)),plugins:s,projectRoot:a})}catch(e){throw await r.close(),e}t.middlewares.use(async(e,t,n)=>{if(!e.url||!P(e.url)){n();return}await o.handle(e,t)});let s,c=()=>s??=Promise.all([o.dispose(),r.close()]).then(()=>void 0),l=t.close.bind(t);return t.close=async()=>{await Promise.all([c(),l()])},t.httpServer.once(`close`,()=>{c()}),()=>{let e=t.printUrls.bind(t);t.printUrls=()=>{e();let n=t.resolvedUrls?.local[0];n&&t.config.logger.info(` ➜ Dashboard: ${new URL(g,n)}`)}}}}}}function O({dashboardDirectory:e=process.cwd(),environment:t=process.env.DEPLOY_ENV?`deployed`:`local`,projectRoot:n=i(e,`..`)}={}){let r,a,s,l=i(e,`dashboard.config.ts`),u=()=>a??=M(n,l,r);return{name:`coreframe:dashboard-app`,config(e,t){return r=t,{ssr:{noExternal:[`@coreframe/dashboard`]}}},resolveId(e){if(e===y)return b;if(e===x)return S;if(e===C)return w;if(e===T)return E},async load(r){if(r===E)return A(e);if(r===w)return k((await u()).document,e,n);if(r!==b&&r!==S)return;let[i,a]=await Promise.all([u(),c({dashboardDirectory:e})]),s=o(i,a,{environment:t});if(r===S){let t=d(s,{dashboardDirectory:e,projectRoot:n});return`export const dashboardRoutePages = ${JSON.stringify(t)}\n`}return`export const dashboardManifest = ${JSON.stringify(s)}\n`},async configureServer(t){s=f({plugins:await F(t.ssrLoadModule.bind(t),await u(),e),projectRoot:n}),t.middlewares.use(async(e,t,n)=>{if(!e.url||!e.url.startsWith(`${g}/api/plugins/`)){n();return}await s.handle(e,t)}),t.httpServer?.once(`close`,()=>{s?.dispose()})}}}function k(e,t,n){if(!e)return[`export const Layout = undefined`,`export const links = undefined`,`export const meta = undefined`,`export default undefined`,``].join(`
|
|
2
2
|
`);let r=j(u(e,{dashboardDirectory:t,projectRoot:n}));return[`import * as document from ${JSON.stringify(r)}`,`export const Layout = document.Layout`,`export const links = document.links`,`export const meta = document.meta`,`export default document.default`,``].join(`
|
|
3
3
|
`)}function A(t){let n=[`import ${JSON.stringify(`@coreframe/dashboard/shell.css`)}`];for(let r of[`styles.css`,`styled-system/styles.css`]){let a=i(t,r);e(a)&&n.push(`import ${JSON.stringify(j(a))}`)}return`${n.join(`
|
|
4
|
-
`)}\n`}function j(e){return`/@fs/${h(e)}`}async function M(e,t,n){let r=N(e,t),i=await m(n,r,e);if(!i)throw Error(`Could not load dashboard configuration at ${r}.`);return i.config}function N(e,t){return r(t)?t:i(e,t)}function P(e){let[t]=e.split(`?`,1);return t===g||t.startsWith(`${g}/`)}async function F(e,t,n){let r=
|
|
4
|
+
`)}\n`}function j(e){return`/@fs/${h(e)}`}async function M(e,t,n){let r=N(e,t),i=await m(n,r,e,void 0,void 0,`runner`);if(!i)throw Error(`Could not load dashboard configuration at ${r}.`);return i.config}function N(e,t){return r(t)?t:i(e,t)}function P(e){let[t]=e.split(`?`,1);return t===g||t.startsWith(`${g}/`)}async function F(e,t,n){let r=s(t,`local`);return Promise.all(r.map(async t=>{let[r,i]=await Promise.all([e(I(t.apiModule,n)),e(I(t.implementationModule,n))]);return{api:r.api,createImplementation:i.createImplementation}}))}function I(e,t){return e.startsWith(`.`)?`/@fs/${h(i(n(i(t,`dashboard.config.ts`)),e))}`:e}async function L(e,n){let[r,o]=await Promise.all([t(i(e,`package.json`),`utf8`),a({cwd:e})]),s=JSON.parse(r),c=Object.entries(o.worker?.environment??{}).flatMap(([e,t])=>t.kind===`generated`?[]:[{description:t.description,kind:t.kind,name:e,requiredIn:t.requiredIn??[]}]);return{applicationName:s.name??`Coreframe application`,applicationVersion:s.version,commit:n.GITHUB_SHA,configuration:c,coreframeVersion:s.engines?.coreframe,deployUrls:{production:o.deploy?.environments?.production?.url,staging:o.deploy?.environments?.staging?.url}}}export{O as coreframeDashboardAppPlugin,D as coreframeDashboardPlugin};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coreframe/vite",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.21",
|
|
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/dashboard": "^0.3.8",
|
|
65
|
+
"@coreframe/dev": "^0.1.11",
|
|
64
66
|
"@coreframe/assets": "^0.1.10",
|
|
65
|
-
"@coreframe/dashboard": "^0.3.7",
|
|
66
67
|
"@coreframe/config": "^0.1.7",
|
|
67
|
-
"@coreframe/dev": "^0.1.11",
|
|
68
68
|
"@coreframe/dev-contracts": "^0.1.5",
|
|
69
|
-
"@coreframe/flutter-js": "^0.1.17",
|
|
70
69
|
"@coreframe/flutter-tools": "^0.1.14",
|
|
71
|
-
"@coreframe/lib": "^0.2.9"
|
|
70
|
+
"@coreframe/lib": "^0.2.9",
|
|
71
|
+
"@coreframe/flutter-js": "^0.1.19"
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
|
74
74
|
"@tsdown/css": "0.22.3",
|