Git Product home page Git Product logo

Comments (4)

Magellol avatar Magellol commented on May 30, 2024 1

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.

samhh avatar samhh commented on May 30, 2024 1

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.

OliverJAsh avatar OliverJAsh commented on May 30, 2024

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 so React 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.

Magellol avatar Magellol commented on May 30, 2024

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 ;)

#34

from intlc.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.