You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Here is a status list of rolldown plugin api compatible with rollup.
The function hooks
options
buildStart
buildEnd
renderStart
renderError
generateBundle
writeBundle
resolveId
i. the argument fileds assertionscustom is not support
ii. the return value fileds resolvedByabsolute/relative externalassertionsmetamoduleSideEffectssyntheticNamedExports is not support
load
i.the return value fileds assertionsmetamoduleSideEffectssyntheticNamedExports is not support, the ast will not support
transform
i.the return value fileds assertionsmetamoduleSideEffectssyntheticNamedExports is not support, the ast will not support
renderChunk
i. the argument meta is not support
moduleParsed
i. the argument moduleInfo is partially compatible
banner
footer
intro
outro
resolveDynamicImport, the options#assert is not supported
shouldTransformCachedModule
outputOptions
resolveFileUrl
resolveImportMeta
renderDynamicImport
augmentChunkHash
closeBundle
closeWatcher
onLog, the meta is not compatable.
watchChange
The object hooks
The object hooks is not support at now.
The Plugin Context
The PluginContext is not support at now.
Not Compatible
meta
addWatchFile
cache
emitFile
getFileName
getModuleIds
getModuleInfo
getWatchFiles
load
parse, it is unsupported, please diretly using acron instead of it.
setAssetSource
getCombinedSourcemap
debug
error
info
warn
resolve, need to support skipSelf options
Vite Plugins Compatibility
plugins marked with * means it might be a good candidate to be implemented directly as a built-in in Rust
assetPlugin, need to PluginContext#emitFilePluginContext#getModuleInfoPluginContext#addWatchFile .
assetImportMetaUrlPlugin need to PluginContext#emitFilePluginContext#getModuleInfoPluginContext#parse
clientInjectionsPlugin
completeSystemWrapPlugin
cssPlugin need to PluginContext#emitFilePluginContext#getModuleInfo
cssPostPlugin need to PluginContext#getFileNamePluginContext#emitFileRenderedChunk#nameaugmentChunkHash
cssAnalysisPlugin
dataURIPlugin
definePlugin
*dynamicImportVarsPlugin
esbuildPlugin
buildEsbuildPlugin
htmlInlineProxyPlugin
buildHtmlPlugin need to PluginContext#emitFilePluginContext#getFileNamePluginContext#getModuleInfo
importAnalysisPlugin
buildImportAnalysisPlugin
importGlobPlugin
jsonPlugin
loadFallbackPlugin need to PluginContext#addWatchFile
manifestPlugin need to OutputChunk/RenderedChunk#namePluginContext#emitFilePluginContext#getFileName
metadataPlugin need to mutate( add extra fileds) renderChunkArgs#RenderedChunk and using it at augmentChunkHash/generateBundle.
modulePreloadPolyfillPlugin
optimizedDepsPlugin
preAliasPlugin
buildReporterPlugin need to PluginContext#getModuleInfo
resolvePlugin need to PluginContext#getModuleInfoModuleInfo#meta
splitVendorChunkPlugin need to manualChunks. @deprecated
terserPlugin
wasmFallbackPlugin
wasmHelperPlugin need to PluginContext#emitFilePluginContext#getModuleInfo
webWorkerPostPlugin need to resolveImportMeta
webWorkerPlugin need to shouldTransformCachedModulePluginContext#emitFilePluginContext#getModuleInfo
workerImportMetaUrlPlugin need to shouldTransformCachedModulePluginContext#emitFilePluginContext#getModuleInfo
ssrManifestPlugin need to PluginContext#emitFile
@vitejs/plugin-vue need to TransformReturnValue#meta
@vitejs/plugin-react
Rollup Official Plugins Compatibility
plugins marked with * means it might be a good candidate to be implemented directly as a built-in in Rust
@rollup/plugin-alias, you can using resolver.alais to do it at rolldown.
@rollup/plugin-auto-install
@rollup/plugin-beep
@rollup/plugin-commonjs, rolldown internal support it
* @rollup/plugin-data-uri
@rollup/plugin-dsv
* @rollup/plugin-eslint, export oxc_lint is better at rolldown
* @rollup/plugin-esm-shim, it using regex to replace __dirname/require/__dirname
@rollup/plugin-graphql
* @rollup/plugin-image need to PluginContext#addWatchFile(it convert image to data uri)
* @rollup/plugin-inject using PluginContext#parse
* @rollup/plugin-json
* @rollup/plugin-legacy
* @rollup/plugin-multi-entry need to options/outputOptions hook
* @rollup/plugin-replace
@rollup/plugin-run
* @rollup/plugin-strip using PluginContext#parse,it look like minify to remove debugger.console.log etc
@rollup/plugin-sucrase
* @rollup/plugin-swc, rolldown using oxc transformer at inter, it is unnecessary.
* @rollup/plugin-terser using oxc minify at future.
* @rollup/plugin-virtual, we could provider a rust plugin to make it faster
@rollup/plugin-yaml
@rollup/plugin-url need to PluginContext#addWatchFile
* @rollup/plugin-typescript using PluginContext#emitFile
@rollup/plugin-wasm need to PluginContext#emitFilePluginContext#addWatchFile
* @rollup/plugin-babel need to options hook and export the TransfromPluginContext to user. rolldown using oxc transformer at inter, it is unnecssary
@rollup/plugin-node-resolve, rolldown internal support it
*@rollup/plugin-html need to PluginContext#emitFile
* @rollup/plugin-dynamic-import-vars using PluginContext#parse
@rollup/plugin-buble need to catch plugin transfrom hook throw error
Here is a status list of rolldown plugin api compatible with rollup.
The function hooks
options
buildStart
buildEnd
renderStart
renderError
generateBundle
writeBundle
resolveId
i. the argument fileds
assertions
custom
is not supportii. the return value fileds
resolvedBy
absolute/relative external
assertions
meta
moduleSideEffects
syntheticNamedExports
is not supportload
i.the return value fileds
assertions
meta
moduleSideEffects
syntheticNamedExports
is not support, theast
will not supporttransform
i.the return value fileds
assertions
meta
moduleSideEffects
syntheticNamedExports
is not support, theast
will not supportrenderChunk
i. the argument
meta
is not supportmoduleParsed
i. the argument
moduleInfo
is partially compatiblebanner
footer
intro
outro
resolveDynamicImport
, theoptions#assert
is not supportedshouldTransformCachedModule
outputOptions
resolveFileUrl
resolveImportMeta
renderDynamicImport
augmentChunkHash
closeBundle
closeWatcher
onLog
, themeta
is not compatable.watchChange
The object hooks
The object hooks is not support at now.
The Plugin Context
The
PluginContext
is not support at now.Not Compatible
meta
addWatchFile
cache
emitFile
getFileName
getModuleIds
getModuleInfo
getWatchFiles
load
parse
, it is unsupported, please diretly usingacron
instead of it.setAssetSource
getCombinedSourcemap
debug
error
info
warn
resolve
, need to supportskipSelf
optionsVite Plugins Compatibility
assetPlugin
, need toPluginContext#emitFile
PluginContext#getModuleInfo
PluginContext#addWatchFile
.assetImportMetaUrlPlugin
need toPluginContext#emitFile
PluginContext#getModuleInfo
PluginContext#parse
clientInjectionsPlugin
completeSystemWrapPlugin
cssPlugin
need toPluginContext#emitFile
PluginContext#getModuleInfo
cssPostPlugin
need toPluginContext#getFileName
PluginContext#emitFile
RenderedChunk#name
augmentChunkHash
cssAnalysisPlugin
dataURIPlugin
definePlugin
dynamicImportVarsPlugin
esbuildPlugin
buildEsbuildPlugin
htmlInlineProxyPlugin
buildHtmlPlugin
need toPluginContext#emitFile
PluginContext#getFileName
PluginContext#getModuleInfo
importAnalysisPlugin
buildImportAnalysisPlugin
importGlobPlugin
jsonPlugin
loadFallbackPlugin
need toPluginContext#addWatchFile
manifestPlugin
need toOutputChunk/RenderedChunk#name
PluginContext#emitFile
PluginContext#getFileName
metadataPlugin
need to mutate( add extra fileds)renderChunkArgs#RenderedChunk
and using it ataugmentChunkHash/generateBundle
.modulePreloadPolyfillPlugin
optimizedDepsPlugin
preAliasPlugin
buildReporterPlugin
need toPluginContext#getModuleInfo
resolvePlugin
need toPluginContext#getModuleInfo
ModuleInfo#meta
splitVendorChunkPlugin
need tomanualChunks
. @deprecatedterserPlugin
wasmFallbackPlugin
wasmHelperPlugin
need toPluginContext#emitFile
PluginContext#getModuleInfo
webWorkerPostPlugin
need toresolveImportMeta
webWorkerPlugin
need toshouldTransformCachedModule
PluginContext#emitFile
PluginContext#getModuleInfo
workerImportMetaUrlPlugin
need toshouldTransformCachedModule
PluginContext#emitFile
PluginContext#getModuleInfo
ssrManifestPlugin
need toPluginContext#emitFile
@vitejs/plugin-vue
need toTransformReturnValue#meta
@vitejs/plugin-react
Rollup Official Plugins Compatibility
@rollup/plugin-alias
, you can usingresolver.alais
to do it at rolldown.@rollup/plugin-auto-install
@rollup/plugin-beep
@rollup/plugin-commonjs
, rolldown internal support it@rollup/plugin-data-uri
@rollup/plugin-dsv
@rollup/plugin-eslint
, exportoxc_lint
is better at rolldown@rollup/plugin-esm-shim
, it using regex to replace__dirname/require/__dirname
@rollup/plugin-graphql
@rollup/plugin-image
need toPluginContext#addWatchFile
(it convert image to data uri)@rollup/plugin-inject
usingPluginContext#parse
@rollup/plugin-json
@rollup/plugin-legacy
@rollup/plugin-multi-entry
need tooptions/outputOptions
hook@rollup/plugin-replace
@rollup/plugin-run
@rollup/plugin-strip
usingPluginContext#parse
,it look like minify to removedebugger.console.log
etc@rollup/plugin-sucrase
@rollup/plugin-swc
, rolldown using oxc transformer at inter, it is unnecessary.@rollup/plugin-terser
using oxc minify at future.@rollup/plugin-virtual
, we could provider a rust plugin to make it faster@rollup/plugin-yaml
@rollup/plugin-url
need toPluginContext#addWatchFile
@rollup/plugin-typescript
usingPluginContext#emitFile
@rollup/plugin-wasm
need toPluginContext#emitFile
PluginContext#addWatchFile
@rollup/plugin-babel
need tooptions
hook and export theTransfromPluginContext
to user. rolldown using oxc transformer at inter, it is unnecssary@rollup/plugin-node-resolve
, rolldown internal support it@rollup/plugin-html
need toPluginContext#emitFile
@rollup/plugin-dynamic-import-vars
usingPluginContext#parse
@rollup/plugin-buble
need to catch plugintransfrom
hook throw errorVite Ecosystem
analog
jitPlugin
need to find plugin by plugin name atbuildStart
options, then using the plugintransform
, see hereastro
astroScannerPlugin
need to usingPluginContext#getModuleInfo
asTransformResult#meta
, see here, (todo find usage)markdown
need toLoadResult#meta
html
need to mutateNormalizedOption#plugins
atoptions
hook, see hereastroHeadBuildPlugin
need to mutateModuleInfo#meta
usingPluginContext#getModuleInfo
at generateBundle hook, see herepostprocess
direct usingacorn#parse
vitePluginAnalyzer
usingModuleInfo#meta
byPluginContext#getModuleIds/getModuleInfo
at generateBundle hook, see herevitePluginContent
mutateNormalizedOption#input
atoptions
hook, see here, mutateNormalizedOption#manualChunks
at same filecss
TODOhistoire
mutate
NormalizedOption#external
(look like is not correct), see hereqwik
qwikCityPlugin
usedmoduleSideEffect: no-treeshake
, see hereThe text was updated successfully, but these errors were encountered: