11.2.0 • Published 3 months ago

@putout/engine-processor v11.2.0

Weekly downloads
1,655
License
MIT
Repository
github
Last release
3 months ago

@putout/engine-processor NPM version

🐊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