Skip to content

Latest commit

 

History

History
118 lines (85 loc) · 1.78 KB

File metadata and controls

118 lines (85 loc) · 1.78 KB

@putout/plugin-printer NPM version

🐊Putout adds support of transformations for @putout/printer.

Install

npm i @putout/plugin-printer -D

Rules

{
    "rules": {
        "printer/add-args": "on",
        "printer/apply-breakline": "on",
        "printer/apply-linebreak": "on",
        "printer/apply-computed-print": "on",
        "printer/declare": "on",
        "printer/remove-args": "on"
    }
}

apply-breakline

-print.newline();
-indent();
print.breakline();

apply-linebreak;

-indent();
-print.newline();
print.linebreak();

add-args

❌ Example of incorrect code

module.exports = {
    TSPropertySignature(path) {
        const {optional} = path.node;
        print('__key');
        maybe.print(optional, '?');
    },
};

✅ Example of correct code

module.exports = {
    TSPropertySignature(path, {print, maybe}) {
        const {optional} = path.node;
        print('__key');
        maybe.print(optional, '?');
    },
};

apply-computed-print

❌ Example of incorrect code

print(path.get('block'));

✅ Example of correct code

print('__block');

remove-args

❌ Example of incorrect code

print.indent(is);

✅ Example of correct code

print.indent();

declare

❌ Example of incorrect code

isIdentifier();

✅ Example of correct code

const {types} = require('@putout/babel');
const {isIdentifier} = types;

isIdentifier();

License

MIT