overlookmotel / fs-extra-promise Goto Github PK
View Code? Open in Web Editor NEWNode file system library and fs-extra module promisified with bluebird
License: MIT License
Node file system library and fs-extra module promisified with bluebird
License: MIT License
When I try to use these methods they will work, but they call resolve before they actually write their files. So what happens is that the next chain expects the file to be there, and work on it, except I get a ENOENT
.
The only way I cant get this to work is to go back to default fs.
var Promise = require("bluebird")
var fs = require("fs");
//works
return new Promise(function(resolve, reject){
fs.writeFile(currentJsonPath, "{}", function(e, data){
if (e){
reject(e)
} else {
resolve()
}
});
});
//writes file eventually, but calls resolve early
var fsExtra = Promise.promisifyAll(require("fs-extra"));
return fsExtra.writeFile(currentJsonPath, "{}");
//writes file eventually, but calls resolve early
var fsExtraPromise= require("fs-extra-promise");
return fsExtraPromise.writeFile(currentJsonPath, "{}");
π¨ You need to enable Continuous Integration on all branches of this repository. π¨
To enable Greenkeeper, you need to make sure that a commit status is reported on all branches. This is required by Greenkeeper because we are using your CI build statuses to figure out when to notify you about breaking changes.
Since we did not receive a CI status on the greenkeeper/initial
branch, we assume that you still need to configure it.
If you have already set up a CI for this repository, you might need to check your configuration. Make sure it will run on all new branches. If you donβt want it to run on every branch, you can whitelist branches starting with greenkeeper/
.
We recommend using Travis CI, but Greenkeeper will work with every other CI service as well.
I don't know if this is the right place to report it, but the moveAsync
definition is missing from TypeScript.
Please change main
in package.json
to ./lib/index
like in fs-extra library. JSPM does not seem to like an implicit reference even though there is nothing wrong with it.
If someone want it:
https://github.com/arieljannai/fs-extra-q-promise
Unless there's a plan to support other promise libraries except Bluebird, in that case there's no reason to also have the one I changed
I use co to make use of yield
co(function*(){
yield fs.copyAsync(target, destination);
})()
but fs.copySync works fine
fs-extra-promise version: 0.1.0
Hi,
using fs.moveAsync
, options { overwrite: true }
are ignored, so if the destination exists, it reject with error EEXIST
please fix like follow
fs.moveAsync = function(src, dst, options) => {
return new Promise((resolve, reject) {
fs.move(src, dst, options, (err) => {
if (err) {
reject(err)
return
}
resolve()
})
})
}
I can't seem to figure out how to use this library with TypeScript (and async/await) .
I'm told either that it returns void or that it returns a promise which then seems to resolve to void when I await for it. Please advice.
import { readJson, readJsonSync } from 'fs-extra-promise';
// sync
loadPackage() : Object {
try {
return readJsonSync(this.path);
} catch (err) {
}
}
Trying with async
:
async loadPackage() : Promise<Object> {
try {
return readJson(this.path);
} catch (err) {
return {};
}
}
Also tried return readJson(this.path).then(obj => return obj);
to no avail.
See #6
Temp fix applied. Change this back once JSPM issue jspm/npm#91 is resolved.
fs-extra
used by this module is currently v0.30.0. This is now well behind - current is v2.1.2.
Need to update the dependency, but problem is that it needs checking first if any new methods have been added that need to be promisified / any sync methods that need to be excepted from promisification.
@CyberiumShadow, @andyhu, @rifler, @ReFruity you all expressed interest in the update in PR #21. Would any of you have any time to investigate.
I'm really keen to get this done, but completely tied up and not sure when I'll get to it myself.
fs-extra has been updated yet again. Please update!
PS: They have added a promise implementation but I do not think it conflicts with the one here.
I was surprised to see that fs-extra-promise promisifies methods individually, because I am experiencing problems with the .readJson method from fs-extra-promise, but the problem goes away if I use the fs package and promisify that method individually. See my thread at jprichardson/node-fs-extra#156
Is someone able to reproduce my problem and figure out what is going on?
Note that I am using promises with async/await functions in Babel. That shouldn't matter though.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.