Skip to content

Commit fff4003

Browse files
committed
chore: remove webpack
1 parent 5ff6c35 commit fff4003

File tree

10 files changed

+2060
-4472
lines changed

10 files changed

+2060
-4472
lines changed

bun.lock

Lines changed: 442 additions & 0 deletions
Large diffs are not rendered by default.

bunfig.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[install.lockfile]
2+
print = "yarn"

package-lock.json

Lines changed: 0 additions & 4334 deletions
This file was deleted.

package.json

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "judgeval",
3-
"version": "0.3.1",
3+
"version": "0.3.2",
44
"description": "JavaScript/TypeScript client for Judgment evaluation platform",
55
"main": "./dist/index.mjs",
66
"module": "./dist/index.mjs",
@@ -19,17 +19,17 @@
1919
"LICENSE"
2020
],
2121
"scripts": {
22-
"build": "npm run build:types && npm run build:lib && npm run build:umd",
22+
"build": "bun run build:types && bun scripts/build.ts lib && bun scripts/build.ts umd",
2323
"build:types": "tsc -p tsconfig.build.json",
24-
"build:lib": "webpack --mode production --config webpack.config.js --env target=lib",
25-
"build:umd": "webpack --mode production --config webpack.config.js --env target=umd",
26-
"build:dev": "npm run build:types && webpack --mode development --config webpack.config.js --env target=lib",
24+
"build:lib": "bun scripts/build.ts lib",
25+
"build:umd": "bun scripts/build.ts umd",
26+
"build:dev": "bun run build:types && bun scripts/build.ts lib --dev",
2727
"check": "tsc --noEmit",
2828
"format": "prettier --write \"src/**/*.ts\"",
29-
"generate-client": "ts-node scripts/generate-client.ts && npm run format",
30-
"test": "ts-node test.ts",
29+
"generate-client": "bunx tsx scripts/generate-client.ts && bun run format",
30+
"test": "bunx tsx test.ts",
3131
"clean": "rimraf dist",
32-
"prepublishOnly": "npm run clean && npm run build"
32+
"prepublishOnly": "bun run clean && bun run build"
3333
},
3434
"keywords": [
3535
"judgment",
@@ -60,17 +60,15 @@
6060
"devDependencies": {
6161
"@opentelemetry/auto-instrumentations-node": "^0.64.1",
6262
"@opentelemetry/sdk-metrics": "^2.1.0",
63+
"@types/bun": "^1.2.22",
6364
"@types/node": "^24.5.2",
6465
"dotenv": "^17.2.2",
6566
"prettier": "^3.6.2",
6667
"rimraf": "^6.0.1",
67-
"ts-loader": "^9.5.4",
68-
"ts-node": "^10.9.2",
69-
"typescript": "^5.9.2",
70-
"webpack": "^5.101.3",
71-
"webpack-cli": "^6.0.1"
68+
"typescript": "^5.9.2"
7269
},
7370
"engines": {
74-
"node": ">=18.0.0"
71+
"node": ">=18.0.0",
72+
"bun": ">=1.0.0"
7573
}
7674
}

