mirror of
https://github.com/primefaces/primevue.git
synced 2025-05-09 00:42:36 +00:00
Refactor on bundle
This commit is contained in:
parent
7ce0115342
commit
895532cfe7
9 changed files with 173 additions and 69 deletions
|
@ -12,24 +12,83 @@ updatePackageJson(pkg);
|
|||
|
||||
// update package.json > "exports" for local
|
||||
let exports = {};
|
||||
let umd = {
|
||||
ignoredFolders: ['useconfirm', 'usedialog', 'usetoast', 'usestyle'],
|
||||
exports: [
|
||||
`// API
|
||||
export * from '@primevue/core';
|
||||
|
||||
// BaseIcon
|
||||
export { default as BaseIcon } from '@primevue/icons/baseicon';
|
||||
export { default as BaseIconStyle } from '@primevue/icons/baseicon/style';
|
||||
|
||||
// Themes
|
||||
export * from '@primevue/themes';
|
||||
|
||||
// UseConfirm
|
||||
export * from './useconfirm/UseConfirm.js';
|
||||
|
||||
// UseDialog
|
||||
export * from './usedialog/UseDialog.js';
|
||||
|
||||
// UseToast
|
||||
export * from './usetoast/UseToast.js';
|
||||
|
||||
// UseStyle
|
||||
export * from './usestyle/UseStyle.js';
|
||||
`
|
||||
]
|
||||
};
|
||||
|
||||
fs.readdirSync(path.resolve(__root, INPUT_DIR), { withFileTypes: true })
|
||||
.filter((dir) => dir.isDirectory())
|
||||
.forEach(({ name: folderName }) => {
|
||||
fs.readdirSync(path.resolve(__root, INPUT_DIR + folderName)).forEach((file) => {
|
||||
const folderPath = path.resolve(__root, INPUT_DIR + folderName);
|
||||
|
||||
fs.readdirSync(folderPath).forEach((file) => {
|
||||
let fileName = file.split(/(.vue)$|(.js)$/)[0];
|
||||
let name = fileName.toLowerCase();
|
||||
|
||||
if (name === folderName) {
|
||||
const validUMDFolder = !umd.ignoredFolders.includes(folderName);
|
||||
|
||||
exports[`./${folderName}`] = `./${INPUT_DIR}${folderName}/${file}`;
|
||||
exports[`./${folderName}/style`] = `./${INPUT_DIR}${folderName}/style/${fileName}Style.js`;
|
||||
validUMDFolder &&
|
||||
umd.exports.push(
|
||||
`
|
||||
// ${fileName}
|
||||
export * from './${folderName}/${file}';
|
||||
export { default as ${fileName} } from './${folderName}/${file}';
|
||||
`
|
||||
);
|
||||
|
||||
try {
|
||||
fs.readdirSync(folderPath + '/style').forEach((file) => {
|
||||
let subFileName = file.split(/(.js)$/)[0];
|
||||
let subName = subFileName.toLowerCase();
|
||||
|
||||
if (subName === `${folderName}style`) {
|
||||
exports[`./${folderName}/style`] = `./${INPUT_DIR}${folderName}/style/${file}`;
|
||||
validUMDFolder &&
|
||||
umd.exports.push(
|
||||
`export * from './${folderName}/style/${file}';
|
||||
export { default as ${subFileName} } from './${folderName}/style/${file}';
|
||||
`
|
||||
);
|
||||
}
|
||||
});
|
||||
} catch {}
|
||||
}
|
||||
});
|
||||
});
|
||||
exports['./*'] = './*';
|
||||
|
||||
// package.json
|
||||
const pkgJson = JSON.parse(fs.readFileSync(pkg, { encoding: 'utf8', flag: 'r' }));
|
||||
|
||||
pkgJson.exports = exports;
|
||||
|
||||
fs.writeFileSync(pkg, JSON.stringify(pkgJson, null, 4));
|
||||
|
||||
// UMD
|
||||
fs.writeFileSync(INPUT_DIR + 'primevue.js', umd.exports.join(''));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue