You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
137 lines
2.9 KiB
137 lines
2.9 KiB
"use strict"
|
|
|
|
var fs = null
|
|
, path = require('path')
|
|
, jsonFile = require('jsonfile')
|
|
, json = require('./json')
|
|
, fse = {};
|
|
|
|
try {
|
|
// optional dependency
|
|
fs = require("graceful-fs")
|
|
} catch (er) {
|
|
fs = require("fs")
|
|
}
|
|
|
|
Object.keys(fs).forEach(function(key) {
|
|
var func = fs[key];
|
|
if (typeof func == 'function')
|
|
fse[key] = func;
|
|
});
|
|
|
|
fs = fse;
|
|
|
|
// copy
|
|
|
|
fs.copy = require('./copy').copy;
|
|
fs.copySync = require('./copy').copySync;
|
|
|
|
|
|
// remove
|
|
|
|
var remove = require('./remove');
|
|
fs.remove = remove.remove;
|
|
fs.removeSync = remove.removeSync;
|
|
fs['delete'] = fs.remove
|
|
fs.deleteSync = fs.removeSync
|
|
|
|
// mkdir
|
|
|
|
var mkdir = require('./mkdir')
|
|
fs.mkdirs = mkdir.mkdirs
|
|
fs.mkdirsSync = mkdir.mkdirsSync
|
|
fs.mkdirp = mkdir.mkdirs
|
|
fs.mkdirpSync = mkdir.mkdirsSync
|
|
|
|
// create
|
|
|
|
var create = require('./create')
|
|
fs.createFile = create.createFile;
|
|
fs.createFileSync = create.createFileSync;
|
|
|
|
|
|
// ensure
|
|
|
|
var ensure = require('./ensure')
|
|
fs.ensureFile = create.createFile
|
|
fs.ensureFileSync = create.createFileSync
|
|
|
|
fs.ensureDir = mkdir.mkdirs
|
|
fs.ensureDirSync = mkdir.mkdirsSync
|
|
|
|
|
|
// move
|
|
|
|
var move = require('./move')
|
|
fs.move = function(src, dest, opts, callback) {
|
|
if (typeof opts == 'function') {
|
|
callback = opts
|
|
opts = {}
|
|
}
|
|
|
|
if (opts.mkdirp == null) opts.mkdirp = true
|
|
if (opts.clobber == null) opts.clobber = false
|
|
|
|
move(src, dest, opts, callback)
|
|
}
|
|
|
|
//deprecated
|
|
fs.touch = function touch() {
|
|
console.log('fs.touch() is deprecated. Please use fs.createFile().')
|
|
fs.createFile.apply(null, arguments)
|
|
}
|
|
|
|
fs.touchSync = function touchSync() {
|
|
console.log('fs.touchSync() is deprecated. Please use fs.createFileSync().')
|
|
fs.createFileSync.apply(null, arguments)
|
|
}
|
|
|
|
// output
|
|
|
|
var output = require('./output');
|
|
fs.outputFile = output.outputFile;
|
|
fs.outputFileSync = output.outputFileSync;
|
|
|
|
// read
|
|
|
|
/*fs.readTextFile = function(file, callback) {
|
|
return fs.readFile(file, 'utf8', callback)
|
|
}
|
|
|
|
fs.readTextFileSync = function(file, callback) {
|
|
return fs.readFileSync(file, 'utf8')
|
|
}*/
|
|
|
|
// json files
|
|
|
|
fs.readJsonFile = jsonFile.readFile;
|
|
fs.readJSONFile = jsonFile.readFile;
|
|
fs.readJsonFileSync = jsonFile.readFileSync;
|
|
fs.readJSONFileSync = jsonFile.readFileSync;
|
|
|
|
fs.readJson = jsonFile.readFile;
|
|
fs.readJSON = jsonFile.readFile;
|
|
fs.readJsonSync = jsonFile.readFileSync;
|
|
fs.readJSONSync = jsonFile.readFileSync;
|
|
|
|
fs.outputJsonSync = json.outputJsonSync;
|
|
fs.outputJSONSync = json.outputJsonSync;
|
|
fs.outputJson = json.outputJson;
|
|
fs.outputJSON = json.outputJson;
|
|
|
|
fs.writeJsonFile = jsonFile.writeFile;
|
|
fs.writeJSONFile = jsonFile.writeFile;
|
|
fs.writeJsonFileSync = jsonFile.writeFileSync;
|
|
fs.writeJSONFileSync = jsonFile.writeFileSync;
|
|
|
|
fs.writeJson = jsonFile.writeFile;
|
|
fs.writeJSON = jsonFile.writeFile;
|
|
fs.writeJsonSync = jsonFile.writeFileSync;
|
|
fs.writeJSONSync = jsonFile.writeFileSync;
|
|
|
|
|
|
module.exports = fs
|
|
|
|
jsonFile.spaces = 2; //set to 2
|
|
module.exports.jsonfile = jsonFile; //so users of fs-extra can modify jsonFile.spaces;
|
|
|
|
|