Security News
ESLint is Now Language-Agnostic: Linting JSON, Markdown, and Beyond
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
@babel/helper-skip-transparent-expression-wrappers
Advanced tools
Helper which skips types and parentheses
The @babel/helper-skip-transparent-expression-wrappers package is a utility within the Babel ecosystem designed to help navigate and manipulate AST (Abstract Syntax Tree) nodes effectively. It specifically aids in skipping over certain 'transparent' wrapper expressions like parentheses that do not semantically change the code but can complicate AST traversal and manipulation. This is particularly useful in scenarios where the goal is to analyze or transform the underlying or 'real' expressions without being obstructed by these wrappers.
Skipping Transparent Wrappers
This feature allows developers to bypass expressions that do not alter the semantics of the code, such as nested parentheses, to directly access and manipulate the significant AST node. The code sample demonstrates how one might use this package to unwrap a nested expression.
const skipTransparentExprWrappers = require('@babel/helper-skip-transparent-expression-wrappers');
const astNode = parseCodeToAST('((a))'); // Assuming parseCodeToAST is a function that parses code to an AST node
const realNode = skipTransparentExprWrappers(astNode);
Similar to @babel/helper-skip-transparent-expression-wrappers in its utility for AST manipulation, @babel/traverse provides a comprehensive set of tools for traversing, analyzing, and modifying the AST. While @babel/helper-skip-transparent-expression-wrappers focuses on skipping over transparent wrappers, @babel/traverse offers a broader range of traversal and manipulation capabilities, making it more versatile but also more complex for specific tasks.
Recast is another tool for AST manipulation, offering capabilities to both parse JavaScript code into an AST and to regenerate code from modified ASTs. While it does not specifically target the skipping of transparent expression wrappers, its powerful AST manipulation features allow for similar outcomes through more manual processes. Compared to @babel/helper-skip-transparent-expression-wrappers, recast offers a more holistic approach to code transformation and AST manipulation.
Helper which skips types and parentheses
See our website @babel/helper-skip-transparent-expression-wrappers for more information.
Using npm:
npm install --save-dev @babel/helper-skip-transparent-expression-wrappers
or using yarn:
yarn add @babel/helper-skip-transparent-expression-wrappers --dev
v7.16.0 (2021-10-30)
babel-helpers
, babel-plugin-proposal-async-generator-functions
, babel-runtime-corejs2
, babel-runtime-corejs3
, babel-runtime
for-await
(@nicolo-ribaudo)babel-generator
, babel-parser
, babel-plugin-transform-typescript
, babel-types
babel-parser
babel-helper-fixtures
, babel-helper-transform-fixture-test-runner
, babel-parser
, babel-plugin-syntax-typescript
, babel-preset-typescript
.mts
and .cts
files in @babel/preset-typescript
(@nicolo-ribaudo)@babel/eslint-parser
(@nicolo-ribaudo)babel-generator
, babel-parser
, babel-plugin-proposal-pipeline-operator
, babel-plugin-syntax-pipeline-operator
babel-compat-data
, babel-generator
, babel-parser
, babel-preset-env
, babel-types
babel-helper-skip-transparent-expression-wrappers
, babel-plugin-proposal-optional-chaining
skipTransparentExprWrapperNodes
helper (@lightmare)babel-traverse
, babel-types
babel-parser
, babel-plugin-transform-typescript
babel-plugin-transform-typescript
babel-core
, babel-helper-create-class-features-plugin
, babel-plugin-transform-typescript
babel-compat-data
, babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression
, babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining
, babel-plugin-transform-react-constant-elements
, babel-preset-env
, babel-traverse
babel-plugin-proposal-async-generator-functions
, babel-traverse
babel-traverse
, babel-types
babel-generator
workspace:^
to specify @babel/
dependencies (@nicolo-ribaudo)babel-helper-fixtures
, babel-plugin-proposal-class-properties
, babel-plugin-transform-runtime
, babel-preset-react
babel-types
createTypeAnnotationBasedOnTypeof
(babel-types) (@lightmare)babel-helpers
babel-core
, babel-plugin-transform-react-jsx-development
, babel-plugin-transform-react-jsx
, babel-types
babel-types
FAQs
Helper which skips types and parentheses
The npm package @babel/helper-skip-transparent-expression-wrappers receives a total of 20,053,247 weekly downloads. As such, @babel/helper-skip-transparent-expression-wrappers popularity was classified as popular.
We found that @babel/helper-skip-transparent-expression-wrappers demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers 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
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
Security News
Members Hub is conducting large-scale campaigns to artificially boost Discord server metrics, undermining community trust and platform integrity.
Security News
NIST has failed to meet its self-imposed deadline of clearing the NVD's backlog by the end of the fiscal year. Meanwhile, CVE's awaiting analysis have increased by 33% since June.