Current Dev State

This commit is contained in:
Tim Lorsbach
2025-06-23 20:13:54 +02:00
parent b4f9bb277d
commit ded50edaa2
22617 changed files with 4345095 additions and 174 deletions

View File

@ -0,0 +1,55 @@
# babel-plugin-transform-react-display-name
> Add displayName to `createReactClass` (and `React.createClass`) calls
## Example
**In**
```js
var foo = React.createClass({}); // React <= 15
var bar = createReactClass({}); // React 16+
```
**Out**
```js
var foo = React.createClass({
displayName: "foo"
}); // React <= 15
var bar = createReactClass({
displayName: "bar"
}); // React 16+
```
## Installation
```sh
npm install --save-dev babel-plugin-transform-react-display-name
```
## Usage
### Via `.babelrc` (Recommended)
**.babelrc**
```json
{
"plugins": ["transform-react-display-name"]
}
```
### Via CLI
```sh
babel --plugins transform-react-display-name script.js
```
### Via Node API
```javascript
require("babel-core").transform("code", {
plugins: ["transform-react-display-name"]
});
```

View File

@ -0,0 +1,101 @@
"use strict";
exports.__esModule = true;
exports.default = function (_ref) {
var t = _ref.types;
function addDisplayName(id, call) {
var props = call.arguments[0].properties;
var safe = true;
for (var i = 0; i < props.length; i++) {
var prop = props[i];
var key = t.toComputedKey(prop);
if (t.isLiteral(key, { value: "displayName" })) {
safe = false;
break;
}
}
if (safe) {
props.unshift(t.objectProperty(t.identifier("displayName"), t.stringLiteral(id)));
}
}
var isCreateClassCallExpression = t.buildMatchMemberExpression("React.createClass");
var isCreateClassAddon = function isCreateClassAddon(callee) {
return callee.name === "createReactClass";
};
function isCreateClass(node) {
if (!node || !t.isCallExpression(node)) return false;
if (!isCreateClassCallExpression(node.callee) && !isCreateClassAddon(node.callee)) return false;
var args = node.arguments;
if (args.length !== 1) return false;
var first = args[0];
if (!t.isObjectExpression(first)) return false;
return true;
}
return {
visitor: {
ExportDefaultDeclaration: function ExportDefaultDeclaration(_ref2, state) {
var node = _ref2.node;
if (isCreateClass(node.declaration)) {
var displayName = state.file.opts.basename;
if (displayName === "index") {
displayName = _path2.default.basename(_path2.default.dirname(state.file.opts.filename));
}
addDisplayName(displayName, node.declaration);
}
},
CallExpression: function CallExpression(path) {
var node = path.node;
if (!isCreateClass(node)) return;
var id = void 0;
path.find(function (path) {
if (path.isAssignmentExpression()) {
id = path.node.left;
} else if (path.isObjectProperty()) {
id = path.node.key;
} else if (path.isVariableDeclarator()) {
id = path.node.id;
} else if (path.isStatement()) {
return true;
}
if (id) return true;
});
if (!id) return;
if (t.isMemberExpression(id)) {
id = id.property;
}
if (t.isIdentifier(id)) {
addDisplayName(id.name, node);
}
}
}
};
};
var _path = require("path");
var _path2 = _interopRequireDefault(_path);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
module.exports = exports["default"];

View File

@ -0,0 +1,45 @@
{
"_from": "babel-plugin-transform-react-display-name@^6.23.0",
"_id": "babel-plugin-transform-react-display-name@6.25.0",
"_inBundle": false,
"_integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=",
"_location": "/babel-plugin-transform-react-display-name",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
"raw": "babel-plugin-transform-react-display-name@^6.23.0",
"name": "babel-plugin-transform-react-display-name",
"escapedName": "babel-plugin-transform-react-display-name",
"rawSpec": "^6.23.0",
"saveSpec": null,
"fetchSpec": "^6.23.0"
},
"_requiredBy": [
"/babel-preset-react"
],
"_resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz",
"_shasum": "67e2bf1f1e9c93ab08db96792e05392bf2cc28d1",
"_spec": "babel-plugin-transform-react-display-name@^6.23.0",
"_where": "/home/manfred/enviPath/ketcher2/ketcher/node_modules/babel-preset-react",
"bundleDependencies": false,
"dependencies": {
"babel-runtime": "^6.22.0"
},
"deprecated": false,
"description": "Add displayName to React.createClass calls",
"devDependencies": {
"babel-helper-plugin-test-runner": "^6.22.0"
},
"keywords": [
"babel-plugin"
],
"license": "MIT",
"main": "lib/index.js",
"name": "babel-plugin-transform-react-display-name",
"repository": {
"type": "git",
"url": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-react-display-name"
},
"version": "6.25.0"
}