Comments (5)
Hm, I made a mistake. It must be not possible to get any extra field from imported things, because babel does not resolve imports itself, or it will be extremely complicated. So we have only one way to do that: treat class names which start from up-case as a property always.
from babel-plugin-transform-react-pug.
The other option would be to use xml style namespacing:
React:Fragment
Icons:Open
Icons:Close
from babel-plugin-transform-react-pug.
@ForbesLindesay I like this option but I had been afraid that it might confuse, so I asked some feedback from my colleagues. No one was positive about this, mostly because it's unusual and not obvious.
For our purposes I created a separate plugin for babel which takes jsx and convert it to what we need by checking the first letter: ezhlobo/babel-plugin-transform-jsx-classname-components.
It requires more work on babel end, so it might be not ideal for everyone. So my final suggestion is not to do anything with this. But what thoughts do you have?
from babel-plugin-transform-react-pug.
I think on the whole, you can handle this by just doing const Fragment = React.Fragment;
so it's probably fine to just leave this as is.
from babel-plugin-transform-react-pug.
Agreed.
from babel-plugin-transform-react-pug.
Related Issues (20)
- `class` property was broken, like pug`div( class="container" )` HOT 14
- Case fall through doesn't work HOT 1
- Can't change "React.Fragment" output — Babel's transform react-jsx plugin doesn't honor the "pragmaFrag" option
- create-react-app integration instructions are out of date HOT 3
- How to get around "Unescaped, buffered code is not supported in react-pug" HOT 1
- pug-as-jsx-loader is not good, but their readme looks better HOT 3
- Integration with Ionic React Typescript HOT 1
- start server with errors HOT 5
- Problems in Webstorm HOT 3
- Next js, TypeError: Cannot read property 'Fragment' of undefined HOT 2
- special characters in class names -- i.e. tailwindcss HOT 2
- not support tsx? HOT 3
- Couldn't you just use webpack
- Is it possible to use webpack's rawloader to feed this plugin template files as strings?
- Doesn't work with webpack, ts-loader, babel with `tsconfig.json > target: "es5"` configuration.
- prop spreading (support attribute blocks) HOT 2
- Support tsx
- SWC plugin HOT 3
- support for esbuild?
- Proposal: typescript react-pug plugin 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 babel-plugin-transform-react-pug.