mirror of
https://github.com/billz/raspap-webgui.git
synced 2025-03-01 10:31:47 +00:00
Added vendor directory & gulp support for better dependency organization + compiling less & js files. added gulp
support for a browser sync task as well for easier development
This commit is contained in:
233
node_modules/gulp/CHANGELOG.md
generated
vendored
Normal file
233
node_modules/gulp/CHANGELOG.md
generated
vendored
Normal file
@@ -0,0 +1,233 @@
|
||||
# gulp changelog
|
||||
|
||||
## 3.9.0
|
||||
|
||||
- add babel support
|
||||
- add transpiler fallback support
|
||||
- add support for some renamed transpilers (livescript, etc)
|
||||
- add JSCS
|
||||
- update dependecies (liftoff, interpret)
|
||||
- documentation tweaks
|
||||
|
||||
## 3.8.11
|
||||
|
||||
- fix node 0.12/iojs problems
|
||||
- add node 0.12 and iojs to travis
|
||||
- update dependencies (liftoff, v8flags)
|
||||
- documentation tweaks
|
||||
|
||||
## 3.8.10
|
||||
|
||||
- add link to spanish docs
|
||||
- update dependencies (archy, semver, mocha, etc)
|
||||
- documentation tweaks
|
||||
|
||||
## 3.8.9
|
||||
|
||||
- fix local version undefined output
|
||||
- add completion for fish shell
|
||||
- fix powershell completion line splitting
|
||||
- add support for arbitrary node flags (oops, should have been a minor bump)
|
||||
- add v8flags dependency
|
||||
- update dependencies (liftoff)
|
||||
- documentation tweaks
|
||||
|
||||
## 3.8.8
|
||||
|
||||
- update dependencies (minimist, tildify)
|
||||
- documentation tweaks
|
||||
|
||||
## 3.8.7
|
||||
|
||||
- handle errors a bit better
|
||||
- update dependencies (gulp-util, semver, etc)
|
||||
- documentation tweaks
|
||||
|
||||
## 3.8.6
|
||||
|
||||
- remove executable flag from LICENSE
|
||||
- update dependencies (chalk, minimist, liftoff, etc)
|
||||
- documentation tweaks
|
||||
|
||||
## 3.8.5
|
||||
|
||||
- simplify --silent and --tasks-simple
|
||||
- fix bug in autocomplete where errors would come out
|
||||
|
||||
## 3.8.4
|
||||
|
||||
- CLI will use exit code 1 on exit when any task fails during the lifetime of the process
|
||||
|
||||
|
||||
## 3.8.3
|
||||
|
||||
- Tweak error formatting to work better with PluginErrors and strings
|
||||
|
||||
## 3.8.2
|
||||
|
||||
- add manpage generation
|
||||
|
||||
## 3.8.1
|
||||
|
||||
- the CLI now adds process.env.INIT_CWD which is the original cwd it was launched from
|
||||
|
||||
## 3.8.0
|
||||
|
||||
- update vinyl-fs
|
||||
- gulp.src is now a writable passthrough, this means you can use it to add files to your pipeline at any point
|
||||
- gulp.dest can now take a function to determine the folder
|
||||
|
||||
This is now possible!
|
||||
|
||||
```js
|
||||
gulp.src('lib/*.js')
|
||||
.pipe(uglify())
|
||||
.pipe(gulp.src('styles/*.css'))
|
||||
.pipe(gulp.dest(function(file){
|
||||
// I don't know, you can do something cool here
|
||||
return 'build/whatever';
|
||||
}));
|
||||
```
|
||||
|
||||
## 3.7.0
|
||||
|
||||
- update vinyl-fs to remove BOM from UTF8 files
|
||||
- add --tasks-simple flag for plaintext task listings
|
||||
- updated autocomplete scripts to be simpler and use new --tasks-simple flag
|
||||
- added support for transpilers via liftoff 0.11 and interpret
|
||||
- just npm install your compiler (coffee-script for example) and it will work out of the box
|
||||
|
||||
## 3.5.5
|
||||
|
||||
- update deps
|
||||
- gulp.dest now support mode option, uses source file mode by default (file.stat.mode)
|
||||
- use chalk for colors in bin
|
||||
- update gulp.env deprecation msg to be more helpful
|
||||
|
||||
|
||||
## 3.5.2
|
||||
|
||||
- add -V for version on CLI (unix standard)
|
||||
- -v is deprecated, use -V
|
||||
- add -T as an alias for --tasks
|
||||
- documentation
|
||||
|
||||
## 3.5
|
||||
|
||||
- added `gulp.watch(globs, tasksArray)` sugar
|
||||
- remove gulp.taskQueue
|
||||
- deprecate gulp.run
|
||||
- deprecate gulp.env
|
||||
- add engineStrict to prevent people with node < 0.9 from installing
|
||||
|
||||
## 3.4
|
||||
|
||||
- added `--tasks` that prints out the tree of tasks + deps
|
||||
- global cli + local install mismatch is no longer fatal
|
||||
- remove tests for fs stuff
|
||||
- switch core src, dest, and watch to vinyl-fs
|
||||
- internal cleaning
|
||||
|
||||
## 3.3.4
|
||||
|
||||
- `--base` is now `--cwd`
|
||||
|
||||
## 3.3.3
|
||||
|
||||
- support for `--base` CLI arg to change where the search for gulpfile/`--require`s starts
|
||||
- support for `--gulpfile` CLI arg to point to a gulpfile specifically
|
||||
|
||||
## 3.3.0
|
||||
|
||||
- file.contents streams are no longer paused coming out of src
|
||||
- dest now passes files through before they are empty to fix passing to multiple dests
|
||||
|
||||
## 3.2.4
|
||||
|
||||
- Bug fix - we didn't have any CLI tests
|
||||
|
||||
## 3.2.3
|
||||
|
||||
- Update dependencies for bug fixes
|
||||
- autocomplete stuff in the completion folder
|
||||
|
||||
## 3.2
|
||||
|
||||
- File object is now [vinyl](https://github.com/wearefractal/vinyl)
|
||||
- .watch() is now [glob-watcher](https://github.com/wearefractal/glob-watcher)
|
||||
- Fix CLI -v when no gulpfile found
|
||||
- gulp-util updated
|
||||
- Logging moved to CLI bin file
|
||||
- Will cause double logging if you update global CLI to 3.2 but not local
|
||||
- Will cause no logging if you update local to 3.1 but not global CLI
|
||||
- Drop support for < 0.9
|
||||
|
||||
## 3.1.3
|
||||
|
||||
- Move isStream and isBuffer to gulp-util
|
||||
|
||||
## 3.1
|
||||
|
||||
- Move file class to gulp-util
|
||||
|
||||
## 3.0
|
||||
|
||||
- Ability to pass multiple globs and glob negations to glob-stream
|
||||
- Breaking change to the way glob-stream works
|
||||
- File object is now a class
|
||||
- file.shortened changed to file.relative
|
||||
- file.cwd added
|
||||
- Break out getStats to avoid nesting
|
||||
- Major code reorganization
|
||||
|
||||
## 2.7
|
||||
|
||||
- Breaking change to the way options are passed to glob-stream
|
||||
- Introduce new File object to ease pain of computing shortened names (now a getter)
|
||||
|
||||
## 2.4 - 2.6
|
||||
|
||||
- Moved stuff to gulp-util
|
||||
- Quit exposing createGlobStream (just use the glob-stream module)
|
||||
- More logging
|
||||
- Prettier time durations
|
||||
- Tons of documentation changes
|
||||
- gulp.trigger(tasks...) as a through stream
|
||||
|
||||
## 1.2-2.4 (11/12/13)
|
||||
|
||||
- src buffer=false fixed for 0.8 and 0.9 (remember to .resume() on these versions before consuming)
|
||||
- CLI completely rewritten
|
||||
- Colorful logging
|
||||
- Uses local version of gulp to run tasks
|
||||
- Uses findup to locate gulpfile (so you can run it anywhere in your project)
|
||||
- chdir to gulpfile directory before loading it
|
||||
- Correct exit codes on errors
|
||||
- silent flag added to gulp to disable logging
|
||||
- Fixes to task orchestration (3rd party)
|
||||
- Better support for globbed directories (thanks @robrich)
|
||||
|
||||
## 1.2 (10/28/13)
|
||||
|
||||
- Can specify buffer=false on src streams to make file.content a stream
|
||||
- Can specify read=false on src streams to disable file.content
|
||||
|
||||
## 1.1 (10/21/13)
|
||||
|
||||
- Can specify run callback
|
||||
- Can specify task dependencies
|
||||
- Tasks can accept callback or return promise
|
||||
- `gulp.verbose` exposes run-time internals
|
||||
|
||||
## 1.0 (9/26/13)
|
||||
|
||||
- Specify dependency versions
|
||||
- Updated docs
|
||||
|
||||
## 0.2 (8/6/13)
|
||||
|
||||
- Rename .files() to .src() and .folder() to .dest()
|
||||
|
||||
## 0.1 (7/18/13)
|
||||
|
||||
- Initial Release
|
22
node_modules/gulp/LICENSE
generated
vendored
Normal file
22
node_modules/gulp/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2016 Fractal <contact@wearefractal.com>
|
||||
|
||||
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.
|
103
node_modules/gulp/README.md
generated
vendored
Normal file
103
node_modules/gulp/README.md
generated
vendored
Normal file
@@ -0,0 +1,103 @@
|
||||
<p align="center">
|
||||
<a href="http://gulpjs.com">
|
||||
<img height="257" width="114" src="https://raw.githubusercontent.com/gulpjs/artwork/master/gulp-2x.png">
|
||||
</a>
|
||||
<p align="center">The streaming build system</p>
|
||||
</p>
|
||||
|
||||
[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Coveralls Status][coveralls-image]][coveralls-url] [![Gitter chat][gitter-image]][gitter-url]
|
||||
|
||||
## What is gulp?
|
||||
|
||||
- **Automation** - gulp is a toolkit that helps you automate painful or time-consuming tasks in your development workflow.
|
||||
- **Platform-agnostic** - Integrations are built into all major IDEs and people are using gulp with PHP, .NET, Node.js, Java, and other platforms.
|
||||
- **Strong Ecosystem** - Use npm modules to do anything you want + over 2000 curated plugins for streaming file transformations
|
||||
- **Simple** - By providing only a minimal API surface, gulp is easy to learn and simple to use
|
||||
|
||||
## Documentation
|
||||
|
||||
For a Getting started guide, API docs, recipes, making a plugin, etc. check out or docs!
|
||||
|
||||
- Need something reliable? Check out the [documentation for the current release](/docs/README.md)!
|
||||
- Want to help us test the latest and greatest? Check out the [documentation for the next release](https://github.com/gulpjs/gulp/tree/4.0)!
|
||||
|
||||
## Sample `gulpfile.js`
|
||||
|
||||
This file will give you a taste of what gulp does.
|
||||
|
||||
```js
|
||||
var gulp = require('gulp');
|
||||
var coffee = require('gulp-coffee');
|
||||
var concat = require('gulp-concat');
|
||||
var uglify = require('gulp-uglify');
|
||||
var imagemin = require('gulp-imagemin');
|
||||
var sourcemaps = require('gulp-sourcemaps');
|
||||
var del = require('del');
|
||||
|
||||
var paths = {
|
||||
scripts: ['client/js/**/*.coffee', '!client/external/**/*.coffee'],
|
||||
images: 'client/img/**/*'
|
||||
};
|
||||
|
||||
// Not all tasks need to use streams
|
||||
// A gulpfile is just another node program and you can use any package available on npm
|
||||
gulp.task('clean', function() {
|
||||
// You can use multiple globbing patterns as you would with `gulp.src`
|
||||
return del(['build']);
|
||||
});
|
||||
|
||||
gulp.task('scripts', ['clean'], function() {
|
||||
// Minify and copy all JavaScript (except vendor scripts)
|
||||
// with sourcemaps all the way down
|
||||
return gulp.src(paths.scripts)
|
||||
.pipe(sourcemaps.init())
|
||||
.pipe(coffee())
|
||||
.pipe(uglify())
|
||||
.pipe(concat('all.min.js'))
|
||||
.pipe(sourcemaps.write())
|
||||
.pipe(gulp.dest('build/js'));
|
||||
});
|
||||
|
||||
// Copy all static images
|
||||
gulp.task('images', ['clean'], function() {
|
||||
return gulp.src(paths.images)
|
||||
// Pass in options to the task
|
||||
.pipe(imagemin({optimizationLevel: 5}))
|
||||
.pipe(gulp.dest('build/img'));
|
||||
});
|
||||
|
||||
// Rerun the task when a file changes
|
||||
gulp.task('watch', function() {
|
||||
gulp.watch(paths.scripts, ['scripts']);
|
||||
gulp.watch(paths.images, ['images']);
|
||||
});
|
||||
|
||||
// The default task (called when you run `gulp` from cli)
|
||||
gulp.task('default', ['watch', 'scripts', 'images']);
|
||||
```
|
||||
|
||||
## Incremental Builds
|
||||
|
||||
We recommend these plugins:
|
||||
|
||||
- [gulp-changed](https://github.com/sindresorhus/gulp-changed) - only pass through changed files
|
||||
- [gulp-cached](https://github.com/contra/gulp-cached) - in-memory file cache, not for operation on sets of files
|
||||
- [gulp-remember](https://github.com/ahaurw01/gulp-remember) - pairs nicely with gulp-cached
|
||||
- [gulp-newer](https://github.com/tschaub/gulp-newer) - pass through newer source files only, supports many:1 source:dest
|
||||
|
||||
## Want to contribute?
|
||||
|
||||
Anyone can help make this project better - check out our [Contributing guide](/CONTRIBUTING.md)!
|
||||
|
||||
[downloads-image]: https://img.shields.io/npm/dm/gulp.svg
|
||||
[npm-url]: https://www.npmjs.com/package/gulp
|
||||
[npm-image]: https://img.shields.io/npm/v/gulp.svg
|
||||
|
||||
[travis-url]: https://travis-ci.org/gulpjs/gulp
|
||||
[travis-image]: https://img.shields.io/travis/gulpjs/gulp.svg
|
||||
|
||||
[coveralls-url]: https://coveralls.io/r/gulpjs/gulp
|
||||
[coveralls-image]: https://img.shields.io/coveralls/gulpjs/gulp/master.svg
|
||||
|
||||
[gitter-url]: https://gitter.im/gulpjs/gulp
|
||||
[gitter-image]: https://badges.gitter.im/gulpjs/gulp.png
|
212
node_modules/gulp/bin/gulp.js
generated
vendored
Executable file
212
node_modules/gulp/bin/gulp.js
generated
vendored
Executable file
@@ -0,0 +1,212 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
'use strict';
|
||||
var gutil = require('gulp-util');
|
||||
var prettyTime = require('pretty-hrtime');
|
||||
var chalk = require('chalk');
|
||||
var semver = require('semver');
|
||||
var archy = require('archy');
|
||||
var Liftoff = require('liftoff');
|
||||
var tildify = require('tildify');
|
||||
var interpret = require('interpret');
|
||||
var v8flags = require('v8flags');
|
||||
var completion = require('../lib/completion');
|
||||
var argv = require('minimist')(process.argv.slice(2));
|
||||
var taskTree = require('../lib/taskTree');
|
||||
|
||||
// Set env var for ORIGINAL cwd
|
||||
// before anything touches it
|
||||
process.env.INIT_CWD = process.cwd();
|
||||
|
||||
var cli = new Liftoff({
|
||||
name: 'gulp',
|
||||
completions: completion,
|
||||
extensions: interpret.jsVariants,
|
||||
v8flags: v8flags,
|
||||
});
|
||||
|
||||
// Exit with 0 or 1
|
||||
var failed = false;
|
||||
process.once('exit', function(code) {
|
||||
if (code === 0 && failed) {
|
||||
process.exit(1);
|
||||
}
|
||||
});
|
||||
|
||||
// Parse those args m8
|
||||
var cliPackage = require('../package');
|
||||
var versionFlag = argv.v || argv.version;
|
||||
var tasksFlag = argv.T || argv.tasks;
|
||||
var tasks = argv._;
|
||||
var toRun = tasks.length ? tasks : ['default'];
|
||||
|
||||
// This is a hold-over until we have a better logging system
|
||||
// with log levels
|
||||
var simpleTasksFlag = argv['tasks-simple'];
|
||||
var shouldLog = !argv.silent && !simpleTasksFlag;
|
||||
|
||||
if (!shouldLog) {
|
||||
gutil.log = function() {};
|
||||
}
|
||||
|
||||
cli.on('require', function(name) {
|
||||
gutil.log('Requiring external module', chalk.magenta(name));
|
||||
});
|
||||
|
||||
cli.on('requireFail', function(name) {
|
||||
gutil.log(chalk.red('Failed to load external module'), chalk.magenta(name));
|
||||
});
|
||||
|
||||
cli.on('respawn', function(flags, child) {
|
||||
var nodeFlags = chalk.magenta(flags.join(', '));
|
||||
var pid = chalk.magenta(child.pid);
|
||||
gutil.log('Node flags detected:', nodeFlags);
|
||||
gutil.log('Respawned to PID:', pid);
|
||||
});
|
||||
|
||||
cli.launch({
|
||||
cwd: argv.cwd,
|
||||
configPath: argv.gulpfile,
|
||||
require: argv.require,
|
||||
completion: argv.completion,
|
||||
}, handleArguments);
|
||||
|
||||
// The actual logic
|
||||
function handleArguments(env) {
|
||||
if (versionFlag && tasks.length === 0) {
|
||||
gutil.log('CLI version', cliPackage.version);
|
||||
if (env.modulePackage && typeof env.modulePackage.version !== 'undefined') {
|
||||
gutil.log('Local version', env.modulePackage.version);
|
||||
}
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
if (!env.modulePath) {
|
||||
gutil.log(
|
||||
chalk.red('Local gulp not found in'),
|
||||
chalk.magenta(tildify(env.cwd))
|
||||
);
|
||||
gutil.log(chalk.red('Try running: npm install gulp'));
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
if (!env.configPath) {
|
||||
gutil.log(chalk.red('No gulpfile found'));
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
// Check for semver difference between cli and local installation
|
||||
if (semver.gt(cliPackage.version, env.modulePackage.version)) {
|
||||
gutil.log(chalk.red('Warning: gulp version mismatch:'));
|
||||
gutil.log(chalk.red('Global gulp is', cliPackage.version));
|
||||
gutil.log(chalk.red('Local gulp is', env.modulePackage.version));
|
||||
}
|
||||
|
||||
// Chdir before requiring gulpfile to make sure
|
||||
// we let them chdir as needed
|
||||
if (process.cwd() !== env.cwd) {
|
||||
process.chdir(env.cwd);
|
||||
gutil.log(
|
||||
'Working directory changed to',
|
||||
chalk.magenta(tildify(env.cwd))
|
||||
);
|
||||
}
|
||||
|
||||
// This is what actually loads up the gulpfile
|
||||
require(env.configPath);
|
||||
gutil.log('Using gulpfile', chalk.magenta(tildify(env.configPath)));
|
||||
|
||||
var gulpInst = require(env.modulePath);
|
||||
logEvents(gulpInst);
|
||||
|
||||
process.nextTick(function() {
|
||||
if (simpleTasksFlag) {
|
||||
return logTasksSimple(env, gulpInst);
|
||||
}
|
||||
if (tasksFlag) {
|
||||
return logTasks(env, gulpInst);
|
||||
}
|
||||
gulpInst.start.apply(gulpInst, toRun);
|
||||
});
|
||||
}
|
||||
|
||||
function logTasks(env, localGulp) {
|
||||
var tree = taskTree(localGulp.tasks);
|
||||
tree.label = 'Tasks for ' + chalk.magenta(tildify(env.configPath));
|
||||
archy(tree)
|
||||
.split('\n')
|
||||
.forEach(function(v) {
|
||||
if (v.trim().length === 0) {
|
||||
return;
|
||||
}
|
||||
gutil.log(v);
|
||||
});
|
||||
}
|
||||
|
||||
function logTasksSimple(env, localGulp) {
|
||||
console.log(Object.keys(localGulp.tasks)
|
||||
.join('\n')
|
||||
.trim());
|
||||
}
|
||||
|
||||
// Format orchestrator errors
|
||||
function formatError(e) {
|
||||
if (!e.err) {
|
||||
return e.message;
|
||||
}
|
||||
|
||||
// PluginError
|
||||
if (typeof e.err.showStack === 'boolean') {
|
||||
return e.err.toString();
|
||||
}
|
||||
|
||||
// Normal error
|
||||
if (e.err.stack) {
|
||||
return e.err.stack;
|
||||
}
|
||||
|
||||
// Unknown (string, number, etc.)
|
||||
return new Error(String(e.err)).stack;
|
||||
}
|
||||
|
||||
// Wire up logging events
|
||||
function logEvents(gulpInst) {
|
||||
|
||||
// Total hack due to poor error management in orchestrator
|
||||
gulpInst.on('err', function() {
|
||||
failed = true;
|
||||
});
|
||||
|
||||
gulpInst.on('task_start', function(e) {
|
||||
// TODO: batch these
|
||||
// so when 5 tasks start at once it only logs one time with all 5
|
||||
gutil.log('Starting', '\'' + chalk.cyan(e.task) + '\'...');
|
||||
});
|
||||
|
||||
gulpInst.on('task_stop', function(e) {
|
||||
var time = prettyTime(e.hrDuration);
|
||||
gutil.log(
|
||||
'Finished', '\'' + chalk.cyan(e.task) + '\'',
|
||||
'after', chalk.magenta(time)
|
||||
);
|
||||
});
|
||||
|
||||
gulpInst.on('task_err', function(e) {
|
||||
var msg = formatError(e);
|
||||
var time = prettyTime(e.hrDuration);
|
||||
gutil.log(
|
||||
'\'' + chalk.cyan(e.task) + '\'',
|
||||
chalk.red('errored after'),
|
||||
chalk.magenta(time)
|
||||
);
|
||||
gutil.log(msg);
|
||||
});
|
||||
|
||||
gulpInst.on('task_not_found', function(err) {
|
||||
gutil.log(
|
||||
chalk.red('Task \'' + err.task + '\' is not in your gulpfile')
|
||||
);
|
||||
gutil.log('Please check the documentation for proper gulpfile formatting');
|
||||
process.exit(1);
|
||||
});
|
||||
}
|
20
node_modules/gulp/completion/README.md
generated
vendored
Normal file
20
node_modules/gulp/completion/README.md
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
# Completion for gulp
|
||||
> Thanks to grunt team and Tyler Kellen
|
||||
|
||||
To enable tasks auto-completion in shell you should add `eval "$(gulp --completion=shell)"` in your `.shellrc` file.
|
||||
|
||||
## Bash
|
||||
|
||||
Add `eval "$(gulp --completion=bash)"` to `~/.bashrc`.
|
||||
|
||||
## Zsh
|
||||
|
||||
Add `eval "$(gulp --completion=zsh)"` to `~/.zshrc`.
|
||||
|
||||
## Powershell
|
||||
|
||||
Add `Invoke-Expression ((gulp --completion=powershell) -join [System.Environment]::NewLine)` to `$PROFILE`.
|
||||
|
||||
## Fish
|
||||
|
||||
Add `gulp --completion=fish | source` to `~/.config/fish/config.fish`.
|
27
node_modules/gulp/completion/bash
generated
vendored
Normal file
27
node_modules/gulp/completion/bash
generated
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Borrowed from grunt-cli
|
||||
# http://gruntjs.com/
|
||||
#
|
||||
# Copyright (c) 2012 Tyler Kellen, contributors
|
||||
# Licensed under the MIT license.
|
||||
# https://github.com/gruntjs/grunt/blob/master/LICENSE-MIT
|
||||
|
||||
# Usage:
|
||||
#
|
||||
# To enable bash <tab> completion for gulp, add the following line (minus the
|
||||
# leading #, which is the bash comment character) to your ~/.bashrc file:
|
||||
#
|
||||
# eval "$(gulp --completion=bash)"
|
||||
|
||||
# Enable bash autocompletion.
|
||||
function _gulp_completions() {
|
||||
# The currently-being-completed word.
|
||||
local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
#Grab tasks
|
||||
local compls=$(gulp --tasks-simple)
|
||||
# Tell complete what stuff to show.
|
||||
COMPREPLY=($(compgen -W "$compls" -- "$cur"))
|
||||
}
|
||||
|
||||
complete -o default -F _gulp_completions gulp
|
10
node_modules/gulp/completion/fish
generated
vendored
Normal file
10
node_modules/gulp/completion/fish
generated
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env fish
|
||||
|
||||
# Usage:
|
||||
#
|
||||
# To enable fish <tab> completion for gulp, add the following line to
|
||||
# your ~/.config/fish/config.fish file:
|
||||
#
|
||||
# gulp --completion=fish | source
|
||||
|
||||
complete -c gulp -a "(gulp --tasks-simple)" -f
|
61
node_modules/gulp/completion/powershell
generated
vendored
Normal file
61
node_modules/gulp/completion/powershell
generated
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
# Copyright (c) 2014 Jason Jarrett
|
||||
#
|
||||
# Tab completion for the `gulp`
|
||||
#
|
||||
# Usage:
|
||||
#
|
||||
# To enable powershell <tab> completion for gulp you need to be running
|
||||
# at least PowerShell v3 or greater and add the below to your $PROFILE
|
||||
#
|
||||
# Invoke-Expression ((gulp --completion=powershell) -join [System.Environment]::NewLine)
|
||||
#
|
||||
#
|
||||
|
||||
$gulp_completion_Process = {
|
||||
param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameter)
|
||||
|
||||
|
||||
# Load up an assembly to read the gulpfile's sha1
|
||||
if(-not $global:GulpSHA1Managed) {
|
||||
[Reflection.Assembly]::LoadWithPartialName("System.Security") | out-null
|
||||
$global:GulpSHA1Managed = new-Object System.Security.Cryptography.SHA1Managed
|
||||
}
|
||||
|
||||
# setup a global (in-memory) cache
|
||||
if(-not $global:GulpfileShaCache) {
|
||||
$global:GulpfileShaCache = @{};
|
||||
}
|
||||
|
||||
$cache = $global:GulpfileShaCache;
|
||||
|
||||
# Get the gulpfile's sha1
|
||||
$sha1gulpFile = (resolve-path gulpfile.js -ErrorAction Ignore | %{
|
||||
$file = [System.IO.File]::Open($_.Path, "open", "read")
|
||||
[string]::join('', ($global:GulpSHA1Managed.ComputeHash($file) | %{ $_.ToString("x2") }))
|
||||
$file.Dispose()
|
||||
})
|
||||
|
||||
# lookup the sha1 for previously cached task lists.
|
||||
if($cache.ContainsKey($sha1gulpFile)){
|
||||
$tasks = $cache[$sha1gulpFile];
|
||||
} else {
|
||||
$tasks = (gulp --tasks-simple).split("`n");
|
||||
$cache[$sha1gulpFile] = $tasks;
|
||||
}
|
||||
|
||||
|
||||
$tasks |
|
||||
where { $_.startswith($commandName) }
|
||||
Sort-Object |
|
||||
foreach { New-Object System.Management.Automation.CompletionResult $_, $_, 'ParameterValue', ('{0}' -f $_) }
|
||||
}
|
||||
|
||||
if (-not $global:options) {
|
||||
$global:options = @{
|
||||
CustomArgumentCompleters = @{};
|
||||
NativeArgumentCompleters = @{}
|
||||
}
|
||||
}
|
||||
|
||||
$global:options['NativeArgumentCompleters']['gulp'] = $gulp_completion_Process
|
||||
$function:tabexpansion2 = $function:tabexpansion2 -replace 'End\r\n{','End { if ($null -ne $options) { $options += $global:options} else {$options = $global:options}'
|
25
node_modules/gulp/completion/zsh
generated
vendored
Normal file
25
node_modules/gulp/completion/zsh
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
#!/bin/zsh
|
||||
|
||||
# Borrowed from grunt-cli
|
||||
# http://gruntjs.com/
|
||||
#
|
||||
# Copyright (c) 2012 Tyler Kellen, contributors
|
||||
# Licensed under the MIT license.
|
||||
# https://github.com/gruntjs/grunt/blob/master/LICENSE-MIT
|
||||
|
||||
# Usage:
|
||||
#
|
||||
# To enable zsh <tab> completion for gulp, add the following line (minus the
|
||||
# leading #, which is the zsh comment character) to your ~/.zshrc file:
|
||||
#
|
||||
# eval "$(gulp --completion=zsh)"
|
||||
|
||||
# Enable zsh autocompletion.
|
||||
function _gulp_completion() {
|
||||
# Grab tasks
|
||||
compls=$(gulp --tasks-simple)
|
||||
completions=(${=compls})
|
||||
compadd -- $completions
|
||||
}
|
||||
|
||||
compdef _gulp_completion gulp
|
40
node_modules/gulp/gulp.1
generated
vendored
Normal file
40
node_modules/gulp/gulp.1
generated
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
.TH "GULP" "" "February 2016" "" ""
|
||||
.SH "NAME"
|
||||
\fBgulp\fR
|
||||
.SH gulp CLI docs
|
||||
.SS Flags
|
||||
.P
|
||||
gulp has very few flags to know about\. All other flags are for tasks to use if needed\.
|
||||
.RS 0
|
||||
.IP \(bu 2
|
||||
\fB\-v\fP or \fB\-\-version\fP will display the global and local gulp versions
|
||||
.IP \(bu 2
|
||||
\fB\-\-require <module path>\fP will require a module before running the gulpfile\. This is useful for transpilers but also has other applications\. You can use multiple \fB\-\-require\fP flags
|
||||
.IP \(bu 2
|
||||
\fB\-\-gulpfile <gulpfile path>\fP will manually set path of gulpfile\. Useful if you have multiple gulpfiles\. This will set the CWD to the gulpfile directory as well
|
||||
.IP \(bu 2
|
||||
\fB\-\-cwd <dir path>\fP will manually set the CWD\. The search for the gulpfile, as well as the relativity of all requires will be from here
|
||||
.IP \(bu 2
|
||||
\fB\-T\fP or \fB\-\-tasks\fP will display the task dependency tree for the loaded gulpfile
|
||||
.IP \(bu 2
|
||||
\fB\-\-tasks\-simple\fP will display a plaintext list of tasks for the loaded gulpfile
|
||||
.IP \(bu 2
|
||||
\fB\-\-color\fP will force gulp and gulp plugins to display colors even when no color support is detected
|
||||
.IP \(bu 2
|
||||
\fB\-\-no\-color\fP will force gulp and gulp plugins to not display colors even when color support is detected
|
||||
.IP \(bu 2
|
||||
\fB\-\-silent\fP will disable all gulp logging
|
||||
|
||||
.RE
|
||||
.P
|
||||
The CLI adds process\.env\.INIT_CWD which is the original cwd it was launched from\.
|
||||
.SS Task specific flags
|
||||
.P
|
||||
Refer to this StackOverflow \fIhttp://stackoverflow\.com/questions/23023650/is\-it\-possible\-to\-pass\-a\-flag\-to\-gulp\-to\-have\-it\-run\-tasks\-in\-different\-ways\fR link for how to add task specific flags
|
||||
.SS Tasks
|
||||
.P
|
||||
Tasks can be executed by running \fBgulp <task> <othertask>\fP\|\. Just running \fBgulp\fP will execute the task you registered called \fBdefault\fP\|\. If there is no \fBdefault\fP task gulp will error\.
|
||||
.SS Compilers
|
||||
.P
|
||||
You can find a list of supported languages at interpret \fIhttps://github\.com/tkellen/node\-interpret#jsvariants\fR\|\. If you would like to add support for a new language send pull request/open issues there\.
|
||||
|
63
node_modules/gulp/index.js
generated
vendored
Normal file
63
node_modules/gulp/index.js
generated
vendored
Normal file
@@ -0,0 +1,63 @@
|
||||
'use strict';
|
||||
|
||||
var util = require('util');
|
||||
var Orchestrator = require('orchestrator');
|
||||
var gutil = require('gulp-util');
|
||||
var deprecated = require('deprecated');
|
||||
var vfs = require('vinyl-fs');
|
||||
|
||||
function Gulp() {
|
||||
Orchestrator.call(this);
|
||||
}
|
||||
util.inherits(Gulp, Orchestrator);
|
||||
|
||||
Gulp.prototype.task = Gulp.prototype.add;
|
||||
Gulp.prototype.run = function() {
|
||||
// `run()` is deprecated as of 3.5 and will be removed in 4.0
|
||||
// Use task dependencies instead
|
||||
|
||||
// Impose our opinion of "default" tasks onto orchestrator
|
||||
var tasks = arguments.length ? arguments : ['default'];
|
||||
|
||||
this.start.apply(this, tasks);
|
||||
};
|
||||
|
||||
Gulp.prototype.src = vfs.src;
|
||||
Gulp.prototype.dest = vfs.dest;
|
||||
Gulp.prototype.watch = function(glob, opt, fn) {
|
||||
if (typeof opt === 'function' || Array.isArray(opt)) {
|
||||
fn = opt;
|
||||
opt = null;
|
||||
}
|
||||
|
||||
// Array of tasks given
|
||||
if (Array.isArray(fn)) {
|
||||
return vfs.watch(glob, opt, function() {
|
||||
this.start.apply(this, fn);
|
||||
}.bind(this));
|
||||
}
|
||||
|
||||
return vfs.watch(glob, opt, fn);
|
||||
};
|
||||
|
||||
// Let people use this class from our instance
|
||||
Gulp.prototype.Gulp = Gulp;
|
||||
|
||||
// Deprecations
|
||||
deprecated.field('gulp.env has been deprecated. ' +
|
||||
'Use your own CLI parser instead. ' +
|
||||
'We recommend using yargs or minimist.',
|
||||
console.warn,
|
||||
Gulp.prototype,
|
||||
'env',
|
||||
gutil.env
|
||||
);
|
||||
|
||||
Gulp.prototype.run = deprecated.method('gulp.run() has been deprecated. ' +
|
||||
'Use task dependencies or gulp.watch task triggering instead.',
|
||||
console.warn,
|
||||
Gulp.prototype.run
|
||||
);
|
||||
|
||||
var inst = new Gulp();
|
||||
module.exports = inst;
|
22
node_modules/gulp/lib/completion.js
generated
vendored
Normal file
22
node_modules/gulp/lib/completion.js
generated
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
'use strict';
|
||||
|
||||
var fs = require('fs');
|
||||
var path = require('path');
|
||||
|
||||
module.exports = function(name) {
|
||||
if (typeof name !== 'string') {
|
||||
throw new Error('Missing completion type');
|
||||
}
|
||||
var file = path.join(__dirname, '../completion', name);
|
||||
try {
|
||||
console.log(fs.readFileSync(file, 'utf8'));
|
||||
process.exit(0);
|
||||
} catch (err) {
|
||||
console.log(
|
||||
'echo "gulp autocompletion rules for',
|
||||
'\'' + name + '\'',
|
||||
'not found"'
|
||||
);
|
||||
process.exit(5);
|
||||
}
|
||||
};
|
14
node_modules/gulp/lib/taskTree.js
generated
vendored
Normal file
14
node_modules/gulp/lib/taskTree.js
generated
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = function(tasks) {
|
||||
return Object.keys(tasks)
|
||||
.reduce(function(prev, task) {
|
||||
prev.nodes.push({
|
||||
label: task,
|
||||
nodes: tasks[task].dep,
|
||||
});
|
||||
return prev;
|
||||
}, {
|
||||
nodes: [],
|
||||
});
|
||||
};
|
1
node_modules/gulp/node_modules/.bin/semver
generated
vendored
Symbolic link
1
node_modules/gulp/node_modules/.bin/semver
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../semver/bin/semver
|
4
node_modules/gulp/node_modules/archy/.travis.yml
generated
vendored
Normal file
4
node_modules/gulp/node_modules/archy/.travis.yml
generated
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
language: node_js
|
||||
node_js:
|
||||
- 0.6
|
||||
- 0.8
|
18
node_modules/gulp/node_modules/archy/LICENSE
generated
vendored
Normal file
18
node_modules/gulp/node_modules/archy/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
This software is released under the MIT 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.
|
24
node_modules/gulp/node_modules/archy/examples/beep.js
generated
vendored
Normal file
24
node_modules/gulp/node_modules/archy/examples/beep.js
generated
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
var archy = require('../');
|
||||
var s = archy({
|
||||
label : 'beep',
|
||||
nodes : [
|
||||
'ity',
|
||||
{
|
||||
label : 'boop',
|
||||
nodes : [
|
||||
{
|
||||
label : 'o_O',
|
||||
nodes : [
|
||||
{
|
||||
label : 'oh',
|
||||
nodes : [ 'hello', 'puny' ]
|
||||
},
|
||||
'human'
|
||||
]
|
||||
},
|
||||
'party\ntime!'
|
||||
]
|
||||
}
|
||||
]
|
||||
});
|
||||
console.log(s);
|
25
node_modules/gulp/node_modules/archy/examples/multi_line.js
generated
vendored
Normal file
25
node_modules/gulp/node_modules/archy/examples/multi_line.js
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
var archy = require('../');
|
||||
|
||||
var s = archy({
|
||||
label : 'beep\none\ntwo',
|
||||
nodes : [
|
||||
'ity',
|
||||
{
|
||||
label : 'boop',
|
||||
nodes : [
|
||||
{
|
||||
label : 'o_O\nwheee',
|
||||
nodes : [
|
||||
{
|
||||
label : 'oh',
|
||||
nodes : [ 'hello', 'puny\nmeat' ]
|
||||
},
|
||||
'creature'
|
||||
]
|
||||
},
|
||||
'party\ntime!'
|
||||
]
|
||||
}
|
||||
]
|
||||
});
|
||||
console.log(s);
|
35
node_modules/gulp/node_modules/archy/index.js
generated
vendored
Normal file
35
node_modules/gulp/node_modules/archy/index.js
generated
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
module.exports = function archy (obj, prefix, opts) {
|
||||
if (prefix === undefined) prefix = '';
|
||||
if (!opts) opts = {};
|
||||
var chr = function (s) {
|
||||
var chars = {
|
||||
'│' : '|',
|
||||
'└' : '`',
|
||||
'├' : '+',
|
||||
'─' : '-',
|
||||
'┬' : '-'
|
||||
};
|
||||
return opts.unicode === false ? chars[s] : s;
|
||||
};
|
||||
|
||||
if (typeof obj === 'string') obj = { label : obj };
|
||||
|
||||
var nodes = obj.nodes || [];
|
||||
var lines = (obj.label || '').split('\n');
|
||||
var splitter = '\n' + prefix + (nodes.length ? chr('│') : ' ') + ' ';
|
||||
|
||||
return prefix
|
||||
+ lines.join(splitter) + '\n'
|
||||
+ nodes.map(function (node, ix) {
|
||||
var last = ix === nodes.length - 1;
|
||||
var more = node.nodes && node.nodes.length;
|
||||
var prefix_ = prefix + (last ? ' ' : chr('│')) + ' ';
|
||||
|
||||
return prefix
|
||||
+ (last ? chr('└') : chr('├')) + chr('─')
|
||||
+ (more ? chr('┬') : chr('─')) + ' '
|
||||
+ archy(node, prefix_, opts).slice(prefix.length + 2)
|
||||
;
|
||||
}).join('')
|
||||
;
|
||||
};
|
80
node_modules/gulp/node_modules/archy/package.json
generated
vendored
Normal file
80
node_modules/gulp/node_modules/archy/package.json
generated
vendored
Normal file
@@ -0,0 +1,80 @@
|
||||
{
|
||||
"name": "archy",
|
||||
"version": "1.0.0",
|
||||
"description": "render nested hierarchies `npm ls` style with unicode pipes",
|
||||
"main": "index.js",
|
||||
"devDependencies": {
|
||||
"tap": "~0.3.3",
|
||||
"tape": "~0.1.1"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "tap test"
|
||||
},
|
||||
"testling": {
|
||||
"files": "test/*.js",
|
||||
"browsers": {
|
||||
"iexplore": [
|
||||
"6.0",
|
||||
"7.0",
|
||||
"8.0",
|
||||
"9.0"
|
||||
],
|
||||
"chrome": [
|
||||
"20.0"
|
||||
],
|
||||
"firefox": [
|
||||
"10.0",
|
||||
"15.0"
|
||||
],
|
||||
"safari": [
|
||||
"5.1"
|
||||
],
|
||||
"opera": [
|
||||
"12.0"
|
||||
]
|
||||
}
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+ssh://git@github.com/substack/node-archy.git"
|
||||
},
|
||||
"keywords": [
|
||||
"hierarchy",
|
||||
"npm ls",
|
||||
"unicode",
|
||||
"pretty",
|
||||
"print"
|
||||
],
|
||||
"author": {
|
||||
"name": "James Halliday",
|
||||
"email": "mail@substack.net",
|
||||
"url": "http://substack.net"
|
||||
},
|
||||
"license": "MIT",
|
||||
"gitHead": "30223c16191e877bf027b15b12daf077b9b55b84",
|
||||
"bugs": {
|
||||
"url": "https://github.com/substack/node-archy/issues"
|
||||
},
|
||||
"homepage": "https://github.com/substack/node-archy",
|
||||
"_id": "archy@1.0.0",
|
||||
"_shasum": "f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40",
|
||||
"_from": "archy@>=1.0.0 <2.0.0",
|
||||
"_npmVersion": "1.4.25",
|
||||
"_npmUser": {
|
||||
"name": "substack",
|
||||
"email": "mail@substack.net"
|
||||
},
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "substack",
|
||||
"email": "mail@substack.net"
|
||||
}
|
||||
],
|
||||
"dist": {
|
||||
"shasum": "f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40",
|
||||
"tarball": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz"
|
||||
},
|
||||
"directories": {},
|
||||
"_resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
|
||||
"readme": "ERROR: No README data found!"
|
||||
}
|
88
node_modules/gulp/node_modules/archy/readme.markdown
generated
vendored
Normal file
88
node_modules/gulp/node_modules/archy/readme.markdown
generated
vendored
Normal file
@@ -0,0 +1,88 @@
|
||||
# archy
|
||||
|
||||
Render nested hierarchies `npm ls` style with unicode pipes.
|
||||
|
||||
[](http://ci.testling.com/substack/node-archy)
|
||||
|
||||
[](http://travis-ci.org/substack/node-archy)
|
||||
|
||||
# example
|
||||
|
||||
``` js
|
||||
var archy = require('archy');
|
||||
var s = archy({
|
||||
label : 'beep',
|
||||
nodes : [
|
||||
'ity',
|
||||
{
|
||||
label : 'boop',
|
||||
nodes : [
|
||||
{
|
||||
label : 'o_O',
|
||||
nodes : [
|
||||
{
|
||||
label : 'oh',
|
||||
nodes : [ 'hello', 'puny' ]
|
||||
},
|
||||
'human'
|
||||
]
|
||||
},
|
||||
'party\ntime!'
|
||||
]
|
||||
}
|
||||
]
|
||||
});
|
||||
console.log(s);
|
||||
```
|
||||
|
||||
output
|
||||
|
||||
```
|
||||
beep
|
||||
├── ity
|
||||
└─┬ boop
|
||||
├─┬ o_O
|
||||
│ ├─┬ oh
|
||||
│ │ ├── hello
|
||||
│ │ └── puny
|
||||
│ └── human
|
||||
└── party
|
||||
time!
|
||||
```
|
||||
|
||||
# methods
|
||||
|
||||
var archy = require('archy')
|
||||
|
||||
## archy(obj, prefix='', opts={})
|
||||
|
||||
Return a string representation of `obj` with unicode pipe characters like how
|
||||
`npm ls` looks.
|
||||
|
||||
`obj` should be a tree of nested objects with `'label'` and `'nodes'` fields.
|
||||
`'label'` is a string of text to display at a node level and `'nodes'` is an
|
||||
array of the descendents of the current node.
|
||||
|
||||
If a node is a string, that string will be used as the `'label'` and an empty
|
||||
array of `'nodes'` will be used.
|
||||
|
||||
`prefix` gets prepended to all the lines and is used by the algorithm to
|
||||
recursively update.
|
||||
|
||||
If `'label'` has newlines they will be indented at the present indentation level
|
||||
with the current prefix.
|
||||
|
||||
To disable unicode results in favor of all-ansi output set `opts.unicode` to
|
||||
`false`.
|
||||
|
||||
# install
|
||||
|
||||
With [npm](http://npmjs.org) do:
|
||||
|
||||
```
|
||||
npm install archy
|
||||
```
|
||||
|
||||
# license
|
||||
|
||||
MIT
|
40
node_modules/gulp/node_modules/archy/test/beep.js
generated
vendored
Normal file
40
node_modules/gulp/node_modules/archy/test/beep.js
generated
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
var test = require('tape');
|
||||
var archy = require('../');
|
||||
|
||||
test('beep', function (t) {
|
||||
var s = archy({
|
||||
label : 'beep',
|
||||
nodes : [
|
||||
'ity',
|
||||
{
|
||||
label : 'boop',
|
||||
nodes : [
|
||||
{
|
||||
label : 'o_O',
|
||||
nodes : [
|
||||
{
|
||||
label : 'oh',
|
||||
nodes : [ 'hello', 'puny' ]
|
||||
},
|
||||
'human'
|
||||
]
|
||||
},
|
||||
'party!'
|
||||
]
|
||||
}
|
||||
]
|
||||
});
|
||||
t.equal(s, [
|
||||
'beep',
|
||||
'├── ity',
|
||||
'└─┬ boop',
|
||||
' ├─┬ o_O',
|
||||
' │ ├─┬ oh',
|
||||
' │ │ ├── hello',
|
||||
' │ │ └── puny',
|
||||
' │ └── human',
|
||||
' └── party!',
|
||||
''
|
||||
].join('\n'));
|
||||
t.end();
|
||||
});
|
45
node_modules/gulp/node_modules/archy/test/multi_line.js
generated
vendored
Normal file
45
node_modules/gulp/node_modules/archy/test/multi_line.js
generated
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
var test = require('tape');
|
||||
var archy = require('../');
|
||||
|
||||
test('multi-line', function (t) {
|
||||
var s = archy({
|
||||
label : 'beep\none\ntwo',
|
||||
nodes : [
|
||||
'ity',
|
||||
{
|
||||
label : 'boop',
|
||||
nodes : [
|
||||
{
|
||||
label : 'o_O\nwheee',
|
||||
nodes : [
|
||||
{
|
||||
label : 'oh',
|
||||
nodes : [ 'hello', 'puny\nmeat' ]
|
||||
},
|
||||
'creature'
|
||||
]
|
||||
},
|
||||
'party\ntime!'
|
||||
]
|
||||
}
|
||||
]
|
||||
});
|
||||
t.equal(s, [
|
||||
'beep',
|
||||
'│ one',
|
||||
'│ two',
|
||||
'├── ity',
|
||||
'└─┬ boop',
|
||||
' ├─┬ o_O',
|
||||
' │ │ wheee',
|
||||
' │ ├─┬ oh',
|
||||
' │ │ ├── hello',
|
||||
' │ │ └── puny',
|
||||
' │ │ meat',
|
||||
' │ └── creature',
|
||||
' └── party',
|
||||
' time!',
|
||||
''
|
||||
].join('\n'));
|
||||
t.end();
|
||||
});
|
40
node_modules/gulp/node_modules/archy/test/non_unicode.js
generated
vendored
Normal file
40
node_modules/gulp/node_modules/archy/test/non_unicode.js
generated
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
var test = require('tape');
|
||||
var archy = require('../');
|
||||
|
||||
test('beep', function (t) {
|
||||
var s = archy({
|
||||
label : 'beep',
|
||||
nodes : [
|
||||
'ity',
|
||||
{
|
||||
label : 'boop',
|
||||
nodes : [
|
||||
{
|
||||
label : 'o_O',
|
||||
nodes : [
|
||||
{
|
||||
label : 'oh',
|
||||
nodes : [ 'hello', 'puny' ]
|
||||
},
|
||||
'human'
|
||||
]
|
||||
},
|
||||
'party!'
|
||||
]
|
||||
}
|
||||
]
|
||||
}, '', { unicode : false });
|
||||
t.equal(s, [
|
||||
'beep',
|
||||
'+-- ity',
|
||||
'`-- boop',
|
||||
' +-- o_O',
|
||||
' | +-- oh',
|
||||
' | | +-- hello',
|
||||
' | | `-- puny',
|
||||
' | `-- human',
|
||||
' `-- party!',
|
||||
''
|
||||
].join('\n'));
|
||||
t.end();
|
||||
});
|
116
node_modules/gulp/node_modules/chalk/index.js
generated
vendored
Normal file
116
node_modules/gulp/node_modules/chalk/index.js
generated
vendored
Normal file
@@ -0,0 +1,116 @@
|
||||
'use strict';
|
||||
var escapeStringRegexp = require('escape-string-regexp');
|
||||
var ansiStyles = require('ansi-styles');
|
||||
var stripAnsi = require('strip-ansi');
|
||||
var hasAnsi = require('has-ansi');
|
||||
var supportsColor = require('supports-color');
|
||||
var defineProps = Object.defineProperties;
|
||||
var isSimpleWindowsTerm = process.platform === 'win32' && !/^xterm/i.test(process.env.TERM);
|
||||
|
||||
function Chalk(options) {
|
||||
// detect mode if not set manually
|
||||
this.enabled = !options || options.enabled === undefined ? supportsColor : options.enabled;
|
||||
}
|
||||
|
||||
// use bright blue on Windows as the normal blue color is illegible
|
||||
if (isSimpleWindowsTerm) {
|
||||
ansiStyles.blue.open = '\u001b[94m';
|
||||
}
|
||||
|
||||
var styles = (function () {
|
||||
var ret = {};
|
||||
|
||||
Object.keys(ansiStyles).forEach(function (key) {
|
||||
ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g');
|
||||
|
||||
ret[key] = {
|
||||
get: function () {
|
||||
return build.call(this, this._styles.concat(key));
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
return ret;
|
||||
})();
|
||||
|
||||
var proto = defineProps(function chalk() {}, styles);
|
||||
|
||||
function build(_styles) {
|
||||
var builder = function () {
|
||||
return applyStyle.apply(builder, arguments);
|
||||
};
|
||||
|
||||
builder._styles = _styles;
|
||||
builder.enabled = this.enabled;
|
||||
// __proto__ is used because we must return a function, but there is
|
||||
// no way to create a function with a different prototype.
|
||||
/* eslint-disable no-proto */
|
||||
builder.__proto__ = proto;
|
||||
|
||||
return builder;
|
||||
}
|
||||
|
||||
function applyStyle() {
|
||||
// support varags, but simply cast to string in case there's only one arg
|
||||
var args = arguments;
|
||||
var argsLen = args.length;
|
||||
var str = argsLen !== 0 && String(arguments[0]);
|
||||
|
||||
if (argsLen > 1) {
|
||||
// don't slice `arguments`, it prevents v8 optimizations
|
||||
for (var a = 1; a < argsLen; a++) {
|
||||
str += ' ' + args[a];
|
||||
}
|
||||
}
|
||||
|
||||
if (!this.enabled || !str) {
|
||||
return str;
|
||||
}
|
||||
|
||||
var nestedStyles = this._styles;
|
||||
var i = nestedStyles.length;
|
||||
|
||||
// Turns out that on Windows dimmed gray text becomes invisible in cmd.exe,
|
||||
// see https://github.com/chalk/chalk/issues/58
|
||||
// If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop.
|
||||
var originalDim = ansiStyles.dim.open;
|
||||
if (isSimpleWindowsTerm && (nestedStyles.indexOf('gray') !== -1 || nestedStyles.indexOf('grey') !== -1)) {
|
||||
ansiStyles.dim.open = '';
|
||||
}
|
||||
|
||||
while (i--) {
|
||||
var code = ansiStyles[nestedStyles[i]];
|
||||
|
||||
// Replace any instances already present with a re-opening code
|
||||
// otherwise only the part of the string until said closing code
|
||||
// will be colored, and the rest will simply be 'plain'.
|
||||
str = code.open + str.replace(code.closeRe, code.open) + code.close;
|
||||
}
|
||||
|
||||
// Reset the original 'dim' if we changed it to work around the Windows dimmed gray issue.
|
||||
ansiStyles.dim.open = originalDim;
|
||||
|
||||
return str;
|
||||
}
|
||||
|
||||
function init() {
|
||||
var ret = {};
|
||||
|
||||
Object.keys(styles).forEach(function (name) {
|
||||
ret[name] = {
|
||||
get: function () {
|
||||
return build.call(this, [name]);
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
defineProps(Chalk.prototype, init());
|
||||
|
||||
module.exports = new Chalk();
|
||||
module.exports.styles = ansiStyles;
|
||||
module.exports.hasColor = hasAnsi;
|
||||
module.exports.stripColor = stripAnsi;
|
||||
module.exports.supportsColor = supportsColor;
|
21
node_modules/gulp/node_modules/chalk/license
generated
vendored
Normal file
21
node_modules/gulp/node_modules/chalk/license
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
|
||||
|
||||
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.
|
65
node_modules/gulp/node_modules/chalk/node_modules/ansi-styles/index.js
generated
vendored
Normal file
65
node_modules/gulp/node_modules/chalk/node_modules/ansi-styles/index.js
generated
vendored
Normal file
@@ -0,0 +1,65 @@
|
||||
'use strict';
|
||||
|
||||
function assembleStyles () {
|
||||
var styles = {
|
||||
modifiers: {
|
||||
reset: [0, 0],
|
||||
bold: [1, 22], // 21 isn't widely supported and 22 does the same thing
|
||||
dim: [2, 22],
|
||||
italic: [3, 23],
|
||||
underline: [4, 24],
|
||||
inverse: [7, 27],
|
||||
hidden: [8, 28],
|
||||
strikethrough: [9, 29]
|
||||
},
|
||||
colors: {
|
||||
black: [30, 39],
|
||||
red: [31, 39],
|
||||
green: [32, 39],
|
||||
yellow: [33, 39],
|
||||
blue: [34, 39],
|
||||
magenta: [35, 39],
|
||||
cyan: [36, 39],
|
||||
white: [37, 39],
|
||||
gray: [90, 39]
|
||||
},
|
||||
bgColors: {
|
||||
bgBlack: [40, 49],
|
||||
bgRed: [41, 49],
|
||||
bgGreen: [42, 49],
|
||||
bgYellow: [43, 49],
|
||||
bgBlue: [44, 49],
|
||||
bgMagenta: [45, 49],
|
||||
bgCyan: [46, 49],
|
||||
bgWhite: [47, 49]
|
||||
}
|
||||
};
|
||||
|
||||
// fix humans
|
||||
styles.colors.grey = styles.colors.gray;
|
||||
|
||||
Object.keys(styles).forEach(function (groupName) {
|
||||
var group = styles[groupName];
|
||||
|
||||
Object.keys(group).forEach(function (styleName) {
|
||||
var style = group[styleName];
|
||||
|
||||
styles[styleName] = group[styleName] = {
|
||||
open: '\u001b[' + style[0] + 'm',
|
||||
close: '\u001b[' + style[1] + 'm'
|
||||
};
|
||||
});
|
||||
|
||||
Object.defineProperty(styles, groupName, {
|
||||
value: group,
|
||||
enumerable: false
|
||||
});
|
||||
});
|
||||
|
||||
return styles;
|
||||
}
|
||||
|
||||
Object.defineProperty(module, 'exports', {
|
||||
enumerable: true,
|
||||
get: assembleStyles
|
||||
});
|
21
node_modules/gulp/node_modules/chalk/node_modules/ansi-styles/license
generated
vendored
Normal file
21
node_modules/gulp/node_modules/chalk/node_modules/ansi-styles/license
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
|
||||
|
||||
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.
|
80
node_modules/gulp/node_modules/chalk/node_modules/ansi-styles/package.json
generated
vendored
Normal file
80
node_modules/gulp/node_modules/chalk/node_modules/ansi-styles/package.json
generated
vendored
Normal file
@@ -0,0 +1,80 @@
|
||||
{
|
||||
"name": "ansi-styles",
|
||||
"version": "2.2.1",
|
||||
"description": "ANSI escape codes for styling strings in the terminal",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/chalk/ansi-styles.git"
|
||||
},
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
}
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "mocha"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"keywords": [
|
||||
"ansi",
|
||||
"styles",
|
||||
"color",
|
||||
"colour",
|
||||
"colors",
|
||||
"terminal",
|
||||
"console",
|
||||
"cli",
|
||||
"string",
|
||||
"tty",
|
||||
"escape",
|
||||
"formatting",
|
||||
"rgb",
|
||||
"256",
|
||||
"shell",
|
||||
"xterm",
|
||||
"log",
|
||||
"logging",
|
||||
"command-line",
|
||||
"text"
|
||||
],
|
||||
"devDependencies": {
|
||||
"mocha": "*"
|
||||
},
|
||||
"gitHead": "95c59b23be760108b6530ca1c89477c21b258032",
|
||||
"bugs": {
|
||||
"url": "https://github.com/chalk/ansi-styles/issues"
|
||||
},
|
||||
"homepage": "https://github.com/chalk/ansi-styles#readme",
|
||||
"_id": "ansi-styles@2.2.1",
|
||||
"_shasum": "b432dd3358b634cf75e1e4664368240533c1ddbe",
|
||||
"_from": "ansi-styles@>=2.2.1 <3.0.0",
|
||||
"_npmVersion": "3.8.3",
|
||||
"_nodeVersion": "4.3.0",
|
||||
"_npmUser": {
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
},
|
||||
"dist": {
|
||||
"shasum": "b432dd3358b634cf75e1e4664368240533c1ddbe",
|
||||
"tarball": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz"
|
||||
},
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-12-west.internal.npmjs.com",
|
||||
"tmp": "tmp/ansi-styles-2.2.1.tgz_1459197317833_0.9694824463222176"
|
||||
},
|
||||
"directories": {},
|
||||
"_resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
|
||||
"readme": "ERROR: No README data found!"
|
||||
}
|
86
node_modules/gulp/node_modules/chalk/node_modules/ansi-styles/readme.md
generated
vendored
Normal file
86
node_modules/gulp/node_modules/chalk/node_modules/ansi-styles/readme.md
generated
vendored
Normal file
@@ -0,0 +1,86 @@
|
||||
# ansi-styles [](https://travis-ci.org/chalk/ansi-styles)
|
||||
|
||||
> [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles) for styling strings in the terminal
|
||||
|
||||
You probably want the higher-level [chalk](https://github.com/chalk/chalk) module for styling your strings.
|
||||
|
||||

|
||||
|
||||
|
||||
## Install
|
||||
|
||||
```
|
||||
$ npm install --save ansi-styles
|
||||
```
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
var ansi = require('ansi-styles');
|
||||
|
||||
console.log(ansi.green.open + 'Hello world!' + ansi.green.close);
|
||||
```
|
||||
|
||||
|
||||
## API
|
||||
|
||||
Each style has an `open` and `close` property.
|
||||
|
||||
|
||||
## Styles
|
||||
|
||||
### Modifiers
|
||||
|
||||
- `reset`
|
||||
- `bold`
|
||||
- `dim`
|
||||
- `italic` *(not widely supported)*
|
||||
- `underline`
|
||||
- `inverse`
|
||||
- `hidden`
|
||||
- `strikethrough` *(not widely supported)*
|
||||
|
||||
### Colors
|
||||
|
||||
- `black`
|
||||
- `red`
|
||||
- `green`
|
||||
- `yellow`
|
||||
- `blue`
|
||||
- `magenta`
|
||||
- `cyan`
|
||||
- `white`
|
||||
- `gray`
|
||||
|
||||
### Background colors
|
||||
|
||||
- `bgBlack`
|
||||
- `bgRed`
|
||||
- `bgGreen`
|
||||
- `bgYellow`
|
||||
- `bgBlue`
|
||||
- `bgMagenta`
|
||||
- `bgCyan`
|
||||
- `bgWhite`
|
||||
|
||||
|
||||
## Advanced usage
|
||||
|
||||
By default you get a map of styles, but the styles are also available as groups. They are non-enumerable so they don't show up unless you access them explicitly. This makes it easier to expose only a subset in a higher-level module.
|
||||
|
||||
- `ansi.modifiers`
|
||||
- `ansi.colors`
|
||||
- `ansi.bgColors`
|
||||
|
||||
|
||||
###### Example
|
||||
|
||||
```js
|
||||
console.log(ansi.colors.green.open);
|
||||
```
|
||||
|
||||
|
||||
## License
|
||||
|
||||
MIT © [Sindre Sorhus](http://sindresorhus.com)
|
11
node_modules/gulp/node_modules/chalk/node_modules/escape-string-regexp/index.js
generated
vendored
Normal file
11
node_modules/gulp/node_modules/chalk/node_modules/escape-string-regexp/index.js
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
'use strict';
|
||||
|
||||
var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g;
|
||||
|
||||
module.exports = function (str) {
|
||||
if (typeof str !== 'string') {
|
||||
throw new TypeError('Expected a string');
|
||||
}
|
||||
|
||||
return str.replace(matchOperatorsRe, '\\$&');
|
||||
};
|
21
node_modules/gulp/node_modules/chalk/node_modules/escape-string-regexp/license
generated
vendored
Normal file
21
node_modules/gulp/node_modules/chalk/node_modules/escape-string-regexp/license
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
|
||||
|
||||
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.
|
75
node_modules/gulp/node_modules/chalk/node_modules/escape-string-regexp/package.json
generated
vendored
Normal file
75
node_modules/gulp/node_modules/chalk/node_modules/escape-string-regexp/package.json
generated
vendored
Normal file
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"name": "escape-string-regexp",
|
||||
"version": "1.0.5",
|
||||
"description": "Escape RegExp special characters",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/escape-string-regexp.git"
|
||||
},
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "jbnicolai",
|
||||
"email": "jappelman@xebia.com"
|
||||
}
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=0.8.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"keywords": [
|
||||
"escape",
|
||||
"regex",
|
||||
"regexp",
|
||||
"re",
|
||||
"regular",
|
||||
"expression",
|
||||
"string",
|
||||
"str",
|
||||
"special",
|
||||
"characters"
|
||||
],
|
||||
"devDependencies": {
|
||||
"ava": "*",
|
||||
"xo": "*"
|
||||
},
|
||||
"gitHead": "db124a3e1aae9d692c4899e42a5c6c3e329eaa20",
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/escape-string-regexp/issues"
|
||||
},
|
||||
"homepage": "https://github.com/sindresorhus/escape-string-regexp",
|
||||
"_id": "escape-string-regexp@1.0.5",
|
||||
"_shasum": "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4",
|
||||
"_from": "escape-string-regexp@>=1.0.2 <2.0.0",
|
||||
"_npmVersion": "2.14.12",
|
||||
"_nodeVersion": "4.2.6",
|
||||
"_npmUser": {
|
||||
"name": "jbnicolai",
|
||||
"email": "jappelman@xebia.com"
|
||||
},
|
||||
"dist": {
|
||||
"shasum": "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4",
|
||||
"tarball": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
|
||||
},
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-9-west.internal.npmjs.com",
|
||||
"tmp": "tmp/escape-string-regexp-1.0.5.tgz_1456059312074_0.7245344955008477"
|
||||
},
|
||||
"directories": {},
|
||||
"_resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
||||
"readme": "ERROR: No README data found!"
|
||||
}
|
27
node_modules/gulp/node_modules/chalk/node_modules/escape-string-regexp/readme.md
generated
vendored
Normal file
27
node_modules/gulp/node_modules/chalk/node_modules/escape-string-regexp/readme.md
generated
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
# escape-string-regexp [](https://travis-ci.org/sindresorhus/escape-string-regexp)
|
||||
|
||||
> Escape RegExp special characters
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
```
|
||||
$ npm install --save escape-string-regexp
|
||||
```
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
const escapeStringRegexp = require('escape-string-regexp');
|
||||
|
||||
const escapedString = escapeStringRegexp('how much $ for a unicorn?');
|
||||
//=> 'how much \$ for a unicorn\?'
|
||||
|
||||
new RegExp(escapedString);
|
||||
```
|
||||
|
||||
|
||||
## License
|
||||
|
||||
MIT © [Sindre Sorhus](http://sindresorhus.com)
|
4
node_modules/gulp/node_modules/chalk/node_modules/has-ansi/index.js
generated
vendored
Normal file
4
node_modules/gulp/node_modules/chalk/node_modules/has-ansi/index.js
generated
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
'use strict';
|
||||
var ansiRegex = require('ansi-regex');
|
||||
var re = new RegExp(ansiRegex().source); // remove the `g` flag
|
||||
module.exports = re.test.bind(re);
|
21
node_modules/gulp/node_modules/chalk/node_modules/has-ansi/license
generated
vendored
Normal file
21
node_modules/gulp/node_modules/chalk/node_modules/has-ansi/license
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
|
||||
|
||||
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.
|
4
node_modules/gulp/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/index.js
generated
vendored
Normal file
4
node_modules/gulp/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/index.js
generated
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
'use strict';
|
||||
module.exports = function () {
|
||||
return /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-PRZcf-nqry=><]/g;
|
||||
};
|
21
node_modules/gulp/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/license
generated
vendored
Normal file
21
node_modules/gulp/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/license
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
|
||||
|
||||
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.
|
97
node_modules/gulp/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/package.json
generated
vendored
Normal file
97
node_modules/gulp/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/package.json
generated
vendored
Normal file
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"name": "ansi-regex",
|
||||
"version": "2.1.1",
|
||||
"description": "Regular expression for matching ANSI escape codes",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/chalk/ansi-regex.git"
|
||||
},
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "qix",
|
||||
"email": "i.am.qix@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
}
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava --verbose",
|
||||
"view-supported": "node fixtures/view-codes.js"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"keywords": [
|
||||
"ansi",
|
||||
"styles",
|
||||
"color",
|
||||
"colour",
|
||||
"colors",
|
||||
"terminal",
|
||||
"console",
|
||||
"cli",
|
||||
"string",
|
||||
"tty",
|
||||
"escape",
|
||||
"formatting",
|
||||
"rgb",
|
||||
"256",
|
||||
"shell",
|
||||
"xterm",
|
||||
"command-line",
|
||||
"text",
|
||||
"regex",
|
||||
"regexp",
|
||||
"re",
|
||||
"match",
|
||||
"test",
|
||||
"find",
|
||||
"pattern"
|
||||
],
|
||||
"devDependencies": {
|
||||
"ava": "0.17.0",
|
||||
"xo": "0.16.0"
|
||||
},
|
||||
"xo": {
|
||||
"rules": {
|
||||
"guard-for-in": 0,
|
||||
"no-loop-func": 0
|
||||
}
|
||||
},
|
||||
"gitHead": "7c908e7b4eb6cd82bfe1295e33fdf6d166c7ed85",
|
||||
"bugs": {
|
||||
"url": "https://github.com/chalk/ansi-regex/issues"
|
||||
},
|
||||
"homepage": "https://github.com/chalk/ansi-regex#readme",
|
||||
"_id": "ansi-regex@2.1.1",
|
||||
"_shasum": "c3b33ab5ee360d86e0e628f0468ae7ef27d654df",
|
||||
"_from": "ansi-regex@>=2.0.0 <3.0.0",
|
||||
"_npmVersion": "2.14.2",
|
||||
"_nodeVersion": "0.10.32",
|
||||
"_npmUser": {
|
||||
"name": "qix",
|
||||
"email": "i.am.qix@gmail.com"
|
||||
},
|
||||
"dist": {
|
||||
"shasum": "c3b33ab5ee360d86e0e628f0468ae7ef27d654df",
|
||||
"tarball": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"
|
||||
},
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-18-east.internal.npmjs.com",
|
||||
"tmp": "tmp/ansi-regex-2.1.1.tgz_1484363378013_0.4482989883981645"
|
||||
},
|
||||
"directories": {},
|
||||
"_resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
|
||||
"readme": "ERROR: No README data found!"
|
||||
}
|
39
node_modules/gulp/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/readme.md
generated
vendored
Normal file
39
node_modules/gulp/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/readme.md
generated
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
# ansi-regex [](https://travis-ci.org/chalk/ansi-regex)
|
||||
|
||||
> Regular expression for matching [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code)
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
```
|
||||
$ npm install --save ansi-regex
|
||||
```
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
const ansiRegex = require('ansi-regex');
|
||||
|
||||
ansiRegex().test('\u001b[4mcake\u001b[0m');
|
||||
//=> true
|
||||
|
||||
ansiRegex().test('cake');
|
||||
//=> false
|
||||
|
||||
'\u001b[4mcake\u001b[0m'.match(ansiRegex());
|
||||
//=> ['\u001b[4m', '\u001b[0m']
|
||||
```
|
||||
|
||||
## FAQ
|
||||
|
||||
### Why do you test for codes not in the ECMA 48 standard?
|
||||
|
||||
Some of the codes we run as a test are codes that we acquired finding various lists of non-standard or manufacturer specific codes. If I recall correctly, we test for both standard and non-standard codes, as most of them follow the same or similar format and can be safely matched in strings without the risk of removing actual string content. There are a few non-standard control codes that do not follow the traditional format (i.e. they end in numbers) thus forcing us to exclude them from the test because we cannot reliably match them.
|
||||
|
||||
On the historical side, those ECMA standards were established in the early 90's whereas the VT100, for example, was designed in the mid/late 70's. At that point in time, control codes were still pretty ungoverned and engineers used them for a multitude of things, namely to activate hardware ports that may have been proprietary. Somewhere else you see a similar 'anarchy' of codes is in the x86 architecture for processors; there are a ton of "interrupts" that can mean different things on certain brands of processors, most of which have been phased out.
|
||||
|
||||
|
||||
## License
|
||||
|
||||
MIT © [Sindre Sorhus](http://sindresorhus.com)
|
85
node_modules/gulp/node_modules/chalk/node_modules/has-ansi/package.json
generated
vendored
Normal file
85
node_modules/gulp/node_modules/chalk/node_modules/has-ansi/package.json
generated
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"name": "has-ansi",
|
||||
"version": "2.0.0",
|
||||
"description": "Check if a string has ANSI escape codes",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/has-ansi.git"
|
||||
},
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "jbnicolai",
|
||||
"email": "jappelman@xebia.com"
|
||||
}
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "node test.js"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"keywords": [
|
||||
"ansi",
|
||||
"styles",
|
||||
"color",
|
||||
"colour",
|
||||
"colors",
|
||||
"terminal",
|
||||
"console",
|
||||
"string",
|
||||
"tty",
|
||||
"escape",
|
||||
"shell",
|
||||
"xterm",
|
||||
"command-line",
|
||||
"text",
|
||||
"regex",
|
||||
"regexp",
|
||||
"re",
|
||||
"match",
|
||||
"test",
|
||||
"find",
|
||||
"pattern",
|
||||
"has"
|
||||
],
|
||||
"dependencies": {
|
||||
"ansi-regex": "^2.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"ava": "0.0.4"
|
||||
},
|
||||
"gitHead": "0722275e1bef139fcd09137da6e5550c3cd368b9",
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/has-ansi/issues"
|
||||
},
|
||||
"homepage": "https://github.com/sindresorhus/has-ansi",
|
||||
"_id": "has-ansi@2.0.0",
|
||||
"_shasum": "34f5049ce1ecdf2b0649af3ef24e45ed35416d91",
|
||||
"_from": "has-ansi@>=2.0.0 <3.0.0",
|
||||
"_npmVersion": "2.11.2",
|
||||
"_nodeVersion": "0.12.5",
|
||||
"_npmUser": {
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
},
|
||||
"dist": {
|
||||
"shasum": "34f5049ce1ecdf2b0649af3ef24e45ed35416d91",
|
||||
"tarball": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz"
|
||||
},
|
||||
"directories": {},
|
||||
"_resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
|
||||
"readme": "ERROR: No README data found!"
|
||||
}
|
36
node_modules/gulp/node_modules/chalk/node_modules/has-ansi/readme.md
generated
vendored
Normal file
36
node_modules/gulp/node_modules/chalk/node_modules/has-ansi/readme.md
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
# has-ansi [](https://travis-ci.org/sindresorhus/has-ansi)
|
||||
|
||||
> Check if a string has [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code)
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
```
|
||||
$ npm install --save has-ansi
|
||||
```
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
var hasAnsi = require('has-ansi');
|
||||
|
||||
hasAnsi('\u001b[4mcake\u001b[0m');
|
||||
//=> true
|
||||
|
||||
hasAnsi('cake');
|
||||
//=> false
|
||||
```
|
||||
|
||||
|
||||
## Related
|
||||
|
||||
- [has-ansi-cli](https://github.com/sindresorhus/has-ansi-cli) - CLI for this module
|
||||
- [strip-ansi](https://github.com/sindresorhus/strip-ansi) - Strip ANSI escape codes
|
||||
- [ansi-regex](https://github.com/sindresorhus/ansi-regex) - Regular expression for matching ANSI escape codes
|
||||
- [chalk](https://github.com/sindresorhus/chalk) - Terminal string styling done right
|
||||
|
||||
|
||||
## License
|
||||
|
||||
MIT © [Sindre Sorhus](http://sindresorhus.com)
|
6
node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/index.js
generated
vendored
Normal file
6
node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/index.js
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
'use strict';
|
||||
var ansiRegex = require('ansi-regex')();
|
||||
|
||||
module.exports = function (str) {
|
||||
return typeof str === 'string' ? str.replace(ansiRegex, '') : str;
|
||||
};
|
21
node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/license
generated
vendored
Normal file
21
node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/license
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
|
||||
|
||||
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.
|
4
node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/index.js
generated
vendored
Normal file
4
node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/index.js
generated
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
'use strict';
|
||||
module.exports = function () {
|
||||
return /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-PRZcf-nqry=><]/g;
|
||||
};
|
21
node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/license
generated
vendored
Normal file
21
node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/license
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
|
||||
|
||||
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.
|
97
node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/package.json
generated
vendored
Normal file
97
node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/package.json
generated
vendored
Normal file
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"name": "ansi-regex",
|
||||
"version": "2.1.1",
|
||||
"description": "Regular expression for matching ANSI escape codes",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/chalk/ansi-regex.git"
|
||||
},
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "qix",
|
||||
"email": "i.am.qix@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
}
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava --verbose",
|
||||
"view-supported": "node fixtures/view-codes.js"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"keywords": [
|
||||
"ansi",
|
||||
"styles",
|
||||
"color",
|
||||
"colour",
|
||||
"colors",
|
||||
"terminal",
|
||||
"console",
|
||||
"cli",
|
||||
"string",
|
||||
"tty",
|
||||
"escape",
|
||||
"formatting",
|
||||
"rgb",
|
||||
"256",
|
||||
"shell",
|
||||
"xterm",
|
||||
"command-line",
|
||||
"text",
|
||||
"regex",
|
||||
"regexp",
|
||||
"re",
|
||||
"match",
|
||||
"test",
|
||||
"find",
|
||||
"pattern"
|
||||
],
|
||||
"devDependencies": {
|
||||
"ava": "0.17.0",
|
||||
"xo": "0.16.0"
|
||||
},
|
||||
"xo": {
|
||||
"rules": {
|
||||
"guard-for-in": 0,
|
||||
"no-loop-func": 0
|
||||
}
|
||||
},
|
||||
"gitHead": "7c908e7b4eb6cd82bfe1295e33fdf6d166c7ed85",
|
||||
"bugs": {
|
||||
"url": "https://github.com/chalk/ansi-regex/issues"
|
||||
},
|
||||
"homepage": "https://github.com/chalk/ansi-regex#readme",
|
||||
"_id": "ansi-regex@2.1.1",
|
||||
"_shasum": "c3b33ab5ee360d86e0e628f0468ae7ef27d654df",
|
||||
"_from": "ansi-regex@>=2.0.0 <3.0.0",
|
||||
"_npmVersion": "2.14.2",
|
||||
"_nodeVersion": "0.10.32",
|
||||
"_npmUser": {
|
||||
"name": "qix",
|
||||
"email": "i.am.qix@gmail.com"
|
||||
},
|
||||
"dist": {
|
||||
"shasum": "c3b33ab5ee360d86e0e628f0468ae7ef27d654df",
|
||||
"tarball": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"
|
||||
},
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-18-east.internal.npmjs.com",
|
||||
"tmp": "tmp/ansi-regex-2.1.1.tgz_1484363378013_0.4482989883981645"
|
||||
},
|
||||
"directories": {},
|
||||
"_resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
|
||||
"readme": "ERROR: No README data found!"
|
||||
}
|
39
node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/readme.md
generated
vendored
Normal file
39
node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/readme.md
generated
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
# ansi-regex [](https://travis-ci.org/chalk/ansi-regex)
|
||||
|
||||
> Regular expression for matching [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code)
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
```
|
||||
$ npm install --save ansi-regex
|
||||
```
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
const ansiRegex = require('ansi-regex');
|
||||
|
||||
ansiRegex().test('\u001b[4mcake\u001b[0m');
|
||||
//=> true
|
||||
|
||||
ansiRegex().test('cake');
|
||||
//=> false
|
||||
|
||||
'\u001b[4mcake\u001b[0m'.match(ansiRegex());
|
||||
//=> ['\u001b[4m', '\u001b[0m']
|
||||
```
|
||||
|
||||
## FAQ
|
||||
|
||||
### Why do you test for codes not in the ECMA 48 standard?
|
||||
|
||||
Some of the codes we run as a test are codes that we acquired finding various lists of non-standard or manufacturer specific codes. If I recall correctly, we test for both standard and non-standard codes, as most of them follow the same or similar format and can be safely matched in strings without the risk of removing actual string content. There are a few non-standard control codes that do not follow the traditional format (i.e. they end in numbers) thus forcing us to exclude them from the test because we cannot reliably match them.
|
||||
|
||||
On the historical side, those ECMA standards were established in the early 90's whereas the VT100, for example, was designed in the mid/late 70's. At that point in time, control codes were still pretty ungoverned and engineers used them for a multitude of things, namely to activate hardware ports that may have been proprietary. Somewhere else you see a similar 'anarchy' of codes is in the x86 architecture for processors; there are a ton of "interrupts" that can mean different things on certain brands of processors, most of which have been phased out.
|
||||
|
||||
|
||||
## License
|
||||
|
||||
MIT © [Sindre Sorhus](http://sindresorhus.com)
|
90
node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/package.json
generated
vendored
Normal file
90
node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/package.json
generated
vendored
Normal file
@@ -0,0 +1,90 @@
|
||||
{
|
||||
"name": "strip-ansi",
|
||||
"version": "3.0.1",
|
||||
"description": "Strip ANSI escape codes",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/chalk/strip-ansi.git"
|
||||
},
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "jbnicolai",
|
||||
"email": "jappelman@xebia.com"
|
||||
}
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"keywords": [
|
||||
"strip",
|
||||
"trim",
|
||||
"remove",
|
||||
"ansi",
|
||||
"styles",
|
||||
"color",
|
||||
"colour",
|
||||
"colors",
|
||||
"terminal",
|
||||
"console",
|
||||
"string",
|
||||
"tty",
|
||||
"escape",
|
||||
"formatting",
|
||||
"rgb",
|
||||
"256",
|
||||
"shell",
|
||||
"xterm",
|
||||
"log",
|
||||
"logging",
|
||||
"command-line",
|
||||
"text"
|
||||
],
|
||||
"dependencies": {
|
||||
"ansi-regex": "^2.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"ava": "*",
|
||||
"xo": "*"
|
||||
},
|
||||
"gitHead": "8270705c704956da865623e564eba4875c3ea17f",
|
||||
"bugs": {
|
||||
"url": "https://github.com/chalk/strip-ansi/issues"
|
||||
},
|
||||
"homepage": "https://github.com/chalk/strip-ansi",
|
||||
"_id": "strip-ansi@3.0.1",
|
||||
"_shasum": "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf",
|
||||
"_from": "strip-ansi@>=3.0.0 <4.0.0",
|
||||
"_npmVersion": "2.11.3",
|
||||
"_nodeVersion": "0.12.7",
|
||||
"_npmUser": {
|
||||
"name": "jbnicolai",
|
||||
"email": "jappelman@xebia.com"
|
||||
},
|
||||
"dist": {
|
||||
"shasum": "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf",
|
||||
"tarball": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"
|
||||
},
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-9-west.internal.npmjs.com",
|
||||
"tmp": "tmp/strip-ansi-3.0.1.tgz_1456057278183_0.28958667791448534"
|
||||
},
|
||||
"directories": {},
|
||||
"_resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
|
||||
"readme": "ERROR: No README data found!"
|
||||
}
|
33
node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/readme.md
generated
vendored
Normal file
33
node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/readme.md
generated
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
# strip-ansi [](https://travis-ci.org/chalk/strip-ansi)
|
||||
|
||||
> Strip [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code)
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
```
|
||||
$ npm install --save strip-ansi
|
||||
```
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
var stripAnsi = require('strip-ansi');
|
||||
|
||||
stripAnsi('\u001b[4mcake\u001b[0m');
|
||||
//=> 'cake'
|
||||
```
|
||||
|
||||
|
||||
## Related
|
||||
|
||||
- [strip-ansi-cli](https://github.com/chalk/strip-ansi-cli) - CLI for this module
|
||||
- [has-ansi](https://github.com/chalk/has-ansi) - Check if a string has ANSI escape codes
|
||||
- [ansi-regex](https://github.com/chalk/ansi-regex) - Regular expression for matching ANSI escape codes
|
||||
- [chalk](https://github.com/chalk/chalk) - Terminal string styling done right
|
||||
|
||||
|
||||
## License
|
||||
|
||||
MIT © [Sindre Sorhus](http://sindresorhus.com)
|
50
node_modules/gulp/node_modules/chalk/node_modules/supports-color/index.js
generated
vendored
Normal file
50
node_modules/gulp/node_modules/chalk/node_modules/supports-color/index.js
generated
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
'use strict';
|
||||
var argv = process.argv;
|
||||
|
||||
var terminator = argv.indexOf('--');
|
||||
var hasFlag = function (flag) {
|
||||
flag = '--' + flag;
|
||||
var pos = argv.indexOf(flag);
|
||||
return pos !== -1 && (terminator !== -1 ? pos < terminator : true);
|
||||
};
|
||||
|
||||
module.exports = (function () {
|
||||
if ('FORCE_COLOR' in process.env) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (hasFlag('no-color') ||
|
||||
hasFlag('no-colors') ||
|
||||
hasFlag('color=false')) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (hasFlag('color') ||
|
||||
hasFlag('colors') ||
|
||||
hasFlag('color=true') ||
|
||||
hasFlag('color=always')) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (process.stdout && !process.stdout.isTTY) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (process.platform === 'win32') {
|
||||
return true;
|
||||
}
|
||||
|
||||
if ('COLORTERM' in process.env) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (process.env.TERM === 'dumb') {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(process.env.TERM)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
})();
|
21
node_modules/gulp/node_modules/chalk/node_modules/supports-color/license
generated
vendored
Normal file
21
node_modules/gulp/node_modules/chalk/node_modules/supports-color/license
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
|
||||
|
||||
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.
|
79
node_modules/gulp/node_modules/chalk/node_modules/supports-color/package.json
generated
vendored
Normal file
79
node_modules/gulp/node_modules/chalk/node_modules/supports-color/package.json
generated
vendored
Normal file
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"name": "supports-color",
|
||||
"version": "2.0.0",
|
||||
"description": "Detect whether a terminal supports color",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/chalk/supports-color.git"
|
||||
},
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "jbnicolai",
|
||||
"email": "jappelman@xebia.com"
|
||||
}
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=0.8.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "mocha"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"keywords": [
|
||||
"color",
|
||||
"colour",
|
||||
"colors",
|
||||
"terminal",
|
||||
"console",
|
||||
"cli",
|
||||
"ansi",
|
||||
"styles",
|
||||
"tty",
|
||||
"rgb",
|
||||
"256",
|
||||
"shell",
|
||||
"xterm",
|
||||
"command-line",
|
||||
"support",
|
||||
"supports",
|
||||
"capability",
|
||||
"detect"
|
||||
],
|
||||
"devDependencies": {
|
||||
"mocha": "*",
|
||||
"require-uncached": "^1.0.2"
|
||||
},
|
||||
"gitHead": "8400d98ade32b2adffd50902c06d9e725a5c6588",
|
||||
"bugs": {
|
||||
"url": "https://github.com/chalk/supports-color/issues"
|
||||
},
|
||||
"homepage": "https://github.com/chalk/supports-color",
|
||||
"_id": "supports-color@2.0.0",
|
||||
"_shasum": "535d045ce6b6363fa40117084629995e9df324c7",
|
||||
"_from": "supports-color@>=2.0.0 <3.0.0",
|
||||
"_npmVersion": "2.11.2",
|
||||
"_nodeVersion": "0.12.5",
|
||||
"_npmUser": {
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
},
|
||||
"dist": {
|
||||
"shasum": "535d045ce6b6363fa40117084629995e9df324c7",
|
||||
"tarball": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"
|
||||
},
|
||||
"directories": {},
|
||||
"_resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
|
||||
"readme": "ERROR: No README data found!"
|
||||
}
|
36
node_modules/gulp/node_modules/chalk/node_modules/supports-color/readme.md
generated
vendored
Normal file
36
node_modules/gulp/node_modules/chalk/node_modules/supports-color/readme.md
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
# supports-color [](https://travis-ci.org/chalk/supports-color)
|
||||
|
||||
> Detect whether a terminal supports color
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
```
|
||||
$ npm install --save supports-color
|
||||
```
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
var supportsColor = require('supports-color');
|
||||
|
||||
if (supportsColor) {
|
||||
console.log('Terminal supports color');
|
||||
}
|
||||
```
|
||||
|
||||
It obeys the `--color` and `--no-color` CLI flags.
|
||||
|
||||
For situations where using `--color` is not possible, add an environment variable `FORCE_COLOR` with any value to force color. Trumps `--no-color`.
|
||||
|
||||
|
||||
## Related
|
||||
|
||||
- [supports-color-cli](https://github.com/chalk/supports-color-cli) - CLI for this module
|
||||
- [chalk](https://github.com/chalk/chalk) - Terminal string styling done right
|
||||
|
||||
|
||||
## License
|
||||
|
||||
MIT © [Sindre Sorhus](http://sindresorhus.com)
|
107
node_modules/gulp/node_modules/chalk/package.json
generated
vendored
Normal file
107
node_modules/gulp/node_modules/chalk/package.json
generated
vendored
Normal file
@@ -0,0 +1,107 @@
|
||||
{
|
||||
"name": "chalk",
|
||||
"version": "1.1.3",
|
||||
"description": "Terminal string styling done right. Much color.",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/chalk/chalk.git"
|
||||
},
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "qix",
|
||||
"email": "i.am.qix@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "unicorn",
|
||||
"email": "sindresorhus+unicorn@gmail.com"
|
||||
}
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && mocha",
|
||||
"bench": "matcha benchmark.js",
|
||||
"coverage": "nyc npm test && nyc report",
|
||||
"coveralls": "nyc npm test && nyc report --reporter=text-lcov | coveralls"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"keywords": [
|
||||
"color",
|
||||
"colour",
|
||||
"colors",
|
||||
"terminal",
|
||||
"console",
|
||||
"cli",
|
||||
"string",
|
||||
"str",
|
||||
"ansi",
|
||||
"style",
|
||||
"styles",
|
||||
"tty",
|
||||
"formatting",
|
||||
"rgb",
|
||||
"256",
|
||||
"shell",
|
||||
"xterm",
|
||||
"log",
|
||||
"logging",
|
||||
"command-line",
|
||||
"text"
|
||||
],
|
||||
"dependencies": {
|
||||
"ansi-styles": "^2.2.1",
|
||||
"escape-string-regexp": "^1.0.2",
|
||||
"has-ansi": "^2.0.0",
|
||||
"strip-ansi": "^3.0.0",
|
||||
"supports-color": "^2.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"coveralls": "^2.11.2",
|
||||
"matcha": "^0.6.0",
|
||||
"mocha": "*",
|
||||
"nyc": "^3.0.0",
|
||||
"require-uncached": "^1.0.2",
|
||||
"resolve-from": "^1.0.0",
|
||||
"semver": "^4.3.3",
|
||||
"xo": "*"
|
||||
},
|
||||
"xo": {
|
||||
"envs": [
|
||||
"node",
|
||||
"mocha"
|
||||
]
|
||||
},
|
||||
"gitHead": "0d8d8c204eb87a4038219131ad4d8369c9f59d24",
|
||||
"bugs": {
|
||||
"url": "https://github.com/chalk/chalk/issues"
|
||||
},
|
||||
"homepage": "https://github.com/chalk/chalk#readme",
|
||||
"_id": "chalk@1.1.3",
|
||||
"_shasum": "a8115c55e4a702fe4d150abd3872822a7e09fc98",
|
||||
"_from": "chalk@>=1.0.0 <2.0.0",
|
||||
"_npmVersion": "2.14.2",
|
||||
"_nodeVersion": "0.10.32",
|
||||
"_npmUser": {
|
||||
"name": "qix",
|
||||
"email": "i.am.qix@gmail.com"
|
||||
},
|
||||
"dist": {
|
||||
"shasum": "a8115c55e4a702fe4d150abd3872822a7e09fc98",
|
||||
"tarball": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz"
|
||||
},
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-12-west.internal.npmjs.com",
|
||||
"tmp": "tmp/chalk-1.1.3.tgz_1459210604109_0.3892582862172276"
|
||||
},
|
||||
"directories": {},
|
||||
"_resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
|
||||
"readme": "ERROR: No README data found!"
|
||||
}
|
213
node_modules/gulp/node_modules/chalk/readme.md
generated
vendored
Normal file
213
node_modules/gulp/node_modules/chalk/readme.md
generated
vendored
Normal file
@@ -0,0 +1,213 @@
|
||||
<h1 align="center">
|
||||
<br>
|
||||
<br>
|
||||
<img width="360" src="https://cdn.rawgit.com/chalk/chalk/19935d6484811c5e468817f846b7b3d417d7bf4a/logo.svg" alt="chalk">
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
</h1>
|
||||
|
||||
> Terminal string styling done right
|
||||
|
||||
[](https://travis-ci.org/chalk/chalk)
|
||||
[](https://coveralls.io/r/chalk/chalk?branch=master)
|
||||
[](https://www.youtube.com/watch?v=9auOCbH5Ns4)
|
||||
|
||||
|
||||
[colors.js](https://github.com/Marak/colors.js) used to be the most popular string styling module, but it has serious deficiencies like extending `String.prototype` which causes all kinds of [problems](https://github.com/yeoman/yo/issues/68). Although there are other ones, they either do too much or not enough.
|
||||
|
||||
**Chalk is a clean and focused alternative.**
|
||||
|
||||

|
||||
|
||||
|
||||
## Why
|
||||
|
||||
- Highly performant
|
||||
- Doesn't extend `String.prototype`
|
||||
- Expressive API
|
||||
- Ability to nest styles
|
||||
- Clean and focused
|
||||
- Auto-detects color support
|
||||
- Actively maintained
|
||||
- [Used by ~4500 modules](https://www.npmjs.com/browse/depended/chalk) as of July 15, 2015
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
```
|
||||
$ npm install --save chalk
|
||||
```
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
Chalk comes with an easy to use composable API where you just chain and nest the styles you want.
|
||||
|
||||
```js
|
||||
var chalk = require('chalk');
|
||||
|
||||
// style a string
|
||||
chalk.blue('Hello world!');
|
||||
|
||||
// combine styled and normal strings
|
||||
chalk.blue('Hello') + 'World' + chalk.red('!');
|
||||
|
||||
// compose multiple styles using the chainable API
|
||||
chalk.blue.bgRed.bold('Hello world!');
|
||||
|
||||
// pass in multiple arguments
|
||||
chalk.blue('Hello', 'World!', 'Foo', 'bar', 'biz', 'baz');
|
||||
|
||||
// nest styles
|
||||
chalk.red('Hello', chalk.underline.bgBlue('world') + '!');
|
||||
|
||||
// nest styles of the same type even (color, underline, background)
|
||||
chalk.green(
|
||||
'I am a green line ' +
|
||||
chalk.blue.underline.bold('with a blue substring') +
|
||||
' that becomes green again!'
|
||||
);
|
||||
```
|
||||
|
||||
Easily define your own themes.
|
||||
|
||||
```js
|
||||
var chalk = require('chalk');
|
||||
var error = chalk.bold.red;
|
||||
console.log(error('Error!'));
|
||||
```
|
||||
|
||||
Take advantage of console.log [string substitution](http://nodejs.org/docs/latest/api/console.html#console_console_log_data).
|
||||
|
||||
```js
|
||||
var name = 'Sindre';
|
||||
console.log(chalk.green('Hello %s'), name);
|
||||
//=> Hello Sindre
|
||||
```
|
||||
|
||||
|
||||
## API
|
||||
|
||||
### chalk.`<style>[.<style>...](string, [string...])`
|
||||
|
||||
Example: `chalk.red.bold.underline('Hello', 'world');`
|
||||
|
||||
Chain [styles](#styles) and call the last one as a method with a string argument. Order doesn't matter, and later styles take precedent in case of a conflict. This simply means that `Chalk.red.yellow.green` is equivalent to `Chalk.green`.
|
||||
|
||||
Multiple arguments will be separated by space.
|
||||
|
||||
### chalk.enabled
|
||||
|
||||
Color support is automatically detected, but you can override it by setting the `enabled` property. You should however only do this in your own code as it applies globally to all chalk consumers.
|
||||
|
||||
If you need to change this in a reusable module create a new instance:
|
||||
|
||||
```js
|
||||
var ctx = new chalk.constructor({enabled: false});
|
||||
```
|
||||
|
||||
### chalk.supportsColor
|
||||
|
||||
Detect whether the terminal [supports color](https://github.com/chalk/supports-color). Used internally and handled for you, but exposed for convenience.
|
||||
|
||||
Can be overridden by the user with the flags `--color` and `--no-color`. For situations where using `--color` is not possible, add an environment variable `FORCE_COLOR` with any value to force color. Trumps `--no-color`.
|
||||
|
||||
### chalk.styles
|
||||
|
||||
Exposes the styles as [ANSI escape codes](https://github.com/chalk/ansi-styles).
|
||||
|
||||
Generally not useful, but you might need just the `.open` or `.close` escape code if you're mixing externally styled strings with your own.
|
||||
|
||||
```js
|
||||
var chalk = require('chalk');
|
||||
|
||||
console.log(chalk.styles.red);
|
||||
//=> {open: '\u001b[31m', close: '\u001b[39m'}
|
||||
|
||||
console.log(chalk.styles.red.open + 'Hello' + chalk.styles.red.close);
|
||||
```
|
||||
|
||||
### chalk.hasColor(string)
|
||||
|
||||
Check whether a string [has color](https://github.com/chalk/has-ansi).
|
||||
|
||||
### chalk.stripColor(string)
|
||||
|
||||
[Strip color](https://github.com/chalk/strip-ansi) from a string.
|
||||
|
||||
Can be useful in combination with `.supportsColor` to strip color on externally styled text when it's not supported.
|
||||
|
||||
Example:
|
||||
|
||||
```js
|
||||
var chalk = require('chalk');
|
||||
var styledString = getText();
|
||||
|
||||
if (!chalk.supportsColor) {
|
||||
styledString = chalk.stripColor(styledString);
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
## Styles
|
||||
|
||||
### Modifiers
|
||||
|
||||
- `reset`
|
||||
- `bold`
|
||||
- `dim`
|
||||
- `italic` *(not widely supported)*
|
||||
- `underline`
|
||||
- `inverse`
|
||||
- `hidden`
|
||||
- `strikethrough` *(not widely supported)*
|
||||
|
||||
### Colors
|
||||
|
||||
- `black`
|
||||
- `red`
|
||||
- `green`
|
||||
- `yellow`
|
||||
- `blue` *(on Windows the bright version is used as normal blue is illegible)*
|
||||
- `magenta`
|
||||
- `cyan`
|
||||
- `white`
|
||||
- `gray`
|
||||
|
||||
### Background colors
|
||||
|
||||
- `bgBlack`
|
||||
- `bgRed`
|
||||
- `bgGreen`
|
||||
- `bgYellow`
|
||||
- `bgBlue`
|
||||
- `bgMagenta`
|
||||
- `bgCyan`
|
||||
- `bgWhite`
|
||||
|
||||
|
||||
## 256-colors
|
||||
|
||||
Chalk does not support anything other than the base eight colors, which guarantees it will work on all terminals and systems. Some terminals, specifically `xterm` compliant ones, will support the full range of 8-bit colors. For this the lower level [ansi-256-colors](https://github.com/jbnicolai/ansi-256-colors) package can be used.
|
||||
|
||||
|
||||
## Windows
|
||||
|
||||
If you're on Windows, do yourself a favor and use [`cmder`](http://bliker.github.io/cmder/) instead of `cmd.exe`.
|
||||
|
||||
|
||||
## Related
|
||||
|
||||
- [chalk-cli](https://github.com/chalk/chalk-cli) - CLI for this module
|
||||
- [ansi-styles](https://github.com/chalk/ansi-styles/) - ANSI escape codes for styling strings in the terminal
|
||||
- [supports-color](https://github.com/chalk/supports-color/) - Detect whether a terminal supports color
|
||||
- [strip-ansi](https://github.com/chalk/strip-ansi) - Strip ANSI escape codes
|
||||
- [has-ansi](https://github.com/chalk/has-ansi) - Check if a string has ANSI escape codes
|
||||
- [ansi-regex](https://github.com/chalk/ansi-regex) - Regular expression for matching ANSI escape codes
|
||||
- [wrap-ansi](https://github.com/chalk/wrap-ansi) - Wordwrap a string with ANSI escape codes
|
||||
|
||||
|
||||
## License
|
||||
|
||||
MIT © [Sindre Sorhus](http://sindresorhus.com)
|
6
node_modules/gulp/node_modules/deprecated/.npmignore
generated
vendored
Normal file
6
node_modules/gulp/node_modules/deprecated/.npmignore
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
.DS_Store
|
||||
*.log
|
||||
node_modules
|
||||
build
|
||||
*.node
|
||||
components
|
6
node_modules/gulp/node_modules/deprecated/.travis.yml
generated
vendored
Normal file
6
node_modules/gulp/node_modules/deprecated/.travis.yml
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
language: node_js
|
||||
node_js:
|
||||
- "0.9"
|
||||
- "0.10"
|
||||
after_script:
|
||||
- npm run coveralls
|
20
node_modules/gulp/node_modules/deprecated/LICENSE
generated
vendored
Executable file
20
node_modules/gulp/node_modules/deprecated/LICENSE
generated
vendored
Executable file
@@ -0,0 +1,20 @@
|
||||
Copyright (c) 2014 Fractal <contact@wearefractal.com>
|
||||
|
||||
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.
|
51
node_modules/gulp/node_modules/deprecated/README.md
generated
vendored
Normal file
51
node_modules/gulp/node_modules/deprecated/README.md
generated
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
# deprecated [![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Coveralls Status][coveralls-image]][coveralls-url] [![Dependency Status][david-image]][david-url]
|
||||
|
||||
|
||||
## Information
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td>Package</td><td>deprecated</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Description</td>
|
||||
<td>Tool for deprecating things</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Node Version</td>
|
||||
<td>>= 0.9</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## Usage
|
||||
|
||||
```javascript
|
||||
var oldfn = function(a,b) {
|
||||
return a+b;
|
||||
};
|
||||
|
||||
// returns a new wrapper function that logs the deprecated function once
|
||||
var somefn = deprecated('dont use this anymore', console.log, oldfn);
|
||||
|
||||
var someobj = {};
|
||||
|
||||
// set up a getter/set for field that logs deprecated message once
|
||||
deprecated('dont use this anymore', console.log, someobj, 'a', 123);
|
||||
|
||||
console.log(someobj.a); // 123
|
||||
```
|
||||
|
||||
[npm-url]: https://npmjs.org/package/deprecated
|
||||
[npm-image]: https://badge.fury.io/js/deprecated.png
|
||||
|
||||
[travis-url]: https://travis-ci.org/wearefractal/deprecated
|
||||
[travis-image]: https://travis-ci.org/wearefractal/deprecated.png?branch=master
|
||||
|
||||
[coveralls-url]: https://coveralls.io/r/wearefractal/deprecated
|
||||
[coveralls-image]: https://coveralls.io/repos/wearefractal/deprecated/badge.png
|
||||
|
||||
[depstat-url]: https://david-dm.org/wearefractal/deprecated
|
||||
[depstat-image]: https://david-dm.org/wearefractal/deprecated.png
|
||||
|
||||
[david-url]: https://david-dm.org/wearefractal/deprecated
|
||||
[david-image]: https://david-dm.org/wearefractal/deprecated.png?theme=shields.io
|
39
node_modules/gulp/node_modules/deprecated/index.js
generated
vendored
Normal file
39
node_modules/gulp/node_modules/deprecated/index.js
generated
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
var deprecated = {
|
||||
method: function(msg, log, fn) {
|
||||
var called = false;
|
||||
return function(){
|
||||
if (!called) {
|
||||
called = true;
|
||||
log(msg);
|
||||
}
|
||||
return fn.apply(this, arguments);
|
||||
};
|
||||
},
|
||||
|
||||
field: function(msg, log, parent, field, val) {
|
||||
var called = false;
|
||||
var getter = function(){
|
||||
if (!called) {
|
||||
called = true;
|
||||
log(msg);
|
||||
}
|
||||
return val;
|
||||
};
|
||||
var setter = function(v) {
|
||||
if (!called) {
|
||||
called = true;
|
||||
log(msg);
|
||||
}
|
||||
val = v;
|
||||
return v;
|
||||
};
|
||||
Object.defineProperty(parent, field, {
|
||||
get: getter,
|
||||
set: setter,
|
||||
enumerable: true
|
||||
});
|
||||
return;
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = deprecated;
|
63
node_modules/gulp/node_modules/deprecated/package.json
generated
vendored
Normal file
63
node_modules/gulp/node_modules/deprecated/package.json
generated
vendored
Normal file
@@ -0,0 +1,63 @@
|
||||
{
|
||||
"name": "deprecated",
|
||||
"description": "Tool for deprecating things",
|
||||
"version": "0.0.1",
|
||||
"homepage": "http://github.com/wearefractal/deprecated",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/wearefractal/deprecated.git"
|
||||
},
|
||||
"author": {
|
||||
"name": "Fractal",
|
||||
"email": "contact@wearefractal.com",
|
||||
"url": "http://wearefractal.com/"
|
||||
},
|
||||
"main": "./index.js",
|
||||
"dependencies": {},
|
||||
"devDependencies": {
|
||||
"mocha": "~1.17.0",
|
||||
"should": "~3.1.0",
|
||||
"mocha-lcov-reporter": "~0.0.1",
|
||||
"coveralls": "~2.6.1",
|
||||
"istanbul": "~0.2.3",
|
||||
"rimraf": "~2.2.5",
|
||||
"jshint": "~2.4.1"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "mocha --reporter spec && jshint",
|
||||
"coveralls": "istanbul cover _mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | coveralls && rm -rf ./coverage"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.9"
|
||||
},
|
||||
"licenses": [
|
||||
{
|
||||
"type": "MIT",
|
||||
"url": "http://github.com/wearefractal/deprecated/raw/master/LICENSE"
|
||||
}
|
||||
],
|
||||
"bugs": {
|
||||
"url": "https://github.com/wearefractal/deprecated/issues"
|
||||
},
|
||||
"_id": "deprecated@0.0.1",
|
||||
"dist": {
|
||||
"shasum": "f9c9af5464afa1e7a971458a8bdef2aa94d5bb19",
|
||||
"tarball": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz"
|
||||
},
|
||||
"_from": "deprecated@>=0.0.1 <0.0.2",
|
||||
"_npmVersion": "1.3.24",
|
||||
"_npmUser": {
|
||||
"name": "fractal",
|
||||
"email": "contact@wearefractal.com"
|
||||
},
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "fractal",
|
||||
"email": "contact@wearefractal.com"
|
||||
}
|
||||
],
|
||||
"directories": {},
|
||||
"_shasum": "f9c9af5464afa1e7a971458a8bdef2aa94d5bb19",
|
||||
"_resolved": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz",
|
||||
"readme": "ERROR: No README data found!"
|
||||
}
|
44
node_modules/gulp/node_modules/deprecated/test/field.js
generated
vendored
Normal file
44
node_modules/gulp/node_modules/deprecated/test/field.js
generated
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
var deprecated = require('../');
|
||||
var should = require('should');
|
||||
require('mocha');
|
||||
|
||||
describe('field()', function() {
|
||||
it('should return a wrapped function that logs once on get', function(done) {
|
||||
var message = 'testing';
|
||||
var scope = {
|
||||
a: 1
|
||||
};
|
||||
var obj = {};
|
||||
var logged = false;
|
||||
var log = function(msg){
|
||||
msg.should.equal(message);
|
||||
logged.should.equal(false);
|
||||
logged = true;
|
||||
};
|
||||
deprecated.field(message, log, obj, 'a', 123);
|
||||
|
||||
obj.a.should.equal(123);
|
||||
obj.a = 1234;
|
||||
obj.a.should.equal(1234);
|
||||
logged.should.equal(true);
|
||||
done();
|
||||
});
|
||||
it('should return a wrapped function that logs once on set', function(done) {
|
||||
var message = 'testing';
|
||||
var scope = {
|
||||
a: 1
|
||||
};
|
||||
var obj = {};
|
||||
var logged = false;
|
||||
var log = function(msg){
|
||||
msg.should.equal(message);
|
||||
logged.should.equal(false);
|
||||
logged = true;
|
||||
};
|
||||
deprecated.field(message, log, obj, 'a', 123);
|
||||
|
||||
obj.a = 1234;
|
||||
logged.should.equal(true);
|
||||
done();
|
||||
});
|
||||
});
|
32
node_modules/gulp/node_modules/deprecated/test/method.js
generated
vendored
Normal file
32
node_modules/gulp/node_modules/deprecated/test/method.js
generated
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
var deprecated = require('../');
|
||||
var should = require('should');
|
||||
require('mocha');
|
||||
|
||||
describe('method()', function() {
|
||||
it('should return a wrapped function that logs once', function(done) {
|
||||
var message = 'testing';
|
||||
var scope = {
|
||||
a: 1
|
||||
};
|
||||
var logged = false;
|
||||
var log = function(msg){
|
||||
msg.should.equal(message);
|
||||
logged.should.equal(false);
|
||||
logged = true;
|
||||
};
|
||||
var fn = deprecated.method(message, log, function(one, two){
|
||||
this.should.equal(scope);
|
||||
one.should.equal(1);
|
||||
two.should.equal(2);
|
||||
return one+two;
|
||||
});
|
||||
|
||||
fn.bind(scope)(1,2).should.equal(3);
|
||||
fn.bind(scope)(1,2).should.equal(3);
|
||||
fn.bind(scope)(1,2).should.equal(3);
|
||||
fn.bind(scope)(1,2).should.equal(3);
|
||||
|
||||
logged.should.equal(true);
|
||||
done();
|
||||
});
|
||||
});
|
20
node_modules/gulp/node_modules/gulp-util/LICENSE
generated
vendored
Executable file
20
node_modules/gulp/node_modules/gulp-util/LICENSE
generated
vendored
Executable file
@@ -0,0 +1,20 @@
|
||||
Copyright (c) 2014 Fractal <contact@wearefractal.com>
|
||||
|
||||
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.
|
145
node_modules/gulp/node_modules/gulp-util/README.md
generated
vendored
Normal file
145
node_modules/gulp/node_modules/gulp-util/README.md
generated
vendored
Normal file
@@ -0,0 +1,145 @@
|
||||
# gulp-util [![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Coveralls Status][coveralls-image]][coveralls-url] [![Dependency Status][depstat-image]][depstat-url]
|
||||
|
||||
## Information
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td>Package</td><td>gulp-util</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Description</td>
|
||||
<td>Utility functions for gulp plugins</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Node Version</td>
|
||||
<td>>= 0.10</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## Usage
|
||||
|
||||
```javascript
|
||||
var gutil = require('gulp-util');
|
||||
|
||||
gutil.log('stuff happened', 'Really it did', gutil.colors.magenta('123'));
|
||||
|
||||
gutil.replaceExtension('file.coffee', '.js'); // file.js
|
||||
|
||||
var opt = {
|
||||
name: 'todd',
|
||||
file: someGulpFile
|
||||
};
|
||||
gutil.template('test <%= name %> <%= file.path %>', opt) // test todd /js/hi.js
|
||||
```
|
||||
|
||||
### log(msg...)
|
||||
|
||||
Logs stuff. Already prefixed with [gulp] and all that. If you pass in multiple arguments it will join them by a space.
|
||||
|
||||
The default gulp coloring using gutil.colors.<color>:
|
||||
```
|
||||
values (files, module names, etc.) = cyan
|
||||
numbers (times, counts, etc) = magenta
|
||||
```
|
||||
|
||||
### colors
|
||||
|
||||
Is an instance of [chalk](https://github.com/sindresorhus/chalk).
|
||||
|
||||
### replaceExtension(path, newExtension)
|
||||
|
||||
Replaces a file extension in a path. Returns the new path.
|
||||
|
||||
### isStream(obj)
|
||||
|
||||
Returns true or false if an object is a stream.
|
||||
|
||||
### isBuffer(obj)
|
||||
|
||||
Returns true or false if an object is a Buffer.
|
||||
|
||||
### template(string[, data])
|
||||
|
||||
This is a lodash.template function wrapper. You must pass in a valid gulp file object so it is available to the user or it will error. You can not configure any of the delimiters. Look at the [lodash docs](http://lodash.com/docs#template) for more info.
|
||||
|
||||
## new File(obj)
|
||||
|
||||
This is just [vinyl](https://github.com/wearefractal/vinyl)
|
||||
|
||||
```javascript
|
||||
var file = new gutil.File({
|
||||
base: path.join(__dirname, './fixtures/'),
|
||||
cwd: __dirname,
|
||||
path: path.join(__dirname, './fixtures/test.coffee')
|
||||
});
|
||||
```
|
||||
|
||||
## noop()
|
||||
|
||||
Returns a stream that does nothing but pass data straight through.
|
||||
|
||||
```javascript
|
||||
// gulp should be called like this :
|
||||
// $ gulp --type production
|
||||
gulp.task('scripts', function() {
|
||||
gulp.src('src/**/*.js')
|
||||
.pipe(concat('script.js'))
|
||||
.pipe(gutil.env.type === 'production' ? uglify() : gutil.noop())
|
||||
.pipe(gulp.dest('dist/'));
|
||||
});
|
||||
```
|
||||
|
||||
## buffer(cb)
|
||||
|
||||
This is similar to es.wait but instead of buffering text into one string it buffers anything into an array (so very useful for file objects).
|
||||
|
||||
Returns a stream that can be piped to.
|
||||
|
||||
The stream will emit one data event after the stream piped to it has ended. The data will be the same array passed to the callback.
|
||||
|
||||
Callback is optional and receives two arguments: error and data
|
||||
|
||||
```javascript
|
||||
gulp.src('stuff/*.js')
|
||||
.pipe(gutil.buffer(function(err, files) {
|
||||
|
||||
}));
|
||||
```
|
||||
|
||||
## new PluginError(pluginName, message[, options])
|
||||
|
||||
- pluginName should be the module name of your plugin
|
||||
- message can be a string or an existing error
|
||||
- By default the stack will not be shown. Set `options.showStack` to true if you think the stack is important for your error.
|
||||
- If you pass an error in as the message the stack will be pulled from that, otherwise one will be created.
|
||||
- Note that if you pass in a custom stack string you need to include the message along with that.
|
||||
- Error properties will be included in `err.toString()`. Can be omitted by including `{showProperties: false}` in the options.
|
||||
|
||||
These are all acceptable forms of instantiation:
|
||||
|
||||
```javascript
|
||||
var err = new gutil.PluginError('test', {
|
||||
message: 'something broke'
|
||||
});
|
||||
|
||||
var err = new gutil.PluginError({
|
||||
plugin: 'test',
|
||||
message: 'something broke'
|
||||
});
|
||||
|
||||
var err = new gutil.PluginError('test', 'something broke');
|
||||
|
||||
var err = new gutil.PluginError('test', 'something broke', {showStack: true});
|
||||
|
||||
var existingError = new Error('OMG');
|
||||
var err = new gutil.PluginError('test', existingError, {showStack: true});
|
||||
```
|
||||
|
||||
[npm-url]: https://www.npmjs.com/package/gulp-util
|
||||
[npm-image]: https://badge.fury.io/js/gulp-util.svg
|
||||
[travis-url]: https://travis-ci.org/gulpjs/gulp-util
|
||||
[travis-image]: https://img.shields.io/travis/gulpjs/gulp-util.svg?branch=master
|
||||
[coveralls-url]: https://coveralls.io/r/gulpjs/gulp-util
|
||||
[coveralls-image]: https://img.shields.io/coveralls/gulpjs/gulp-util.svg
|
||||
[depstat-url]: https://david-dm.org/gulpjs/gulp-util
|
||||
[depstat-image]: https://david-dm.org/gulpjs/gulp-util.svg
|
18
node_modules/gulp/node_modules/gulp-util/index.js
generated
vendored
Normal file
18
node_modules/gulp/node_modules/gulp-util/index.js
generated
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
module.exports = {
|
||||
File: require('vinyl'),
|
||||
replaceExtension: require('replace-ext'),
|
||||
colors: require('chalk'),
|
||||
date: require('dateformat'),
|
||||
log: require('./lib/log'),
|
||||
template: require('./lib/template'),
|
||||
env: require('./lib/env'),
|
||||
beep: require('beeper'),
|
||||
noop: require('./lib/noop'),
|
||||
isStream: require('./lib/isStream'),
|
||||
isBuffer: require('./lib/isBuffer'),
|
||||
isNull: require('./lib/isNull'),
|
||||
linefeed: '\n',
|
||||
combine: require('./lib/combine'),
|
||||
buffer: require('./lib/buffer'),
|
||||
PluginError: require('./lib/PluginError')
|
||||
};
|
130
node_modules/gulp/node_modules/gulp-util/lib/PluginError.js
generated
vendored
Normal file
130
node_modules/gulp/node_modules/gulp-util/lib/PluginError.js
generated
vendored
Normal file
@@ -0,0 +1,130 @@
|
||||
var util = require('util');
|
||||
var arrayDiffer = require('array-differ');
|
||||
var arrayUniq = require('array-uniq');
|
||||
var chalk = require('chalk');
|
||||
var objectAssign = require('object-assign');
|
||||
|
||||
var nonEnumberableProperties = ['name', 'message', 'stack'];
|
||||
var propertiesNotToDisplay = nonEnumberableProperties.concat(['plugin', 'showStack', 'showProperties', '__safety', '_stack']);
|
||||
|
||||
// wow what a clusterfuck
|
||||
var parseOptions = function(plugin, message, opt) {
|
||||
opt = opt || {};
|
||||
if (typeof plugin === 'object') {
|
||||
opt = plugin;
|
||||
} else {
|
||||
if (message instanceof Error) {
|
||||
opt.error = message;
|
||||
} else if (typeof message === 'object') {
|
||||
opt = message;
|
||||
} else {
|
||||
opt.message = message;
|
||||
}
|
||||
opt.plugin = plugin;
|
||||
}
|
||||
|
||||
return objectAssign({
|
||||
showStack: false,
|
||||
showProperties: true
|
||||
}, opt);
|
||||
};
|
||||
|
||||
function PluginError(plugin, message, opt) {
|
||||
if (!(this instanceof PluginError)) throw new Error('Call PluginError using new');
|
||||
|
||||
Error.call(this);
|
||||
|
||||
var options = parseOptions(plugin, message, opt);
|
||||
var self = this;
|
||||
|
||||
// if options has an error, grab details from it
|
||||
if (options.error) {
|
||||
// These properties are not enumerable, so we have to add them explicitly.
|
||||
arrayUniq(Object.keys(options.error).concat(nonEnumberableProperties))
|
||||
.forEach(function(prop) {
|
||||
self[prop] = options.error[prop];
|
||||
});
|
||||
}
|
||||
|
||||
var properties = ['name', 'message', 'fileName', 'lineNumber', 'stack', 'showStack', 'showProperties', 'plugin'];
|
||||
|
||||
// options object can override
|
||||
properties.forEach(function(prop) {
|
||||
if (prop in options) this[prop] = options[prop];
|
||||
}, this);
|
||||
|
||||
// defaults
|
||||
if (!this.name) this.name = 'Error';
|
||||
|
||||
if (!this.stack) {
|
||||
// Error.captureStackTrace appends a stack property which relies on the toString method of the object it is applied to.
|
||||
// Since we are using our own toString method which controls when to display the stack trace if we don't go through this
|
||||
// safety object, then we'll get stack overflow problems.
|
||||
var safety = {
|
||||
toString: function() {
|
||||
return this._messageWithDetails() + '\nStack:';
|
||||
}.bind(this)
|
||||
};
|
||||
Error.captureStackTrace(safety, arguments.callee || this.constructor);
|
||||
this.__safety = safety;
|
||||
}
|
||||
|
||||
if (!this.plugin) throw new Error('Missing plugin name');
|
||||
if (!this.message) throw new Error('Missing error message');
|
||||
}
|
||||
|
||||
util.inherits(PluginError, Error);
|
||||
|
||||
PluginError.prototype._messageWithDetails = function() {
|
||||
var messageWithDetails = 'Message:\n ' + this.message;
|
||||
var details = this._messageDetails();
|
||||
|
||||
if (details !== '') {
|
||||
messageWithDetails += '\n' + details;
|
||||
}
|
||||
|
||||
return messageWithDetails;
|
||||
};
|
||||
|
||||
PluginError.prototype._messageDetails = function() {
|
||||
if (!this.showProperties) {
|
||||
return '';
|
||||
}
|
||||
|
||||
var properties = arrayDiffer(Object.keys(this), propertiesNotToDisplay);
|
||||
|
||||
if (properties.length === 0) {
|
||||
return '';
|
||||
}
|
||||
|
||||
var self = this;
|
||||
properties = properties.map(function stringifyProperty(prop) {
|
||||
return ' ' + prop + ': ' + self[prop];
|
||||
});
|
||||
|
||||
return 'Details:\n' + properties.join('\n');
|
||||
};
|
||||
|
||||
PluginError.prototype.toString = function () {
|
||||
var sig = chalk.red(this.name) + ' in plugin \'' + chalk.cyan(this.plugin) + '\'';
|
||||
var detailsWithStack = function(stack) {
|
||||
return this._messageWithDetails() + '\nStack:\n' + stack;
|
||||
}.bind(this);
|
||||
|
||||
var msg;
|
||||
if (this.showStack) {
|
||||
if (this.__safety) { // There is no wrapped error, use the stack captured in the PluginError ctor
|
||||
msg = this.__safety.stack;
|
||||
} else if (this._stack) {
|
||||
msg = detailsWithStack(this._stack);
|
||||
} else { // Stack from wrapped error
|
||||
msg = detailsWithStack(this.stack);
|
||||
}
|
||||
} else {
|
||||
msg = this._messageWithDetails();
|
||||
}
|
||||
|
||||
return sig + '\n' + msg;
|
||||
};
|
||||
|
||||
module.exports = PluginError;
|
15
node_modules/gulp/node_modules/gulp-util/lib/buffer.js
generated
vendored
Normal file
15
node_modules/gulp/node_modules/gulp-util/lib/buffer.js
generated
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
var through = require('through2');
|
||||
|
||||
module.exports = function(fn) {
|
||||
var buf = [];
|
||||
var end = function(cb) {
|
||||
this.push(buf);
|
||||
cb();
|
||||
if(fn) fn(null, buf);
|
||||
};
|
||||
var push = function(data, enc, cb) {
|
||||
buf.push(data);
|
||||
cb();
|
||||
};
|
||||
return through.obj(push, end);
|
||||
};
|
11
node_modules/gulp/node_modules/gulp-util/lib/combine.js
generated
vendored
Normal file
11
node_modules/gulp/node_modules/gulp-util/lib/combine.js
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
var pipeline = require('multipipe');
|
||||
|
||||
module.exports = function(){
|
||||
var args = arguments;
|
||||
if (args.length === 1 && Array.isArray(args[0])) {
|
||||
args = args[0];
|
||||
}
|
||||
return function(){
|
||||
return pipeline.apply(pipeline, args);
|
||||
};
|
||||
};
|
4
node_modules/gulp/node_modules/gulp-util/lib/env.js
generated
vendored
Normal file
4
node_modules/gulp/node_modules/gulp-util/lib/env.js
generated
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
var parseArgs = require('minimist');
|
||||
var argv = parseArgs(process.argv.slice(2));
|
||||
|
||||
module.exports = argv;
|
7
node_modules/gulp/node_modules/gulp-util/lib/isBuffer.js
generated
vendored
Normal file
7
node_modules/gulp/node_modules/gulp-util/lib/isBuffer.js
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
var buf = require('buffer');
|
||||
var Buffer = buf.Buffer;
|
||||
|
||||
// could use Buffer.isBuffer but this is the same exact thing...
|
||||
module.exports = function(o) {
|
||||
return typeof o === 'object' && o instanceof Buffer;
|
||||
};
|
3
node_modules/gulp/node_modules/gulp-util/lib/isNull.js
generated
vendored
Normal file
3
node_modules/gulp/node_modules/gulp-util/lib/isNull.js
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
module.exports = function(v) {
|
||||
return v === null;
|
||||
};
|
5
node_modules/gulp/node_modules/gulp-util/lib/isStream.js
generated
vendored
Normal file
5
node_modules/gulp/node_modules/gulp-util/lib/isStream.js
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
var Stream = require('stream').Stream;
|
||||
|
||||
module.exports = function(o) {
|
||||
return !!o && o instanceof Stream;
|
||||
};
|
14
node_modules/gulp/node_modules/gulp-util/lib/log.js
generated
vendored
Normal file
14
node_modules/gulp/node_modules/gulp-util/lib/log.js
generated
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
var hasGulplog = require('has-gulplog');
|
||||
|
||||
module.exports = function(){
|
||||
if(hasGulplog()){
|
||||
// specifically deferring loading here to keep from registering it globally
|
||||
var gulplog = require('gulplog');
|
||||
gulplog.info.apply(gulplog, arguments);
|
||||
} else {
|
||||
// specifically defering loading because it might not be used
|
||||
var fancylog = require('fancy-log');
|
||||
fancylog.apply(null, arguments);
|
||||
}
|
||||
return this;
|
||||
};
|
5
node_modules/gulp/node_modules/gulp-util/lib/noop.js
generated
vendored
Normal file
5
node_modules/gulp/node_modules/gulp-util/lib/noop.js
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
var through = require('through2');
|
||||
|
||||
module.exports = function () {
|
||||
return through.obj();
|
||||
};
|
23
node_modules/gulp/node_modules/gulp-util/lib/template.js
generated
vendored
Normal file
23
node_modules/gulp/node_modules/gulp-util/lib/template.js
generated
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
var template = require('lodash.template');
|
||||
var reEscape = require('lodash._reescape');
|
||||
var reEvaluate = require('lodash._reevaluate');
|
||||
var reInterpolate = require('lodash._reinterpolate');
|
||||
|
||||
var forcedSettings = {
|
||||
escape: reEscape,
|
||||
evaluate: reEvaluate,
|
||||
interpolate: reInterpolate
|
||||
};
|
||||
|
||||
module.exports = function(tmpl, data) {
|
||||
var fn = template(tmpl, forcedSettings);
|
||||
|
||||
var wrapped = function(o) {
|
||||
if (typeof o === 'undefined' || typeof o.file === 'undefined') {
|
||||
throw new Error('Failed to provide the current file as "file" to the template');
|
||||
}
|
||||
return fn(o);
|
||||
};
|
||||
|
||||
return (data ? wrapped(data) : wrapped);
|
||||
};
|
7
node_modules/gulp/node_modules/gulp-util/node_modules/array-differ/index.js
generated
vendored
Normal file
7
node_modules/gulp/node_modules/gulp-util/node_modules/array-differ/index.js
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
'use strict';
|
||||
module.exports = function (arr) {
|
||||
var rest = [].concat.apply([], [].slice.call(arguments, 1));
|
||||
return arr.filter(function (el) {
|
||||
return rest.indexOf(el) === -1;
|
||||
});
|
||||
};
|
61
node_modules/gulp/node_modules/gulp-util/node_modules/array-differ/package.json
generated
vendored
Normal file
61
node_modules/gulp/node_modules/gulp-util/node_modules/array-differ/package.json
generated
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
{
|
||||
"name": "array-differ",
|
||||
"version": "1.0.0",
|
||||
"description": "Create an array with values that are present in the first input array but not additional ones",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/sindresorhus/array-differ.git"
|
||||
},
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "http://sindresorhus.com"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "mocha"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"keywords": [
|
||||
"array",
|
||||
"difference",
|
||||
"diff",
|
||||
"differ",
|
||||
"filter",
|
||||
"exclude"
|
||||
],
|
||||
"devDependencies": {
|
||||
"mocha": "*"
|
||||
},
|
||||
"gitHead": "e91802976c4710eef8dea2090d48e48525cf41b1",
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/array-differ/issues"
|
||||
},
|
||||
"homepage": "https://github.com/sindresorhus/array-differ",
|
||||
"_id": "array-differ@1.0.0",
|
||||
"_shasum": "eff52e3758249d33be402b8bb8e564bb2b5d4031",
|
||||
"_from": "array-differ@>=1.0.0 <2.0.0",
|
||||
"_npmVersion": "1.4.14",
|
||||
"_npmUser": {
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
},
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
}
|
||||
],
|
||||
"dist": {
|
||||
"shasum": "eff52e3758249d33be402b8bb8e564bb2b5d4031",
|
||||
"tarball": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz"
|
||||
},
|
||||
"directories": {},
|
||||
"_resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
|
||||
"readme": "ERROR: No README data found!"
|
||||
}
|
41
node_modules/gulp/node_modules/gulp-util/node_modules/array-differ/readme.md
generated
vendored
Normal file
41
node_modules/gulp/node_modules/gulp-util/node_modules/array-differ/readme.md
generated
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
# array-differ [](https://travis-ci.org/sindresorhus/array-differ)
|
||||
|
||||
> Create an array with values that are present in the first input array but not additional ones
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
```sh
|
||||
$ npm install --save array-differ
|
||||
```
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
var arrayDiffer = require('array-differ');
|
||||
|
||||
arrayDiffer([2, 3, 4], [3, 50]);
|
||||
//=> [2, 4]
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
### arrayDiffer(input, values, [values, ...])
|
||||
|
||||
Returns the new array.
|
||||
|
||||
#### input
|
||||
|
||||
Type: `array`
|
||||
|
||||
#### values
|
||||
|
||||
Type: `array`
|
||||
|
||||
Arrays of values to exclude.
|
||||
|
||||
|
||||
## License
|
||||
|
||||
MIT © [Sindre Sorhus](http://sindresorhus.com)
|
62
node_modules/gulp/node_modules/gulp-util/node_modules/array-uniq/index.js
generated
vendored
Normal file
62
node_modules/gulp/node_modules/gulp-util/node_modules/array-uniq/index.js
generated
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
'use strict';
|
||||
|
||||
// there's 3 implementations written in increasing order of efficiency
|
||||
|
||||
// 1 - no Set type is defined
|
||||
function uniqNoSet(arr) {
|
||||
var ret = [];
|
||||
|
||||
for (var i = 0; i < arr.length; i++) {
|
||||
if (ret.indexOf(arr[i]) === -1) {
|
||||
ret.push(arr[i]);
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
// 2 - a simple Set type is defined
|
||||
function uniqSet(arr) {
|
||||
var seen = new Set();
|
||||
return arr.filter(function (el) {
|
||||
if (!seen.has(el)) {
|
||||
seen.add(el);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
// 3 - a standard Set type is defined and it has a forEach method
|
||||
function uniqSetWithForEach(arr) {
|
||||
var ret = [];
|
||||
|
||||
(new Set(arr)).forEach(function (el) {
|
||||
ret.push(el);
|
||||
});
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
// V8 currently has a broken implementation
|
||||
// https://github.com/joyent/node/issues/8449
|
||||
function doesForEachActuallyWork() {
|
||||
var ret = false;
|
||||
|
||||
(new Set([true])).forEach(function (el) {
|
||||
ret = el;
|
||||
});
|
||||
|
||||
return ret === true;
|
||||
}
|
||||
|
||||
if ('Set' in global) {
|
||||
if (typeof Set.prototype.forEach === 'function' && doesForEachActuallyWork()) {
|
||||
module.exports = uniqSetWithForEach;
|
||||
} else {
|
||||
module.exports = uniqSet;
|
||||
}
|
||||
} else {
|
||||
module.exports = uniqNoSet;
|
||||
}
|
21
node_modules/gulp/node_modules/gulp-util/node_modules/array-uniq/license
generated
vendored
Normal file
21
node_modules/gulp/node_modules/gulp-util/node_modules/array-uniq/license
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
|
||||
|
||||
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.
|
71
node_modules/gulp/node_modules/gulp-util/node_modules/array-uniq/package.json
generated
vendored
Normal file
71
node_modules/gulp/node_modules/gulp-util/node_modules/array-uniq/package.json
generated
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
{
|
||||
"name": "array-uniq",
|
||||
"version": "1.0.3",
|
||||
"description": "Create an array without duplicates",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/array-uniq.git"
|
||||
},
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"keywords": [
|
||||
"array",
|
||||
"arr",
|
||||
"set",
|
||||
"uniq",
|
||||
"unique",
|
||||
"es6",
|
||||
"duplicate",
|
||||
"remove"
|
||||
],
|
||||
"devDependencies": {
|
||||
"ava": "*",
|
||||
"es6-set": "^0.1.0",
|
||||
"require-uncached": "^1.0.2",
|
||||
"xo": "*"
|
||||
},
|
||||
"gitHead": "3b5bf5a90a585b3950284d575f33d09663f6083a",
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/array-uniq/issues"
|
||||
},
|
||||
"homepage": "https://github.com/sindresorhus/array-uniq#readme",
|
||||
"_id": "array-uniq@1.0.3",
|
||||
"_shasum": "af6ac877a25cc7f74e058894753858dfdb24fdb6",
|
||||
"_from": "array-uniq@>=1.0.2 <2.0.0",
|
||||
"_npmVersion": "2.15.0",
|
||||
"_nodeVersion": "4.4.2",
|
||||
"_npmUser": {
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
},
|
||||
"dist": {
|
||||
"shasum": "af6ac877a25cc7f74e058894753858dfdb24fdb6",
|
||||
"tarball": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz"
|
||||
},
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
}
|
||||
],
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-12-west.internal.npmjs.com",
|
||||
"tmp": "tmp/array-uniq-1.0.3.tgz_1466079716839_0.9139188586268574"
|
||||
},
|
||||
"directories": {},
|
||||
"_resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
|
||||
"readme": "ERROR: No README data found!"
|
||||
}
|
30
node_modules/gulp/node_modules/gulp-util/node_modules/array-uniq/readme.md
generated
vendored
Normal file
30
node_modules/gulp/node_modules/gulp-util/node_modules/array-uniq/readme.md
generated
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
# array-uniq [](https://travis-ci.org/sindresorhus/array-uniq)
|
||||
|
||||
> Create an array without duplicates
|
||||
|
||||
It's already pretty fast, but will be much faster when [Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set) becomes available in V8 (especially with large arrays).
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
```
|
||||
$ npm install --save array-uniq
|
||||
```
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
const arrayUniq = require('array-uniq');
|
||||
|
||||
arrayUniq([1, 1, 2, 3, 3]);
|
||||
//=> [1, 2, 3]
|
||||
|
||||
arrayUniq(['foo', 'foo', 'bar', 'foo']);
|
||||
//=> ['foo', 'bar']
|
||||
```
|
||||
|
||||
|
||||
## License
|
||||
|
||||
MIT © [Sindre Sorhus](https://sindresorhus.com)
|
60
node_modules/gulp/node_modules/gulp-util/node_modules/beeper/index.js
generated
vendored
Normal file
60
node_modules/gulp/node_modules/gulp-util/node_modules/beeper/index.js
generated
vendored
Normal file
@@ -0,0 +1,60 @@
|
||||
'use strict';
|
||||
|
||||
var BEEP_DELAY = 500;
|
||||
|
||||
function beep() {
|
||||
process.stdout.write('\u0007');
|
||||
}
|
||||
|
||||
function melodicalBeep(val, cb) {
|
||||
if (val.length === 0) {
|
||||
cb();
|
||||
return;
|
||||
}
|
||||
|
||||
setTimeout(function () {
|
||||
if (val.shift() === '*') {
|
||||
beep();
|
||||
}
|
||||
|
||||
melodicalBeep(val, cb);
|
||||
}, BEEP_DELAY);
|
||||
}
|
||||
|
||||
module.exports = function (val, cb) {
|
||||
if (!process.stdout.isTTY ||
|
||||
process.argv.indexOf('--no-beep') !== -1 ||
|
||||
process.argv.indexOf('--beep=false') !== -1) {
|
||||
return;
|
||||
}
|
||||
|
||||
cb = cb || function () {};
|
||||
|
||||
if (val === parseInt(val)) {
|
||||
if (val < 0) {
|
||||
throw new TypeError('Negative numbers are not accepted');
|
||||
}
|
||||
|
||||
if (val === 0) {
|
||||
cb();
|
||||
return;
|
||||
}
|
||||
|
||||
for (var i = 0; i < val; i++) {
|
||||
setTimeout(function (i) {
|
||||
beep();
|
||||
|
||||
if (i === val - 1) {
|
||||
cb();
|
||||
}
|
||||
}, BEEP_DELAY * i, i);
|
||||
}
|
||||
} else if (!val) {
|
||||
beep();
|
||||
cb();
|
||||
} else if (typeof val === 'string') {
|
||||
melodicalBeep(val.split(''), cb);
|
||||
} else {
|
||||
throw new TypeError('Not an accepted type');
|
||||
}
|
||||
};
|
21
node_modules/gulp/node_modules/gulp-util/node_modules/beeper/license
generated
vendored
Normal file
21
node_modules/gulp/node_modules/gulp-util/node_modules/beeper/license
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
|
||||
|
||||
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.
|
72
node_modules/gulp/node_modules/gulp-util/node_modules/beeper/package.json
generated
vendored
Normal file
72
node_modules/gulp/node_modules/gulp-util/node_modules/beeper/package.json
generated
vendored
Normal file
@@ -0,0 +1,72 @@
|
||||
{
|
||||
"name": "beeper",
|
||||
"version": "1.1.1",
|
||||
"description": "Make your terminal beep",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/beeper.git"
|
||||
},
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "node test.js"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"keywords": [
|
||||
"beep",
|
||||
"beeper",
|
||||
"boop",
|
||||
"terminal",
|
||||
"term",
|
||||
"cli",
|
||||
"console",
|
||||
"ding",
|
||||
"ping",
|
||||
"alert",
|
||||
"gulpfriendly"
|
||||
],
|
||||
"devDependencies": {
|
||||
"hooker": "^0.2.3",
|
||||
"tape": "^4.0.0"
|
||||
},
|
||||
"gitHead": "34f2c73a340f000c9e060f7038362db6782b236e",
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/beeper/issues"
|
||||
},
|
||||
"homepage": "https://github.com/sindresorhus/beeper#readme",
|
||||
"_id": "beeper@1.1.1",
|
||||
"_shasum": "e6d5ea8c5dad001304a70b22638447f69cb2f809",
|
||||
"_from": "beeper@>=1.0.0 <2.0.0",
|
||||
"_npmVersion": "3.10.8",
|
||||
"_nodeVersion": "6.9.1",
|
||||
"_npmUser": {
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
},
|
||||
"dist": {
|
||||
"shasum": "e6d5ea8c5dad001304a70b22638447f69cb2f809",
|
||||
"tarball": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz"
|
||||
},
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
}
|
||||
],
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-18-east.internal.npmjs.com",
|
||||
"tmp": "tmp/beeper-1.1.1.tgz_1478779325954_0.4620432916563004"
|
||||
},
|
||||
"directories": {},
|
||||
"_resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz",
|
||||
"readme": "ERROR: No README data found!"
|
||||
}
|
55
node_modules/gulp/node_modules/gulp-util/node_modules/beeper/readme.md
generated
vendored
Normal file
55
node_modules/gulp/node_modules/gulp-util/node_modules/beeper/readme.md
generated
vendored
Normal file
@@ -0,0 +1,55 @@
|
||||
# beeper [](https://travis-ci.org/sindresorhus/beeper)
|
||||
|
||||
> Make your terminal beep
|
||||
|
||||

|
||||
|
||||
Useful as an attention grabber e.g. when an error happens.
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
```
|
||||
$ npm install --save beeper
|
||||
```
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
var beeper = require('beeper');
|
||||
|
||||
beeper();
|
||||
// beep one time
|
||||
|
||||
beeper(3);
|
||||
// beep three times
|
||||
|
||||
beeper('****-*-*');
|
||||
// beep, beep, beep, beep, pause, beep, pause, beep
|
||||
```
|
||||
|
||||
|
||||
## API
|
||||
|
||||
It will not beep if stdout is not TTY or if the user supplies the `--no-beep` flag.
|
||||
|
||||
### beeper([count|melody], [callback])
|
||||
|
||||
#### count
|
||||
|
||||
Type: `number`
|
||||
Default: `1`
|
||||
|
||||
How many times you want it to beep.
|
||||
|
||||
#### melody
|
||||
|
||||
Type: `string`
|
||||
|
||||
Construct your own melody by supplying a string of `*` for beep `-` for pause.
|
||||
|
||||
|
||||
## License
|
||||
|
||||
MIT © [Sindre Sorhus](http://sindresorhus.com)
|
2
node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/.npmignore
generated
vendored
Normal file
2
node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/.npmignore
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
test
|
||||
.travis.yml
|
3
node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/.vs/ProjectSettings.json
generated
vendored
Normal file
3
node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/.vs/ProjectSettings.json
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"CurrentProjectSetting": null
|
||||
}
|
1031
node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/.vs/config/applicationhost.config
generated
vendored
Normal file
1031
node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/.vs/config/applicationhost.config
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
BIN
node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/.vs/node-dateformat/v15/.suo
generated
vendored
Normal file
BIN
node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/.vs/node-dateformat/v15/.suo
generated
vendored
Normal file
Binary file not shown.
BIN
node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/.vs/slnx.sqlite
generated
vendored
Normal file
BIN
node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/.vs/slnx.sqlite
generated
vendored
Normal file
Binary file not shown.
20
node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/LICENSE
generated
vendored
Normal file
20
node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
(c) 2007-2009 Steven Levithan <stevenlevithan.com>
|
||||
|
||||
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.
|
134
node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/Readme.md
generated
vendored
Normal file
134
node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/Readme.md
generated
vendored
Normal file
@@ -0,0 +1,134 @@
|
||||
# dateformat
|
||||
|
||||
A node.js package for Steven Levithan's excellent [dateFormat()][dateformat] function.
|
||||
|
||||
[](https://travis-ci.org/felixge/node-dateformat)
|
||||
|
||||
## Modifications
|
||||
|
||||
* Removed the `Date.prototype.format` method. Sorry folks, but extending native prototypes is for suckers.
|
||||
* Added a `module.exports = dateFormat;` statement at the bottom
|
||||
* Added the placeholder `N` to get the ISO 8601 numeric representation of the day of the week
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
$ npm install dateformat
|
||||
$ dateformat --help
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
As taken from Steven's post, modified to match the Modifications listed above:
|
||||
```js
|
||||
var dateFormat = require('dateformat');
|
||||
var now = new Date();
|
||||
|
||||
// Basic usage
|
||||
dateFormat(now, "dddd, mmmm dS, yyyy, h:MM:ss TT");
|
||||
// Saturday, June 9th, 2007, 5:46:21 PM
|
||||
|
||||
// You can use one of several named masks
|
||||
dateFormat(now, "isoDateTime");
|
||||
// 2007-06-09T17:46:21
|
||||
|
||||
// ...Or add your own
|
||||
dateFormat.masks.hammerTime = 'HH:MM! "Can\'t touch this!"';
|
||||
dateFormat(now, "hammerTime");
|
||||
// 17:46! Can't touch this!
|
||||
|
||||
// You can also provide the date as a string
|
||||
dateFormat("Jun 9 2007", "fullDate");
|
||||
// Saturday, June 9, 2007
|
||||
|
||||
// Note that if you don't include the mask argument,
|
||||
// dateFormat.masks.default is used
|
||||
dateFormat(now);
|
||||
// Sat Jun 09 2007 17:46:21
|
||||
|
||||
// And if you don't include the date argument,
|
||||
// the current date and time is used
|
||||
dateFormat();
|
||||
// Sat Jun 09 2007 17:46:22
|
||||
|
||||
// You can also skip the date argument (as long as your mask doesn't
|
||||
// contain any numbers), in which case the current date/time is used
|
||||
dateFormat("longTime");
|
||||
// 5:46:22 PM EST
|
||||
|
||||
// And finally, you can convert local time to UTC time. Simply pass in
|
||||
// true as an additional argument (no argument skipping allowed in this case):
|
||||
dateFormat(now, "longTime", true);
|
||||
// 10:46:21 PM UTC
|
||||
|
||||
// ...Or add the prefix "UTC:" or "GMT:" to your mask.
|
||||
dateFormat(now, "UTC:h:MM:ss TT Z");
|
||||
// 10:46:21 PM UTC
|
||||
|
||||
// You can also get the ISO 8601 week of the year:
|
||||
dateFormat(now, "W");
|
||||
// 42
|
||||
|
||||
// and also get the ISO 8601 numeric representation of the day of the week:
|
||||
dateFormat(now,"N");
|
||||
// 6
|
||||
```
|
||||
|
||||
### Mask options
|
||||
|
||||
Mask | Description
|
||||
---- | -----------
|
||||
`d` | Day of the month as digits; no leading zero for single-digit days.
|
||||
`dd` | Day of the month as digits; leading zero for single-digit days.
|
||||
`ddd` | Day of the week as a three-letter abbreviation.
|
||||
`dddd` | Day of the week as its full name.
|
||||
`m` | Month as digits; no leading zero for single-digit months.
|
||||
`mm` | Month as digits; leading zero for single-digit months.
|
||||
`mmm` | Month as a three-letter abbreviation.
|
||||
`mmmm` | Month as its full name.
|
||||
`yy` | Year as last two digits; leading zero for years less than 10.
|
||||
`yyyy` | Year represented by four digits.
|
||||
`h` | Hours; no leading zero for single-digit hours (12-hour clock).
|
||||
`hh` | Hours; leading zero for single-digit hours (12-hour clock).
|
||||
`H` | Hours; no leading zero for single-digit hours (24-hour clock).
|
||||
`HH` | Hours; leading zero for single-digit hours (24-hour clock).
|
||||
`M` | Minutes; no leading zero for single-digit minutes.
|
||||
`MM` | Minutes; leading zero for single-digit minutes.
|
||||
`N` | ISO 8601 numeric representation of the day of the week.
|
||||
`o` | GMT/UTC timezone offset, e.g. -0500 or +0230.
|
||||
`s` | Seconds; no leading zero for single-digit seconds.
|
||||
`ss` | Seconds; leading zero for single-digit seconds.
|
||||
`S` | The date's ordinal suffix (st, nd, rd, or th). Works well with `d`.
|
||||
`l` | Milliseconds; gives 3 digits.
|
||||
`L` | Milliseconds; gives 2 digits.
|
||||
`t` | Lowercase, single-character time marker string: a or p.
|
||||
`tt` | Lowercase, two-character time marker string: am or pm.
|
||||
`T` | Uppercase, single-character time marker string: A or P.
|
||||
`TT` | Uppercase, two-character time marker string: AM or PM.
|
||||
`W` | ISO 8601 week number of the year, e.g. 42
|
||||
`Z` | US timezone abbreviation, e.g. EST or MDT. With non-US timezones or in the
|
||||
`'...'`, `"..."` | Literal character sequence. Surrounding quotes are removed.
|
||||
`UTC:` | Must be the first four characters of the mask. Converts the date from local time to UTC/GMT/Zulu time before applying the mask. The "UTC:" prefix is removed.
|
||||
|
||||
### Named Formats
|
||||
|
||||
Name | Mask | Example
|
||||
---- | ---- | -------
|
||||
`default` | `ddd mmm dd yyyy HH:MM:ss` | Sat Jun 09 2007 17:46:21
|
||||
`shortDate` | `m/d/yy` | 6/9/07
|
||||
`mediumDate` | `mmm d, yyyy` | Jun 9, 2007
|
||||
`longDate` | `mmmm d, yyyy` | June 9, 2007
|
||||
`fullDate` | `dddd, mmmm d, yyyy` | Saturday, June 9, 2007
|
||||
`shortTime` | `h:MM TT` | 5:46 PM
|
||||
`mediumTime` | `h:MM:ss TT` | 5:46:21 PM
|
||||
`longTime` | `h:MM:ss TT Z` | 5:46:21 PM EST
|
||||
`isoDate` | `yyyy-mm-dd` | 2007-06-09
|
||||
`isoTime` | `HH:MM:ss` | 17:46:21
|
||||
`isoDateTime` | `yyyy-mm-dd'T'HH:MM:ss` | 2007-06-09T17:46:21
|
||||
`isoUtcDateTime` | `UTC:yyyy-mm-dd'T'HH:MM:ss'Z'` | 2007-06-09T22:46:21Z
|
||||
## License
|
||||
|
||||
(c) 2007-2009 Steven Levithan [stevenlevithan.com][stevenlevithan], MIT license.
|
||||
|
||||
[dateformat]: http://blog.stevenlevithan.com/archives/date-time-format
|
||||
[stevenlevithan]: http://stevenlevithan.com/
|
226
node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/lib/dateformat.js
generated
vendored
Normal file
226
node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/lib/dateformat.js
generated
vendored
Normal file
@@ -0,0 +1,226 @@
|
||||
/*
|
||||
* Date Format 1.2.3
|
||||
* (c) 2007-2009 Steven Levithan <stevenlevithan.com>
|
||||
* MIT license
|
||||
*
|
||||
* Includes enhancements by Scott Trenda <scott.trenda.net>
|
||||
* and Kris Kowal <cixar.com/~kris.kowal/>
|
||||
*
|
||||
* Accepts a date, a mask, or a date and a mask.
|
||||
* Returns a formatted version of the given date.
|
||||
* The date defaults to the current date/time.
|
||||
* The mask defaults to dateFormat.masks.default.
|
||||
*/
|
||||
|
||||
(function(global) {
|
||||
'use strict';
|
||||
|
||||
var dateFormat = (function() {
|
||||
var token = /d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZWN]|'[^']*'|'[^']*'/g;
|
||||
var timezone = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g;
|
||||
var timezoneClip = /[^-+\dA-Z]/g;
|
||||
|
||||
// Regexes and supporting functions are cached through closure
|
||||
return function (date, mask, utc, gmt) {
|
||||
|
||||
// You can't provide utc if you skip other args (use the 'UTC:' mask prefix)
|
||||
if (arguments.length === 1 && kindOf(date) === 'string' && !/\d/.test(date)) {
|
||||
mask = date;
|
||||
date = undefined;
|
||||
}
|
||||
|
||||
date = date || new Date;
|
||||
|
||||
if(!(date instanceof Date)) {
|
||||
date = new Date(date);
|
||||
}
|
||||
|
||||
if (isNaN(date)) {
|
||||
throw TypeError('Invalid date');
|
||||
}
|
||||
|
||||
mask = String(dateFormat.masks[mask] || mask || dateFormat.masks['default']);
|
||||
|
||||
// Allow setting the utc/gmt argument via the mask
|
||||
var maskSlice = mask.slice(0, 4);
|
||||
if (maskSlice === 'UTC:' || maskSlice === 'GMT:') {
|
||||
mask = mask.slice(4);
|
||||
utc = true;
|
||||
if (maskSlice === 'GMT:') {
|
||||
gmt = true;
|
||||
}
|
||||
}
|
||||
|
||||
var _ = utc ? 'getUTC' : 'get';
|
||||
var d = date[_ + 'Date']();
|
||||
var D = date[_ + 'Day']();
|
||||
var m = date[_ + 'Month']();
|
||||
var y = date[_ + 'FullYear']();
|
||||
var H = date[_ + 'Hours']();
|
||||
var M = date[_ + 'Minutes']();
|
||||
var s = date[_ + 'Seconds']();
|
||||
var L = date[_ + 'Milliseconds']();
|
||||
var o = utc ? 0 : date.getTimezoneOffset();
|
||||
var W = getWeek(date);
|
||||
var N = getDayOfWeek(date);
|
||||
var flags = {
|
||||
d: d,
|
||||
dd: pad(d),
|
||||
ddd: dateFormat.i18n.dayNames[D],
|
||||
dddd: dateFormat.i18n.dayNames[D + 7],
|
||||
m: m + 1,
|
||||
mm: pad(m + 1),
|
||||
mmm: dateFormat.i18n.monthNames[m],
|
||||
mmmm: dateFormat.i18n.monthNames[m + 12],
|
||||
yy: String(y).slice(2),
|
||||
yyyy: y,
|
||||
h: H % 12 || 12,
|
||||
hh: pad(H % 12 || 12),
|
||||
H: H,
|
||||
HH: pad(H),
|
||||
M: M,
|
||||
MM: pad(M),
|
||||
s: s,
|
||||
ss: pad(s),
|
||||
l: pad(L, 3),
|
||||
L: pad(Math.round(L / 10)),
|
||||
t: H < 12 ? 'a' : 'p',
|
||||
tt: H < 12 ? 'am' : 'pm',
|
||||
T: H < 12 ? 'A' : 'P',
|
||||
TT: H < 12 ? 'AM' : 'PM',
|
||||
Z: gmt ? 'GMT' : utc ? 'UTC' : (String(date).match(timezone) || ['']).pop().replace(timezoneClip, ''),
|
||||
o: (o > 0 ? '-' : '+') + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4),
|
||||
S: ['th', 'st', 'nd', 'rd'][d % 10 > 3 ? 0 : (d % 100 - d % 10 != 10) * d % 10],
|
||||
W: W,
|
||||
N: N
|
||||
};
|
||||
|
||||
return mask.replace(token, function (match) {
|
||||
if (match in flags) {
|
||||
return flags[match];
|
||||
}
|
||||
return match.slice(1, match.length - 1);
|
||||
});
|
||||
};
|
||||
})();
|
||||
|
||||
dateFormat.masks = {
|
||||
'default': 'ddd mmm dd yyyy HH:MM:ss',
|
||||
'shortDate': 'm/d/yy',
|
||||
'mediumDate': 'mmm d, yyyy',
|
||||
'longDate': 'mmmm d, yyyy',
|
||||
'fullDate': 'dddd, mmmm d, yyyy',
|
||||
'shortTime': 'h:MM TT',
|
||||
'mediumTime': 'h:MM:ss TT',
|
||||
'longTime': 'h:MM:ss TT Z',
|
||||
'isoDate': 'yyyy-mm-dd',
|
||||
'isoTime': 'HH:MM:ss',
|
||||
'isoDateTime': 'yyyy-mm-dd\'T\'HH:MM:sso',
|
||||
'isoUtcDateTime': 'UTC:yyyy-mm-dd\'T\'HH:MM:ss\'Z\'',
|
||||
'expiresHeaderFormat': 'ddd, dd mmm yyyy HH:MM:ss Z'
|
||||
};
|
||||
|
||||
// Internationalization strings
|
||||
dateFormat.i18n = {
|
||||
dayNames: [
|
||||
'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat',
|
||||
'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'
|
||||
],
|
||||
monthNames: [
|
||||
'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec',
|
||||
'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'
|
||||
]
|
||||
};
|
||||
|
||||
function pad(val, len) {
|
||||
val = String(val);
|
||||
len = len || 2;
|
||||
while (val.length < len) {
|
||||
val = '0' + val;
|
||||
}
|
||||
return val;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the ISO 8601 week number
|
||||
* Based on comments from
|
||||
* http://techblog.procurios.nl/k/n618/news/view/33796/14863/Calculate-ISO-8601-week-and-year-in-javascript.html
|
||||
*
|
||||
* @param {Object} `date`
|
||||
* @return {Number}
|
||||
*/
|
||||
function getWeek(date) {
|
||||
// Remove time components of date
|
||||
var targetThursday = new Date(date.getFullYear(), date.getMonth(), date.getDate());
|
||||
|
||||
// Change date to Thursday same week
|
||||
targetThursday.setDate(targetThursday.getDate() - ((targetThursday.getDay() + 6) % 7) + 3);
|
||||
|
||||
// Take January 4th as it is always in week 1 (see ISO 8601)
|
||||
var firstThursday = new Date(targetThursday.getFullYear(), 0, 4);
|
||||
|
||||
// Change date to Thursday same week
|
||||
firstThursday.setDate(firstThursday.getDate() - ((firstThursday.getDay() + 6) % 7) + 3);
|
||||
|
||||
// Check if daylight-saving-time-switch occurred and correct for it
|
||||
var ds = targetThursday.getTimezoneOffset() - firstThursday.getTimezoneOffset();
|
||||
targetThursday.setHours(targetThursday.getHours() - ds);
|
||||
|
||||
// Number of weeks between target Thursday and first Thursday
|
||||
var weekDiff = (targetThursday - firstThursday) / (86400000*7);
|
||||
return 1 + Math.floor(weekDiff);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get ISO-8601 numeric representation of the day of the week
|
||||
* 1 (for Monday) through 7 (for Sunday)
|
||||
*
|
||||
* @param {Object} `date`
|
||||
* @return {Number}
|
||||
*/
|
||||
function getDayOfWeek(date) {
|
||||
var dow = date.getDay();
|
||||
if(dow === 0) {
|
||||
dow = 7;
|
||||
}
|
||||
return dow;
|
||||
}
|
||||
|
||||
/**
|
||||
* kind-of shortcut
|
||||
* @param {*} val
|
||||
* @return {String}
|
||||
*/
|
||||
function kindOf(val) {
|
||||
if (val === null) {
|
||||
return 'null';
|
||||
}
|
||||
|
||||
if (val === undefined) {
|
||||
return 'undefined';
|
||||
}
|
||||
|
||||
if (typeof val !== 'object') {
|
||||
return typeof val;
|
||||
}
|
||||
|
||||
if (Array.isArray(val)) {
|
||||
return 'array';
|
||||
}
|
||||
|
||||
return {}.toString.call(val)
|
||||
.slice(8, -1).toLowerCase();
|
||||
};
|
||||
|
||||
|
||||
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
define(function () {
|
||||
return dateFormat;
|
||||
});
|
||||
} else if (typeof exports === 'object') {
|
||||
module.exports = dateFormat;
|
||||
} else {
|
||||
global.dateFormat = dateFormat;
|
||||
}
|
||||
})(this);
|
84
node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/package.json
generated
vendored
Normal file
84
node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/package.json
generated
vendored
Normal file
@@ -0,0 +1,84 @@
|
||||
{
|
||||
"name": "dateformat",
|
||||
"description": "A node.js package for Steven Levithan's excellent dateFormat() function.",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "fpintos",
|
||||
"email": "fpintos.npm@outlook.com"
|
||||
},
|
||||
{
|
||||
"name": "jonschlinkert",
|
||||
"email": "github@sellside.com"
|
||||
},
|
||||
{
|
||||
"name": "ctavan",
|
||||
"email": "dev@tavan.de"
|
||||
},
|
||||
{
|
||||
"name": "felixge",
|
||||
"email": "felix@debuggable.com"
|
||||
}
|
||||
],
|
||||
"homepage": "https://github.com/felixge/node-dateformat",
|
||||
"author": {
|
||||
"name": "Steven Levithan"
|
||||
},
|
||||
"contributors": [
|
||||
{
|
||||
"name": "Steven Levithan"
|
||||
},
|
||||
{
|
||||
"name": "Felix Geisendörfer",
|
||||
"email": "felix@debuggable.com"
|
||||
},
|
||||
{
|
||||
"name": "Christoph Tavan",
|
||||
"email": "dev@tavan.de"
|
||||
},
|
||||
{
|
||||
"name": "Jon Schlinkert",
|
||||
"url": "https://github.com/jonschlinkert"
|
||||
}
|
||||
],
|
||||
"version": "2.2.0",
|
||||
"license": "MIT",
|
||||
"main": "lib/dateformat",
|
||||
"devDependencies": {
|
||||
"underscore": "1.7.0",
|
||||
"mocha": "2.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": "*"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "mocha"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/felixge/node-dateformat.git"
|
||||
},
|
||||
"gitHead": "849ecab04ac9337cc96564c081382aed981aa961",
|
||||
"bugs": {
|
||||
"url": "https://github.com/felixge/node-dateformat/issues"
|
||||
},
|
||||
"_id": "dateformat@2.2.0",
|
||||
"_shasum": "4065e2013cf9fb916ddfd82efb506ad4c6769062",
|
||||
"_from": "dateformat@>=2.0.0 <3.0.0",
|
||||
"_npmVersion": "3.10.3",
|
||||
"_nodeVersion": "6.7.0",
|
||||
"_npmUser": {
|
||||
"name": "fpintos",
|
||||
"email": "fpintos.npm@outlook.com"
|
||||
},
|
||||
"dist": {
|
||||
"shasum": "4065e2013cf9fb916ddfd82efb506ad4c6769062",
|
||||
"tarball": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz"
|
||||
},
|
||||
"_npmOperationalInternal": {
|
||||
"host": "s3://npm-registry-packages",
|
||||
"tmp": "tmp/dateformat-2.2.0.tgz_1505980201538_0.9515526841860265"
|
||||
},
|
||||
"directories": {},
|
||||
"_resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz",
|
||||
"readme": "ERROR: No README data found!"
|
||||
}
|
23
node_modules/gulp/node_modules/gulp-util/node_modules/fancy-log/LICENSE
generated
vendored
Normal file
23
node_modules/gulp/node_modules/gulp-util/node_modules/fancy-log/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015 Blaine Bublitz <blaine.bublitz@gmail.com>
|
||||
Based on gulp-util, copyright 2014 Fractal <contact@wearefractal.com>
|
||||
|
||||
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.
|
||||
|
51
node_modules/gulp/node_modules/gulp-util/node_modules/fancy-log/README.md
generated
vendored
Normal file
51
node_modules/gulp/node_modules/gulp-util/node_modules/fancy-log/README.md
generated
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
# fancy-log
|
||||
|
||||
[](https://travis-ci.org/js-cli/fancy-log)
|
||||
|
||||
Log things, prefixed with a timestamp
|
||||
|
||||
__This module was pulled out of gulp-util for use inside the CLI__
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
var log = require('fancy-log');
|
||||
|
||||
log('a message');
|
||||
// [16:27:02] a message
|
||||
|
||||
log.error('oh no!');
|
||||
// [16:27:02] oh no!
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
### `log(msg...)`
|
||||
|
||||
Logs the message as if you called `console.log` but prefixes the output with the
|
||||
current time in HH:MM:ss format.
|
||||
|
||||
### `log.error(msg...)`
|
||||
|
||||
Logs the message as if you called `console.error` but prefixes the output with the
|
||||
current time in HH:MM:ss format.
|
||||
|
||||
### `log.warn(msg...)`
|
||||
|
||||
Logs the message as if you called `console.warn` but prefixes the output with the
|
||||
current time in HH:MM:ss format.
|
||||
|
||||
|
||||
### `log.info(msg...)`
|
||||
|
||||
Logs the message as if you called `console.info` but prefixes the output with the
|
||||
current time in HH:MM:ss format.
|
||||
|
||||
### `log.dir(msg...)`
|
||||
|
||||
Logs the message as if you called `console.dir` but prefixes the output with the
|
||||
current time in HH:MM:ss format.
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
72
node_modules/gulp/node_modules/gulp-util/node_modules/fancy-log/index.js
generated
vendored
Normal file
72
node_modules/gulp/node_modules/gulp-util/node_modules/fancy-log/index.js
generated
vendored
Normal file
@@ -0,0 +1,72 @@
|
||||
'use strict';
|
||||
/*
|
||||
Initial code from https://github.com/gulpjs/gulp-util/blob/v3.0.6/lib/log.js
|
||||
*/
|
||||
var gray = require('ansi-gray');
|
||||
var timestamp = require('time-stamp');
|
||||
var supportsColor = require('color-support');
|
||||
|
||||
function hasFlag(flag) {
|
||||
return (process.argv.indexOf('--' + flag) !== -1);
|
||||
}
|
||||
|
||||
function addColor(str) {
|
||||
if (hasFlag('no-color')) {
|
||||
return str;
|
||||
}
|
||||
|
||||
if (hasFlag('color')) {
|
||||
return gray(str);
|
||||
}
|
||||
|
||||
if (supportsColor()) {
|
||||
return gray(str);
|
||||
}
|
||||
|
||||
return str;
|
||||
}
|
||||
|
||||
function getTimestamp(){
|
||||
return '['+addColor(timestamp('HH:mm:ss'))+']';
|
||||
}
|
||||
|
||||
function log(){
|
||||
var time = getTimestamp();
|
||||
process.stdout.write(time + ' ');
|
||||
console.log.apply(console, arguments);
|
||||
return this;
|
||||
}
|
||||
|
||||
function info(){
|
||||
var time = getTimestamp();
|
||||
process.stdout.write(time + ' ');
|
||||
console.info.apply(console, arguments);
|
||||
return this;
|
||||
}
|
||||
|
||||
function dir(){
|
||||
var time = getTimestamp();
|
||||
process.stdout.write(time + ' ');
|
||||
console.dir.apply(console, arguments);
|
||||
return this;
|
||||
}
|
||||
|
||||
function warn(){
|
||||
var time = getTimestamp();
|
||||
process.stderr.write(time + ' ');
|
||||
console.warn.apply(console, arguments);
|
||||
return this;
|
||||
}
|
||||
|
||||
function error(){
|
||||
var time = getTimestamp();
|
||||
process.stderr.write(time + ' ');
|
||||
console.error.apply(console, arguments);
|
||||
return this;
|
||||
}
|
||||
|
||||
module.exports = log;
|
||||
module.exports.info = info;
|
||||
module.exports.dir = dir;
|
||||
module.exports.warn = warn;
|
||||
module.exports.error = error;
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user