tangled
alpha
login
or
join now
linkat.blue
/
linkat
6
fork
atom
Create your Link in Bio for Bluesky
6
fork
atom
overview
issues
pulls
pipelines
サーバーをesbuildでビルド
mkizka.dev
2 years ago
7a328097
170396f5
+27
-2
4 changed files
expand all
collapse all
unified
split
.gitignore
package.json
pnpm-lock.yaml
scripts
build-server.js
+1
.gitignore
···
1
1
node_modules/
2
2
+
dist/
2
3
build/
3
4
.env
4
5
+5
-2
package.json
···
9
9
"scripts": {
10
10
"_eslint": "eslint --cache --cache-location ./node_modules/.cache/eslint .",
11
11
"all": "run-s build format test",
12
12
-
"build": "pnpm typecheck && remix vite:build",
12
12
+
"build": "pnpm -s typecheck && run-p -s build:*",
13
13
+
"build:remix": "remix vite:build",
14
14
+
"build:server": "node ./scripts/build-server.js",
13
15
"dev": "pnpm setup-dev && pnpm run-p -l dev:*",
14
16
"dev:atproto": "cd atproto && make run-dev-env",
15
17
"dev:prisma": "prisma studio --browser none",
···
20
22
"postinstall": "./scripts/postinstall.sh",
21
23
"prepare": "husky",
22
24
"setup-dev": "./scripts/setup-dev.sh",
23
23
-
"start": "NODE_ENV=production tsx ./app/server.ts",
25
25
+
"start": "NODE_ENV=production node ./dist/server.js",
24
26
"start:e2e": "pnpm run-p -l dev:atproto start:local",
25
27
"start:local": "wait-on http-get://localhost:2583 && NODE_ENV=production tsx --env-file .env ./app/server.ts",
26
28
"test": "vitest run --coverage",
···
66
68
"@vitest/coverage-v8": "^2.0.5",
67
69
"autoprefixer": "^10.4.20",
68
70
"daisyui": "^4.12.10",
71
71
+
"esbuild": "^0.23.1",
69
72
"eslint": "^9.9.0",
70
73
"giget": "^1.2.3",
71
74
"husky": "^9.1.5",
+3
pnpm-lock.yaml
···
120
120
daisyui:
121
121
specifier: ^4.12.10
122
122
version: 4.12.10(postcss@8.4.41)
123
123
+
esbuild:
124
124
+
specifier: ^0.23.1
125
125
+
version: 0.23.1
123
126
eslint:
124
127
specifier: ^9.9.0
125
128
version: 9.9.0(jiti@1.21.6)
+18
scripts/build-server.js
···
1
1
+
import { build } from "esbuild";
2
2
+
import fs from "fs";
3
3
+
4
4
+
const pkg = JSON.parse(fs.readFileSync("./package.json", "utf-8"));
5
5
+
6
6
+
build({
7
7
+
entryPoints: ["./app/server.ts"],
8
8
+
bundle: true,
9
9
+
platform: "node",
10
10
+
format: "esm",
11
11
+
outdir: "./dist",
12
12
+
external: [
13
13
+
"lightningcss", // なぜか必要
14
14
+
"../build/server/index.js",
15
15
+
...Object.keys(pkg.dependencies),
16
16
+
...Object.keys(pkg.devDependencies),
17
17
+
],
18
18
+
});