vite-elysia-forge 1.0.4 → 1.0.5
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/README.md +2 -2
- package/dist/cli.js +2 -2
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -279,7 +279,7 @@ vite-elysia-forge build [options]
|
|
|
279
279
|
vite-elysia-forge build --outDir dist
|
|
280
280
|
|
|
281
281
|
# Bundle with node target
|
|
282
|
-
vite-elysia-forge build --outDir
|
|
282
|
+
vite-elysia-forge build --outDir build--target node
|
|
283
283
|
|
|
284
284
|
# Compile to standalone binary
|
|
285
285
|
vite-elysia-forge build --outFile server
|
|
@@ -288,7 +288,7 @@ vite-elysia-forge build --outFile server
|
|
|
288
288
|
vite-elysia-forge build --entry src/api/index.ts --outFile myserver
|
|
289
289
|
|
|
290
290
|
# Bundle without minification
|
|
291
|
-
vite-elysia-forge build --outDir
|
|
291
|
+
vite-elysia-forge build --outDir build--no-minify
|
|
292
292
|
```
|
|
293
293
|
|
|
294
294
|
### 7.5 Deployment Architecture
|
package/dist/cli.js
CHANGED
|
@@ -10,6 +10,6 @@ const port = process.env.PORT ? parseInt(process.env.PORT) : 3000;
|
|
|
10
10
|
app.listen(port);
|
|
11
11
|
|
|
12
12
|
console.log(\`Production server running at http://\${app?.server?.hostname}:\${app?.server?.port}\`);
|
|
13
|
-
`;writeFileSync(i,p);try{if(t.outFile)await D(i,t.outFile,r,n);else {let u=t.outDir||"
|
|
13
|
+
`;writeFileSync(i,p);try{if(t.outFile)await D(i,t.outFile,r,n);else {let u=t.outDir||"build";await x(i,u,r,n);}}finally{existsSync(i)&&unlinkSync(i),existsSync(s)&&rmSync(s,{recursive:true,force:true});}}async function x(t,o,r,n){let e=resolve(process.cwd(),o);existsSync(e)||mkdirSync(e,{recursive:true}),console.log(`\u{1F4E6} Building server to "${o}/" (target: ${r})...`);try{let s=await Bun.build({entrypoints:[t],outdir:e,target:r,minify:n,naming:"server.js"});if(!s.success){console.error("\u274C Server build failed");for(let i of s.logs)console.error(i);process.exit(1);}console.log(`\u2705 Server built to "${o}/server.js"`),console.log(`
|
|
14
14
|
\u{1F4A1} To run: bun ${o}/server.js`);}catch(s){console.error("\u274C Failed to build server. Ensure you are running this command with Bun."),console.error(s),process.exit(1);}}async function D(t,o,r,n){let e=resolve(process.cwd(),o),s=dirname(e);existsSync(s)||mkdirSync(s,{recursive:true});let i=resolve(process.cwd(),".vef-temp-bundle");existsSync(i)||mkdirSync(i,{recursive:true}),console.log(`\u{1F4E6} Building and compiling server to "${o}" (target: ${r})...`);try{let l=await Bun.build({entrypoints:[t],outdir:i,target:r,minify:n,naming:"server.js"});if(!l.success){console.error("\u274C Server build failed");for(let f of l.logs)console.error(f);process.exit(1);}let p=resolve(i,"server.js"),u=spawnSync("bun",["build","--compile",p,"--outfile",e],{stdio:"inherit",env:{...process.env,NODE_ENV:"production"}});u.status!==0&&(console.error("\u274C Bun compile failed"),process.exit(u.status||1)),console.log(`\u2705 Compiled standalone binary: ${o}`),console.log(`
|
|
15
|
-
\u{1F4A1} To run: ./${o}`);}catch(l){console.error("\u274C Failed to compile server. Ensure you are running this command with Bun."),console.error(l),process.exit(1);}finally{existsSync(i)&&rmSync(i,{recursive:true,force:true});}}function O(t){let o={};for(let r=0;r<t.length;r++){let n=t[r],e=t[r+1];switch(n){case "--entry":case "-e":e&&!e.startsWith("-")&&(o.entry=e,r++);break;case "--outDir":case "-d":e&&!e.startsWith("-")&&(o.outDir=e,r++);break;case "--outFile":case "-o":e&&!e.startsWith("-")&&(o.outFile=e,r++);break;case "--target":case "-t":e&&!e.startsWith("-")&&(o.target=e,r++);break;case "--no-minify":o.minify=false;break}}return o}if(import.meta.main){let t=process.argv.slice(2),o=t[0],r=t.slice(1);if(o==="build"){let n=O(r);n.outDir&&n.outFile&&(console.error("\u274C Cannot use both --outDir and --outFile. Choose one."),process.exit(1)),w(n);}else console.log("Usage: vite-elysia-forge build [options]"),console.log(""),console.log("Build the Elysia server for production."),console.log(""),console.log("Options:"),console.log(" --entry, -e <path> Path to API entry file (default: server/api.ts)"),console.log(" --outDir, -d <dir> Output directory for bundled server.js"),console.log(" --outFile, -o <file> Output path for compiled standalone binary"),console.log(" --target, -t <target> Build target: bun, node, browser (default: bun)"),console.log(" --no-minify Disable minification"),console.log(""),console.log("Examples:"),console.log(" # Bundle server to
|
|
15
|
+
\u{1F4A1} To run: ./${o}`);}catch(l){console.error("\u274C Failed to compile server. Ensure you are running this command with Bun."),console.error(l),process.exit(1);}finally{existsSync(i)&&rmSync(i,{recursive:true,force:true});}}function O(t){let o={};for(let r=0;r<t.length;r++){let n=t[r],e=t[r+1];switch(n){case "--entry":case "-e":e&&!e.startsWith("-")&&(o.entry=e,r++);break;case "--outDir":case "-d":e&&!e.startsWith("-")&&(o.outDir=e,r++);break;case "--outFile":case "-o":e&&!e.startsWith("-")&&(o.outFile=e,r++);break;case "--target":case "-t":e&&!e.startsWith("-")&&(o.target=e,r++);break;case "--no-minify":o.minify=false;break}}return o}if(import.meta.main){let t=process.argv.slice(2),o=t[0],r=t.slice(1);if(o==="build"){let n=O(r);n.outDir&&n.outFile&&(console.error("\u274C Cannot use both --outDir and --outFile. Choose one."),process.exit(1)),w(n);}else console.log("Usage: vite-elysia-forge build [options]"),console.log(""),console.log("Build the Elysia server for production."),console.log(""),console.log("Options:"),console.log(" --entry, -e <path> Path to API entry file (default: server/api.ts)"),console.log(" --outDir, -d <dir> Output directory for bundled server.js"),console.log(" --outFile, -o <file> Output path for compiled standalone binary"),console.log(" --target, -t <target> Build target: bun, node, browser (default: bun)"),console.log(" --no-minify Disable minification"),console.log(""),console.log("Examples:"),console.log(" # Bundle server to build/server.js"),console.log(" vite-elysia-forge build --outDir build"),console.log(""),console.log(" # Bundle with node target"),console.log(" vite-elysia-forge build --outDir build --target node"),console.log(""),console.log(" # Compile to standalone binary"),console.log(" vite-elysia-forge build --outFile server"),console.log(""),console.log(" # Compile with custom entry"),console.log(" vite-elysia-forge build --entry src/api/index.ts --outFile myserver");}export{w as build};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vite-elysia-forge",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.5",
|
|
4
4
|
"description": "A Vite plugin to seamlessly integrate ElysiaJS for full-stack development with Bun runtime.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.cjs",
|
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
20
|
"@types/bun": "latest",
|
|
21
|
-
"@types/node": "^25.0.
|
|
22
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
23
|
-
"@typescript-eslint/parser": "^8.
|
|
21
|
+
"@types/node": "^25.0.8",
|
|
22
|
+
"@typescript-eslint/eslint-plugin": "^8.53.0",
|
|
23
|
+
"@typescript-eslint/parser": "^8.53.0",
|
|
24
24
|
"eslint": "^9.39.2",
|
|
25
25
|
"eslint-plugin-security": "^3.0.1",
|
|
26
26
|
"tsup": "^8.5.1"
|