33const { loadProcessors} = require ( '@putout/engine-loader' ) ;
44const memo = require ( 'nano-memoize' ) ;
55const picomatch = memo ( require ( 'picomatch' ) ) ;
6- const once = require ( 'once' ) ;
76
87const defaultProcessors = [
98 'javascript' ,
@@ -13,12 +12,6 @@ const addExtension = (name, ext) => !ext ? name : `${name}{${ext}}`;
1312const stubProcess = ( a ) => [ a , [ ] ] ;
1413const stubPreProcess = ( ) => [ ] ;
1514
16- const getLoadedProcessors = once ( ( processors ) => {
17- return loadProcessors ( {
18- processors,
19- } ) . map ( addGlobs ) ;
20- } ) ;
21-
2215module . exports . defaultProcessors = defaultProcessors ;
2316
2417module . exports . getFilePatterns = ( processors ) => {
@@ -31,26 +24,26 @@ module.exports.getFilePatterns = (processors) => {
3124 return result ;
3225} ;
3326
34- module . exports . runProcessors = async ( { name, fix, processFile, options, rawSource} ) => {
27+ module . exports . runProcessors = async ( { name, fix, processFile, options, rawSource, processorRunners } ) => {
3528 const allPlaces = [ ] ;
3629 const {
3730 processors = defaultProcessors ,
3831 } = options ;
3932
40- const loadedProcessors = getLoadedProcessors ( processors ) ;
33+ processorRunners = processorRunners || getProcessorRunners ( processors ) ;
4134
4235 let processedSource = '' ;
4336 let processedPlaces = [ ] ;
4437 let isProcessed = false ;
4538 let isJsChanged = false ;
4639
47- for ( const currentProcessor of loadedProcessors ) {
40+ for ( const currentRunner of processorRunners ) {
4841 const {
4942 isMatch,
5043 postProcess,
5144 preProcess = stubPreProcess ,
5245 process = stubProcess ,
53- } = currentProcessor ;
46+ } = currentRunner ;
5447
5548 if ( ! isMatch ( name ) )
5649 continue ;
@@ -100,6 +93,13 @@ module.exports.runProcessors = async ({name, fix, processFile, options, rawSourc
10093 } ;
10194} ;
10295
96+ module . exports . getProcessorRunners = getProcessorRunners ;
97+ function getProcessorRunners ( processors ) {
98+ return loadProcessors ( {
99+ processors,
100+ } ) . map ( addGlobs ) ;
101+ }
102+
103103function addGlobs ( processor ) {
104104 const { files} = processor ;
105105
@@ -111,3 +111,4 @@ function addGlobs(processor) {
111111 } ) ,
112112 } ;
113113}
114+
0 commit comments