39 lines
1.1 KiB
JavaScript
39 lines
1.1 KiB
JavaScript
import fs from 'fs-extra';
|
|
import path from 'path';
|
|
import { removeBuild, resolvePath, updatePackageJson } from '../../../scripts/build-helper.mjs';
|
|
|
|
removeBuild(import.meta.url);
|
|
|
|
const { __dirname, INPUT_DIR } = resolvePath(import.meta.url);
|
|
const __root = path.resolve(__dirname, '../');
|
|
const pkg = path.resolve(__root, './package.json');
|
|
|
|
updatePackageJson(pkg);
|
|
|
|
// update package.json > "publishConfig.exports" for publish
|
|
let exports = {
|
|
'.': {
|
|
types: './index.d.ts',
|
|
import: './index.mjs'
|
|
}
|
|
};
|
|
|
|
fs.readdirSync(path.resolve(__root, INPUT_DIR + 'presets'), { withFileTypes: true })
|
|
.filter((dir) => dir.isDirectory())
|
|
.forEach(({ name: folderName }) => {
|
|
exports[`./${folderName}/*`] = {
|
|
types: `./types/*/index.d.ts`,
|
|
import: `./${folderName}/*/index.mjs`
|
|
};
|
|
});
|
|
exports['./*'] = {
|
|
types: './*/index.d.ts',
|
|
import: './*/index.mjs'
|
|
};
|
|
|
|
const pkgJson = JSON.parse(fs.readFileSync(pkg, { encoding: 'utf8', flag: 'r' }));
|
|
|
|
pkgJson.publishConfig.exports = exports;
|
|
|
|
fs.writeFileSync(pkg, JSON.stringify(pkgJson, null, 4));
|