1.0.3 • Published 8 years ago
babel-plugin-set-react-class-displayname v1.0.3
babel-plugin-set-react-class-displayname
Babel plugin that adds class name as static property displayName.
Disclaimer:
This project directly introduces the code from following git repositories:
- Krizzu/babel-plugin-transform-react-class-displayname
- opbeat/babel-plugin-add-react-displayname
What it does
- Detect the class declaration or class expression which has render() method (considering it as
React.Component) - Add
displayNameclass property (static property) on it.
Nothing else.
Updates
1.0.2
Accept a merge request to support anonymous class (const A = class extends Component { ... }). The displayName is set to AnonymousClass. Here's the original comment from the contributor:
I personally find useful AnonymousClass as a hint rather than no displayName which then gets mangled when minifying the source.
1.0.3 Update doc to the latest.
Install:
npm i -D babel-plugin-set-react-class-displaynameor
yarn add --dev babel-plugin-set-react-class-displaynameUsage:
via .babelrc or webpack
{
"plugins": ["set-react-class-displayname"],
}via cli
babel --plugins set-react-class-displayname script.jsNote:
If You want to use this plugin with es2015 preset, you need to install transform class properties plugin
plugins: ['transform-class-properties']Example:
In:
const component = class Class1 extends React.Component {
render() {
// ...
}
};
class Class2 extends React.Component {
render() {
// ...
}
}Out:
const component = class Class1 {
static displayName = "Class1";
};
class Class2 {
static displayName = "Class2";
}