Comments (2)
The problem here is:
- mappersmith is isomorphic (since the beginning)
- mappersmith aims to be 0 dependencies library (since the beginning)
- mappersmith wants to be a TS project and provide typings (fairly new thing, started as typings and evolved into first class TS project)
[3] is not really finished though. The thing is that mappersmith uses fetch
as if it is a global instance, which TS treats as lib.dom which ofc makes no sense for node projects. This makes types implicitly have a web context (where fetch is native).
Even even we split typings into .node.ts
and .web.ts
which is done in this branch we still cannot export a project with different typings, this is a limitation in TS as they only support one "typings" field, see issue microsoft/TypeScript#29128
So we are completely out of options here in terms of actual types.
- Is blocked by TS: a library cannot be isomorphic but with different types
- We cannot rely on userland using e.g
node-fetch
or nativefetch
(new since node 20 which isnt even LTS) so we cannot provide typings as long as this is a configs "plugin" since we dont know what it is, exactly.
The best way forward is probably to use an adapter type that "works" for browser and node.
from mappersmith.
Will not work on this
from mappersmith.
Related Issues (20)
- Why does "Network error" have 400 status code? HOT 3
- 2.42.0-beta.1 is published to NPM as latest HOT 1
- `uglifyjs-webpack-plugin` deprecated HOT 1
- Bug: memory leak with when using Http(s)Agent keepAlive=true HOT 5
- unusedMocks not working on Typescript HOT 1
- Import middlewares HOT 4
- Smoke test new release candidate
- Issue when importing Mappersmith from a TypeScript file and using esbuild HOT 8
- Missing some exports on version 2.43.3 HOT 1
- [idea] support protobuf/grpc HOT 2
- [idea] support openapi/swagger HOT 5
- [idea] support AbortController
- [idea] support major datatype/schema validation tools like ZOD/JOI/IO-TS/etc HOT 3
- [idea] align/sync library functionality with modern alternatives like GOT HOT 3
- [idea] provide "api adapters" for easier migration between libraries
- [idea] Support express.js path syntax
- [idea] Bun and Deno support
- [idea] http/3 support sample
- [idea] provide experimental support for uWebSockets
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 mappersmith.