Comments (2)
Some parts can, but there's one or two packages that are async. I think we are using the babel generator with a async callback that gets called when babel is done with it.
I'm certain we CAN make them sync as even the babel generator has a sync mode.
I'm also certain we SHOULD NOT make them sync as sync scales less well, and my assumption is that we might want to multithread the architecture to allow multiple components to be generated concurrently via worker threads / service workers.
from teleport-code-generators.
@vladnicula what about having both like in the node API?
This would allow to transform this:
const teleport = require('@teleporthq/teleport-code-generators')
const reactGenerator = teleport.createReactComponentGenerator()
const uidl = {
name: 'DemoComponent',
content: {
type: 'text',
children: ['Teleport World!']
}
}
reactGenerator
.generateComponent(uidl)
.then(({ dependencies, code }) => {
console.log(dependencies)
console.log(code)
})
.catch(err => {
console.log(err)
})
into this
const teleport = require('@teleporthq/teleport-code-generators')
const reactGenerator = teleport.createReactComponentGenerator()
const uidl = {
name: 'DemoComponent',
content: {
type: 'text',
children: ['Teleport World!']
}
}
const { dependencies, code } = reactGenerator.generateComponentSync(uidl)
from teleport-code-generators.
Related Issues (20)
- Guide on how to setup editor locally HOT 3
- Component styles are missing in the generated code in `NextJS` if the component has state declarations
- How to get UIDL from form components? HOT 1
- Accordian and navbar throws an error in nextjs generated code
- Scripts in Components throws an Error in nextjs exported code. HOT 6
- support multiple value for one style in UIDLElementNode? HOT 3
- `lottieplayer` is being added to all next projects by default
- `lottie-node` styles are not propagating in `nextjs` because of `styled-jsx`.
- Configure the `nextjs` projects to use `next-sitemap` generator
- (vue-export): Fix `Invalid Host Header` for Vuejs exports
- Export any project as a `tailwind` project
- Presentation page not displaying `height: calc(...)` in an obvious way HOT 1
- Section containnig lottie files displaying differently on preview and downloaded react project. HOT 1
- TypeError: ReactGenerator.generateComponent is not a function HOT 1
- Use GitHub actions to build CMS projects HOT 1
- Navbar js not executing correctly for downloaded react project (works in preview) HOT 1
- Html script tag with type "module" HOT 3
- Support for UIDLElementNode as UIDLAttributeValue
- generateComponent dont update elementType on mapping elements
- Can't use component from external package with dash-case tagname 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 teleport-code-generators.