2024-01-05 12:14:38 +00:00
/ *
@ license
2024-01-31 06:33:19 +00:00
Rollup . js v4 . 9.6
Sun , 21 Jan 2024 05 : 51 : 51 GMT - commit ecb6b0a430098052781aa6ee04ec92ee70960321
2024-01-05 12:14:38 +00:00
https : //github.com/rollup/rollup
Released under the MIT License .
* /
'use strict' ;
Object . defineProperty ( exports , Symbol . toStringTag , { value : 'Module' } ) ;
const rollup = require ( './shared/rollup.js' ) ;
const parseAst _js = require ( './shared/parseAst.js' ) ;
const fseventsImporter = require ( './shared/fsevents-importer.js' ) ;
require ( 'node:process' ) ;
require ( 'tty' ) ;
require ( 'node:path' ) ;
require ( 'path' ) ;
require ( 'node:perf_hooks' ) ;
require ( './native.js' ) ;
require ( 'node:fs/promises' ) ;
class WatchEmitter {
constructor ( ) {
this . currentHandlers = Object . create ( null ) ;
this . persistentHandlers = Object . create ( null ) ;
}
// Will be overwritten by Rollup
async close ( ) { }
emit ( event , ... parameters ) {
return Promise . all ( [ ... this . getCurrentHandlers ( event ) , ... this . getPersistentHandlers ( event ) ] . map ( handler => handler ( ... parameters ) ) ) ;
}
off ( event , listener ) {
const listeners = this . persistentHandlers [ event ] ;
if ( listeners ) {
// A hack stolen from "mitt": ">>> 0" does not change numbers >= 0, but -1
// (which would remove the last array element if used unchanged) is turned
// into max_int, which is outside the array and does not change anything.
listeners . splice ( listeners . indexOf ( listener ) >>> 0 , 1 ) ;
}
return this ;
}
on ( event , listener ) {
this . getPersistentHandlers ( event ) . push ( listener ) ;
return this ;
}
onCurrentRun ( event , listener ) {
this . getCurrentHandlers ( event ) . push ( listener ) ;
return this ;
}
once ( event , listener ) {
const selfRemovingListener = ( ... parameters ) => {
this . off ( event , selfRemovingListener ) ;
return listener ( ... parameters ) ;
} ;
this . on ( event , selfRemovingListener ) ;
return this ;
}
removeAllListeners ( ) {
this . removeListenersForCurrentRun ( ) ;
this . persistentHandlers = Object . create ( null ) ;
return this ;
}
removeListenersForCurrentRun ( ) {
this . currentHandlers = Object . create ( null ) ;
return this ;
}
getCurrentHandlers ( event ) {
return this . currentHandlers [ event ] || ( this . currentHandlers [ event ] = [ ] ) ;
}
getPersistentHandlers ( event ) {
return this . persistentHandlers [ event ] || ( this . persistentHandlers [ event ] = [ ] ) ;
}
}
function watch ( configs ) {
const emitter = new WatchEmitter ( ) ;
watchInternal ( configs , emitter ) . catch ( error => {
rollup . handleError ( error ) ;
} ) ;
return emitter ;
}
async function watchInternal ( configs , emitter ) {
const optionsList = await Promise . all ( rollup . ensureArray ( configs ) . map ( config => rollup . mergeOptions ( config , true ) ) ) ;
const watchOptionsList = optionsList . filter ( config => config . watch !== false ) ;
if ( watchOptionsList . length === 0 ) {
return parseAst _js . error ( parseAst _js . logInvalidOption ( 'watch' , parseAst _js . URL _WATCH , 'there must be at least one config where "watch" is not set to "false"' ) ) ;
}
await fseventsImporter . loadFsEvents ( ) ;
const { Watcher } = await Promise . resolve ( ) . then ( ( ) => require ( './shared/watch.js' ) ) ;
new Watcher ( watchOptionsList , emitter ) ;
}
exports . VERSION = rollup . version ;
exports . defineConfig = rollup . defineConfig ;
exports . rollup = rollup . rollup ;
exports . watch = watch ;
//# sourceMappingURL=rollup.js.map