Socket
Socket
Sign inDemoInstall

@babel/plugin-transform-classes

Package Overview
Dependencies
Maintainers
6
Versions
106
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@babel/plugin-transform-classes - npm Package Compare versions

Comparing version 7.0.0-beta.42 to 7.0.0-beta.43

lib/transformClass.js

112

lib/index.js
"use strict";
exports.__esModule = true;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _helperPluginUtils = require("@babel/helper-plugin-utils");
function _helperPluginUtils() {
const data = require("@babel/helper-plugin-utils");
var _loose = _interopRequireDefault(require("./loose"));
_helperPluginUtils = function () {
return data;
};
var _vanilla = _interopRequireDefault(require("./vanilla"));
return data;
}
var _helperAnnotateAsPure = _interopRequireDefault(require("@babel/helper-annotate-as-pure"));
function _helperAnnotateAsPure() {
const data = _interopRequireDefault(require("@babel/helper-annotate-as-pure"));
var _helperFunctionName = _interopRequireDefault(require("@babel/helper-function-name"));
_helperAnnotateAsPure = function () {
return data;
};
var _helperSplitExportDeclaration = _interopRequireDefault(require("@babel/helper-split-export-declaration"));
return data;
}
var _core = require("@babel/core");
function _helperFunctionName() {
const data = _interopRequireDefault(require("@babel/helper-function-name"));
var _globals = _interopRequireDefault(require("globals"));
_helperFunctionName = function () {
return data;
};
return data;
}
function _helperSplitExportDeclaration() {
const data = _interopRequireDefault(require("@babel/helper-split-export-declaration"));
_helperSplitExportDeclaration = function () {
return data;
};
return data;
}
function _core() {
const data = require("@babel/core");
_core = function () {
return data;
};
return data;
}
function _globals() {
const data = _interopRequireDefault(require("globals"));
_globals = function () {
return data;
};
return data;
}
var _transformClass = _interopRequireDefault(require("./transformClass"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var getBuiltinClasses = function getBuiltinClasses(category) {
return Object.keys(_globals.default[category]).filter(function (name) {
return /^[A-Z]/.test(name);
});
};
const getBuiltinClasses = category => Object.keys(_globals().default[category]).filter(name => /^[A-Z]/.test(name));
var builtinClasses = new Set(getBuiltinClasses("builtin").concat(getBuiltinClasses("browser")));
const builtinClasses = new Set([...getBuiltinClasses("builtin"), ...getBuiltinClasses("browser")]);
var _default = (0, _helperPluginUtils.declare)(function (api, options) {
var _default = (0, _helperPluginUtils().declare)((api, options) => {
api.assertVersion(7);
var loose = options.loose;
var Constructor = loose ? _loose.default : _vanilla.default;
var VISITED = Symbol();
const {
loose
} = options;
const VISITED = Symbol();
return {
visitor: {
ExportDefaultDeclaration: function ExportDefaultDeclaration(path) {
ExportDefaultDeclaration(path) {
if (!path.get("declaration").isClassDeclaration()) return;
(0, _helperSplitExportDeclaration.default)(path);
(0, _helperSplitExportDeclaration().default)(path);
},
ClassDeclaration: function ClassDeclaration(path) {
var node = path.node;
var ref = node.id || path.scope.generateUidIdentifier("class");
path.replaceWith(_core.types.variableDeclaration("let", [_core.types.variableDeclarator(ref, _core.types.toExpression(node))]));
ClassDeclaration(path) {
const {
node
} = path;
const ref = node.id || path.scope.generateUidIdentifier("class");
path.replaceWith(_core().types.variableDeclaration("let", [_core().types.variableDeclarator(ref, _core().types.toExpression(node))]));
},
ClassExpression: function ClassExpression(path, state) {
var node = path.node;
ClassExpression(path, state) {
const {
node
} = path;
if (node[VISITED]) return;
var inferred = (0, _helperFunctionName.default)(path);
const inferred = (0, _helperFunctionName().default)(path);

@@ -59,6 +110,6 @@ if (inferred && inferred !== node) {

node[VISITED] = true;
path.replaceWith(new Constructor(path, state.file, builtinClasses).run());
path.replaceWith((0, _transformClass.default)(path, state.file, builtinClasses, loose));
if (path.isCallExpression()) {
(0, _helperAnnotateAsPure.default)(path);
(0, _helperAnnotateAsPure().default)(path);

@@ -70,2 +121,3 @@ if (path.get("callee").isArrowFunctionExpression()) {

}
}

@@ -72,0 +124,0 @@ };

"use strict";
exports.__esModule = true;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = _default;
var _core = require("@babel/core");
function _core() {
const data = require("@babel/core");
function _default(decorators, scope) {
for (var _iterator = decorators, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref;
_core = function () {
return data;
};
if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
return data;
}
var _decorator = _ref;
var expression = _decorator.expression;
if (!_core.types.isMemberExpression(expression)) continue;
var temp = scope.maybeGenerateMemoised(expression.object);
var ref = void 0;
var nodes = [];
function _default(decorators, scope) {
for (const decorator of decorators) {
const expression = decorator.expression;
if (!_core().types.isMemberExpression(expression)) continue;
const temp = scope.maybeGenerateMemoised(expression.object);
let ref;
const nodes = [];
if (temp) {
ref = temp;
nodes.push(_core.types.assignmentExpression("=", temp, expression.object));
nodes.push(_core().types.assignmentExpression("=", temp, expression.object));
} else {

@@ -35,8 +33,8 @@ ref = expression.object;

nodes.push(_core.types.callExpression(_core.types.memberExpression(_core.types.memberExpression(ref, expression.property, expression.computed), _core.types.identifier("bind")), [ref]));
nodes.push(_core().types.callExpression(_core().types.memberExpression(_core().types.memberExpression(ref, expression.property, expression.computed), _core().types.identifier("bind")), [ref]));
if (nodes.length === 1) {
_decorator.expression = nodes[0];
decorator.expression = nodes[0];
} else {
_decorator.expression = _core.types.sequenceExpression(nodes);
decorator.expression = _core().types.sequenceExpression(nodes);
}

@@ -43,0 +41,0 @@ }

{
"name": "@babel/plugin-transform-classes",
"version": "7.0.0-beta.42",
"version": "7.0.0-beta.43",
"description": "Compile ES2015 classes to ES5",

@@ -9,9 +9,9 @@ "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-classes",

"dependencies": {
"@babel/helper-annotate-as-pure": "7.0.0-beta.42",
"@babel/helper-define-map": "7.0.0-beta.42",
"@babel/helper-function-name": "7.0.0-beta.42",
"@babel/helper-optimise-call-expression": "7.0.0-beta.42",
"@babel/helper-plugin-utils": "7.0.0-beta.42",
"@babel/helper-replace-supers": "7.0.0-beta.42",
"@babel/helper-split-export-declaration": "7.0.0-beta.42",
"@babel/helper-annotate-as-pure": "7.0.0-beta.43",
"@babel/helper-define-map": "7.0.0-beta.43",
"@babel/helper-function-name": "7.0.0-beta.43",
"@babel/helper-optimise-call-expression": "7.0.0-beta.43",
"@babel/helper-plugin-utils": "7.0.0-beta.43",
"@babel/helper-replace-supers": "7.0.0-beta.43",
"@babel/helper-split-export-declaration": "7.0.0-beta.43",
"globals": "^11.1.0"

@@ -23,8 +23,8 @@ },

"peerDependencies": {
"@babel/core": "7.0.0-beta.42"
"@babel/core": "7.0.0-beta.43"
},
"devDependencies": {
"@babel/core": "7.0.0-beta.42",
"@babel/helper-plugin-test-runner": "7.0.0-beta.42"
"@babel/core": "7.0.0-beta.43",
"@babel/helper-plugin-test-runner": "7.0.0-beta.43"
}
}
SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc