Skip to content

Commit a06a034

Browse files
trim21prakashsvmx
andauthored
fix: cjs type definition (minio#1167)
* fix build * tsconfig: disable declarationMap * type --------- Co-authored-by: Prakash Senthil Vel <[email protected]>
1 parent b5e01dd commit a06a034

File tree

3 files changed

+20
-20
lines changed

3 files changed

+20
-20
lines changed

build.mjs

+19-15
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ const extMap = { cjs: '.js', esm: '.mjs' }
5858
async function buildFiles({ files, module, outDir }) {
5959
console.log(`building for ${module}`)
6060
await promisify(exec)(`npx tsc --outDir ${outDir}`, { stdio: 'inherit' })
61+
const ext = extMap[module]
6162

6263
const opt = options(module)
6364
for (const file of files) {
@@ -69,7 +70,7 @@ async function buildFiles({ files, module, outDir }) {
6970
const outDirPath = path.dirname(outFilePath)
7071

7172
await fsp.mkdir(outDirPath, { recursive: true })
72-
const distCodePath = outFilePath.replace(/\.[tj]s$/g, extMap[module])
73+
const distCodePath = outFilePath.replace(/\.[tj]s$/g, ext)
7374

7475
if (file.path.endsWith('.d.ts')) {
7576
await fsp.copyFile(file.path, outFilePath)
@@ -88,19 +89,8 @@ async function buildFiles({ files, module, outDir }) {
8889
throw e
8990
}
9091
}
91-
}
92-
93-
async function main() {
94-
await fsp.rm('dist', { recursive: true, force: true })
95-
96-
const entries = fsWalk.walkSync('src/')
9792

98-
await Promise.all([
99-
buildFiles({ files: entries, module: 'cjs', outDir: './dist/main/' }),
100-
buildFiles({ files: entries, module: 'esm', outDir: './dist/esm/' }),
101-
])
102-
103-
for (const file of fsWalk.walkSync('dist/esm/')) {
93+
for (const file of fsWalk.walkSync(outDir)) {
10494
if (file.dirent.isDirectory()) {
10595
continue
10696
}
@@ -114,14 +104,28 @@ async function main() {
114104
const mts = babel.transformSync(fileContent, {
115105
filename: file.path,
116106
sourceMaps: true,
117-
plugins: [['@babel/plugin-syntax-typescript'], ['replace-import-extension', { extMapping: { '.ts': '.mjs' } }]],
107+
plugins: [['@babel/plugin-syntax-typescript'], ['replace-import-extension', { extMapping: { '.ts': ext } }]],
118108
})
119109

120110
await fsp.unlink(file.path)
121111

122-
const outFilePath = file.path.slice(0, file.path.length - '.d.ts'.length) + '.d.mts'
112+
let outFilePath = file.path.slice(0, file.path.length - '.d.ts'.length) + '.d.ts'
113+
if (module === 'esm') {
114+
outFilePath = file.path.slice(0, file.path.length - '.d.ts'.length) + '.d.mts'
115+
}
123116
await fsp.writeFile(outFilePath, mts.code)
124117
}
125118
}
126119

120+
async function main() {
121+
await fsp.rm('dist', { recursive: true, force: true })
122+
123+
const entries = fsWalk.walkSync('src/')
124+
125+
await Promise.all([
126+
buildFiles({ files: entries, module: 'cjs', outDir: './dist/main/' }),
127+
buildFiles({ files: entries, module: 'esm', outDir: './dist/esm/' }),
128+
])
129+
}
130+
127131
await main()

package.json

-4
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
"description": "S3 Compatible Cloud Storage client",
55
"main": "./dist/main/minio.js",
66
"module": "./dist/esm/minio.mjs",
7-
"types": "./dist/main/minio.d.ts",
87
"scripts": {
98
"prepare": "husky install",
109
"tsc": "tsc",
@@ -21,19 +20,16 @@
2120
},
2221
"exports": {
2322
".": {
24-
"types": "./dist/main/minio.d.ts",
2523
"require": "./dist/main/minio.js",
2624
"default": "./dist/esm/minio.mjs"
2725
},
2826
"./dist/main/internal/*": null,
2927
"./dist/main/*": {
30-
"types": "./dist/main/*",
3128
"require": "./dist/main/*",
3229
"default": null
3330
},
3431
"./dist/esm/internal/*": null,
3532
"./dist/esm/*": {
36-
"types": "./dist/esm/*",
3733
"import": "./dist/esm/*",
3834
"default": null
3935
},

tsconfig.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"esModuleInterop": true,
1212
"allowImportingTsExtensions": true,
1313
"declaration": true,
14-
"declarationMap": true,
14+
"declarationMap": false,
1515
"emitDeclarationOnly": true,
1616
"sourceMap": true,
1717
"outDir": "./dist/main/",

0 commit comments

Comments
 (0)