Socket
Socket
Sign inDemoInstall

isv-babel-plugin-safe-member-expression

Package Overview
Dependencies
0
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

isv-babel-plugin-safe-member-expression


Version published
Weekly downloads
1
Maintainers
1
Install size
19.6 kB
Created
Weekly downloads
 

Readme

Source

babel-plugin-safe-member-expression

safe member expression

only auto enabled in BlockStatement

feature:

  • Safer MemberExpression
  • Safer CallExpression with MemberExpression
  • Safer AssignmentExpression with MemberExpression

参数

match

默认值:/\/src.*\.jsx?/i

描述:只有被 match 中的文件路径才会进入插件转换

exclude

默认值:/\/node_modules.*\.jsx?/i

描述:被 exclude 匹配的路径不会进入插件转换

Example

Safer MemberExpression

In

const foo = hello['world'];
let hello = this.state['foo'].bar;

Out

var _object, _object2, _object3;

const foo = hello == null ? null : hello['world'];
let hello = (_object = (_object2 = (_object3 = this) == null ? null : _object3.state) == null ? null : _object2['foo']) == null ? null : _object.bar;
Safer CallExpression with MemberExpression

In

const data = this.foo.bar.ok();

Out

var _object, _object2, _object3;

const data = (_object = (_object2 = (_object3 = this) == null ? null : _object3.foo) == null ? null : _object2.bar) == null ? null : _object.ok ? _object.ok() : null;
Safer AssignmentExpression with MemberExpression

In

foo['bar'] = x.y;
x.y.z = 'xxx';

Out

var _object;

(foo || (foo = {}))['bar'] = x == null ? null : x.y;
((_object = x || (x = {})).y || (_object.y = {})).z = 'xxx';

Installation

$ npm install babel-plugin-safe-member-expression

Usage

.babelrc

{
  "plugins": ["safe-member-expression"]
}

Via CLI

$ babel --plugins safe-member-expression script.js

Via Node API

require("babel-core").transform("code", {
  plugins: ["safe-member-expression"]
});

Keywords

FAQs

Last updated on 25 Jul 2017

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc