
Product
Rust Support in Socket Is Now Generally Available
Socket’s Rust and Cargo support is now generally available, providing dependency analysis and supply chain visibility for Rust projects.
@typhonjs/babel-parser
Advanced tools
Provides a front end for loading code for Javascript / Typescript AST generation by Babel parser with TyphonJS plugin support.

Provides a front end for loading code for Javascript / Typescript AST generation by Babel parser with TyphonJS plugin support.
This NPM module can be installed as a dependency in package.json as follows:
"dependencies": {
"@typhonjs/babel-parser": "^0.1.0"
}
Please see Babel Parser Docs for specific plugin information. By default babel-parser enables all plugins except for flow as it is incompatible with the typescript plugin. Also by default the decorators plugins is enabled and not compatible with decorators-legacy.
The default Babel parser options is as follows:
const s_DEFAULT_BABELPARSER_OPTIONS =
{
plugins: ['asyncGenerators', 'bigInt', 'classProperties', 'classPrivateProperties', 'classPrivateMethods',
['decorators', { decoratorsBeforeExport: false }], 'doExpressions', 'dynamicImport',
'exportDefaultFrom', 'exportNamespaceFrom', 'functionBind', 'functionSent', 'importMeta',
'jsx', 'logicalAssignment', 'nullishCoalescingOperator', 'numericSeparator', 'objectRestSpread',
'optionalCatchBinding', 'optionalChaining', ['pipelineOperator', { proposal: 'minimal' }], 'throwExpressions',
'typescript']
};
An ES6 example follows:
import BabelParser from '@typhonjs/babel-parser';
// Basic usage to parse text / source code with default options.
const ast = BabelParser.parseSource(`<some JS or Typescript source code>`);
// Providing custom options
const parserOptions = { plugins: [<any parser options desired to be enabled>] };
const ast = BabelParser.parseSource(`<some JS or Typescript source code>`, parserOptions);
// Basic usage with default options, but with an override to disable Typescript and enable Flow plugins
const ast = BabelParser.parseSource(`<some JS w/ Flow typing>`, void 0, { flow: true });
// A convenience method is available to load a file and parse it.
const ast = BabelParser.parseFile('./src/somelocalsource.js');
There is a way to provide additional override directives to babel-parser which modifies the default babel parser options above. Right now only Flow is supported by passing in { flow: true } as the override object. This allows flow to be enabled and typescript to be disabled without providing the full babel parser options manually. Other override directives may be defined in the future.
@typhonjs/babel-parser may be loaded as a TyphonJS plugin with typhonjs-plugin-manager and if an eventbus is associated the following event categories are registered:
typhonjs:babel:parser:file:parse - invokes BabelParser.parseFile
typhonjs:babel:parser:source:parse - invokes BabelParser.parseSource
FAQs
Provides a front end for Javascript / Typescript AST generation by Babel parser with TyphonJS plugin support.
The npm package @typhonjs/babel-parser receives a total of 2,331 weekly downloads. As such, @typhonjs/babel-parser popularity was classified as popular.
We found that @typhonjs/babel-parser demonstrated a not healthy version release cadence and project activity because the last version was released 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.

Product
Socket’s Rust and Cargo support is now generally available, providing dependency analysis and supply chain visibility for Rust projects.

Security News
Chrome 144 introduces the Temporal API, a modern approach to date and time handling designed to fix long-standing issues with JavaScript’s Date object.

Research
Five coordinated Chrome extensions enable session hijacking and block security controls across enterprise HR and ERP platforms.