* merge libs rollup configs to one rollup * move css from libs to src/core * run rollup on cms build * move test-utils to /utils folder * move css to src/core * mark @umbraco-cms/backoffice as external when building for CMS * rename all models to include @umbraco-cms/backoffice in their path to allow us to publish as a single module * rename all imports to @umbraco-cms/backoffice/* * rename events to umb-events to avoid rollup error of protected module name(?) * test that libs can build * move css to src/core * move umb-lit-element and modal elements to src/core * move some modal interfaces back to libs/modal * move the icon store into src/core since it is very localized to the backoffice * comment out build:libs for now since Github runs out of memory * rename to match tsconfig alias * add package.json to libs * only make libs for lib folders * turn off emit for typescript since we are handling types for libs separately * build libs locally * add script to move libs to final destination with some transform * move libs after build * move package.json to dist folder first (so we can publish from there) * remove inline comments * ensure the outputDir exists * Remove re-export of extensions-registry library from models library * move to individual files to avoid circular imports * check if outputDir exists before trying to create it * write transforms first in dist file and then copy the file to outputDir * ensure all umbraco types are external * copy information from main package.json file
34 lines
908 B
JavaScript
34 lines
908 B
JavaScript
import esbuild from 'rollup-plugin-esbuild';
|
|
import pluginJson from '@rollup/plugin-json';
|
|
import { nodeResolve } from '@rollup/plugin-node-resolve';
|
|
import dts from 'rollup-plugin-dts';
|
|
import { readdirSync, lstatSync } from 'fs';
|
|
|
|
const libs = readdirSync('./libs').filter(lib => lstatSync(`libs/${lib}`).isDirectory());
|
|
const outputDir = './dist/libs';
|
|
|
|
export default libs.map(lib => {
|
|
/** @type {import('rollup').RollupOptions[]} */
|
|
return [
|
|
{
|
|
input: `./libs/${lib}/index.ts`,
|
|
external: [/^@umbraco-cms\//],
|
|
output: {
|
|
file: `${outputDir}/${lib}.js`,
|
|
format: 'es',
|
|
sourcemap: true,
|
|
},
|
|
plugins: [nodeResolve(), pluginJson(), esbuild()]
|
|
},
|
|
{
|
|
input: `./libs/${lib}/index.ts`,
|
|
external: [/^@umbraco/, /^lit/, /^rxjs/, /^uuid/],
|
|
output: {
|
|
file: `${outputDir}/${lib}.d.ts`,
|
|
format: 'es'
|
|
},
|
|
plugins: [dts({ respectExternal: true })],
|
|
}
|
|
];
|
|
}).flat();
|