11.2.0 • Published 3 months ago
@putout/engine-processor v11.2.0
@putout/engine-processor
🐊Putout processor that runs all engines according to supported file types.
npm i @putout/engine-processor
Code Example
const {
getProcessorRunners,
runProcessors,
} = require('@putout/engine-processor');
const processorRunners = await getProcessorRunners(processors);
const optionalLoader = async (a) => await import(a);
await getProcessorRunners(processors, optionalLoader);
await runProcessors({
name,
process,
options,
rawSource,
index,
length,
processorRunners, // optional
load, // when you need to override 'import()'
});
// returns
({
isProcessed,
places,
processedSource,
});
Processor Example
Simplest possible processor example can be written in both CommonJS or ESM and look like this:
export const files = ['*.js'];
export const find = (source) => {
return places;
};
export const fix = (source) => {
return `modified ${source}`;
};
export const branch = (source) => {
return [{
source,
startLine: 0,
}];
};
export const merge = (source, list) => {
return list[0];
};
Instead of find
and fix
you can export lint
:
import eslint from '@putout/eslint';
export const files = ['*.js'];
export const lint = async (source, {fix}) => {
const [code, places] = await eslint(source, {
fix,
});
return [code, places];
};
License
MIT
License
MIT
11.2.0
3 months ago
11.1.1
4 months ago
11.1.0
5 months ago
11.0.0
5 months ago
10.0.0
8 months ago
8.0.1
9 months ago
8.0.0
10 months ago
9.0.0
9 months ago
7.0.1
11 months ago
7.0.0
1 year ago
6.4.2
1 year ago
6.3.0
2 years ago
6.2.0
2 years ago
6.4.1
2 years ago
6.4.0
2 years ago
6.1.0
2 years ago
6.0.0
2 years ago
5.0.0
2 years ago
4.1.0
2 years ago
4.0.1
3 years ago
4.0.0
3 years ago
3.2.0
3 years ago
3.1.0
3 years ago
3.0.0
3 years ago
2.8.1
3 years ago
2.8.0
3 years ago
2.7.0
3 years ago
2.5.0
3 years ago
2.6.1
3 years ago
2.6.0
3 years ago
2.6.2
3 years ago
2.4.1
3 years ago
2.4.0
3 years ago
2.3.1
3 years ago
2.3.0
3 years ago
2.2.0
3 years ago
2.1.1
3 years ago
2.1.0
3 years ago
1.3.1
3 years ago
2.0.0
3 years ago
1.3.0
3 years ago
1.2.0
3 years ago
1.1.0
3 years ago
1.0.0
4 years ago