const { nodeResolve } = require('@rollup/plugin-node-resolve'); const commonjs = require('@rollup/plugin-commonjs'); const typescript = require('@rollup/plugin-typescript'); const json = require('@rollup/plugin-json'); const terser = require('@rollup/plugin-terser').default; const peerDepsExternal = require('rollup-plugin-peer-deps-external'); const packageJson = require('./package.json'); const externalDeps = [ '@usebruno/lang', '@usebruno/schema-types', /@usebruno\/schema-types\/.*/, '@opencollection/types', /@opencollection\/types\/.*/, // Runtime dependencies 'lodash', 'yaml', 'ajv', // Node built-ins 'worker_threads', 'path', 'fs' ]; const commonPlugins = [ peerDepsExternal(), nodeResolve({ extensions: ['.js', '.ts', '.tsx', '.json'] }), json(), commonjs(), typescript({ tsconfig: './tsconfig.json', declaration: false, declarationMap: false }), terser() ]; module.exports = [ { input: 'src/index.ts', output: [ { file: packageJson.main, format: 'cjs', sourcemap: true, exports: 'named' }, { file: packageJson.module, format: 'esm', sourcemap: true, exports: 'named' } ], plugins: commonPlugins, external: externalDeps }, { input: 'src/workers/worker-script.ts', output: [ { file: 'dist/cjs/workers/worker-script.js', format: 'cjs', sourcemap: true }, { file: 'dist/esm/workers/worker-script.js', format: 'cjs', sourcemap: true } ], plugins: commonPlugins, external: externalDeps } ];