Package Exports
- rollup-plugin-esbuild
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (rollup-plugin-esbuild) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
💛 You can help the author become a full-time open-source maintainer by sponsoring him on GitHub.
rollup-plugin-esbuild
esbuild is by far one of the fastest TS/ESNext to ES6 compilers and minifier, this plugin replaces rollup-plugin-typescript2
, @rollup/plugin-typescript
and rollup-plugin-terser
for you.
Install
yarn add esbuild rollup-plugin-esbuild --dev
Usage
In rollup.config.js
:
import esbuild from 'rollup-plugin-esbuild'
export default {
plugins: [
esbuild({
// All options are optional
include: /\.[jt]sx?$/, // default, inferred from `loaders` option
exclude: /node_modules/, // default
sourceMap: false, // default
minify: process.env.NODE_ENV === 'production',
target: 'es2017' // default, or 'es20XX', 'esnext'
jsxFactory: 'React.createElement',
jsxFragment: 'React.Fragment'
// Like @rollup/plugin-replace
define: {
__VERSION__: '"x.y.z"'
},
tsconfig: 'tsconfig.json', // default
// Add extra loaders
loaders: {
// Add .json files support
// require @rollup/plugin-commonjs
'.json': 'json',
// Enable JSX in .js files too
'.js': 'jsx'
}
}),
],
}
include
andexclude
can beString | RegExp | Array[...String|RegExp]
, when supplied it will override default values.- It uses
jsxFactory
,jsxFragmentFactory
andtarget
options from yourtsconfig.json
as default values.
Declaration File
There are serveral ways to generate declaration file:
- Use
tsc
withemitDeclarationOnly
, the slowest way but you get type checking, it doesn't bundle the.d.ts
files. - Use
rollup-plugin-dts
which generates and bundle.d.ts
, also does type checking. - Use
api-extractor
by Microsoft, looks quite complex to me so I didn't try it, PR welcome to update this section.
Use with Vue JSX
Use this with rollup-plugin-vue-jsx:
import vueJsx from 'rollup-plugin-vue-jsx-compat'
import esbuild from 'rollup-plugin-esbuild'
export default {
// ...
plugins: [
vueJsx(),
esbuild({
jsxFactory: "vueJsxCompat",
}),
],
}
License
MIT © EGOIST (Kevin Titor)