UNPKG

use-asset

Version:

A data fetching strategy for React Suspense

42 lines (38 loc) 1.31 kB
import path from 'path' import babel from '@rollup/plugin-babel' import resolve from '@rollup/plugin-node-resolve' import { terser } from 'rollup-plugin-terser' import { sizeSnapshot } from 'rollup-plugin-size-snapshot' const root = process.platform === 'win32' ? path.resolve('/') : '/' const external = (id) => !id.startsWith('.') && !id.startsWith(root) const extensions = ['.js', '.jsx', '.ts', '.tsx', '.json'] const getBabelOptions = ({ useESModules }, targets) => ({ babelrc: false, extensions, exclude: '**/node_modules/**', babelHelpers: 'runtime', presets: [ ['@babel/preset-env', { loose: true, modules: false, targets }], '@babel/preset-react', '@babel/preset-typescript', ], plugins: [['@babel/transform-runtime', { regenerator: false, useESModules }]], }) export default [ { input: `./src/index.ts`, output: { file: `dist/index.js`, format: 'esm' }, external, plugins: [ babel(getBabelOptions({ useESModules: true }, '>1%, not dead, not ie 11, not op_mini all')), sizeSnapshot(), resolve({ extensions }), ], }, { input: `./src/index.ts`, output: { file: `dist/index.cjs.js`, format: 'cjs' }, external, plugins: [babel(getBabelOptions({ useESModules: false })), sizeSnapshot(), resolve({ extensions })], }, ]