Comments (4)
Going potentially further than this it's possible to use the aforementioned backend but still not require the imports, for example:
As a first version, perhaps it'll be fine to just find any possible nodes that have the tsx
backend and import React regardless if we find one in the json. Even if we don't use any fragment
or other react feature, I think the import won't have any impact on the runtime code. WDYT?
I'm suggesting this mainly because I have no idea what I'm doing with haskell so I'll need a simpler scope at first I think
from intlc.
This isn't worth extra effort to support right now, but long-term I can imagine someone wanting to use intlc with only the ts
backend, not having React installed, and discovering an error due to an inapplicable import.
It'd be good to at least track support for that in another ticket. To my mind that should be solved before we potentially open source* this later in the year once the dust has settled on our web implementation.
* I think this is a good candidate for open sourcing with a blog post attached detailing how we solved internationalisation and why we opted to write our own tool.
from intlc.
I think import * as React from 'react';
would suffice.
Going potentially further than this it's possible to use the aforementioned backend but still not require the imports
For this case we could just include the import anyway and trust that tree shaking will remove it.
Note I think there are two reasons we need to import React
:
- so we can reference the type
React.ReactElement
- JSX compiles to
React.createElement
soReact
must be in scope
With the new JSX transform (PR), we no longer need to worry about importing React for JSX compilation. Once we've migrated to the new transform, the React import will still be necessary but only so we can reference the types.
from intlc.
I think import * as React from 'react'; would suffice.
That is the approach I took. Eager to get feedback on this PR, it's the first haskell real code I write ;)
from intlc.
Related Issues (20)
- Newtypes support
- CI formatting step broken HOT 2
- Formatter
- Reuse lint/parser infra for invalid keys error printing HOT 1
- Autofixable lints
- React codegen without JSX
- Add a changelog HOT 1
- Deprecated CI actions in publish workflow HOT 1
- Flattening broken HOT 2
- Language server
- Syntax highlighting in editors HOT 1
- Combine transformations HOT 3
- Produce binaries for more OS/arch pairs HOT 3
- `intlc prettify` isn't working HOT 1
- Deduplicate exec entrypoints
- Specify formatting
- Group linting "learn more" links to the end
- Lint rule enforcing descriptions
- Flattening doesn't traverse callbacks
- asdf 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 intlc.