Comments (9)
I have confirmed that denoland/deno#22030 fixes this on the Deno side, so the next Deno release (due tomorrow) should work.
from isomorphic-git.
Do you want to contribute and create a fix?
As for the catch in Deno, maybe this should reported as a bug for Deno. Errors should not escape catch unless the error is retrown.
from isomorphic-git.
I would definitely be open to contributing a fix. I've also reported a bug against Deno (denoland/deno#21795), and will see what they say there first. It definitely seems like a bug, even if it's really weird to call readFile()
without an argument.
from isomorphic-git.
@jcubic Thinking about this, is there a reason it needs to check that fs.promises
is actually promise-like? I see why it needs to check if you just pass fs
, but could that check be dropped without causing other problems?
Alternatively, would it work to provide a way to say “this one is really a promise-based api, trust me”?
from isomorphic-git.
The problem is that the library expects to detect if it's normal FS or promisified FS. If it's normal FS it promisify all the functions from FS. So yes it needs to check if the result is fs.promise or not. But maybe it can check different method that don't throw an error.
I'm wondering if fs.stats
will work on a root directory. It needs to work for both browser and Node (and in your case Deno). It needs to be a method that is included in lightningFS.
from isomorphic-git.
You can also report this bug to Deno. Exceptions should not bypass try..catch
.
from isomorphic-git.
It's being discussed over at Deno, and this comment gets to what's happening here: denoland/deno#21795 (comment).
I think there's a decent case to be made either way — it looks like an emergent property of JavaScript's defaulting behavior, the fact that promisify
is not aware of method signatures, and calling the readFile
out-of-spec. It looks like explicitly passing undefined
to readFile
in isPromiseLike
would fix or work around it from the isomorphic-git side.
from isomorphic-git.
Deno folks are also working on a patch: denoland/deno#22030
from isomorphic-git.
You can contribute with a fix. Maybe using an empty string will look better than passing undefined. I'm not sure how Deno will work for that case.
from isomorphic-git.
Related Issues (20)
- Index file is empty (.git/index) HOT 3
- Index file is empty (.git/index) HOT 3
- Metadata API request failed HOT 2
- Catch block causes TypeError in strict mode because it tries to add properties to a string HOT 15
- Metadata API request failed: An internal error caused this command to fail. HOT 3
- Configurable fs HOT 10
- Missing command: `git merge-base` HOT 4
- Get diff / patch list from commit HOT 6
- The `statusMatrix` throw a TypeError when use in the browser with `memfs` HOT 4
- Git.readBlob is too slow. HOT 9
- Properly propagate error encountered when reading response from git-upload-pack POST request HOT 4
- No shallow directory error HOT 3
- Improve `normalizePath` performance HOT 6
- pushing a tag to a target branch fail HOT 1
- Empty response from git server when using code bundler HOT 33
- Pushing returning 401 Error: No Anonymous Write Access HOT 6
- Tests are failing on Android HOT 15
- Cloning empty repository fails if git server uses git >= 2.41.0 HOT 5
- Getting a 404 with azure devops 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 isomorphic-git.