Nollup supports a subset of Rollup configuration options. The reason for this is because only a subset of the options make sense to be used in development, while others make more sense of production and optimising a production build. For options that Nollup doesn't understand, they are just simply ignored. Below describes what is supported.
See Rollup documentation for more information about each of these options.
input
- Supportsstring
,Object
orArray<String>
.output
- See below for support options.plugins
- Use the same Rollup plugins.external
- SupportsArray<String>
orFunction
.acornInjectPlugins
- Can pass array of additional Acorn plugins here.watch
See below for notes on this option.context
- Same as Rollup.moduleContext
- Same as rollup.
file
- If using this option, the full path is the URL.dir
- Nothing is done with it. Point it todist
or similar.entryFileNames
- See below note.chunkFileNames
- See below note.assetFileNames
- See below note.format
- Only support fores
,cjs
,amd
oriife
.globals
- Remapping for window variables.
For file name pattern options, when the bundle is generated, it will serve files based on what the pattern says. The dir
option is completely ignored and not part of the generated URL.
Important to note as well that [hash]
is never converted. This is intentional to make it easier to reference files during development, especially in files such as index.html
. For production builds with Rollup, it's recommended to use plugins such as rollup-plugin-static-files to auto-inject the hash.
Nollup does not provide a watch()
function like Rollup does, instead providing a web server. For compatibility, the Nollup dev server and middleware will respect this option. Both of the following options are supported:
include
- Will only listen to these directories for changes.exclude
- Will listen to all directories but these ones for changes.
Nollup also injects the process.env.ROLLUP_WATCH
environment variable. To differentiate between Rollup watch and Nollup though, there's also the process.env.NOLLUP
environment variable.
Rollup plugins should work.
The following lifecycle methods have been implemented:
buildStart,
buildEnd,
options,
outputOptions,
intro,
outro,
banner,
footer,
generateBundle,
resolveDynamicImport,
resolveId,
load,
transform,
renderChunk,
renderError,
renderStart,
resolveFileUrl,
resolveImportMeta,
moduleParsed
See Rollup Plugin Context for more information. Plugins can use the following methods in their lifecycle methods.
this.meta
this.addWatchFile(filepath)
this.emitFile(file)
this.getFileName(id)
this.parse(code, acornOptions)
this.warn(warning)
this.error(error)
this.emitAsset(assetName, source)
this.getAssetFileName(assetId)
this.emitChunk(id, options)
this.getChunkFileName(chunkId)
this.setAssetSource(assetId, source);
this.resolveId(importee, importer)
this.getCombinedSourcemap()
this.getModuleInfo(moduleId)
this.moduleIds
this.resolve(importee, importer, opts)