Files
Umbraco-CMS/src/Umbraco.Web.UI.Client/rollup-libs.config.js
Jacob Overgaard 796533ff11 Refactor libs into @umbraco-cms/backoffice/* (#608)
* 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
2023-03-21 11:41:06 +01:00

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