diff --git a/index.js b/index.js index 718a408..0a6108c 100644 --- a/index.js +++ b/index.js @@ -1,7 +1,17 @@ 'use strict'; -var PromiseA = require('bluebird').Promise; -var fs = PromiseA.promisifyAll(require('fs')); +var PromiseA; +try { + PromiseA = require('bluebird'); +} catch(e) { + PromiseA = global.Promise; +} + +var util = require('util'); +var fs = require('fs'); +var writeFileAsync = util.promisify(fs.writeFile); +var unlinkAsync = util.promisify(fs.unlink); +var renameAsync = util.promisify(fs.rename); var crypto = require('crypto'); function noop() { @@ -44,23 +54,23 @@ function create(options) { , stageAsync: function (filename, data, options) { var tmpname = tmpnamefn(filename); //console.log(tmpname); - return fs.writeFileAsync(tmpname, data, options).then(function () { + return writeFileAsync(tmpname, data, options).then(function () { return tmpname; }); } , commitAsync: function (tmpname, filename) { var bakname = baknamefn(filename); // this may not exist - return fs.unlinkAsync(bakname).then(noop, noop).then(function () { + return unlinkAsync(bakname).then(noop, noop).then(function () { // this may not exist //console.log(namefn(filename), '->', bakname); - return fs.renameAsync(filename, bakname).then(function () { + return renameAsync(filename, bakname).then(function () { //console.log('created bak'); }, noop); }).then(function () { // this must be successful //console.log(filename, '->', filename); - return fs.renameAsync(tmpname, filename).then(noop, function (err) { + return renameAsync(tmpname, filename).then(noop, function (err) { //console.error(err); return sfs.revert(filename).then(function () { return PromiseA.reject(err); diff --git a/package.json b/package.json index 7932686..454ace1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "safe-replace", - "version": "1.0.2", + "version": "1.0.3", "description": "A micro-module for safely replacing a file.", "main": "index.js", "scripts": { @@ -8,7 +8,7 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/coolaj86/node-safe-replace.git" + "url": "https://git.coolaj86.com/coolaj86/fs-safe-replace.js.git" }, "keywords": [ "cluster", @@ -23,7 +23,7 @@ "author": "AJ ONeal (https://coolaj86.com/)", "license": "(MIT OR Apache-2.0)", "bugs": { - "url": "https://github.com/coolaj86/node-safe-replace/issues" + "url": "https://git.coolaj86.com/coolaj86/fs-safe-replace.js/issues" }, - "homepage": "https://github.com/coolaj86/node-safe-replace#readme" + "homepage": "https://git.coolaj86.com/coolaj86/fs-safe-replace.jse" }