grafana/packages/grafana-flamegraph/rollup.config.ts

54 lines
1.3 KiB
TypeScript
Raw Normal View History

2023-09-12 05:28:48 -05:00
import resolve from '@rollup/plugin-node-resolve';
import { createRequire } from 'node:module';
2023-09-12 05:28:48 -05:00
import path from 'path';
import dts from 'rollup-plugin-dts';
import esbuild from 'rollup-plugin-esbuild';
import { nodeExternals } from 'rollup-plugin-node-externals';
2023-09-12 05:28:48 -05:00
const rq = createRequire(import.meta.url);
const pkg = rq('./package.json');
2023-09-12 05:28:48 -05:00
const legacyOutputDefaults = {
esModule: true,
interop: 'compat',
};
2023-09-12 05:28:48 -05:00
export default [
{
input: 'src/index.ts',
plugins: [
nodeExternals({ deps: true, packagePath: './package.json' }),
resolve(),
esbuild({
target: 'es2018',
tsconfig: 'tsconfig.build.json',
}),
],
2023-09-12 05:28:48 -05:00
output: [
{
format: 'cjs',
sourcemap: true,
dir: path.dirname(pkg.publishConfig.main),
...legacyOutputDefaults,
2023-09-12 05:28:48 -05:00
},
{
format: 'esm',
sourcemap: true,
dir: path.dirname(pkg.publishConfig.module),
preserveModules: true,
// @ts-expect-error (TS cannot assure that `process.env.PROJECT_CWD` is a string)
preserveModulesRoot: path.join(process.env.PROJECT_CWD, `packages/grafana-ui/src`),
...legacyOutputDefaults,
2023-09-12 05:28:48 -05:00
},
],
},
{
input: './compiled/index.d.ts',
plugins: [dts()],
output: {
file: pkg.publishConfig.types,
format: 'es',
},
},
];