rollup-plugin-condition-exports v1.4.1
rollup-plugin-condition-exports
File system based api exports convention, like nextjs
. files under src/exports
will setup main/module/typings/exports/typesVersions
in package.json
install
pnpm i rollup-plugin-condition-exports
usage
import commonjs from '@rollup/plugin-commonjs'
import typescript from 'rollup-plugin-typescript2'
+import ce from 'rollup-plugin-condition-exports'
import { defineConfig } from 'rollup'
export default defineConfig([
{
plugins: [
typescript(), // so Rollup can convert TypeScript to JavaScript
commonjs(),
+ ce(),
],
output: [
{ dir: 'cjs', format: 'cjs' },
{ dir: 'es', entryFileNames: '[name].mjs', format: 'es' },
],
},
])
files under src/exports
will setup main/module/typings/exports/typesVersions
in package.json
src
exports
feature
node
browser
index.ts
š will setup fields in package
{
"exports": {
"./package.json": "./package.json",
".": {
"require": "./dist/index.cjs",
"import": "./dist/index.mjs",
"types": "./dist/index.d.ts"
},
"./feature": {
"browser": {
"require": "./dist/feature/browser.cjs",
"import": "./dist/feature/browser.mjs",
"types": "./dist/feature/browser.d.ts"
},
"node": {
"require": "./dist/feature/node.cjs",
"import": "./dist/feature/node.mjs",
"types": "./dist/feature/node.d.ts"
}
}
},
"main": "dist/index.cjs",
"module": "dist/index.mjs",
"types": "dist/index.d.ts",
"typesVersions": {
"*": {
"feature": [
"dist/feature/node.d.ts",
],
},
},
}
see examples from more details
options
package.json
main/module/typings/exports/typesVersions
fields controlled by follows options.
exports
formation will be[dir]/[name].[ext]
typesVersions
formation will be[dir|types.dir]/[name].d.ts
main/module/types
formation will be[dir]/index.[ext]
, only working if index name exit
types: boolean | { dirs: string }
enable setup typesVersions
field.
dirs
- types:
string | (string | PageOptions)[]
- default:
src/exports
Path to exports api directory
exclude
- types:
string[]
An array of glob patterns to exclude matches.
cjsExtension
- types:
string
- default:
cjs
mjsExtension
- types:
string
- default:
mjs
exts: string | { cjs: string, es: string }
outDir
- types:
string
- default:
dist
Outdir of bundled files
declarationDir
- types:
string
- default:
dist
Outdir of declaration files
conditions
- types:
string[]
- default:
['node', 'browser', 'deno']
Condition exports name. checkout nodejs#condition-exports for documentation about condition export names.
development
- Setup -
pnpm i
- Build -
pnpm build
credits
built with ā¤ļø by š¼
4 months ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago