wildpig 1.3.5 → 1.3.7

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/bin/cli.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import chalk from "chalk";
2
2
  import { build } from "../scripts/build";
3
3
  import { spawn } from "bun";
4
+ import fs from "node:fs";
4
5
  const command = process.argv[2];
5
6
 
6
7
  if(command === "start"){
@@ -26,7 +27,16 @@ if(command === "start"){
26
27
  if(command === "dev"){
27
28
  // 设置一些环境变量
28
29
  process.env.NODE_ENV = "development";
29
- await import("../scripts/server");
30
+ // 监测是否有node_modules/wildpig
31
+ const wildpigExist = fs.existsSync("./node_modules/wildpig");
32
+ const serverPath = wildpigExist ? "./node_modules/wildpig/scripts/server.ts" : "./scripts/server.ts";
33
+ spawn(["bun", "run", "--hot", serverPath], {
34
+ cwd: ".",
35
+ stdout: "inherit",
36
+ env: {
37
+ ...process.env
38
+ }
39
+ });
30
40
  }
31
41
 
32
42
 
@@ -5,12 +5,9 @@ import {
5
5
  } from "#/src/api/hello/index";
6
6
  import {
7
7
  GET as GET2,
8
- } from "#/src/api/hello/[id]/index";
9
- import {
10
- GET as GET3,
11
8
  } from "#/src/api/server-data/hello/[id]/index";
12
9
  import {
13
- GET as GET4,
10
+ GET as GET3,
14
11
  } from "#/src/api/server-data/home/index";
15
12
 
16
13
  export default {
@@ -18,13 +15,10 @@ export default {
18
15
  GET: (req: any) => middleware(req, GET1),
19
16
  POST: (req: any) => middleware(req, POST1),
20
17
  },
21
- "/api/hello/:id": {
22
- GET: (req: any) => middleware(req, GET2),
23
- },
24
18
  "/api/server-data/hello/:id": {
25
- GET: (req: any) => middleware(req, GET3),
19
+ GET: (req: any) => middleware(req, GET2),
26
20
  },
27
21
  "/api/server-data/home": {
28
- GET: (req: any) => middleware(req, GET4),
22
+ GET: (req: any) => middleware(req, GET3),
29
23
  },
30
24
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wildpig",
3
- "version": "1.3.5",
3
+ "version": "1.3.7",
4
4
  "author": "eriktse",
5
5
  "main": "index.ts",
6
6
  "bin":{
@@ -1,4 +1,8 @@
1
1
  import { readdirSync, statSync, writeFileSync } from "fs";
2
+ import path from "node:path";
3
+ const __dirname = import.meta.dirname;
4
+
5
+
2
6
  import { middleware } from "@/api/middleware";
3
7
 
4
8
  const getFilePaths = (dir: string) => {
@@ -64,7 +68,7 @@ export const packageApiRoutes = async () => {
64
68
  routesText += `\t},\n`;
65
69
  }
66
70
  routesText += "}";
67
- writeFileSync("./build/built-api-routes.ts", importsText + "\n" + routesText);
71
+ writeFileSync(path.resolve(__dirname, "../build/built-api-routes.ts"), importsText + "\n" + routesText);
68
72
  };
69
73
 
70
74
  /**
@@ -5,14 +5,20 @@ import path from "node:path";
5
5
  const __dirname = import.meta.dirname;
6
6
 
7
7
  export const packageStatic = async () => {
8
+ const targetPublicPath = path.resolve(__dirname, "../dist/public");
9
+ if(fs.existsSync(targetPublicPath)) {
10
+ fs.rmSync(targetPublicPath, { recursive: true });
11
+ }
12
+ fs.mkdirSync(targetPublicPath);
8
13
  /** 打包js */
9
14
  await Bun.build({
10
15
  entrypoints: [path.resolve(__dirname, "../public/render.tsx")],
11
- outdir: path.resolve(__dirname, "../dist/public"),
16
+ outdir: targetPublicPath,
12
17
  format: "esm",
13
18
  minify: true,
14
19
  });
15
20
 
21
+ if(!fs.existsSync("./dist/public"))fs.mkdirSync("./dist/public");
16
22
  /** 打包ico */
17
23
  fs.copyFileSync("./public/favicon.ico", "./dist/public/favicon.ico");
18
24
  }
package/scripts/server.ts CHANGED
@@ -17,14 +17,19 @@ const packageInfo = await getPackageInfo();
17
17
 
18
18
  const startHotServer = () => {
19
19
  let server = startServer();
20
- watch("src", {recursive: true}, async () => {
21
- console.log(chalk.green("检测到src下文件路径变化(新增、删除或移动文件),重启服务..."));
22
- await server.stop();
23
- setTimeout(() => {
24
- server = startServer();
25
- console.log(chalk.green("服务已重启"));
26
- }, 500);
27
- })
20
+ if(isDev){
21
+ watch("src", {recursive: true}, async (event, filename) => {
22
+ // 只监测文件路径变化
23
+ if(event !== "rename")return;
24
+
25
+ console.log(chalk.green("检测到src下文件路径变化(新增、删除或移动文件),重启服务..."));
26
+ await server.stop();
27
+ setTimeout(() => {
28
+ server = startServer();
29
+ console.log(chalk.green("服务已重启"));
30
+ }, 500);
31
+ })
32
+ }
28
33
  }
29
34
  startHotServer();
30
35