primevue-mirror/packages/themes/scripts/prebuild.mjs

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));