Skip to content

Commit 2faa1f6

Browse files
committed
build!: esm-only dist
1 parent f3c8ae7 commit 2faa1f6

File tree

2 files changed

+17
-38
lines changed

2 files changed

+17
-38
lines changed

build.config.ts

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import { mkdir, writeFile } from "node:fs/promises";
2-
import { dirname, join } from "node:path";
1+
import { rm, glob } from "node:fs/promises";
32
import { defineBuildConfig } from "unbuild";
43

54
export default defineBuildConfig({
@@ -11,21 +10,9 @@ export default defineBuildConfig({
1110
},
1211
externals: [],
1312
hooks: {
14-
async "build:done"(ctx) {
15-
const entries = Object.keys(ctx.pkg.exports || {})
16-
.filter((key) => key.startsWith("./"))
17-
.map((key) => key.slice(2));
18-
for (const entry of entries) {
19-
const dst = join(ctx.options.rootDir, entry + ".d.ts");
20-
console.log(">", dst);
21-
await mkdir(dirname(dst), { recursive: true });
22-
const relativePath =
23-
("..".repeat(entry.split("/").length - 1) || ".") + `/dist/${entry}`;
24-
await writeFile(
25-
dst,
26-
`export * from "${relativePath}";\nexport { default } from "${relativePath}";\n`,
27-
"utf8",
28-
);
13+
async "build:done"() {
14+
for await (const file of glob("dist/**/*.d.ts")) {
15+
await rm(file);
2916
}
3017
},
3118
},

package.json

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -16,37 +16,29 @@
1616
"type": "module",
1717
"exports": {
1818
".": {
19-
"types": "./dist/index.d.ts",
20-
"import": "./dist/index.mjs",
21-
"require": "./dist/index.cjs"
19+
"types": "./dist/index.d.mts",
20+
"import": "./dist/index.mjs"
2221
},
2322
"./json5": {
24-
"types": "./dist/json5.d.ts",
25-
"import": "./dist/json5.mjs",
26-
"require": "./dist/json5.cjs"
23+
"types": "./dist/json5.d.mts",
24+
"import": "./dist/json5.mjs"
2725
},
2826
"./jsonc": {
29-
"types": "./dist/jsonc.d.ts",
30-
"import": "./dist/jsonc.mjs",
31-
"require": "./dist/jsonc.cjs"
27+
"types": "./dist/jsonc.d.mts",
28+
"import": "./dist/jsonc.mjs"
3229
},
3330
"./toml": {
34-
"types": "./dist/toml.d.ts",
35-
"import": "./dist/toml.mjs",
36-
"require": "./dist/toml.cjs"
31+
"types": "./dist/toml.d.mts",
32+
"import": "./dist/toml.mjs"
3733
},
3834
"./yaml": {
39-
"types": "./dist/yaml.d.ts",
40-
"import": "./dist/yaml.mjs",
41-
"require": "./dist/yaml.cjs"
35+
"types": "./dist/yaml.d.mts",
36+
"import": "./dist/yaml.mjs"
4237
}
4338
},
44-
"main": "./dist/index.cjs",
45-
"module": "./dist/index.mjs",
46-
"types": "./dist/index.d.ts",
39+
"types": "./dist/index.d.mts",
4740
"files": [
48-
"dist",
49-
"*.d.ts"
41+
"dist"
5042
],
5143
"scripts": {
5244
"build": "unbuild",
@@ -83,4 +75,4 @@
8375
"yaml": "^2.7.0"
8476
},
8577
"packageManager": "[email protected]"
86-
}
78+
}

0 commit comments

Comments
 (0)