fix
This commit is contained in:
21
book/node_modules/write/LICENSE
generated
vendored
Normal file
21
book/node_modules/write/LICENSE
generated
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2014-2017, Jon Schlinkert.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
178
book/node_modules/write/README.md
generated
vendored
Normal file
178
book/node_modules/write/README.md
generated
vendored
Normal file
@ -0,0 +1,178 @@
|
||||
# write [](https://www.npmjs.com/package/write) [](https://npmjs.org/package/write) [](https://npmjs.org/package/write) [](https://travis-ci.org/jonschlinkert/write)
|
||||
|
||||
> Write data to a file, replacing the file if it already exists and creating any intermediate directories if they don't already exist. Thin wrapper around node's native fs methods.
|
||||
|
||||
## Install
|
||||
|
||||
Install with [npm](https://www.npmjs.com/):
|
||||
|
||||
```sh
|
||||
$ npm install --save write
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
var writeFile = require('write');
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
### [writeFile](index.js#L40)
|
||||
|
||||
Asynchronously writes data to a file, replacing the file if it already exists and creating any intermediate directories if they don't already exist. Data can be a string or a buffer. Returns a promise if a callback function is not passed.
|
||||
|
||||
**Params**
|
||||
|
||||
* `filepath` **{string|Buffer|integer}**: filepath or file descriptor.
|
||||
* `data` **{string|Buffer|Uint8Array}**: String to write to disk.
|
||||
* `options` **{object}**: Options to pass to [fs.writeFile](https://nodejs.org/api/fs.html#fs_fs_writefile_file_data_options_callback) and/or [mkdirp](https://github.com/substack/node-mkdirp)
|
||||
* `callback` **{Function}**: (optional) If no callback is provided, a promise is returned.
|
||||
|
||||
**Example**
|
||||
|
||||
```js
|
||||
var writeFile = require('write');
|
||||
writeFile('foo.txt', 'This is content...', function(err) {
|
||||
if (err) console.log(err);
|
||||
});
|
||||
|
||||
// promise
|
||||
writeFile('foo.txt', 'This is content...')
|
||||
.then(function() {
|
||||
// do stuff
|
||||
});
|
||||
```
|
||||
|
||||
### [.promise](index.js#L82)
|
||||
|
||||
The promise version of [writeFile](#writefile). Returns a promise.
|
||||
|
||||
**Params**
|
||||
|
||||
* `filepath` **{string|Buffer|integer}**: filepath or file descriptor.
|
||||
* `val` **{string|Buffer|Uint8Array}**: String or buffer to write to disk.
|
||||
* `options` **{object}**: Options to pass to [fs.writeFile](https://nodejs.org/api/fs.html#fs_fs_writefile_file_data_options_callback) and/or [mkdirp](https://github.com/substack/node-mkdirp)
|
||||
* `returns` **{Promise}**
|
||||
|
||||
**Example**
|
||||
|
||||
```js
|
||||
var writeFile = require('write');
|
||||
writeFile.promise('foo.txt', 'This is content...')
|
||||
.then(function() {
|
||||
// do stuff
|
||||
});
|
||||
```
|
||||
|
||||
### [.sync](index.js#L120)
|
||||
|
||||
The synchronous version of [writeFile](#writefile). Returns undefined.
|
||||
|
||||
**Params**
|
||||
|
||||
* `filepath` **{string|Buffer|integer}**: filepath or file descriptor.
|
||||
* `data` **{string|Buffer|Uint8Array}**: String or buffer to write to disk.
|
||||
* `options` **{object}**: Options to pass to [fs.writeFileSync](https://nodejs.org/api/fs.html#fs_fs_writefilesync_file_data_options) and/or [mkdirp](https://github.com/substack/node-mkdirp)
|
||||
* `returns` **{undefined}**
|
||||
|
||||
**Example**
|
||||
|
||||
```js
|
||||
var writeFile = require('write');
|
||||
writeFile.sync('foo.txt', 'This is content...');
|
||||
```
|
||||
|
||||
### [.stream](index.js#L151)
|
||||
|
||||
Uses `fs.createWriteStream` to write data to a file, replacing the file if it already exists and creating any intermediate directories if they don't already exist. Data can be a string or a buffer. Returns a new [WriteStream](https://nodejs.org/api/fs.html#fs_class_fs_writestream) object.
|
||||
|
||||
**Params**
|
||||
|
||||
* `filepath` **{string|Buffer|integer}**: filepath or file descriptor.
|
||||
* `options` **{object}**: Options to pass to [mkdirp](https://github.com/substack/node-mkdirp) and [fs.createWriteStream](https://nodejs.org/api/fs.html#fs_fs_createwritestream_path_options)
|
||||
* `returns` **{Stream}**: Returns a new [WriteStream](https://nodejs.org/api/fs.html#fs_class_fs_writestream) object. (See [Writable Stream](https://nodejs.org/api/stream.html#stream_class_stream_writable)).
|
||||
|
||||
**Example**
|
||||
|
||||
```js
|
||||
var fs = require('fs');
|
||||
var writeFile = require('write');
|
||||
fs.createReadStream('README.md')
|
||||
.pipe(writeFile.stream('a/b/c/other-file.md'))
|
||||
.on('close', function() {
|
||||
// do stuff
|
||||
});
|
||||
```
|
||||
|
||||
## Release history
|
||||
|
||||
### v1.0.2 - 2017-07-11
|
||||
|
||||
* improved documentation
|
||||
|
||||
### v1.0.0 - 2017-07-09
|
||||
|
||||
**Added**
|
||||
|
||||
* [promise support](#promise)
|
||||
|
||||
**Changed**
|
||||
|
||||
* The main export will now return a promise if no callback is passed
|
||||
|
||||
## About
|
||||
|
||||
### Related projects
|
||||
|
||||
* [delete](https://www.npmjs.com/package/delete): Delete files and folders and any intermediate directories if they exist (sync and async). | [homepage](https://github.com/jonschlinkert/delete "Delete files and folders and any intermediate directories if they exist (sync and async).")
|
||||
* [read-data](https://www.npmjs.com/package/read-data): Read JSON or YAML files. | [homepage](https://github.com/jonschlinkert/read-data "Read JSON or YAML files.")
|
||||
* [read-yaml](https://www.npmjs.com/package/read-yaml): Very thin wrapper around js-yaml for directly reading in YAML files. | [homepage](https://github.com/jonschlinkert/read-yaml "Very thin wrapper around js-yaml for directly reading in YAML files.")
|
||||
* [write-data](https://www.npmjs.com/package/write-data): Write a YAML or JSON file to disk. Automatically detects the format to write based… [more](https://github.com/jonschlinkert/write-data) | [homepage](https://github.com/jonschlinkert/write-data "Write a YAML or JSON file to disk. Automatically detects the format to write based on extension. Or pass `ext` on the options.")
|
||||
* [write-json](https://www.npmjs.com/package/write-json): Write a JSON file to disk, also creates intermediate directories in the destination path if… [more](https://github.com/jonschlinkert/write-json) | [homepage](https://github.com/jonschlinkert/write-json "Write a JSON file to disk, also creates intermediate directories in the destination path if they don't already exist.")
|
||||
* [write-yaml](https://www.npmjs.com/package/write-yaml): Write YAML. Converts JSON to YAML writes it to the specified file. | [homepage](https://github.com/jonschlinkert/write-yaml "Write YAML. Converts JSON to YAML writes it to the specified file.")
|
||||
|
||||
### Contributing
|
||||
|
||||
Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
|
||||
|
||||
### Contributors
|
||||
|
||||
| **Commits** | **Contributor** |
|
||||
| --- | --- |
|
||||
| 33 | [jonschlinkert](https://github.com/jonschlinkert) |
|
||||
| 1 | [tunnckoCore](https://github.com/tunnckoCore) |
|
||||
|
||||
### Building docs
|
||||
|
||||
_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_
|
||||
|
||||
To generate the readme, run the following command:
|
||||
|
||||
```sh
|
||||
$ npm install -g verbose/verb#dev verb-generate-readme && verb
|
||||
```
|
||||
|
||||
### Running tests
|
||||
|
||||
Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
|
||||
|
||||
```sh
|
||||
$ npm install && npm test
|
||||
```
|
||||
|
||||
### Author
|
||||
|
||||
**Jon Schlinkert**
|
||||
|
||||
* [github/jonschlinkert](https://github.com/jonschlinkert)
|
||||
* [twitter/jonschlinkert](https://twitter.com/jonschlinkert)
|
||||
|
||||
### License
|
||||
|
||||
Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert).
|
||||
Released under the [MIT License](LICENSE).
|
||||
|
||||
***
|
||||
|
||||
_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on July 11, 2017._
|
160
book/node_modules/write/index.js
generated
vendored
Normal file
160
book/node_modules/write/index.js
generated
vendored
Normal file
@ -0,0 +1,160 @@
|
||||
/*!
|
||||
* write <https://github.com/jonschlinkert/write>
|
||||
*
|
||||
* Copyright (c) 2014-2017, Jon Schlinkert.
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
var fs = require('fs');
|
||||
var path = require('path');
|
||||
var mkdirp = require('mkdirp');
|
||||
|
||||
/**
|
||||
* Asynchronously writes data to a file, replacing the file if it already
|
||||
* exists and creating any intermediate directories if they don't already
|
||||
* exist. Data can be a string or a buffer. Returns a promise if a callback
|
||||
* function is not passed.
|
||||
*
|
||||
* ```js
|
||||
* var writeFile = require('write');
|
||||
* writeFile('foo.txt', 'This is content...', function(err) {
|
||||
* if (err) console.log(err);
|
||||
* });
|
||||
*
|
||||
* // promise
|
||||
* writeFile('foo.txt', 'This is content...')
|
||||
* .then(function() {
|
||||
* // do stuff
|
||||
* });
|
||||
* ```
|
||||
* @name writeFile
|
||||
* @param {string|Buffer|integer} `filepath` filepath or file descriptor.
|
||||
* @param {string|Buffer|Uint8Array} `data` String to write to disk.
|
||||
* @param {object} `options` Options to pass to [fs.writeFile][fs]{#fs_fs_writefile_file_data_options_callback} and/or [mkdirp][]
|
||||
* @param {Function} `callback` (optional) If no callback is provided, a promise is returned.
|
||||
* @api public
|
||||
*/
|
||||
|
||||
function writeFile(filepath, data, options, cb) {
|
||||
if (typeof options === 'function') {
|
||||
cb = options;
|
||||
options = {};
|
||||
}
|
||||
|
||||
if (typeof cb !== 'function') {
|
||||
return writeFile.promise.apply(null, arguments);
|
||||
}
|
||||
|
||||
if (typeof filepath !== 'string') {
|
||||
cb(new TypeError('expected filepath to be a string'));
|
||||
return;
|
||||
}
|
||||
|
||||
mkdirp(path.dirname(filepath), options, function(err) {
|
||||
if (err) {
|
||||
cb(err);
|
||||
return;
|
||||
}
|
||||
fs.writeFile(filepath, data, options, cb);
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* The promise version of [writeFile](#writefile). Returns a promise.
|
||||
*
|
||||
* ```js
|
||||
* var writeFile = require('write');
|
||||
* writeFile.promise('foo.txt', 'This is content...')
|
||||
* .then(function() {
|
||||
* // do stuff
|
||||
* });
|
||||
* ```
|
||||
* @name .promise
|
||||
* @param {string|Buffer|integer} `filepath` filepath or file descriptor.
|
||||
* @param {string|Buffer|Uint8Array} `val` String or buffer to write to disk.
|
||||
* @param {object} `options` Options to pass to [fs.writeFile][fs]{#fs_fs_writefile_file_data_options_callback} and/or [mkdirp][]
|
||||
* @return {Promise}
|
||||
* @api public
|
||||
*/
|
||||
|
||||
writeFile.promise = function(filepath, val, options) {
|
||||
if (typeof filepath !== 'string') {
|
||||
return Promise.reject(new TypeError('expected filepath to be a string'));
|
||||
}
|
||||
|
||||
return new Promise(function(resolve, reject) {
|
||||
mkdirp(path.dirname(filepath), options, function(err) {
|
||||
if (err) {
|
||||
reject(err);
|
||||
return;
|
||||
}
|
||||
|
||||
fs.writeFile(filepath, val, options, function(err) {
|
||||
if (err) {
|
||||
reject(err);
|
||||
return;
|
||||
}
|
||||
resolve(val);
|
||||
});
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* The synchronous version of [writeFile](#writefile). Returns undefined.
|
||||
*
|
||||
* ```js
|
||||
* var writeFile = require('write');
|
||||
* writeFile.sync('foo.txt', 'This is content...');
|
||||
* ```
|
||||
* @name .sync
|
||||
* @param {string|Buffer|integer} `filepath` filepath or file descriptor.
|
||||
* @param {string|Buffer|Uint8Array} `data` String or buffer to write to disk.
|
||||
* @param {object} `options` Options to pass to [fs.writeFileSync][fs]{#fs_fs_writefilesync_file_data_options} and/or [mkdirp][]
|
||||
* @return {undefined}
|
||||
* @api public
|
||||
*/
|
||||
|
||||
writeFile.sync = function(filepath, data, options) {
|
||||
if (typeof filepath !== 'string') {
|
||||
throw new TypeError('expected filepath to be a string');
|
||||
}
|
||||
mkdirp.sync(path.dirname(filepath), options);
|
||||
fs.writeFileSync(filepath, data, options);
|
||||
};
|
||||
|
||||
/**
|
||||
* Uses `fs.createWriteStream` to write data to a file, replacing the
|
||||
* file if it already exists and creating any intermediate directories
|
||||
* if they don't already exist. Data can be a string or a buffer. Returns
|
||||
* a new [WriteStream](https://nodejs.org/api/fs.html#fs_class_fs_writestream)
|
||||
* object.
|
||||
*
|
||||
* ```js
|
||||
* var fs = require('fs');
|
||||
* var writeFile = require('write');
|
||||
* fs.createReadStream('README.md')
|
||||
* .pipe(writeFile.stream('a/b/c/other-file.md'))
|
||||
* .on('close', function() {
|
||||
* // do stuff
|
||||
* });
|
||||
* ```
|
||||
* @name .stream
|
||||
* @param {string|Buffer|integer} `filepath` filepath or file descriptor.
|
||||
* @param {object} `options` Options to pass to [mkdirp][] and [fs.createWriteStream][fs]{#fs_fs_createwritestream_path_options}
|
||||
* @return {Stream} Returns a new [WriteStream](https://nodejs.org/api/fs.html#fs_class_fs_writestream) object. (See [Writable Stream](https://nodejs.org/api/stream.html#stream_class_stream_writable)).
|
||||
* @api public
|
||||
*/
|
||||
|
||||
writeFile.stream = function(filepath, options) {
|
||||
mkdirp.sync(path.dirname(filepath), options);
|
||||
return fs.createWriteStream(filepath, options);
|
||||
};
|
||||
|
||||
/**
|
||||
* Expose `writeFile`
|
||||
*/
|
||||
|
||||
module.exports = writeFile;
|
1
book/node_modules/write/node_modules/.bin/mkdirp
generated
vendored
Symbolic link
1
book/node_modules/write/node_modules/.bin/mkdirp
generated
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
../mkdirp/bin/cmd.js
|
21
book/node_modules/write/node_modules/mkdirp/LICENSE
generated
vendored
Normal file
21
book/node_modules/write/node_modules/mkdirp/LICENSE
generated
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
Copyright 2010 James Halliday (mail@substack.net)
|
||||
|
||||
This project is free software released under the MIT/X11 license:
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
33
book/node_modules/write/node_modules/mkdirp/bin/cmd.js
generated
vendored
Executable file
33
book/node_modules/write/node_modules/mkdirp/bin/cmd.js
generated
vendored
Executable file
@ -0,0 +1,33 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
var mkdirp = require('../');
|
||||
var minimist = require('minimist');
|
||||
var fs = require('fs');
|
||||
|
||||
var argv = minimist(process.argv.slice(2), {
|
||||
alias: { m: 'mode', h: 'help' },
|
||||
string: [ 'mode' ]
|
||||
});
|
||||
if (argv.help) {
|
||||
fs.createReadStream(__dirname + '/usage.txt').pipe(process.stdout);
|
||||
return;
|
||||
}
|
||||
|
||||
var paths = argv._.slice();
|
||||
var mode = argv.mode ? parseInt(argv.mode, 8) : undefined;
|
||||
|
||||
(function next () {
|
||||
if (paths.length === 0) return;
|
||||
var p = paths.shift();
|
||||
|
||||
if (mode === undefined) mkdirp(p, cb)
|
||||
else mkdirp(p, mode, cb)
|
||||
|
||||
function cb (err) {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
process.exit(1);
|
||||
}
|
||||
else next();
|
||||
}
|
||||
})();
|
12
book/node_modules/write/node_modules/mkdirp/bin/usage.txt
generated
vendored
Normal file
12
book/node_modules/write/node_modules/mkdirp/bin/usage.txt
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
usage: mkdirp [DIR1,DIR2..] {OPTIONS}
|
||||
|
||||
Create each supplied directory including any necessary parent directories that
|
||||
don't yet exist.
|
||||
|
||||
If the directory already exists, do nothing.
|
||||
|
||||
OPTIONS are:
|
||||
|
||||
-m, --mode If a directory needs to be created, set the mode as an octal
|
||||
permission string.
|
||||
|
102
book/node_modules/write/node_modules/mkdirp/index.js
generated
vendored
Normal file
102
book/node_modules/write/node_modules/mkdirp/index.js
generated
vendored
Normal file
@ -0,0 +1,102 @@
|
||||
var path = require('path');
|
||||
var fs = require('fs');
|
||||
var _0777 = parseInt('0777', 8);
|
||||
|
||||
module.exports = mkdirP.mkdirp = mkdirP.mkdirP = mkdirP;
|
||||
|
||||
function mkdirP (p, opts, f, made) {
|
||||
if (typeof opts === 'function') {
|
||||
f = opts;
|
||||
opts = {};
|
||||
}
|
||||
else if (!opts || typeof opts !== 'object') {
|
||||
opts = { mode: opts };
|
||||
}
|
||||
|
||||
var mode = opts.mode;
|
||||
var xfs = opts.fs || fs;
|
||||
|
||||
if (mode === undefined) {
|
||||
mode = _0777
|
||||
}
|
||||
if (!made) made = null;
|
||||
|
||||
var cb = f || /* istanbul ignore next */ function () {};
|
||||
p = path.resolve(p);
|
||||
|
||||
xfs.mkdir(p, mode, function (er) {
|
||||
if (!er) {
|
||||
made = made || p;
|
||||
return cb(null, made);
|
||||
}
|
||||
switch (er.code) {
|
||||
case 'ENOENT':
|
||||
/* istanbul ignore if */
|
||||
if (path.dirname(p) === p) return cb(er);
|
||||
mkdirP(path.dirname(p), opts, function (er, made) {
|
||||
/* istanbul ignore if */
|
||||
if (er) cb(er, made);
|
||||
else mkdirP(p, opts, cb, made);
|
||||
});
|
||||
break;
|
||||
|
||||
// In the case of any other error, just see if there's a dir
|
||||
// there already. If so, then hooray! If not, then something
|
||||
// is borked.
|
||||
default:
|
||||
xfs.stat(p, function (er2, stat) {
|
||||
// if the stat fails, then that's super weird.
|
||||
// let the original error be the failure reason.
|
||||
if (er2 || !stat.isDirectory()) cb(er, made)
|
||||
else cb(null, made);
|
||||
});
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
mkdirP.sync = function sync (p, opts, made) {
|
||||
if (!opts || typeof opts !== 'object') {
|
||||
opts = { mode: opts };
|
||||
}
|
||||
|
||||
var mode = opts.mode;
|
||||
var xfs = opts.fs || fs;
|
||||
|
||||
if (mode === undefined) {
|
||||
mode = _0777
|
||||
}
|
||||
if (!made) made = null;
|
||||
|
||||
p = path.resolve(p);
|
||||
|
||||
try {
|
||||
xfs.mkdirSync(p, mode);
|
||||
made = made || p;
|
||||
}
|
||||
catch (err0) {
|
||||
switch (err0.code) {
|
||||
case 'ENOENT' :
|
||||
made = sync(path.dirname(p), opts, made);
|
||||
sync(p, opts, made);
|
||||
break;
|
||||
|
||||
// In the case of any other error, just see if there's a dir
|
||||
// there already. If so, then hooray! If not, then something
|
||||
// is borked.
|
||||
default:
|
||||
var stat;
|
||||
try {
|
||||
stat = xfs.statSync(p);
|
||||
}
|
||||
catch (err1) /* istanbul ignore next */ {
|
||||
throw err0;
|
||||
}
|
||||
/* istanbul ignore if */
|
||||
if (!stat.isDirectory()) throw err0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return made;
|
||||
};
|
33
book/node_modules/write/node_modules/mkdirp/package.json
generated
vendored
Normal file
33
book/node_modules/write/node_modules/mkdirp/package.json
generated
vendored
Normal file
@ -0,0 +1,33 @@
|
||||
{
|
||||
"name": "mkdirp",
|
||||
"description": "Recursively mkdir, like `mkdir -p`",
|
||||
"version": "0.5.6",
|
||||
"publishConfig": {
|
||||
"tag": "legacy"
|
||||
},
|
||||
"author": "James Halliday <mail@substack.net> (http://substack.net)",
|
||||
"main": "index.js",
|
||||
"keywords": [
|
||||
"mkdir",
|
||||
"directory"
|
||||
],
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/substack/node-mkdirp.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "tap test/*.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"minimist": "^1.2.6"
|
||||
},
|
||||
"devDependencies": {
|
||||
"tap": "^16.0.1"
|
||||
},
|
||||
"bin": "bin/cmd.js",
|
||||
"license": "MIT",
|
||||
"files": [
|
||||
"bin",
|
||||
"index.js"
|
||||
]
|
||||
}
|
100
book/node_modules/write/node_modules/mkdirp/readme.markdown
generated
vendored
Normal file
100
book/node_modules/write/node_modules/mkdirp/readme.markdown
generated
vendored
Normal file
@ -0,0 +1,100 @@
|
||||
# mkdirp
|
||||
|
||||
Like `mkdir -p`, but in node.js!
|
||||
|
||||
[](http://travis-ci.org/substack/node-mkdirp)
|
||||
|
||||
# example
|
||||
|
||||
## pow.js
|
||||
|
||||
```js
|
||||
var mkdirp = require('mkdirp');
|
||||
|
||||
mkdirp('/tmp/foo/bar/baz', function (err) {
|
||||
if (err) console.error(err)
|
||||
else console.log('pow!')
|
||||
});
|
||||
```
|
||||
|
||||
Output
|
||||
|
||||
```
|
||||
pow!
|
||||
```
|
||||
|
||||
And now /tmp/foo/bar/baz exists, huzzah!
|
||||
|
||||
# methods
|
||||
|
||||
```js
|
||||
var mkdirp = require('mkdirp');
|
||||
```
|
||||
|
||||
## mkdirp(dir, opts, cb)
|
||||
|
||||
Create a new directory and any necessary subdirectories at `dir` with octal
|
||||
permission string `opts.mode`. If `opts` is a non-object, it will be treated as
|
||||
the `opts.mode`.
|
||||
|
||||
If `opts.mode` isn't specified, it defaults to `0777`.
|
||||
|
||||
`cb(err, made)` fires with the error or the first directory `made`
|
||||
that had to be created, if any.
|
||||
|
||||
You can optionally pass in an alternate `fs` implementation by passing in
|
||||
`opts.fs`. Your implementation should have `opts.fs.mkdir(path, mode, cb)` and
|
||||
`opts.fs.stat(path, cb)`.
|
||||
|
||||
## mkdirp.sync(dir, opts)
|
||||
|
||||
Synchronously create a new directory and any necessary subdirectories at `dir`
|
||||
with octal permission string `opts.mode`. If `opts` is a non-object, it will be
|
||||
treated as the `opts.mode`.
|
||||
|
||||
If `opts.mode` isn't specified, it defaults to `0777`.
|
||||
|
||||
Returns the first directory that had to be created, if any.
|
||||
|
||||
You can optionally pass in an alternate `fs` implementation by passing in
|
||||
`opts.fs`. Your implementation should have `opts.fs.mkdirSync(path, mode)` and
|
||||
`opts.fs.statSync(path)`.
|
||||
|
||||
# usage
|
||||
|
||||
This package also ships with a `mkdirp` command.
|
||||
|
||||
```
|
||||
usage: mkdirp [DIR1,DIR2..] {OPTIONS}
|
||||
|
||||
Create each supplied directory including any necessary parent directories that
|
||||
don't yet exist.
|
||||
|
||||
If the directory already exists, do nothing.
|
||||
|
||||
OPTIONS are:
|
||||
|
||||
-m, --mode If a directory needs to be created, set the mode as an octal
|
||||
permission string.
|
||||
|
||||
```
|
||||
|
||||
# install
|
||||
|
||||
With [npm](http://npmjs.org) do:
|
||||
|
||||
```
|
||||
npm install mkdirp
|
||||
```
|
||||
|
||||
to get the library, or
|
||||
|
||||
```
|
||||
npm install -g mkdirp
|
||||
```
|
||||
|
||||
to get the command.
|
||||
|
||||
# license
|
||||
|
||||
MIT
|
74
book/node_modules/write/package.json
generated
vendored
Normal file
74
book/node_modules/write/package.json
generated
vendored
Normal file
@ -0,0 +1,74 @@
|
||||
{
|
||||
"name": "write",
|
||||
"description": "Write data to a file, replacing the file if it already exists and creating any intermediate directories if they don't already exist. Thin wrapper around node's native fs methods.",
|
||||
"version": "1.0.3",
|
||||
"homepage": "https://github.com/jonschlinkert/write",
|
||||
"author": "Jon Schlinkert (https://github.com/jonschlinkert)",
|
||||
"contributors": [
|
||||
"Charlike Mike Reagent (https://i.am.charlike.online)",
|
||||
"Jon Schlinkert (http://twitter.com/jonschlinkert)"
|
||||
],
|
||||
"repository": "jonschlinkert/write",
|
||||
"bugs": {
|
||||
"url": "https://github.com/jonschlinkert/write/issues"
|
||||
},
|
||||
"license": "MIT",
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"main": "index.js",
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "mocha"
|
||||
},
|
||||
"dependencies": {
|
||||
"mkdirp": "^0.5.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"async-each": "^1.0.1",
|
||||
"delete": "^1.1.0",
|
||||
"gulp-format-md": "^1.0.0",
|
||||
"mocha": "^3.4.2"
|
||||
},
|
||||
"keywords": [
|
||||
"file",
|
||||
"filepath",
|
||||
"files",
|
||||
"filesystem",
|
||||
"folder",
|
||||
"fs",
|
||||
"fs.writeFile",
|
||||
"fs.writeFileSync",
|
||||
"path",
|
||||
"write"
|
||||
],
|
||||
"verb": {
|
||||
"run": true,
|
||||
"toc": false,
|
||||
"layout": "default",
|
||||
"tasks": [
|
||||
"readme"
|
||||
],
|
||||
"plugins": [
|
||||
"gulp-format-md"
|
||||
],
|
||||
"related": {
|
||||
"list": [
|
||||
"delete",
|
||||
"read-data",
|
||||
"read-yaml",
|
||||
"write-data",
|
||||
"write-json",
|
||||
"write-yaml"
|
||||
]
|
||||
},
|
||||
"reflinks": [
|
||||
"verb"
|
||||
],
|
||||
"lint": {
|
||||
"reflinks": true
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user