scripts/build.ts

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
#!/usr/bin/env bun
2+
3+
import type { BuildConfig } from "bun";
4+
import { build } from "bun";
5+
6+
const target = process.argv[2] || "lib";
7+
const isDev = process.argv.includes("--dev");
8+
const isProduction = !isDev;
9+
10+
async function buildLib() {
11+
const config: BuildConfig = {
12+
entrypoints: ["./src/index.ts"],
13+
outdir: "./dist",
14+
target: "node",
15+
format: "esm",
16+
external: [
17+
"@opentelemetry/api",
18+
"@opentelemetry/core",
19+
"@opentelemetry/exporter-trace-otlp-http",
20+
"@opentelemetry/sdk-trace-base",
21+
"@opentelemetry/sdk-trace-web",
22+
"@opentelemetry/sdk-node",
23+
"@opentelemetry/sdk-trace-node",
24+
"@opentelemetry/auto-instrumentations-node",
25+
"@opentelemetry/resources",
26+
"@opentelemetry/semantic-conventions",
27+
],
28+
minify: isProduction,
29+
sourcemap: isProduction ? "linked" : "inline",
30+
naming: { entry: "index.mjs" },
31+
};
32+
33+
const result = await build(config);
34+
35+
if (!result.success) {
36+
console.error(`Build failed for target '${target}':`);
37+
result.logs.forEach((log) => {
38+
const level = log.level === "error" ? "ERROR" : log.level.toUpperCase();
39+
console.error(` [${level}] ${log.message}`);
40+
if (log.position) {
41+
console.error(
42+
` at ${log.position.file}:${log.position.line}:${log.position.column}`
43+
);
44+
}
45+
});
46+
process.exit(1);
47+
}
48+
49+
console.log(
50+
`✓ Built lib bundle: ${result.outputs.map((o) => o.path).join(", ")}`
51+
);
52+
}
53+
54+
async function buildUmd() {
55+
const config: BuildConfig = {
56+
entrypoints: ["./src/umd.ts"],
57+
outdir: "./dist",
58+
target: "browser",
59+
format: "iife",
60+
external: [
61+
"@opentelemetry/api",
62+
"@opentelemetry/core",
63+
"@opentelemetry/exporter-trace-otlp-http",
64+
"@opentelemetry/sdk-trace-base",
65+
"@opentelemetry/sdk-trace-web",
66+
"@opentelemetry/sdk-node",
67+
"@opentelemetry/sdk-trace-node",
68+
"@opentelemetry/auto-instrumentations-node",
69+
"@opentelemetry/resources",
70+
"@opentelemetry/semantic-conventions",
71+
],
72+
minify: isProduction,
73+
sourcemap: isProduction ? "linked" : "inline",
74+
naming: { entry: "index.umd.js" },
75+
};
76+
77+
const result = await build(config);
78+
79+
if (!result.success) {
80+
console.error(`Build failed for target '${target}':`);
81+
result.logs.forEach((log) => {
82+
const level = log.level === "error" ? "ERROR" : log.level.toUpperCase();
83+
console.error(` [${level}] ${log.message}`);
84+
if (log.position) {
85+
console.error(
86+
` at ${log.position.file}:${log.position.line}:${log.position.column}`
87+
);
88+
}
89+
});
90+
process.exit(1);
91+
}
92+
93+
console.log(
94+
`✓ Built UMD bundle: ${result.outputs.map((o) => o.path).join(", ")}`
95+
);
96+
}
97+
98+
async function main() {
99+
switch (target) {
100+
case "lib":
101+
await buildLib();
102+
break;
103+
case "umd":
104+
await buildUmd();
105+
break;
106+
default:
107+
console.error(`Unknown target: ${target}`);
108+
console.error("Available targets: lib, umd");
109+
process.exit(1);
110+
}
111+
}
112+
113+
main().catch(console.error);

src/version.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
export const VERSION = "0.3.1";
1+
export const VERSION = "0.3.2";

tsconfig.json

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,24 @@
11
{
22
"compilerOptions": {
33
"target": "ES2020",
4-
"module": "CommonJS",
4+
"module": "ESNext",
55
"lib": ["ES2020"],
66
"outDir": "./dist",
77
"rootDir": "./src",
88
"strict": true,
99
"esModuleInterop": true,
1010
"skipLibCheck": true,
1111
"forceConsistentCasingInFileNames": true,
12-
"declaration": true,
13-
"declarationMap": true,
12+
"declaration": false,
13+
"declarationMap": false,
1414
"sourceMap": true,
15-
"experimentalDecorators": true
15+
"experimentalDecorators": true,
16+
"moduleResolution": "node",
17+
"allowSyntheticDefaultImports": true,
18+
"resolveJsonModule": true,
19+
"isolatedModules": true,
20+
"noEmit": false
1621
},
1722
"include": ["src/**/*"],
18-
"exclude": ["node_modules", "dist", "tests"]
23+
"exclude": ["node_modules", "dist", "tests", "**/*.test.ts", "**/*.spec.ts"]
1924
}

tsconfig.webpack.json

Lines changed: 0 additions & 22 deletions
This file was deleted.

webpack.config.js

Lines changed: 0 additions & 96 deletions
This file was deleted.

0 commit comments

Comments
 (0)