combine rollup configs

This commit is contained in:
Mads Rasmussen
2023-05-17 16:14:55 +02:00
parent dd12802257
commit 4979b01e32
3 changed files with 42 additions and 58 deletions

View File

@@ -1,27 +0,0 @@
import esbuild from 'rollup-plugin-esbuild';
import pluginJson from '@rollup/plugin-json';
import { nodeResolve } from '@rollup/plugin-node-resolve';
import { readdirSync, lstatSync } from 'fs';
const exclude = [];
const apps = readdirSync('./src/apps').filter((corePackage) => lstatSync(`src/apps/${corePackage}`).isDirectory());
const allowedApps = apps.filter((corePackage) => !exclude.includes(corePackage));
export default allowedApps
.map((app) => {
/** @type {import('rollup').RollupOptions[]} */
return [
{
input: `./src/apps/${app}/index.ts`,
external: [/^@umbraco-cms\//],
output: {
dir: `./src/apps/${app}/dist`,
format: 'es',
preserveModules: true,
preserveModulesRoot: `./src/apps/${app}`,
},
plugins: [nodeResolve(), pluginJson(), esbuild()],
},
];
})
.flat();

View File

@@ -1,31 +0,0 @@
import esbuild from 'rollup-plugin-esbuild';
import pluginJson from '@rollup/plugin-json';
import { nodeResolve } from '@rollup/plugin-node-resolve';
import { readdirSync, lstatSync } from 'fs';
const exclude = [];
const corePackages = readdirSync('./src/packages').filter((corePackage) =>
lstatSync(`src/packages/${corePackage}`).isDirectory()
);
const allowedPackages = corePackages.filter((corePackage) => !exclude.includes(corePackage));
export default allowedPackages
.map((corePackage) => {
/** @type {import('rollup').RollupOptions[]} */
return [
{
input: `./src/packages/${corePackage}/index.ts`,
external: [/^@umbraco-cms\//],
output: {
dir: `./src/packages/${corePackage}/dist`,
format: 'es',
preserveModules: true,
preserveModulesRoot: `./src/packages/${corePackage}`,
},
plugins: [nodeResolve(), pluginJson(), esbuild()],
},
];
})
.flat();

View File

@@ -0,0 +1,42 @@
import esbuild from 'rollup-plugin-esbuild';
import pluginJson from '@rollup/plugin-json';
import { nodeResolve } from '@rollup/plugin-node-resolve';
import { readdirSync, lstatSync } from 'fs';
const readFolders = (path) => readdirSync(path).filter((module) => lstatSync(`${path}/${module}`).isDirectory());
const createModuleDescriptors = (folderName) =>
readFolders(`./src/${folderName}`).map((moduleName) => {
return {
name: moduleName,
root: `./src/${folderName}/${moduleName}`,
dist: `./dist-cms/${folderName}/${moduleName}`,
};
});
const exclude = ['app'];
const packages = createModuleDescriptors('packages');
const apps = createModuleDescriptors('apps');
const modules = [...apps, ...packages];
const allowedModules = modules.filter((module) => !exclude.includes(module.name));
console.log(allowedModules);
export default allowedModules
.map((module) => {
/** @type {import('rollup').RollupOptions[]} */
return [
{
input: `${module.root}/index.ts`,
external: [/^@umbraco-cms\//],
output: {
dir: `${module.dist}`,
format: 'es',
preserveModules: true,
preserveModulesRoot: `${module.root}`,
},
plugins: [nodeResolve(), pluginJson(), esbuild()],
},
];
})
.flat();