Comments (3)
It is likely that they don't meet any of the basic conditions. For example, we check whether you require React: https://github.com/reactjs/react-codemod/blob/master/transforms/class.js#L499-L501 You can pass --no-explicit-require
to skip this check.
from react-codemod.
I can't get any of the codemod scripts to work on my codebase. Probably because we still use closure. Even with --no-explicit-require
Having an error message would help me pinpoint what I need to change in order for things to work.
Moving off closure is unfortunately a no-go at this point, and the codebase is big enough that a codemod would save me a lot of time, but at this point it would have been faster to just manually change components like the following to pure components (the mod I was attempting to run)
/* @flow */
goog.provide('app.ui.ButtonGroupButton')
goog.require('iod.cx')
goog.scope(function () {
const cx: Function = iod.cx
app.ui.ButtonGroupButton = React.createClass({
displayName: 'client/ui/button-group-button',
render () {
const checked: boolean = this.props.checkedValue === this.props.value
const btnCx = cx({
'btn grey-m smallest col no-marg no-rad': true,
'bg-grey-xxxxl': !checked,
'active bg-grey-xxxl': checked,
})
const btnStyl = {
borderBottom: !checked ? '3px solid #eaeaea' : '3px solid #36d8cd',
}
const handleClick: ?Function = this.props.handleClick ?
this.props.handleClick.bind(null, this.props.value) :
null
return (
<label
className={btnCx}
onClick={handleClick}
style={btnStyl}>
<input
className='seamless'
name={this.props.group}
type='radio'
value={this.props.value}
/>
{this.props.name}
</label>
)
},
})
})
from react-codemod.
I believe the codemod only looks for var declarations or module.exports
, so var Foo = React.createClass
will work but Foo.bar = React.createClass
will not.
Note that this repo is a self-service repo in that we are happy to accept pull requests but we will not be actively fix community issues. We are simply providing codemods that were useful at Facebook for our codebase or accepting contributions of codemods related to React that other people found useful.
I suggest prototyping a solution in astexplorer.net. See https://github.com/reactjs/react-codemod/blob/master/transforms/utils/ReactUtils.js#L55 and the class transform on how it is being hooked up – if you can fine the correct node in the AST it should be pretty easy to add it to the transform.
from react-codemod.
Related Issues (20)
- update-react-imports not working with TS HOT 3
- Maybe it's a RFC HOT 4
- update-react-imports transform unnecessarily errors on multiple React imports HOT 1
- Consider providing an option for update-react-transform to convert namespace imports HOT 5
- Cannot find module 'core-js/modules/web.dom.iterable' HOT 5
- 【Question】'React' refers to a UMD global, but the current file is a module. Consider adding an import instead. HOT 5
- update-react-imports changes line endings (LF -> CRLF) HOT 2
- Feature request: npx react-codemod ./path/to/local/codemod
- update-react-imports adds extra import * from React HOT 9
- update-react-imports: cb.apply is not a function HOT 1
- Skipping files when running create-element-to-jsx
- 'npx react-codemod update-react-imports' can’t update imports automatically.
- [pure-component] Parsing error: Identifier `props` has already been declared HOT 3
- [pure-component] Transformation error (Could not replace path) HOT 1
- Render Prop Expression to Child Component Transformer code
- Exposing utils / helpers in some way HOT 2
- Duplicate of https://github.com/reactjs/react-codemod/pull/295
- Strange output from React-PropTypes-to-prop-types HOT 5
- Add support for React 18 features
- Error `did not recognize object of type "PropertyDefinition"` when running `update-react-imports` HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-codemod.