Skip to content

Commit 171c9fd

Browse files
committed
build with dummy helpers folder outside of dist.
1 parent c144aa3 commit 171c9fd

File tree

3 files changed

+33
-4
lines changed

3 files changed

+33
-4
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@ coverage/
22
dist/
33
node_modules/
44
*.log
5-
.env*
5+
.env*
6+
helpers/

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@
2121
}
2222
},
2323
"files": [
24-
"dist"
24+
"dist",
25+
"helpers"
2526
],
2627
"keywords": [
2728
"kysely",

scripts/dist-fix.js

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
const {mkdir, readdir, rename, rm, writeFile, copyFile, readFile, unlink, move} = require('fs-extra')
22
const path = require('node:path')
3+
const packageJson = require('../package.json')
34

45
;(async () => {
56
const distPath = path.join(__dirname, '../dist')
@@ -14,6 +15,7 @@ const path = require('node:path')
1415
readdir(distEsmHelpersPath),
1516
readdir(distHelpersPath),
1617
rm(distCjsPath, {force: true, recursive: true}),
18+
writeDummyExportsFiles(),
1719
])
1820

1921
await Promise.all([
@@ -57,8 +59,33 @@ function addReferenceTypesTripleDash(folderPath, folderContentPaths) {
5759

5860
const denoFriendlyFileContents = [`/// <reference types="${dtsFilePath}" />`, fileContents].join('\n')
5961

60-
await unlink(filePath)
61-
6262
await writeFile(filePath, denoFriendlyFileContents)
6363
})
6464
}
65+
66+
async function writeDummyExportsFiles() {
67+
const rootPath = path.join(__dirname, '..')
68+
69+
await Promise.all(
70+
Object.entries(packageJson.exports)
71+
.filter(([exportPath]) => exportPath !== '.')
72+
.flatMap(async ([exportPath, exportConfig]) => {
73+
const [, ...dummyPathParts] = exportPath.split('/')
74+
const dummyFilename = dummyPathParts.length > 1 ? dummyPathParts.pop() : 'index'
75+
76+
const [, ...destinationFolders] = exportConfig.require.split('/').slice(0, -1)
77+
78+
const dummyFolderPathFromRoot = path.join(rootPath, ...dummyPathParts)
79+
80+
await mkdir(dummyFolderPathFromRoot, {recursive: true})
81+
82+
const dummyFilePathFromRoot = path.join(dummyFolderPathFromRoot, dummyFilename)
83+
const actualPath = path.relative(dummyFolderPathFromRoot, path.join(rootPath, ...destinationFolders))
84+
85+
return [
86+
writeFile(dummyFilePathFromRoot + '.js', `module.exports = require('${actualPath}')`),
87+
writeFile(dummyFilePathFromRoot + '.d.ts', `export * from '${actualPath}'`),
88+
]
89+
}),
90+
)
91+
}

0 commit comments

Comments
 (0)