@@ -30,6 +30,7 @@ SOFTWARE.
3030*/
3131
3232import fs from 'node:fs'
33+ import fsp from 'node:fs/promises'
3334import { join } from 'node:path'
3435import { performance } from 'node:perf_hooks'
3536import { parseAst as rollupParseAst } from 'rollup/parseAst'
@@ -50,6 +51,7 @@ import type {
5051 PluginContextMeta ,
5152 ResolvedId ,
5253 RollupError ,
54+ RollupFsModule ,
5355 RollupLog ,
5456 MinimalPluginContext as RollupMinimalPluginContext ,
5557 PluginContext as RollupPluginContext ,
@@ -617,6 +619,22 @@ class MinimalPluginContext<T extends Environment = Environment>
617619 }
618620}
619621
622+ const fsModule : RollupFsModule = {
623+ appendFile : fsp . appendFile ,
624+ copyFile : fsp . copyFile ,
625+ mkdir : fsp . mkdir as RollupFsModule [ 'mkdir' ] ,
626+ mkdtemp : fsp . mkdtemp ,
627+ readdir : fsp . readdir ,
628+ readFile : fsp . readFile as RollupFsModule [ 'readFile' ] ,
629+ realpath : fsp . realpath ,
630+ rename : fsp . rename ,
631+ rmdir : fsp . rmdir ,
632+ stat : fsp . stat ,
633+ lstat : fsp . lstat ,
634+ unlink : fsp . unlink ,
635+ writeFile : fsp . writeFile ,
636+ }
637+
620638class PluginContext
621639 extends MinimalPluginContext
622640 implements Omit < RollupPluginContext , 'cache' >
@@ -635,6 +653,8 @@ class PluginContext
635653 super ( _container . minimalContext . meta , _container . environment )
636654 }
637655
656+ fs = fsModule
657+
638658 parse ( code : string , opts : any ) {
639659 return rollupParseAst ( code , opts )
640660 }
0 commit comments