plugins/commercelayer/rollup.config.ts
Rama main · réplica de lectura del repositorio original.
import replace from '@rollup/plugin-replace';
import serve from 'rollup-plugin-serve';
import esbuild from 'rollup-plugin-esbuild';
import { nodeResolve } from '@rollup/plugin-node-resolve';
import commonjs from '@rollup/plugin-commonjs';
import json from '@rollup/plugin-json';
import { readFileSync } from 'fs';
const SERVE = process.env.SERVE === 'true'
// Using native ESM imports with readFileSync and import.meta.url instead of require
// to maintain compatibility with "type": "module" in package.json
const pkg = JSON.parse(readFileSync(new URL('./package.json', import.meta.url), 'utf8'));
const libraryName = 'plugin';
export default {
input: `src/${libraryName}.ts`,
external: [
'react',
'@builder.io/react',
'@builder.io/sdk',
'@builder.io/app-context',
'@material-ui/core',
'@emotion/core',
'@emotion/styled',
'mobx',
'react-dom',
'mobx-react',
'@commercelayer/sdk',
],
output: [{ file: pkg.unpkg, format: 'system', sourcemap: true }],
watch: {
include: 'src/**',
},
plugins: [
replace({
'process.env.NODE_ENV': JSON.stringify('production'),
preventAssignment: true
}),
json(),
nodeResolve({
mainFields: ['module', 'browser']
}),
commonjs(),
esbuild(),
...(SERVE
? [
serve({
contentBase: 'dist',
port: 1268,
headers: {
'Access-Control-Allow-Origin': '*',
// https://developer.chrome.com/blog/private-network-access-preflight/#new-in-pna
'Access-Control-Allow-Private-Network': 'true',
},
}),
]
: []),
],
}