
Security News
Another Round of TEA Protocol Spam Floods npm, But It’s Not a Worm
Recent coverage mislabels the latest TEA protocol spam as a worm. Here’s what’s actually happening.
@putout/engine-parser
Advanced tools
🐊Putout engine that parses input.
npm i @putout/engine-parser
Any parser should be installed before use, but you can be sure that @babel/parse always installed.
By default @putout/printer used. It formats code according to eslint-plugin-putout rules but without using ESLint.
But you can also use babel with:
const ast = parse(source);
const code = print(ast, {
printer: 'babel',
});
When you need to pass options, use:
const code = print(ast, {
printer: ['putout', {
format: {
indent: ' ',
},
}],
});
print(ast, {
printer: ['babel', {
alginSpaces: false, // when you don't want to add spaces on empty lines
}],
});
Print code from ast
You can add default options for custom parser you use.
parse without memoization.
create node using memoization.
create node without memoization.
Extract expression node from ExpressionStatement.
To generate sourcemap using babel generator, you should use babel parser before.
This is low level transformation, because Babel doesn't preserve any formatting.
const {generate} = require('@putout/engine-parser');
const {parse} = require('@putout/engine-parser/babel');
const ast = parse(source, {
sourceFilename: 'hello.js',
});
generate(ast, {sourceMaps: true}, {
'hello.js': source,
});
// returns
({
code,
map,
});
const {parse} = require('@putout/engine-parser');
const parser = 'acorn';
const code = parse('var t = "hello"', {
parser,
});
MIT
FAQs
🐊Putout parser
We found that @putout/engine-parser demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Recent coverage mislabels the latest TEA protocol spam as a worm. Here’s what’s actually happening.

Security News
PyPI adds Trusted Publishing support for GitLab Self-Managed as adoption reaches 25% of uploads

Research
/Security News
A malicious Chrome extension posing as an Ethereum wallet steals seed phrases by encoding them into Sui transactions, enabling full wallet takeover.