Comments (2)
Hey @kaorun343! The SWC issue is indeed quite a complex topic, read swc-project/swc#8315 for more context.
My suggestion is providing the optimization plugin for Next.js, which wraps
babelOptimizerPlugin
.
We don't have to care about SWC version mismatch.
Unfortuntely, that's not possible, babelOptimizerPlugin
comes from our client-preset
package which we maintain in Javascript as it's targeted towards the Babel compiler, on the other hand, Next.js compiler plugins are only written in Rust, because SWC, the underlying compiler is written in Rust, that's why we need to have a completely separate package with separate challenges for the SWC plugin.
We can't simply port it, or wrap it for Next.js usage, SWC and Babel are completely different compilers, not just with language differences, but underlying architectural design.
from graphql-code-generator.
Hi, @YassinEldeeb!
Thanks for your reply! 👍
I checked the other packages that provides plugins for Next.js, and I found they uses babel internally. So, it might be possible to do so, I think.
- vanilla-extract (CSS in JS library) provides
@vanilla-extract/next-plugin
, which is based on@vanilla-extract/integration
and this uses babel internally - Kuma UI (CSS in JS library) also provides
@kuma-ui/next-plugin
, which uses@kuma-ui/webpack-plugin
and this uses babel internally, too.
They seems setting their original webpack loader in webpack
field.
If this loader approach suits client-preset optimization, the SWC version implementation might be used internally.
from graphql-code-generator.
Related Issues (20)
- config.schema.json not valid HOT 6
- @graphql-codegen/client-preset-swc-plugin not working with nextjs ^14 HOT 1
- Syntax error when installing graphiql package HOT 2
- Client preset Persisted Documents documentation out of date HOT 1
- docs: addTypenameDocumentTransform does not exist
- `useFragment` in Vue project is not reactive (using client-preset) HOT 4
- typescript-resolver adds an extra property for my custom scalars HOT 3
- Receiving a basic error "Cannot read properties of undefined" when trying to run codegen from client repo. HOT 3
- Vite + client-preset + babelOptimizerPlugin = template is not a function HOT 3
- typed-document-node doesn't import fragments with documentMode: "documentNodeImportFragments"
- docs: Missing "plugins" key on the samples for "how to write a plugin" HOT 1
- Smaller graphql client bundles without babel/swc plugins HOT 1
- Interface Fragment Types Not Getting Spread In Queries HOT 1
- Docs for React/Vue: Add example with imported query
- support `useSuspenseQuery` from react-query v5 HOT 4
- Security issue: @babel/traverse has an exploit for versions < 7.23.2 HOT 1
- client-preset babelOptimizerPlugin configuration issue
- Graphql query generation error
- TypeScriptPluginParsedConfig does not match passed config
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 graphql-code-generator.