Skip to content

Commit 86ef48f

Browse files
YieldRayClaude Opus 4.6 (1M context)
andcommitted
feat: update package.json and tsdown.config.ts for improved module handling
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 850350d commit 86ef48f

3 files changed

Lines changed: 56 additions & 18 deletions

File tree

package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,17 @@
55
"files": [
66
"dist"
77
],
8-
"main": "dist/index.mjs",
9-
"types": "dist/index.d.mts",
10-
"unpkg": "dist/index.umd.js",
8+
"main": "dist/index.js",
9+
"types": "dist/index.d.ts",
10+
"browser": "dist/index.mjs",
1111
"scripts": {
1212
"build": "tsdown"
1313
},
1414
"dependencies": {
1515
"typescript": "^5.9.3"
1616
},
1717
"devDependencies": {
18+
"@types/node": "^24.12.0",
1819
"tsdown": "^0.20.3"
1920
},
2021
"author": "YieldRay",

pnpm-workspace.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
packages:
22
- .
33
- docs
4+
- example

tsdown.config.ts

Lines changed: 51 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,57 @@
11
import { defineConfig } from "tsdown";
2+
import { createRequire } from "node:module";
23

3-
export default defineConfig({
4-
dts: true,
5-
entry: ["./src/index.ts"],
6-
sourcemap: true,
7-
format: {
8-
esm: {
9-
target: ["es2015"],
4+
const require = createRequire(import.meta.url);
5+
const tsVersion: string = require("typescript/package.json").version;
6+
7+
export default defineConfig([
8+
// index.js — ESM, unbundled (external deps)
9+
{
10+
dts: true,
11+
entry: { index: "./src/index.ts" },
12+
sourcemap: true,
13+
format: "esm",
14+
platform: "browser",
15+
target: ["esnext"],
16+
outputOptions: {
17+
entryFileNames: "[name].js",
1018
},
11-
umd: {
12-
outputOptions: {
13-
name: "ModuleTSX",
19+
},
20+
// index.mjs — ESM, bundled (typescript externalized to esm.sh for browser compatibility)
21+
{
22+
dts: false,
23+
entry: { index: "./src/index.ts" },
24+
sourcemap: true,
25+
format: "esm",
26+
platform: "browser",
27+
target: ["esnext"],
28+
noExternal: () => true,
29+
plugins: [
30+
{
31+
name: "resolve-typescript-to-esm-sh",
32+
resolveId(id) {
33+
if (id === "typescript") return { id: `https://esm.sh/typescript@${tsVersion}`, external: true };
34+
},
1435
},
15-
target: ["es2015"],
16-
noExternal: () => true,
17-
minify: true,
18-
inlineOnly: false,
36+
],
37+
outputOptions: {
38+
entryFileNames: "[name].mjs",
39+
},
40+
},
41+
// index.umd.js — UMD, bundled + minified
42+
{
43+
dts: false,
44+
entry: { index: "./src/index.ts" },
45+
sourcemap: true,
46+
format: "umd",
47+
platform: "browser",
48+
target: ["esnext"],
49+
noExternal: () => true,
50+
inlineOnly: false,
51+
minify: true,
52+
outputOptions: {
53+
name: "ModuleTSX",
54+
entryFileNames: "[name].umd.js",
1955
},
2056
},
21-
});
57+
]);

0 commit comments

Comments
 (0)