package/scripts/rollup.esm.js (40 lines of code) (raw):
import * as path from 'node:path';
import babel from '@rollup/plugin-babel';
import nodeResolve from '@rollup/plugin-node-resolve';
import replace from '@rollup/plugin-replace';
import virtual from '@rollup/plugin-virtual';
import { banner, extensions, packageFolder } from './lib.js';
const ESM_WORKER_LANGUAGE_SERVER_IMPORT = [
`import '@kusto/language-service/bridge.min';`,
`import '@kusto/language-service/Kusto.JavaScript.Client.min';`,
`import '@kusto/language-service/newtonsoft.json.min';`,
`import '@kusto/language-service-next/Kusto.Language.Bridge.min';`,
].join('\n');
/**
* Bundles, but doesn't do any transpiling or minifying. Expectation is that
* consumers will be doing their own minifying and bundling.
*
* @type {import('rollup').RollupOptions}
*/
const config = {
external: /node_modules/,
input: {
'monaco.contribution': path.join(packageFolder, 'src/monaco.contribution.ts'),
'kusto.worker': path.join(packageFolder, 'src/kusto.worker.ts'),
kustoMode: path.join(packageFolder, 'src/kustoMode.ts'),
},
preserveEntrySignatures: 'strict',
plugins: [
virtual({
'language-service': ESM_WORKER_LANGUAGE_SERVER_IMPORT,
}),
replace({
objectGuards: true,
preventAssignment: true,
}),
nodeResolve({ extensions }),
babel({ extensions, babelHelpers: 'bundled', presets: ['@babel/preset-typescript'] }),
],
output: {
banner,
format: 'es',
dir: path.join(packageFolder, 'release/esm'),
generatedCode: 'es2015',
sourcemap: !process.env.CI,
},
};
export default config;