* fix: incompatible browser dependency * fix: update model extension to use rollup * fix: test timeout
85 lines
2.4 KiB
TypeScript
85 lines
2.4 KiB
TypeScript
import resolve from 'rollup-plugin-node-resolve'
|
|
import commonjs from 'rollup-plugin-commonjs'
|
|
import sourceMaps from 'rollup-plugin-sourcemaps'
|
|
import typescript from 'rollup-plugin-typescript2'
|
|
import json from 'rollup-plugin-json'
|
|
import replace from '@rollup/plugin-replace'
|
|
|
|
const pkg = require('./package.json')
|
|
|
|
export default [
|
|
{
|
|
input: `src/index.ts`,
|
|
output: [
|
|
// { file: pkg.main, name: libraryName, format: 'umd', sourcemap: true },
|
|
{ file: pkg.main, format: 'es', sourcemap: true },
|
|
],
|
|
// Indicate here external modules you don't wanna include in your bundle (i.e.: 'lodash')
|
|
external: ['path'],
|
|
watch: {
|
|
include: 'src/**',
|
|
},
|
|
plugins: [
|
|
// Allow json resolution
|
|
json(),
|
|
// Compile TypeScript files
|
|
typescript({ useTsconfigDeclarationDir: true }),
|
|
// Allow bundling cjs modules (unlike webpack, rollup doesn't understand cjs)
|
|
commonjs(),
|
|
// Allow node_modules resolution, so you can use 'external' to control
|
|
// which external modules to include in the bundle
|
|
// https://github.com/rollup/rollup-plugin-node-resolve#usage
|
|
replace({
|
|
'node:crypto': 'crypto',
|
|
'delimiters': ['"', '"'],
|
|
}),
|
|
resolve({
|
|
browser: true,
|
|
}),
|
|
|
|
// Resolve source maps to the original source
|
|
sourceMaps(),
|
|
],
|
|
},
|
|
{
|
|
input: `src/node/index.ts`,
|
|
output: [{ file: 'dist/node/index.cjs.js', format: 'cjs', sourcemap: true }],
|
|
// Indicate here external modules you don't wanna include in your bundle (i.e.: 'lodash')
|
|
external: [
|
|
'fs/promises',
|
|
'path',
|
|
'pacote',
|
|
'@types/pacote',
|
|
'@npmcli/arborist',
|
|
'ulidx',
|
|
'node-fetch',
|
|
'fs',
|
|
'request',
|
|
'crypto',
|
|
'url',
|
|
'http',
|
|
'os',
|
|
'util',
|
|
'child_process',
|
|
],
|
|
watch: {
|
|
include: 'src/node/**',
|
|
},
|
|
plugins: [
|
|
// Allow json resolution
|
|
json(),
|
|
// Compile TypeScript files
|
|
typescript({ useTsconfigDeclarationDir: true }),
|
|
// Allow bundling cjs modules (unlike webpack, rollup doesn't understand cjs)
|
|
commonjs(),
|
|
// Allow node_modules resolution, so you can use 'external' to control
|
|
// which external modules to include in the bundle
|
|
// https://github.com/rollup/rollup-plugin-node-resolve#usage
|
|
resolve(),
|
|
|
|
// Resolve source maps to the original source
|
|
sourceMaps(),
|
|
],
|
|
},
|
|
]
|