first commit
This commit is contained in:
27
build/node_modules/@pwa/manifest/assets/manifest-extra.json
generated
vendored
Normal file
27
build/node_modules/@pwa/manifest/assets/manifest-extra.json
generated
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"lang": "en-US",
|
||||
"display": "standalone",
|
||||
"orientation": "natural",
|
||||
"splash_screens": [{
|
||||
"src": "splash/lowres",
|
||||
"sizes": "320x240"
|
||||
}, {
|
||||
"src": "splash/hd_small",
|
||||
"sizes": "1334x750"
|
||||
}, {
|
||||
"src": "splash/hd_hi",
|
||||
"sizes": "1920x1080",
|
||||
"density": 3
|
||||
}],
|
||||
"prefer_related_applications": "true",
|
||||
"related_applications": [{
|
||||
"platform": "play",
|
||||
"url": "https://play.google.com/store/apps/details?id=com.example.app1",
|
||||
"id": "com.example.app1"
|
||||
}, {
|
||||
"platform": "itunes",
|
||||
"url": "https://itunes.apple.com/app/example-app1/id123456789",
|
||||
}, {
|
||||
"platform": "web"
|
||||
}]
|
||||
}
|
||||
22
build/node_modules/@pwa/manifest/assets/manifest.json
generated
vendored
Normal file
22
build/node_modules/@pwa/manifest/assets/manifest.json
generated
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"name": "Name for App and Splash Screen",
|
||||
"short_name": "Short name for Icon and Task",
|
||||
"icons": [{
|
||||
"src": "icon-144x144.png",
|
||||
"sizes": "144x144",
|
||||
"type": "image/png"
|
||||
}, {
|
||||
"src": "icon-192x192.png",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png"
|
||||
}, {
|
||||
"src": "icon-512x512.png",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png"
|
||||
}],
|
||||
"start_url": "./?utm_source=web_app_manifest",
|
||||
"display": "standalone",
|
||||
"orientation": "natural",
|
||||
"background_color": "#FFFFFF",
|
||||
"theme_color": "#3F51B5"
|
||||
}
|
||||
90
build/node_modules/@pwa/manifest/index.js
generated
vendored
Normal file
90
build/node_modules/@pwa/manifest/index.js
generated
vendored
Normal file
@@ -0,0 +1,90 @@
|
||||
'use strict';
|
||||
|
||||
const path = require('path');
|
||||
const oassign = require('object-assign');
|
||||
const writeJSON = require('write-json-file');
|
||||
const loadJSON = require('load-json-file');
|
||||
const readPkgUp = require('read-pkg-up');
|
||||
const isCssColorHex = require('is-css-color-hex');
|
||||
const isCssColorName = require('is-css-color-name');
|
||||
|
||||
function validate(vals, pkg) {
|
||||
const presets = {
|
||||
dir: ['ltr', 'rtl', 'auto'],
|
||||
icons: ['72', '96', '128', '144', '152', '192', '384', '512'],
|
||||
display: ['fullscreen', 'standalone', 'minimal-ui', 'browser'],
|
||||
orientation: [
|
||||
'any', 'natural', 'landscape', 'landscape-primary',
|
||||
'landscape-secondary', 'portrait', 'portrait-primary',
|
||||
'portrait-secondary'
|
||||
]
|
||||
};
|
||||
const err = m => new Error(m + ' has an invalid value: ' + vals[m]);
|
||||
const hasPreset = (m, v) => presets[m].indexOf(v) >= 0;
|
||||
const isCssColorVal = v => isCssColorHex(v) || isCssColorName(v);
|
||||
const shortize = name => name.slice(0, 12);
|
||||
|
||||
if (vals.display && !hasPreset('display', vals.display)) {
|
||||
throw err('display');
|
||||
}
|
||||
|
||||
if (vals.orientation && !hasPreset('orientation', vals.orientation)) {
|
||||
throw err('orientation');
|
||||
}
|
||||
|
||||
if (!vals.name && pkg && pkg.name) {
|
||||
vals.name = pkg.name;
|
||||
vals.short_name = pkg.name;
|
||||
}
|
||||
|
||||
if (vals.short_name) {
|
||||
vals.short_name = shortize(vals.short_name);
|
||||
}
|
||||
|
||||
if (vals.background_color && !isCssColorVal(vals.background_color)) {
|
||||
throw err('background_color');
|
||||
}
|
||||
|
||||
if (vals.theme_color && !isCssColorVal(vals.theme_color)) {
|
||||
throw err('theme_color');
|
||||
}
|
||||
|
||||
if (vals.dir && !hasPreset('dir', vals.dir)) {
|
||||
throw err('dir');
|
||||
}
|
||||
|
||||
return vals;
|
||||
}
|
||||
|
||||
function manifestDir(dir) {
|
||||
return path.join(dir, 'manifest.json');
|
||||
}
|
||||
|
||||
module.exports = function (opts) {
|
||||
opts = oassign({}, opts);
|
||||
|
||||
return readPkgUp({}).then(res => {
|
||||
opts = validate(opts, res.pkg);
|
||||
})
|
||||
.then(() => loadJSON(path.join(__dirname, './assets/manifest.json')))
|
||||
.then(manifest => {
|
||||
oassign(manifest, opts);
|
||||
return manifest;
|
||||
});
|
||||
};
|
||||
|
||||
module.exports.write = function (dir, manifest) {
|
||||
return writeJSON(manifestDir(dir), manifest);
|
||||
};
|
||||
|
||||
module.exports.write.sync = function (dir, manifest) {
|
||||
return writeJSON.sync(manifestDir(dir), manifest);
|
||||
};
|
||||
|
||||
module.exports.read = function (dir) {
|
||||
return loadJSON(manifestDir(dir));
|
||||
};
|
||||
|
||||
module.exports.read.sync = function (dir) {
|
||||
return loadJSON.sync(manifestDir(dir));
|
||||
};
|
||||
21
build/node_modules/@pwa/manifest/license
generated
vendored
Normal file
21
build/node_modules/@pwa/manifest/license
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) ragingwind <ragingwind@gmail.com> (ragingwind.html)
|
||||
|
||||
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.
|
||||
102
build/node_modules/@pwa/manifest/node_modules/ansi-escapes/index.js
generated
vendored
Normal file
102
build/node_modules/@pwa/manifest/node_modules/ansi-escapes/index.js
generated
vendored
Normal file
@@ -0,0 +1,102 @@
|
||||
'use strict';
|
||||
const x = module.exports;
|
||||
const ESC = '\u001B[';
|
||||
const isTerminalApp = process.env.TERM_PROGRAM === 'Apple_Terminal';
|
||||
|
||||
x.cursorTo = (x, y) => {
|
||||
if (typeof x !== 'number') {
|
||||
throw new TypeError('The `x` argument is required');
|
||||
}
|
||||
|
||||
if (typeof y !== 'number') {
|
||||
return ESC + (x + 1) + 'G';
|
||||
}
|
||||
|
||||
return ESC + (y + 1) + ';' + (x + 1) + 'H';
|
||||
};
|
||||
|
||||
x.cursorMove = (x, y) => {
|
||||
if (typeof x !== 'number') {
|
||||
throw new TypeError('The `x` argument is required');
|
||||
}
|
||||
|
||||
let ret = '';
|
||||
|
||||
if (x < 0) {
|
||||
ret += ESC + (-x) + 'D';
|
||||
} else if (x > 0) {
|
||||
ret += ESC + x + 'C';
|
||||
}
|
||||
|
||||
if (y < 0) {
|
||||
ret += ESC + (-y) + 'A';
|
||||
} else if (y > 0) {
|
||||
ret += ESC + y + 'B';
|
||||
}
|
||||
|
||||
return ret;
|
||||
};
|
||||
|
||||
x.cursorUp = count => ESC + (typeof count === 'number' ? count : 1) + 'A';
|
||||
x.cursorDown = count => ESC + (typeof count === 'number' ? count : 1) + 'B';
|
||||
x.cursorForward = count => ESC + (typeof count === 'number' ? count : 1) + 'C';
|
||||
x.cursorBackward = count => ESC + (typeof count === 'number' ? count : 1) + 'D';
|
||||
|
||||
x.cursorLeft = ESC + 'G';
|
||||
x.cursorSavePosition = ESC + (isTerminalApp ? '7' : 's');
|
||||
x.cursorRestorePosition = ESC + (isTerminalApp ? '8' : 'u');
|
||||
x.cursorGetPosition = ESC + '6n';
|
||||
x.cursorNextLine = ESC + 'E';
|
||||
x.cursorPrevLine = ESC + 'F';
|
||||
x.cursorHide = ESC + '?25l';
|
||||
x.cursorShow = ESC + '?25h';
|
||||
|
||||
x.eraseLines = count => {
|
||||
let clear = '';
|
||||
|
||||
for (let i = 0; i < count; i++) {
|
||||
clear += x.eraseLine + (i < count - 1 ? x.cursorUp() : '');
|
||||
}
|
||||
|
||||
if (count) {
|
||||
clear += x.cursorLeft;
|
||||
}
|
||||
|
||||
return clear;
|
||||
};
|
||||
|
||||
x.eraseEndLine = ESC + 'K';
|
||||
x.eraseStartLine = ESC + '1K';
|
||||
x.eraseLine = ESC + '2K';
|
||||
x.eraseDown = ESC + 'J';
|
||||
x.eraseUp = ESC + '1J';
|
||||
x.eraseScreen = ESC + '2J';
|
||||
x.scrollUp = ESC + 'S';
|
||||
x.scrollDown = ESC + 'T';
|
||||
|
||||
x.clearScreen = '\u001Bc';
|
||||
x.beep = '\u0007';
|
||||
|
||||
x.image = (buf, opts) => {
|
||||
opts = opts || {};
|
||||
|
||||
let ret = '\u001B]1337;File=inline=1';
|
||||
|
||||
if (opts.width) {
|
||||
ret += `;width=${opts.width}`;
|
||||
}
|
||||
|
||||
if (opts.height) {
|
||||
ret += `;height=${opts.height}`;
|
||||
}
|
||||
|
||||
if (opts.preserveAspectRatio === false) {
|
||||
ret += ';preserveAspectRatio=0';
|
||||
}
|
||||
|
||||
return ret + ':' + buf.toString('base64') + '\u0007';
|
||||
};
|
||||
|
||||
x.iTerm = {};
|
||||
|
||||
x.iTerm.setCwd = cwd => '\u001B]50;CurrentDir=' + (cwd || process.cwd()) + '\u0007';
|
||||
9
build/node_modules/@pwa/manifest/node_modules/ansi-escapes/license
generated
vendored
Normal file
9
build/node_modules/@pwa/manifest/node_modules/ansi-escapes/license
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
MIT License
|
||||
|
||||
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.
|
||||
82
build/node_modules/@pwa/manifest/node_modules/ansi-escapes/package.json
generated
vendored
Normal file
82
build/node_modules/@pwa/manifest/node_modules/ansi-escapes/package.json
generated
vendored
Normal file
@@ -0,0 +1,82 @@
|
||||
{
|
||||
"_from": "ansi-escapes@^3.0.0",
|
||||
"_id": "ansi-escapes@3.0.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-O/klc27mWNUigtv0F8NJWbLF00OcegQalkqKURWdosW08YZKi4m6CnSUSvIZG1otNJbTWhN01Hhz389DW7mvDQ==",
|
||||
"_location": "/@pwa/manifest/ansi-escapes",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "ansi-escapes@^3.0.0",
|
||||
"name": "ansi-escapes",
|
||||
"escapedName": "ansi-escapes",
|
||||
"rawSpec": "^3.0.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^3.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@pwa/manifest/inquirer"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz",
|
||||
"_shasum": "ec3e8b4e9f8064fc02c3ac9b65f1c275bda8ef92",
|
||||
"_spec": "ansi-escapes@^3.0.0",
|
||||
"_where": "/Users/asciidisco/Desktop/asciidisco.com/build/node_modules/@pwa/manifest/node_modules/inquirer",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/ansi-escapes/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"deprecated": false,
|
||||
"description": "ANSI escape codes for manipulating the terminal",
|
||||
"devDependencies": {
|
||||
"ava": "*",
|
||||
"xo": "*"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"homepage": "https://github.com/sindresorhus/ansi-escapes#readme",
|
||||
"keywords": [
|
||||
"ansi",
|
||||
"terminal",
|
||||
"console",
|
||||
"cli",
|
||||
"string",
|
||||
"tty",
|
||||
"escape",
|
||||
"escapes",
|
||||
"formatting",
|
||||
"shell",
|
||||
"xterm",
|
||||
"log",
|
||||
"logging",
|
||||
"command-line",
|
||||
"text",
|
||||
"vt100",
|
||||
"sequence",
|
||||
"control",
|
||||
"code",
|
||||
"codes",
|
||||
"cursor",
|
||||
"iterm",
|
||||
"iterm2"
|
||||
],
|
||||
"license": "MIT",
|
||||
"name": "ansi-escapes",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/ansi-escapes.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava"
|
||||
},
|
||||
"version": "3.0.0"
|
||||
}
|
||||
174
build/node_modules/@pwa/manifest/node_modules/ansi-escapes/readme.md
generated
vendored
Normal file
174
build/node_modules/@pwa/manifest/node_modules/ansi-escapes/readme.md
generated
vendored
Normal file
@@ -0,0 +1,174 @@
|
||||
# ansi-escapes [](https://travis-ci.org/sindresorhus/ansi-escapes)
|
||||
|
||||
> [ANSI escape codes](http://www.termsys.demon.co.uk/vtansi.htm) for manipulating the terminal
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
```
|
||||
$ npm install ansi-escapes
|
||||
```
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
const ansiEscapes = require('ansi-escapes');
|
||||
|
||||
// Moves the cursor two rows up and to the left
|
||||
process.stdout.write(ansiEscapes.cursorUp(2) + ansiEscapes.cursorLeft);
|
||||
//=> '\u001B[2A\u001B[1000D'
|
||||
```
|
||||
|
||||
|
||||
## API
|
||||
|
||||
### cursorTo(x, [y])
|
||||
|
||||
Set the absolute position of the cursor. `x0` `y0` is the top left of the screen.
|
||||
|
||||
### cursorMove(x, [y])
|
||||
|
||||
Set the position of the cursor relative to its current position.
|
||||
|
||||
### cursorUp(count)
|
||||
|
||||
Move cursor up a specific amount of rows. Default is `1`.
|
||||
|
||||
### cursorDown(count)
|
||||
|
||||
Move cursor down a specific amount of rows. Default is `1`.
|
||||
|
||||
### cursorForward(count)
|
||||
|
||||
Move cursor forward a specific amount of rows. Default is `1`.
|
||||
|
||||
### cursorBackward(count)
|
||||
|
||||
Move cursor backward a specific amount of rows. Default is `1`.
|
||||
|
||||
### cursorLeft
|
||||
|
||||
Move cursor to the left side.
|
||||
|
||||
### cursorSavePosition
|
||||
|
||||
Save cursor position.
|
||||
|
||||
### cursorRestorePosition
|
||||
|
||||
Restore saved cursor position.
|
||||
|
||||
### cursorGetPosition
|
||||
|
||||
Get cursor position.
|
||||
|
||||
### cursorNextLine
|
||||
|
||||
Move cursor to the next line.
|
||||
|
||||
### cursorPrevLine
|
||||
|
||||
Move cursor to the previous line.
|
||||
|
||||
### cursorHide
|
||||
|
||||
Hide cursor.
|
||||
|
||||
### cursorShow
|
||||
|
||||
Show cursor.
|
||||
|
||||
### eraseLines(count)
|
||||
|
||||
Erase from the current cursor position up the specified amount of rows.
|
||||
|
||||
### eraseEndLine
|
||||
|
||||
Erase from the current cursor position to the end of the current line.
|
||||
|
||||
### eraseStartLine
|
||||
|
||||
Erase from the current cursor position to the start of the current line.
|
||||
|
||||
### eraseLine
|
||||
|
||||
Erase the entire current line.
|
||||
|
||||
### eraseDown
|
||||
|
||||
Erase the screen from the current line down to the bottom of the screen.
|
||||
|
||||
### eraseUp
|
||||
|
||||
Erase the screen from the current line up to the top of the screen.
|
||||
|
||||
### eraseScreen
|
||||
|
||||
Erase the screen and move the cursor the top left position.
|
||||
|
||||
### scrollUp
|
||||
|
||||
Scroll display up one line.
|
||||
|
||||
### scrollDown
|
||||
|
||||
Scroll display down one line.
|
||||
|
||||
### clearScreen
|
||||
|
||||
Clear the terminal screen.
|
||||
|
||||
### beep
|
||||
|
||||
Output a beeping sound.
|
||||
|
||||
### image(input, [options])
|
||||
|
||||
Display an image.
|
||||
|
||||
*Currently only supported on iTerm2 >=3*
|
||||
|
||||
See [term-img](https://github.com/sindresorhus/term-img) for a higher-level module.
|
||||
|
||||
#### input
|
||||
|
||||
Type: `Buffer`
|
||||
|
||||
Buffer of an image. Usually read in with `fs.readFile()`.
|
||||
|
||||
#### options
|
||||
|
||||
##### width
|
||||
##### height
|
||||
|
||||
Type: `string` `number`
|
||||
|
||||
The width and height are given as a number followed by a unit, or the word "auto".
|
||||
|
||||
- `N`: N character cells.
|
||||
- `Npx`: N pixels.
|
||||
- `N%`: N percent of the session's width or height.
|
||||
- `auto`: The image's inherent size will be used to determine an appropriate dimension.
|
||||
|
||||
##### preserveAspectRatio
|
||||
|
||||
Type: `boolean`<br>
|
||||
Default: `true`
|
||||
|
||||
### iTerm.setCwd([path])
|
||||
|
||||
Type: `string`<br>
|
||||
Default: `process.cwd()`
|
||||
|
||||
[Inform iTerm2](https://www.iterm2.com/documentation-escape-codes.html) of the current directory to help semantic history and enable [Cmd-clicking relative paths](https://coderwall.com/p/b7e82q/quickly-open-files-in-iterm-with-cmd-click).
|
||||
|
||||
|
||||
## Related
|
||||
|
||||
- [ansi-styles](https://github.com/chalk/ansi-styles) - ANSI escape codes for styling strings in the terminal
|
||||
|
||||
|
||||
## License
|
||||
|
||||
MIT © [Sindre Sorhus](https://sindresorhus.com)
|
||||
10
build/node_modules/@pwa/manifest/node_modules/ansi-regex/index.js
generated
vendored
Normal file
10
build/node_modules/@pwa/manifest/node_modules/ansi-regex/index.js
generated
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = () => {
|
||||
const pattern = [
|
||||
'[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[a-zA-Z\\d]*)*)?\\u0007)',
|
||||
'(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))'
|
||||
].join('|');
|
||||
|
||||
return new RegExp(pattern, 'g');
|
||||
};
|
||||
9
build/node_modules/@pwa/manifest/node_modules/ansi-regex/license
generated
vendored
Normal file
9
build/node_modules/@pwa/manifest/node_modules/ansi-regex/license
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
MIT License
|
||||
|
||||
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.
|
||||
85
build/node_modules/@pwa/manifest/node_modules/ansi-regex/package.json
generated
vendored
Normal file
85
build/node_modules/@pwa/manifest/node_modules/ansi-regex/package.json
generated
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"_from": "ansi-regex@^3.0.0",
|
||||
"_id": "ansi-regex@3.0.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
|
||||
"_location": "/@pwa/manifest/ansi-regex",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "ansi-regex@^3.0.0",
|
||||
"name": "ansi-regex",
|
||||
"escapedName": "ansi-regex",
|
||||
"rawSpec": "^3.0.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^3.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@pwa/manifest/strip-ansi"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
|
||||
"_shasum": "ed0317c322064f79466c02966bddb605ab37d998",
|
||||
"_spec": "ansi-regex@^3.0.0",
|
||||
"_where": "/Users/asciidisco/Desktop/asciidisco.com/build/node_modules/@pwa/manifest/node_modules/strip-ansi",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/chalk/ansi-regex/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"deprecated": false,
|
||||
"description": "Regular expression for matching ANSI escape codes",
|
||||
"devDependencies": {
|
||||
"ava": "*",
|
||||
"xo": "*"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"homepage": "https://github.com/chalk/ansi-regex#readme",
|
||||
"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"
|
||||
],
|
||||
"license": "MIT",
|
||||
"name": "ansi-regex",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/chalk/ansi-regex.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava",
|
||||
"view-supported": "node fixtures/view-codes.js"
|
||||
},
|
||||
"version": "3.0.0"
|
||||
}
|
||||
46
build/node_modules/@pwa/manifest/node_modules/ansi-regex/readme.md
generated
vendored
Normal file
46
build/node_modules/@pwa/manifest/node_modules/ansi-regex/readme.md
generated
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
# ansi-regex [](https://travis-ci.org/chalk/ansi-regex)
|
||||
|
||||
> Regular expression for matching [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code)
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
```
|
||||
$ npm install 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. 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.
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
- [Sindre Sorhus](https://github.com/sindresorhus)
|
||||
- [Josh Junon](https://github.com/qix-)
|
||||
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
39
build/node_modules/@pwa/manifest/node_modules/cli-cursor/index.js
generated
vendored
Normal file
39
build/node_modules/@pwa/manifest/node_modules/cli-cursor/index.js
generated
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
'use strict';
|
||||
const restoreCursor = require('restore-cursor');
|
||||
|
||||
let hidden = false;
|
||||
|
||||
exports.show = stream => {
|
||||
const s = stream || process.stderr;
|
||||
|
||||
if (!s.isTTY) {
|
||||
return;
|
||||
}
|
||||
|
||||
hidden = false;
|
||||
s.write('\u001b[?25h');
|
||||
};
|
||||
|
||||
exports.hide = stream => {
|
||||
const s = stream || process.stderr;
|
||||
|
||||
if (!s.isTTY) {
|
||||
return;
|
||||
}
|
||||
|
||||
restoreCursor();
|
||||
hidden = true;
|
||||
s.write('\u001b[?25l');
|
||||
};
|
||||
|
||||
exports.toggle = (force, stream) => {
|
||||
if (force !== undefined) {
|
||||
hidden = force;
|
||||
}
|
||||
|
||||
if (hidden) {
|
||||
exports.show(stream);
|
||||
} else {
|
||||
exports.hide(stream);
|
||||
}
|
||||
};
|
||||
21
build/node_modules/@pwa/manifest/node_modules/cli-cursor/license
generated
vendored
Normal file
21
build/node_modules/@pwa/manifest/node_modules/cli-cursor/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.
|
||||
78
build/node_modules/@pwa/manifest/node_modules/cli-cursor/package.json
generated
vendored
Normal file
78
build/node_modules/@pwa/manifest/node_modules/cli-cursor/package.json
generated
vendored
Normal file
@@ -0,0 +1,78 @@
|
||||
{
|
||||
"_from": "cli-cursor@^2.1.0",
|
||||
"_id": "cli-cursor@2.1.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
|
||||
"_location": "/@pwa/manifest/cli-cursor",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "cli-cursor@^2.1.0",
|
||||
"name": "cli-cursor",
|
||||
"escapedName": "cli-cursor",
|
||||
"rawSpec": "^2.1.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^2.1.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@pwa/manifest/inquirer"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
|
||||
"_shasum": "b35dac376479facc3e94747d41d0d0f5238ffcb5",
|
||||
"_spec": "cli-cursor@^2.1.0",
|
||||
"_where": "/Users/asciidisco/Desktop/asciidisco.com/build/node_modules/@pwa/manifest/node_modules/inquirer",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/cli-cursor/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"restore-cursor": "^2.0.0"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Toggle the CLI cursor",
|
||||
"devDependencies": {
|
||||
"ava": "*",
|
||||
"xo": "*"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"homepage": "https://github.com/sindresorhus/cli-cursor#readme",
|
||||
"keywords": [
|
||||
"cli",
|
||||
"cursor",
|
||||
"ansi",
|
||||
"toggle",
|
||||
"display",
|
||||
"show",
|
||||
"hide",
|
||||
"term",
|
||||
"terminal",
|
||||
"console",
|
||||
"tty",
|
||||
"shell",
|
||||
"command-line"
|
||||
],
|
||||
"license": "MIT",
|
||||
"name": "cli-cursor",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/cli-cursor.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava"
|
||||
},
|
||||
"version": "2.1.0",
|
||||
"xo": {
|
||||
"esnext": true
|
||||
}
|
||||
}
|
||||
45
build/node_modules/@pwa/manifest/node_modules/cli-cursor/readme.md
generated
vendored
Normal file
45
build/node_modules/@pwa/manifest/node_modules/cli-cursor/readme.md
generated
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
# cli-cursor [](https://travis-ci.org/sindresorhus/cli-cursor)
|
||||
|
||||
> Toggle the CLI cursor
|
||||
|
||||
The cursor is [gracefully restored](https://github.com/sindresorhus/restore-cursor) if the process exits.
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
```
|
||||
$ npm install --save cli-cursor
|
||||
```
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
const cliCursor = require('cli-cursor');
|
||||
|
||||
cliCursor.hide();
|
||||
|
||||
const unicornsAreAwesome = true;
|
||||
cliCursor.toggle(unicornsAreAwesome);
|
||||
```
|
||||
|
||||
|
||||
## API
|
||||
|
||||
### .show([stream])
|
||||
|
||||
### .hide([stream])
|
||||
|
||||
### .toggle(force, [stream])
|
||||
|
||||
`force` is useful to show or hide the cursor based on a boolean.
|
||||
|
||||
#### stream
|
||||
|
||||
Type: `Stream`<br>
|
||||
Default: `process.stderr`
|
||||
|
||||
|
||||
## License
|
||||
|
||||
MIT © [Sindre Sorhus](https://sindresorhus.com)
|
||||
147
build/node_modules/@pwa/manifest/node_modules/figures/index.js
generated
vendored
Normal file
147
build/node_modules/@pwa/manifest/node_modules/figures/index.js
generated
vendored
Normal file
@@ -0,0 +1,147 @@
|
||||
'use strict';
|
||||
const escapeStringRegexp = require('escape-string-regexp');
|
||||
|
||||
const platform = process.platform;
|
||||
|
||||
const main = {
|
||||
tick: '✔',
|
||||
cross: '✖',
|
||||
star: '★',
|
||||
square: '▇',
|
||||
squareSmall: '◻',
|
||||
squareSmallFilled: '◼',
|
||||
play: '▶',
|
||||
circle: '◯',
|
||||
circleFilled: '◉',
|
||||
circleDotted: '◌',
|
||||
circleDouble: '◎',
|
||||
circleCircle: 'ⓞ',
|
||||
circleCross: 'ⓧ',
|
||||
circlePipe: 'Ⓘ',
|
||||
circleQuestionMark: '?⃝',
|
||||
bullet: '●',
|
||||
dot: '․',
|
||||
line: '─',
|
||||
ellipsis: '…',
|
||||
pointer: '❯',
|
||||
pointerSmall: '›',
|
||||
info: 'ℹ',
|
||||
warning: '⚠',
|
||||
hamburger: '☰',
|
||||
smiley: '㋡',
|
||||
mustache: '෴',
|
||||
heart: '♥',
|
||||
arrowUp: '↑',
|
||||
arrowDown: '↓',
|
||||
arrowLeft: '←',
|
||||
arrowRight: '→',
|
||||
radioOn: '◉',
|
||||
radioOff: '◯',
|
||||
checkboxOn: '☒',
|
||||
checkboxOff: '☐',
|
||||
checkboxCircleOn: 'ⓧ',
|
||||
checkboxCircleOff: 'Ⓘ',
|
||||
questionMarkPrefix: '?⃝',
|
||||
oneHalf: '½',
|
||||
oneThird: '⅓',
|
||||
oneQuarter: '¼',
|
||||
oneFifth: '⅕',
|
||||
oneSixth: '⅙',
|
||||
oneSeventh: '⅐',
|
||||
oneEighth: '⅛',
|
||||
oneNinth: '⅑',
|
||||
oneTenth: '⅒',
|
||||
twoThirds: '⅔',
|
||||
twoFifths: '⅖',
|
||||
threeQuarters: '¾',
|
||||
threeFifths: '⅗',
|
||||
threeEighths: '⅜',
|
||||
fourFifths: '⅘',
|
||||
fiveSixths: '⅚',
|
||||
fiveEighths: '⅝',
|
||||
sevenEighths: '⅞'
|
||||
};
|
||||
|
||||
const win = {
|
||||
tick: '√',
|
||||
cross: '×',
|
||||
star: '*',
|
||||
square: '█',
|
||||
squareSmall: '[ ]',
|
||||
squareSmallFilled: '[█]',
|
||||
play: '►',
|
||||
circle: '( )',
|
||||
circleFilled: '(*)',
|
||||
circleDotted: '( )',
|
||||
circleDouble: '( )',
|
||||
circleCircle: '(○)',
|
||||
circleCross: '(×)',
|
||||
circlePipe: '(│)',
|
||||
circleQuestionMark: '(?)',
|
||||
bullet: '*',
|
||||
dot: '.',
|
||||
line: '─',
|
||||
ellipsis: '...',
|
||||
pointer: '>',
|
||||
pointerSmall: '»',
|
||||
info: 'i',
|
||||
warning: '‼',
|
||||
hamburger: '≡',
|
||||
smiley: '☺',
|
||||
mustache: '┌─┐',
|
||||
heart: main.heart,
|
||||
arrowUp: main.arrowUp,
|
||||
arrowDown: main.arrowDown,
|
||||
arrowLeft: main.arrowLeft,
|
||||
arrowRight: main.arrowRight,
|
||||
radioOn: '(*)',
|
||||
radioOff: '( )',
|
||||
checkboxOn: '[×]',
|
||||
checkboxOff: '[ ]',
|
||||
checkboxCircleOn: '(×)',
|
||||
checkboxCircleOff: '( )',
|
||||
questionMarkPrefix: '?',
|
||||
oneHalf: '1/2',
|
||||
oneThird: '1/3',
|
||||
oneQuarter: '1/4',
|
||||
oneFifth: '1/5',
|
||||
oneSixth: '1/6',
|
||||
oneSeventh: '1/7',
|
||||
oneEighth: '1/8',
|
||||
oneNinth: '1/9',
|
||||
oneTenth: '1/10',
|
||||
twoThirds: '2/3',
|
||||
twoFifths: '2/5',
|
||||
threeQuarters: '3/4',
|
||||
threeFifths: '3/5',
|
||||
threeEighths: '3/8',
|
||||
fourFifths: '4/5',
|
||||
fiveSixths: '5/6',
|
||||
fiveEighths: '5/8',
|
||||
sevenEighths: '7/8'
|
||||
};
|
||||
|
||||
if (platform === 'linux') {
|
||||
// the main one doesn't look that good on Ubuntu
|
||||
main.questionMarkPrefix = '?';
|
||||
}
|
||||
|
||||
const figures = platform === 'win32' ? win : main;
|
||||
|
||||
const fn = str => {
|
||||
if (figures === main) {
|
||||
return str;
|
||||
}
|
||||
|
||||
Object.keys(main).forEach(key => {
|
||||
if (main[key] === figures[key]) {
|
||||
return;
|
||||
}
|
||||
|
||||
str = str.replace(new RegExp(escapeStringRegexp(main[key]), 'g'), figures[key]);
|
||||
});
|
||||
|
||||
return str;
|
||||
};
|
||||
|
||||
module.exports = Object.assign(fn, figures);
|
||||
21
build/node_modules/@pwa/manifest/node_modules/figures/license
generated
vendored
Normal file
21
build/node_modules/@pwa/manifest/node_modules/figures/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
build/node_modules/@pwa/manifest/node_modules/figures/package.json
generated
vendored
Normal file
79
build/node_modules/@pwa/manifest/node_modules/figures/package.json
generated
vendored
Normal file
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"_from": "figures@^2.0.0",
|
||||
"_id": "figures@2.0.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
|
||||
"_location": "/@pwa/manifest/figures",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "figures@^2.0.0",
|
||||
"name": "figures",
|
||||
"escapedName": "figures",
|
||||
"rawSpec": "^2.0.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^2.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@pwa/manifest/inquirer"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
|
||||
"_shasum": "3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962",
|
||||
"_spec": "figures@^2.0.0",
|
||||
"_where": "/Users/asciidisco/Desktop/asciidisco.com/build/node_modules/@pwa/manifest/node_modules/inquirer",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/figures/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"escape-string-regexp": "^1.0.5"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Unicode symbols with Windows CMD fallbacks",
|
||||
"devDependencies": {
|
||||
"ava": "*",
|
||||
"markdown-table": "^1.0.0",
|
||||
"require-uncached": "^1.0.2",
|
||||
"xo": "*"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"homepage": "https://github.com/sindresorhus/figures#readme",
|
||||
"keywords": [
|
||||
"unicode",
|
||||
"cli",
|
||||
"cmd",
|
||||
"command-line",
|
||||
"characters",
|
||||
"char",
|
||||
"symbol",
|
||||
"symbols",
|
||||
"figure",
|
||||
"figures",
|
||||
"fallback"
|
||||
],
|
||||
"license": "MIT",
|
||||
"name": "figures",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/figures.git"
|
||||
},
|
||||
"scripts": {
|
||||
"make": "./makefile.js",
|
||||
"test": "xo && ava"
|
||||
},
|
||||
"version": "2.0.0",
|
||||
"xo": {
|
||||
"esnext": true
|
||||
}
|
||||
}
|
||||
120
build/node_modules/@pwa/manifest/node_modules/figures/readme.md
generated
vendored
Normal file
120
build/node_modules/@pwa/manifest/node_modules/figures/readme.md
generated
vendored
Normal file
@@ -0,0 +1,120 @@
|
||||
# figures [](https://travis-ci.org/sindresorhus/figures) [](https://ci.appveyor.com/project/sindresorhus/figures/branch/master)
|
||||
|
||||
> Unicode symbols with Windows CMD fallbacks
|
||||
|
||||
[](index.js)
|
||||
|
||||
[*and more...*](index.js)
|
||||
|
||||
Windows CMD only supports a [limited character set](http://en.wikipedia.org/wiki/Code_page_437).
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
```
|
||||
$ npm install --save figures
|
||||
```
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
See the [source](index.js) for supported symbols.
|
||||
|
||||
```js
|
||||
const figures = require('figures');
|
||||
|
||||
console.log(figures('✔︎ check'));
|
||||
// On real OSes: ✔︎ check
|
||||
// On Windows: √ check
|
||||
|
||||
console.log(figures.tick);
|
||||
// On real OSes: ✔︎
|
||||
// On Windows: √
|
||||
```
|
||||
|
||||
|
||||
## API
|
||||
|
||||
### figures(input)
|
||||
|
||||
Returns the input with replaced fallback unicode symbols on Windows.
|
||||
|
||||
All the below [figures](#figures) are attached to the main export as shown in the example above.
|
||||
|
||||
#### input
|
||||
|
||||
Type: `string`
|
||||
|
||||
String where the unicode symbols will be replaced with fallback symbols depending on the OS.
|
||||
|
||||
|
||||
## Figures
|
||||
|
||||
| Name | Real OSes | Windows |
|
||||
| ------------------ | :-------: | :-----: |
|
||||
| tick | ✔ | √ |
|
||||
| cross | ✖ | × |
|
||||
| star | ★ | * |
|
||||
| square | ▇ | █ |
|
||||
| squareSmall | ◻ | [ ] |
|
||||
| squareSmallFilled | ◼ | [█] |
|
||||
| play | ▶ | ► |
|
||||
| circle | ◯ | ( ) |
|
||||
| circleFilled | ◉ | (*) |
|
||||
| circleDotted | ◌ | ( ) |
|
||||
| circleDouble | ◎ | ( ) |
|
||||
| circleCircle | ⓞ | (○) |
|
||||
| circleCross | ⓧ | (×) |
|
||||
| circlePipe | Ⓘ | (│) |
|
||||
| circleQuestionMark | ?⃝ | (?) |
|
||||
| bullet | ● | * |
|
||||
| dot | ․ | . |
|
||||
| line | ─ | ─ |
|
||||
| ellipsis | … | ... |
|
||||
| pointer | ❯ | > |
|
||||
| pointerSmall | › | » |
|
||||
| info | ℹ | i |
|
||||
| warning | ⚠ | ‼ |
|
||||
| hamburger | ☰ | ≡ |
|
||||
| smiley | ㋡ | ☺ |
|
||||
| mustache | ෴ | ┌─┐ |
|
||||
| heart | ♥ | ♥ |
|
||||
| arrowUp | ↑ | ↑ |
|
||||
| arrowDown | ↓ | ↓ |
|
||||
| arrowLeft | ← | ← |
|
||||
| arrowRight | → | → |
|
||||
| radioOn | ◉ | (*) |
|
||||
| radioOff | ◯ | ( ) |
|
||||
| checkboxOn | ☒ | [×] |
|
||||
| checkboxOff | ☐ | [ ] |
|
||||
| checkboxCircleOn | ⓧ | (×) |
|
||||
| checkboxCircleOff | Ⓘ | ( ) |
|
||||
| questionMarkPrefix | ?⃝ | ? |
|
||||
| oneHalf | ½ | 1/2 |
|
||||
| oneThird | ⅓ | 1/3 |
|
||||
| oneQuarter | ¼ | 1/4 |
|
||||
| oneFifth | ⅕ | 1/5 |
|
||||
| oneSixth | ⅙ | 1/6 |
|
||||
| oneSeventh | ⅐ | 1/7 |
|
||||
| oneEighth | ⅛ | 1/8 |
|
||||
| oneNinth | ⅑ | 1/9 |
|
||||
| oneTenth | ⅒ | 1/10 |
|
||||
| twoThirds | ⅔ | 2/3 |
|
||||
| twoFifths | ⅖ | 2/5 |
|
||||
| threeQuarters | ¾ | 3/4 |
|
||||
| threeFifths | ⅗ | 3/5 |
|
||||
| threeEighths | ⅜ | 3/8 |
|
||||
| fourFifths | ⅘ | 4/5 |
|
||||
| fiveSixths | ⅚ | 5/6 |
|
||||
| fiveEighths | ⅝ | 5/8 |
|
||||
| sevenEighths | ⅞ | 7/8 |
|
||||
|
||||
|
||||
## Related
|
||||
|
||||
- [log-symbols](https://github.com/sindresorhus/log-symbols) - Colored symbols for various log levels
|
||||
|
||||
|
||||
## License
|
||||
|
||||
MIT © [Sindre Sorhus](https://sindresorhus.com)
|
||||
48
build/node_modules/@pwa/manifest/node_modules/find-up/index.js
generated
vendored
Normal file
48
build/node_modules/@pwa/manifest/node_modules/find-up/index.js
generated
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
'use strict';
|
||||
const path = require('path');
|
||||
const locatePath = require('locate-path');
|
||||
|
||||
module.exports = (filename, opts) => {
|
||||
opts = opts || {};
|
||||
|
||||
const startDir = path.resolve(opts.cwd || '');
|
||||
const root = path.parse(startDir).root;
|
||||
|
||||
const filenames = [].concat(filename);
|
||||
|
||||
return new Promise(resolve => {
|
||||
(function find(dir) {
|
||||
locatePath(filenames, {cwd: dir}).then(file => {
|
||||
if (file) {
|
||||
resolve(path.join(dir, file));
|
||||
} else if (dir === root) {
|
||||
resolve(null);
|
||||
} else {
|
||||
find(path.dirname(dir));
|
||||
}
|
||||
});
|
||||
})(startDir);
|
||||
});
|
||||
};
|
||||
|
||||
module.exports.sync = (filename, opts) => {
|
||||
opts = opts || {};
|
||||
|
||||
let dir = path.resolve(opts.cwd || '');
|
||||
const root = path.parse(dir).root;
|
||||
|
||||
const filenames = [].concat(filename);
|
||||
|
||||
// eslint-disable-next-line no-constant-condition
|
||||
while (true) {
|
||||
const file = locatePath.sync(filenames, {cwd: dir});
|
||||
|
||||
if (file) {
|
||||
return path.join(dir, file);
|
||||
} else if (dir === root) {
|
||||
return null;
|
||||
}
|
||||
|
||||
dir = path.dirname(dir);
|
||||
}
|
||||
};
|
||||
21
build/node_modules/@pwa/manifest/node_modules/find-up/license
generated
vendored
Normal file
21
build/node_modules/@pwa/manifest/node_modules/find-up/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.
|
||||
85
build/node_modules/@pwa/manifest/node_modules/find-up/package.json
generated
vendored
Normal file
85
build/node_modules/@pwa/manifest/node_modules/find-up/package.json
generated
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"_from": "find-up@^2.0.0",
|
||||
"_id": "find-up@2.1.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
|
||||
"_location": "/@pwa/manifest/find-up",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "find-up@^2.0.0",
|
||||
"name": "find-up",
|
||||
"escapedName": "find-up",
|
||||
"rawSpec": "^2.0.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^2.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@pwa/manifest/read-pkg-up"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
|
||||
"_shasum": "45d1b7e506c717ddd482775a2b77920a3c0c57a7",
|
||||
"_spec": "find-up@^2.0.0",
|
||||
"_where": "/Users/asciidisco/Desktop/asciidisco.com/build/node_modules/@pwa/manifest/node_modules/read-pkg-up",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/find-up/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"locate-path": "^2.0.0"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Find a file by walking up parent directories",
|
||||
"devDependencies": {
|
||||
"ava": "*",
|
||||
"tempfile": "^1.1.1",
|
||||
"xo": "*"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"homepage": "https://github.com/sindresorhus/find-up#readme",
|
||||
"keywords": [
|
||||
"find",
|
||||
"up",
|
||||
"find-up",
|
||||
"findup",
|
||||
"look-up",
|
||||
"look",
|
||||
"file",
|
||||
"search",
|
||||
"match",
|
||||
"package",
|
||||
"resolve",
|
||||
"parent",
|
||||
"parents",
|
||||
"folder",
|
||||
"directory",
|
||||
"dir",
|
||||
"walk",
|
||||
"walking",
|
||||
"path"
|
||||
],
|
||||
"license": "MIT",
|
||||
"name": "find-up",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/find-up.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava"
|
||||
},
|
||||
"version": "2.1.0",
|
||||
"xo": {
|
||||
"esnext": true
|
||||
}
|
||||
}
|
||||
85
build/node_modules/@pwa/manifest/node_modules/find-up/readme.md
generated
vendored
Normal file
85
build/node_modules/@pwa/manifest/node_modules/find-up/readme.md
generated
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
# find-up [](https://travis-ci.org/sindresorhus/find-up) [](https://ci.appveyor.com/project/sindresorhus/find-up/branch/master)
|
||||
|
||||
> Find a file by walking up parent directories
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
```
|
||||
$ npm install --save find-up
|
||||
```
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
/
|
||||
└── Users
|
||||
└── sindresorhus
|
||||
├── unicorn.png
|
||||
└── foo
|
||||
└── bar
|
||||
├── baz
|
||||
└── example.js
|
||||
```
|
||||
|
||||
```js
|
||||
// example.js
|
||||
const findUp = require('find-up');
|
||||
|
||||
findUp('unicorn.png').then(filepath => {
|
||||
console.log(filepath);
|
||||
//=> '/Users/sindresorhus/unicorn.png'
|
||||
});
|
||||
|
||||
findUp(['rainbow.png', 'unicorn.png']).then(filepath => {
|
||||
console.log(filepath);
|
||||
//=> '/Users/sindresorhus/unicorn.png'
|
||||
});
|
||||
```
|
||||
|
||||
|
||||
## API
|
||||
|
||||
### findUp(filename, [options])
|
||||
|
||||
Returns a `Promise` for the filepath or `null`.
|
||||
|
||||
### findUp([filenameA, filenameB], [options])
|
||||
|
||||
Returns a `Promise` for the first filepath found (by respecting the order) or `null`.
|
||||
|
||||
### findUp.sync(filename, [options])
|
||||
|
||||
Returns a filepath or `null`.
|
||||
|
||||
### findUp.sync([filenameA, filenameB], [options])
|
||||
|
||||
Returns the first filepath found (by respecting the order) or `null`.
|
||||
|
||||
#### filename
|
||||
|
||||
Type: `string`
|
||||
|
||||
Filename of the file to find.
|
||||
|
||||
#### options
|
||||
|
||||
##### cwd
|
||||
|
||||
Type: `string`<br>
|
||||
Default: `process.cwd()`
|
||||
|
||||
Directory to start from.
|
||||
|
||||
|
||||
## Related
|
||||
|
||||
- [find-up-cli](https://github.com/sindresorhus/find-up-cli) - CLI for this module
|
||||
- [pkg-up](https://github.com/sindresorhus/pkg-up) - Find the closest package.json file
|
||||
- [pkg-dir](https://github.com/sindresorhus/pkg-dir) - Find the root directory of an npm package
|
||||
|
||||
|
||||
## License
|
||||
|
||||
MIT © [Sindre Sorhus](https://sindresorhus.com)
|
||||
386
build/node_modules/@pwa/manifest/node_modules/inquirer/README.md
generated
vendored
Normal file
386
build/node_modules/@pwa/manifest/node_modules/inquirer/README.md
generated
vendored
Normal file
@@ -0,0 +1,386 @@
|
||||
Inquirer.js
|
||||
===========
|
||||
|
||||
[](http://badge.fury.io/js/inquirer) [](http://travis-ci.org/SBoudrias/Inquirer.js) [](https://coveralls.io/r/SBoudrias/Inquirer.js) [](https://david-dm.org/SBoudrias/Inquirer.js)
|
||||
|
||||
A collection of common interactive command line user interfaces.
|
||||
|
||||
## Table of Contents
|
||||
|
||||
1. [Documentation](#documentation)
|
||||
1. [Installation](#installation)
|
||||
2. [Examples](#examples)
|
||||
3. [Methods](#methods)
|
||||
4. [Objects](#objects)
|
||||
1. [Questions](#questions)
|
||||
2. [Answers](#answers)
|
||||
3. [Separator](#separator)
|
||||
4. [Prompt Types](#prompt)
|
||||
2. [User Interfaces and Layouts](#layouts)
|
||||
1. [Reactive Interface](#reactive)
|
||||
3. [Support](#support)
|
||||
4. [News](#news)
|
||||
5. [Contributing](#contributing)
|
||||
6. [License](#license)
|
||||
7. [Plugins](#plugins)
|
||||
|
||||
|
||||
## Goal and Philosophy
|
||||
|
||||
<img align="right" alt="Inquirer Logo" src="/assets/inquirer_readme.png" title="Inquirer.js"/>
|
||||
|
||||
**`Inquirer.js`** strives to be an easily embeddable and beautiful command line interface for [Node.js](https://nodejs.org/) (and perhaps the "CLI [Xanadu](https://en.wikipedia.org/wiki/Citizen_Kane)").
|
||||
|
||||
**`Inquirer.js`** should ease the process of
|
||||
- providing *error feedback*
|
||||
- *asking questions*
|
||||
- *parsing* input
|
||||
- *validating* answers
|
||||
- managing *hierarchical prompts*
|
||||
|
||||
> **Note:** **`Inquirer.js`** provides the user interface and the inquiry session flow. If you're searching for a full blown command line program utility, then check out [commander](https://github.com/visionmedia/commander.js), [vorpal](https://github.com/dthree/vorpal) or [args](https://github.com/leo/args).
|
||||
|
||||
|
||||
## [Documentation](#documentation)
|
||||
<a name="documentation"></a>
|
||||
|
||||
### Installation
|
||||
<a name="installation"></a>
|
||||
|
||||
``` shell
|
||||
npm install inquirer
|
||||
```
|
||||
|
||||
```javascript
|
||||
var inquirer = require('inquirer');
|
||||
inquirer.prompt([/* Pass your questions in here */]).then(function (answers) {
|
||||
// Use user feedback for... whatever!!
|
||||
});
|
||||
```
|
||||
|
||||
<a name="examples"></a>
|
||||
### Examples (Run it and see it)
|
||||
Check out the `examples/` folder for code and interface examples.
|
||||
|
||||
``` shell
|
||||
node examples/pizza.js
|
||||
node examples/checkbox.js
|
||||
# etc...
|
||||
```
|
||||
|
||||
|
||||
### Methods
|
||||
<a name="methods"></a>
|
||||
#### `inquirer.prompt(questions) -> promise`
|
||||
|
||||
Launch the prompt interface (inquiry session)
|
||||
|
||||
- **questions** (Array) containing [Question Object](#question) (using the [reactive interface](#reactive-interface), you can also pass a `Rx.Observable` instance)
|
||||
- returns a **Promise**
|
||||
|
||||
#### `inquirer.registerPrompt(name, prompt)`
|
||||
|
||||
Register prompt plugins under `name`.
|
||||
|
||||
- **name** (string) name of the this new prompt. (used for question `type`)
|
||||
- **prompt** (object) the prompt object itself (the plugin)
|
||||
|
||||
#### `inquirer.createPromptModule() -> prompt function`
|
||||
|
||||
Create a self contained inquirer module. If you don't want to affect other libraries that also rely on inquirer when you overwrite or add new prompt types.
|
||||
|
||||
```js
|
||||
var prompt = inquirer.createPromptModule();
|
||||
|
||||
prompt(questions).then(/* ... */);
|
||||
```
|
||||
|
||||
### Objects
|
||||
<a name="objects"></a>
|
||||
|
||||
#### Question
|
||||
<a name="questions"></a>
|
||||
A question object is a `hash` containing question related values:
|
||||
|
||||
- **type**: (String) Type of the prompt. Defaults: `input` - Possible values: `input`, `confirm`,
|
||||
`list`, `rawlist`, `expand`, `checkbox`, `password`, `editor`
|
||||
- **name**: (String) The name to use when storing the answer in the answers hash. If the name contains periods, it will define a path in the answers hash.
|
||||
- **message**: (String|Function) The question to print. If defined as a function, the first parameter will be the current inquirer session answers.
|
||||
- **default**: (String|Number|Array|Function) Default value(s) to use if nothing is entered, or a function that returns the default value(s). If defined as a function, the first parameter will be the current inquirer session answers.
|
||||
- **choices**: (Array|Function) Choices array or a function returning a choices array. If defined as a function, the first parameter will be the current inquirer session answers.
|
||||
Array values can be simple `strings`, or `objects` containing a `name` (to display in list), a `value` (to save in the answers hash) and a `short` (to display after selection) properties. The choices array can also contain [a `Separator`](#separator).
|
||||
- **validate**: (Function) Receive the user input and answers hash. Should return `true` if the value is valid, and an error message (`String`) otherwise. If `false` is returned, a default error message is provided.
|
||||
- **filter**: (Function) Receive the user input and return the filtered value to be used inside the program. The value returned will be added to the _Answers_ hash.
|
||||
- **when**: (Function, Boolean) Receive the current user answers hash and should return `true` or `false` depending on whether or not this question should be asked. The value can also be a simple boolean.
|
||||
- **pageSize**: (Number) Change the number of lines that will be rendered when using `list`, `rawList`, `expand` or `checkbox`.
|
||||
- **prefix**: (String) Change the default _prefix_ message.
|
||||
- **suffix**: (String) Change the default _suffix_ message.
|
||||
|
||||
`default`, `choices`(if defined as functions), `validate`, `filter` and `when` functions can be called asynchronous. Either return a promise or use `this.async()` to get a callback you'll call with the final value.
|
||||
|
||||
``` javascript
|
||||
{
|
||||
/* Preferred way: with promise */
|
||||
filter: function () {
|
||||
return new Promise(/* etc... */);
|
||||
},
|
||||
|
||||
/* Legacy way: with this.async */
|
||||
validate: function (input) {
|
||||
// Declare function as asynchronous, and save the done callback
|
||||
var done = this.async();
|
||||
|
||||
// Do async stuff
|
||||
setTimeout(function () {
|
||||
if (typeof input !== 'number') {
|
||||
// Pass the return value in the done callback
|
||||
done('You need to provide a number');
|
||||
return;
|
||||
}
|
||||
// Pass the return value in the done callback
|
||||
done(null, true);
|
||||
}, 3000);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Answers
|
||||
<a name="answers"></a>
|
||||
A key/value hash containing the client answers in each prompt.
|
||||
|
||||
- **Key** The `name` property of the _question_ object
|
||||
- **Value** (Depends on the prompt)
|
||||
- `confirm`: (Boolean)
|
||||
- `input` : User input (filtered if `filter` is defined) (String)
|
||||
- `rawlist`, `list` : Selected choice value (or name if no value specified) (String)
|
||||
|
||||
### Separator
|
||||
<a name="separator"></a>
|
||||
A separator can be added to any `choices` array:
|
||||
|
||||
```
|
||||
// In the question object
|
||||
choices: [ "Choice A", new inquirer.Separator(), "choice B" ]
|
||||
|
||||
// Which'll be displayed this way
|
||||
[?] What do you want to do?
|
||||
> Order a pizza
|
||||
Make a reservation
|
||||
--------
|
||||
Ask opening hours
|
||||
Talk to the receptionist
|
||||
```
|
||||
|
||||
The constructor takes a facultative `String` value that'll be use as the separator. If omitted, the separator will be `--------`.
|
||||
|
||||
Separator instances have a property `type` equal to `separator`. This should allow tools façading Inquirer interface from detecting separator types in lists.
|
||||
|
||||
<a name="prompt"></a>
|
||||
### Prompt types
|
||||
---------------------
|
||||
|
||||
> **Note:**: _allowed options written inside square brackets (`[]`) are optional. Others are required._
|
||||
|
||||
#### List - `{type: 'list'}`
|
||||
|
||||
Take `type`, `name`, `message`, `choices`[, `default`, `filter`] properties. (Note that
|
||||
default must be the choice `index` in the array or a choice `value`)
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
#### Raw List - `{type: 'rawlist'}`
|
||||
|
||||
Take `type`, `name`, `message`, `choices`[, `default`, `filter`] properties. (Note that
|
||||
default must the choice `index` in the array)
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
#### Expand - `{type: 'expand'}`
|
||||
|
||||
Take `type`, `name`, `message`, `choices`[, `default`] properties. (Note that
|
||||
default must be the choice `index` in the array. If `default` key not provided, then `help` will be used as default choice)
|
||||
|
||||
Note that the `choices` object will take an extra parameter called `key` for the `expand` prompt. This parameter must be a single (lowercased) character. The `h` option is added by the prompt and shouldn't be defined by the user.
|
||||
|
||||
See `examples/expand.js` for a running example.
|
||||
|
||||

|
||||

|
||||
|
||||
---
|
||||
|
||||
#### Checkbox - `{type: 'checkbox'}`
|
||||
|
||||
Take `type`, `name`, `message`, `choices`[, `filter`, `validate`, `default`] properties. `default` is expected to be an Array of the checked choices value.
|
||||
|
||||
Choices marked as `{checked: true}` will be checked by default.
|
||||
|
||||
Choices whose property `disabled` is truthy will be unselectable. If `disabled` is a string, then the string will be outputted next to the disabled choice, otherwise it'll default to `"Disabled"`. The `disabled` property can also be a synchronous function receiving the current answers as argument and returning a boolean or a string.
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
#### Confirm - `{type: 'confirm'}`
|
||||
|
||||
Take `type`, `name`, `message`[, `default`] properties. `default` is expected to be a boolean if used.
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
#### Input - `{type: 'input'}`
|
||||
|
||||
Take `type`, `name`, `message`[, `default`, `filter`, `validate`] properties.
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
#### Password - `{type: 'password'}`
|
||||
|
||||
Take `type`, `name`, `message`[, `default`, `filter`, `validate`] properties.
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
#### Editor - `{type: 'editor'}`
|
||||
|
||||
Take `type`, `name`, `message`[, `default`, `filter`, `validate`] properties
|
||||
|
||||
Launches an instance of the users preferred editor on a temporary file. Once the user exits their editor, the contents of the temporary file are read in as the result. The editor to use is determined by reading the $VISUAL or $EDITOR environment variables. If neither of those are present, notepad (on Windows) or vim (Linux or Mac) is used.
|
||||
|
||||
<a name="layouts"></a>
|
||||
## User Interfaces and layouts
|
||||
|
||||
|
||||
Along with the prompts, Inquirer offers some basic text UI.
|
||||
|
||||
#### Bottom Bar - `inquirer.ui.BottomBar`
|
||||
|
||||
This UI present a fixed text at the bottom of a free text zone. This is useful to keep a message to the bottom of the screen while outputting command outputs on the higher section.
|
||||
|
||||
```javascript
|
||||
var ui = new inquirer.ui.BottomBar();
|
||||
|
||||
// pipe a Stream to the log zone
|
||||
outputStream.pipe(ui.log);
|
||||
|
||||
// Or simply write output
|
||||
ui.log.write('something just happened.');
|
||||
ui.log.write('Almost over, standby!');
|
||||
|
||||
// During processing, update the bottom bar content to display a loader
|
||||
// or output a progress bar, etc
|
||||
ui.updateBottomBar('new bottom bar content');
|
||||
```
|
||||
|
||||
<a name="reactive"></a>
|
||||
## Reactive interface
|
||||
|
||||
|
||||
Internally, Inquirer uses the [JS reactive extension](https://github.com/Reactive-Extensions/RxJS) to handle events and async flows.
|
||||
|
||||
This mean you can take advantage of this feature to provide more advanced flows. For example, you can dynamically add questions to be asked:
|
||||
|
||||
```js
|
||||
var prompts = new Rx.Subject();
|
||||
inquirer.prompt(prompts);
|
||||
|
||||
// At some point in the future, push new questions
|
||||
prompts.onNext({ /* question... */ });
|
||||
prompts.onNext({ /* question... */ });
|
||||
|
||||
// When you're done
|
||||
prompts.onCompleted();
|
||||
```
|
||||
|
||||
And using the return value `process` property, you can access more fine grained callbacks:
|
||||
|
||||
```js
|
||||
inquirer.prompt(prompts).ui.process.subscribe(
|
||||
onEachAnswer,
|
||||
onError,
|
||||
onComplete
|
||||
);
|
||||
```
|
||||
|
||||
## Support (OS Terminals)
|
||||
<a name="support"></a>
|
||||
|
||||
You should expect mostly good support for the CLI below. This does not mean we won't
|
||||
look at issues found on other command line - feel free to report any!
|
||||
|
||||
- **Mac OS**:
|
||||
- Terminal.app
|
||||
- iTerm
|
||||
- **Windows**:
|
||||
- [ConEmu](https://conemu.github.io/)
|
||||
- cmd.exe
|
||||
- Powershell
|
||||
- Cygwin
|
||||
- **Linux (Ubuntu, openSUSE, Arch Linux, etc)**:
|
||||
- gnome-terminal (Terminal GNOME)
|
||||
- konsole
|
||||
|
||||
|
||||
## News on the march (Release notes)
|
||||
<a name="news"></a>
|
||||
|
||||
|
||||
Please refer to the [Github releases section for the changelog](https://github.com/SBoudrias/Inquirer.js/releases)
|
||||
|
||||
|
||||
## Contributing
|
||||
<a name="contributing"></a>
|
||||
|
||||
**Unit test**
|
||||
Unit test are written in [Mocha](https://mochajs.org/). Please add a unit test for every new feature or bug fix. `npm test` to run the test suite.
|
||||
|
||||
**Documentation**
|
||||
Add documentation for every API change. Feel free to send typo fixes and better docs!
|
||||
|
||||
We're looking to offer good support for multiple prompts and environments. If you want to
|
||||
help, we'd like to keep a list of testers for each terminal/OS so we can contact you and
|
||||
get feedback before release. Let us know if you want to be added to the list (just tweet
|
||||
to [@vaxilart](https://twitter.com/Vaxilart)) or just add your name to [the wiki](https://github.com/SBoudrias/Inquirer.js/wiki/Testers)
|
||||
|
||||
## License
|
||||
<a name="license"></a>
|
||||
|
||||
Copyright (c) 2016 Simon Boudrias (twitter: [@vaxilart](https://twitter.com/Vaxilart))
|
||||
Licensed under the MIT license.
|
||||
|
||||
## Plugins
|
||||
<a name="plugins"></a>
|
||||
|
||||
### Prompts ###
|
||||
|
||||
[__autocomplete__](https://github.com/mokkabonna/inquirer-autocomplete-prompt)<br>
|
||||
Presents a list of options as the user types, compatible with other packages such as fuzzy (for search)<br>
|
||||
<br>
|
||||

|
||||
|
||||
[__datetime__](https://github.com/DerekTBrown/inquirer-datepicker-prompt)<br>
|
||||
Customizable date/time selector using both number pad and arrow keys<br>
|
||||
<br>
|
||||

|
||||
|
||||
[__inquirer-select-line__](https://github.com/adam-golab/inquirer-select-line)<br>
|
||||
Prompt for selecting index in array where add new element<br>
|
||||
<br>
|
||||

|
||||
|
||||
[__command__](https://github.com/sullof/inquirer-command-prompt)<br>
|
||||
<br>
|
||||
Simple prompt with command history and dynamic autocomplete
|
||||
|
||||
[__inquirer-chalk-pipe__](https://github.com/LitoMore/inquirer-chalk-pipe)<br>
|
||||
Prompt for input chalk-pipe style strings<br>
|
||||
<br>
|
||||

|
||||
84
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/inquirer.js
generated
vendored
Normal file
84
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/inquirer.js
generated
vendored
Normal file
@@ -0,0 +1,84 @@
|
||||
/**
|
||||
* Inquirer.js
|
||||
* A collection of common interactive command line user interfaces.
|
||||
*/
|
||||
|
||||
var inquirer = module.exports;
|
||||
|
||||
/**
|
||||
* Client interfaces
|
||||
*/
|
||||
|
||||
inquirer.prompts = {};
|
||||
|
||||
inquirer.Separator = require('./objects/separator');
|
||||
|
||||
inquirer.ui = {
|
||||
BottomBar: require('./ui/bottom-bar'),
|
||||
Prompt: require('./ui/prompt')
|
||||
};
|
||||
|
||||
/**
|
||||
* Create a new self-contained prompt module.
|
||||
*/
|
||||
inquirer.createPromptModule = function (opt) {
|
||||
var promptModule = function (questions) {
|
||||
var ui = new inquirer.ui.Prompt(promptModule.prompts, opt);
|
||||
var promise = ui.run(questions);
|
||||
|
||||
// Monkey patch the UI on the promise object so
|
||||
// that it remains publicly accessible.
|
||||
promise.ui = ui;
|
||||
|
||||
return promise;
|
||||
};
|
||||
promptModule.prompts = {};
|
||||
|
||||
/**
|
||||
* Register a prompt type
|
||||
* @param {String} name Prompt type name
|
||||
* @param {Function} prompt Prompt constructor
|
||||
* @return {inquirer}
|
||||
*/
|
||||
|
||||
promptModule.registerPrompt = function (name, prompt) {
|
||||
promptModule.prompts[name] = prompt;
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Register the defaults provider prompts
|
||||
*/
|
||||
|
||||
promptModule.restoreDefaultPrompts = function () {
|
||||
this.registerPrompt('list', require('./prompts/list'));
|
||||
this.registerPrompt('input', require('./prompts/input'));
|
||||
this.registerPrompt('confirm', require('./prompts/confirm'));
|
||||
this.registerPrompt('rawlist', require('./prompts/rawlist'));
|
||||
this.registerPrompt('expand', require('./prompts/expand'));
|
||||
this.registerPrompt('checkbox', require('./prompts/checkbox'));
|
||||
this.registerPrompt('password', require('./prompts/password'));
|
||||
this.registerPrompt('editor', require('./prompts/editor'));
|
||||
};
|
||||
|
||||
promptModule.restoreDefaultPrompts();
|
||||
|
||||
return promptModule;
|
||||
};
|
||||
|
||||
/**
|
||||
* Public CLI helper interface
|
||||
* @param {Array|Object|rx.Observable} questions - Questions settings array
|
||||
* @param {Function} cb - Callback being passed the user answers
|
||||
* @return {inquirer.ui.Prompt}
|
||||
*/
|
||||
|
||||
inquirer.prompt = inquirer.createPromptModule();
|
||||
|
||||
// Expose helper functions on the top level for easiest usage by common users
|
||||
inquirer.registerPrompt = function (name, prompt) {
|
||||
inquirer.prompt.registerPrompt(name, prompt);
|
||||
};
|
||||
inquirer.restoreDefaultPrompts = function () {
|
||||
inquirer.prompt.restoreDefaultPrompts();
|
||||
};
|
||||
35
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/objects/choice.js
generated
vendored
Normal file
35
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/objects/choice.js
generated
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
'use strict';
|
||||
var _ = require('lodash');
|
||||
|
||||
/**
|
||||
* Choice object
|
||||
* Normalize input as choice object
|
||||
* @constructor
|
||||
* @param {String|Object} val Choice value. If an object is passed, it should contains
|
||||
* at least one of `value` or `name` property
|
||||
*/
|
||||
|
||||
var Choice = module.exports = function (val, answers) {
|
||||
// Don't process Choice and Separator object
|
||||
if (val instanceof Choice || val.type === 'separator') {
|
||||
return val;
|
||||
}
|
||||
|
||||
if (_.isString(val)) {
|
||||
this.name = val;
|
||||
this.value = val;
|
||||
this.short = val;
|
||||
} else {
|
||||
_.extend(this, val, {
|
||||
name: val.name || val.value,
|
||||
value: 'value' in val ? val.value : val.name,
|
||||
short: val.short || val.name || val.value
|
||||
});
|
||||
}
|
||||
|
||||
if (_.isFunction(val.disabled)) {
|
||||
this.disabled = val.disabled(answers);
|
||||
} else {
|
||||
this.disabled = val.disabled;
|
||||
}
|
||||
};
|
||||
112
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/objects/choices.js
generated
vendored
Normal file
112
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/objects/choices.js
generated
vendored
Normal file
@@ -0,0 +1,112 @@
|
||||
'use strict';
|
||||
var assert = require('assert');
|
||||
var _ = require('lodash');
|
||||
var Separator = require('./separator');
|
||||
var Choice = require('./choice');
|
||||
|
||||
/**
|
||||
* Choices collection
|
||||
* Collection of multiple `choice` object
|
||||
* @constructor
|
||||
* @param {Array} choices All `choice` to keep in the collection
|
||||
*/
|
||||
|
||||
var Choices = module.exports = function (choices, answers) {
|
||||
this.choices = choices.map(function (val) {
|
||||
if (val.type === 'separator') {
|
||||
if (!(val instanceof Separator)) {
|
||||
val = new Separator(val.line);
|
||||
}
|
||||
return val;
|
||||
}
|
||||
return new Choice(val, answers);
|
||||
});
|
||||
|
||||
this.realChoices = this.choices
|
||||
.filter(Separator.exclude)
|
||||
.filter(function (item) {
|
||||
return !item.disabled;
|
||||
});
|
||||
|
||||
Object.defineProperty(this, 'length', {
|
||||
get: function () {
|
||||
return this.choices.length;
|
||||
},
|
||||
set: function (val) {
|
||||
this.choices.length = val;
|
||||
}
|
||||
});
|
||||
|
||||
Object.defineProperty(this, 'realLength', {
|
||||
get: function () {
|
||||
return this.realChoices.length;
|
||||
},
|
||||
set: function () {
|
||||
throw new Error('Cannot set `realLength` of a Choices collection');
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* Get a valid choice from the collection
|
||||
* @param {Number} selector The selected choice index
|
||||
* @return {Choice|Undefined} Return the matched choice or undefined
|
||||
*/
|
||||
|
||||
Choices.prototype.getChoice = function (selector) {
|
||||
assert(_.isNumber(selector));
|
||||
return this.realChoices[selector];
|
||||
};
|
||||
|
||||
/**
|
||||
* Get a raw element from the collection
|
||||
* @param {Number} selector The selected index value
|
||||
* @return {Choice|Undefined} Return the matched choice or undefined
|
||||
*/
|
||||
|
||||
Choices.prototype.get = function (selector) {
|
||||
assert(_.isNumber(selector));
|
||||
return this.choices[selector];
|
||||
};
|
||||
|
||||
/**
|
||||
* Match the valid choices against a where clause
|
||||
* @param {Object} whereClause Lodash `where` clause
|
||||
* @return {Array} Matching choices or empty array
|
||||
*/
|
||||
|
||||
Choices.prototype.where = function (whereClause) {
|
||||
return _.filter(this.realChoices, whereClause);
|
||||
};
|
||||
|
||||
/**
|
||||
* Pluck a particular key from the choices
|
||||
* @param {String} propertyName Property name to select
|
||||
* @return {Array} Selected properties
|
||||
*/
|
||||
|
||||
Choices.prototype.pluck = function (propertyName) {
|
||||
return _.map(this.realChoices, propertyName);
|
||||
};
|
||||
|
||||
// Expose usual Array methods
|
||||
Choices.prototype.indexOf = function () {
|
||||
return this.choices.indexOf.apply(this.choices, arguments);
|
||||
};
|
||||
Choices.prototype.forEach = function () {
|
||||
return this.choices.forEach.apply(this.choices, arguments);
|
||||
};
|
||||
Choices.prototype.filter = function () {
|
||||
return this.choices.filter.apply(this.choices, arguments);
|
||||
};
|
||||
Choices.prototype.find = function (func) {
|
||||
return _.find(this.choices, func);
|
||||
};
|
||||
Choices.prototype.push = function () {
|
||||
var objs = _.map(arguments, function (val) {
|
||||
return new Choice(val);
|
||||
});
|
||||
this.choices.push.apply(this.choices, objs);
|
||||
this.realChoices = this.choices.filter(Separator.exclude);
|
||||
return this.choices;
|
||||
};
|
||||
34
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/objects/separator.js
generated
vendored
Normal file
34
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/objects/separator.js
generated
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
'use strict';
|
||||
var chalk = require('chalk');
|
||||
var figures = require('figures');
|
||||
|
||||
/**
|
||||
* Separator object
|
||||
* Used to space/separate choices group
|
||||
* @constructor
|
||||
* @param {String} line Separation line content (facultative)
|
||||
*/
|
||||
|
||||
var Separator = module.exports = function (line) {
|
||||
this.type = 'separator';
|
||||
this.line = chalk.dim(line || new Array(15).join(figures.line));
|
||||
};
|
||||
|
||||
/**
|
||||
* Helper function returning false if object is a separator
|
||||
* @param {Object} obj object to test against
|
||||
* @return {Boolean} `false` if object is a separator
|
||||
*/
|
||||
|
||||
Separator.exclude = function (obj) {
|
||||
return obj.type !== 'separator';
|
||||
};
|
||||
|
||||
/**
|
||||
* Stringify separator
|
||||
* @return {String} the separator display string
|
||||
*/
|
||||
|
||||
Separator.prototype.toString = function () {
|
||||
return this.line;
|
||||
};
|
||||
139
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/prompts/base.js
generated
vendored
Normal file
139
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/prompts/base.js
generated
vendored
Normal file
@@ -0,0 +1,139 @@
|
||||
/**
|
||||
* Base prompt implementation
|
||||
* Should be extended by prompt types.
|
||||
*/
|
||||
|
||||
var _ = require('lodash');
|
||||
var chalk = require('chalk');
|
||||
var runAsync = require('run-async');
|
||||
var Choices = require('../objects/choices');
|
||||
var ScreenManager = require('../utils/screen-manager');
|
||||
|
||||
var Prompt = module.exports = function (question, rl, answers) {
|
||||
// Setup instance defaults property
|
||||
_.assign(this, {
|
||||
answers: answers,
|
||||
status: 'pending'
|
||||
});
|
||||
|
||||
// Set defaults prompt options
|
||||
this.opt = _.defaults(_.clone(question), {
|
||||
validate: function () {
|
||||
return true;
|
||||
},
|
||||
filter: function (val) {
|
||||
return val;
|
||||
},
|
||||
when: function () {
|
||||
return true;
|
||||
},
|
||||
suffix: '',
|
||||
prefix: chalk.green('?')
|
||||
});
|
||||
|
||||
// Check to make sure prompt requirements are there
|
||||
if (!this.opt.message) {
|
||||
this.throwParamError('message');
|
||||
}
|
||||
if (!this.opt.name) {
|
||||
this.throwParamError('name');
|
||||
}
|
||||
|
||||
// Normalize choices
|
||||
if (Array.isArray(this.opt.choices)) {
|
||||
this.opt.choices = new Choices(this.opt.choices, answers);
|
||||
}
|
||||
|
||||
this.rl = rl;
|
||||
this.screen = new ScreenManager(this.rl);
|
||||
};
|
||||
|
||||
/**
|
||||
* Start the Inquiry session and manage output value filtering
|
||||
* @return {Promise}
|
||||
*/
|
||||
|
||||
Prompt.prototype.run = function () {
|
||||
return new Promise(function (resolve) {
|
||||
this._run(function (value) {
|
||||
resolve(value);
|
||||
});
|
||||
}.bind(this));
|
||||
};
|
||||
|
||||
// default noop (this one should be overwritten in prompts)
|
||||
Prompt.prototype._run = function (cb) {
|
||||
cb();
|
||||
};
|
||||
|
||||
/**
|
||||
* Throw an error telling a required parameter is missing
|
||||
* @param {String} name Name of the missing param
|
||||
* @return {Throw Error}
|
||||
*/
|
||||
|
||||
Prompt.prototype.throwParamError = function (name) {
|
||||
throw new Error('You must provide a `' + name + '` parameter');
|
||||
};
|
||||
|
||||
/**
|
||||
* Called when the UI closes. Override to do any specific cleanup necessary
|
||||
*/
|
||||
Prompt.prototype.close = function () {
|
||||
this.screen.releaseCursor();
|
||||
};
|
||||
|
||||
/**
|
||||
* Run the provided validation method each time a submit event occur.
|
||||
* @param {Rx.Observable} submit - submit event flow
|
||||
* @return {Object} Object containing two observables: `success` and `error`
|
||||
*/
|
||||
Prompt.prototype.handleSubmitEvents = function (submit) {
|
||||
var self = this;
|
||||
var validate = runAsync(this.opt.validate);
|
||||
var filter = runAsync(this.opt.filter);
|
||||
var validation = submit.flatMap(function (value) {
|
||||
return filter(value, self.answers).then(function (filteredValue) {
|
||||
return validate(filteredValue, self.answers).then(function (isValid) {
|
||||
return {isValid: isValid, value: filteredValue};
|
||||
}, function (err) {
|
||||
return {isValid: err};
|
||||
});
|
||||
}, function (err) {
|
||||
return {isValid: err};
|
||||
});
|
||||
}).share();
|
||||
|
||||
var success = validation
|
||||
.filter(function (state) {
|
||||
return state.isValid === true;
|
||||
})
|
||||
.take(1);
|
||||
|
||||
var error = validation
|
||||
.filter(function (state) {
|
||||
return state.isValid !== true;
|
||||
})
|
||||
.takeUntil(success);
|
||||
|
||||
return {
|
||||
success: success,
|
||||
error: error
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
* Generate the prompt question string
|
||||
* @return {String} prompt question string
|
||||
*/
|
||||
|
||||
Prompt.prototype.getQuestion = function () {
|
||||
var message = this.opt.prefix + ' ' + chalk.bold(this.opt.message) + this.opt.suffix + chalk.reset(' ');
|
||||
|
||||
// Append the default if available, and if question isn't answered
|
||||
if (this.opt.default != null && this.status !== 'answered') {
|
||||
message += chalk.dim('(' + this.opt.default + ') ');
|
||||
}
|
||||
|
||||
return message;
|
||||
};
|
||||
236
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/prompts/checkbox.js
generated
vendored
Normal file
236
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/prompts/checkbox.js
generated
vendored
Normal file
@@ -0,0 +1,236 @@
|
||||
/**
|
||||
* `list` type prompt
|
||||
*/
|
||||
|
||||
var _ = require('lodash');
|
||||
var util = require('util');
|
||||
var chalk = require('chalk');
|
||||
var cliCursor = require('cli-cursor');
|
||||
var figures = require('figures');
|
||||
var Base = require('./base');
|
||||
var observe = require('../utils/events');
|
||||
var Paginator = require('../utils/paginator');
|
||||
|
||||
/**
|
||||
* Module exports
|
||||
*/
|
||||
|
||||
module.exports = Prompt;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
|
||||
function Prompt() {
|
||||
Base.apply(this, arguments);
|
||||
|
||||
if (!this.opt.choices) {
|
||||
this.throwParamError('choices');
|
||||
}
|
||||
|
||||
if (_.isArray(this.opt.default)) {
|
||||
this.opt.choices.forEach(function (choice) {
|
||||
if (this.opt.default.indexOf(choice.value) >= 0) {
|
||||
choice.checked = true;
|
||||
}
|
||||
}, this);
|
||||
}
|
||||
|
||||
this.pointer = 0;
|
||||
this.firstRender = true;
|
||||
|
||||
// Make sure no default is set (so it won't be printed)
|
||||
this.opt.default = null;
|
||||
|
||||
this.paginator = new Paginator();
|
||||
}
|
||||
util.inherits(Prompt, Base);
|
||||
|
||||
/**
|
||||
* Start the Inquiry session
|
||||
* @param {Function} cb Callback when prompt is done
|
||||
* @return {this}
|
||||
*/
|
||||
|
||||
Prompt.prototype._run = function (cb) {
|
||||
this.done = cb;
|
||||
|
||||
var events = observe(this.rl);
|
||||
|
||||
var validation = this.handleSubmitEvents(
|
||||
events.line.map(this.getCurrentValue.bind(this))
|
||||
);
|
||||
validation.success.forEach(this.onEnd.bind(this));
|
||||
validation.error.forEach(this.onError.bind(this));
|
||||
|
||||
events.normalizedUpKey.takeUntil(validation.success).forEach(this.onUpKey.bind(this));
|
||||
events.normalizedDownKey.takeUntil(validation.success).forEach(this.onDownKey.bind(this));
|
||||
events.numberKey.takeUntil(validation.success).forEach(this.onNumberKey.bind(this));
|
||||
events.spaceKey.takeUntil(validation.success).forEach(this.onSpaceKey.bind(this));
|
||||
events.aKey.takeUntil(validation.success).forEach(this.onAllKey.bind(this));
|
||||
events.iKey.takeUntil(validation.success).forEach(this.onInverseKey.bind(this));
|
||||
|
||||
// Init the prompt
|
||||
cliCursor.hide();
|
||||
this.render();
|
||||
this.firstRender = false;
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Render the prompt to screen
|
||||
* @return {Prompt} self
|
||||
*/
|
||||
|
||||
Prompt.prototype.render = function (error) {
|
||||
// Render question
|
||||
var message = this.getQuestion();
|
||||
var bottomContent = '';
|
||||
|
||||
if (this.firstRender) {
|
||||
message += '(Press ' + chalk.cyan.bold('<space>') + ' to select, ' + chalk.cyan.bold('<a>') + ' to toggle all, ' + chalk.cyan.bold('<i>') + ' to inverse selection)';
|
||||
}
|
||||
|
||||
// Render choices or answer depending on the state
|
||||
if (this.status === 'answered') {
|
||||
message += chalk.cyan(this.selection.join(', '));
|
||||
} else {
|
||||
var choicesStr = renderChoices(this.opt.choices, this.pointer);
|
||||
var indexPosition = this.opt.choices.indexOf(this.opt.choices.getChoice(this.pointer));
|
||||
message += '\n' + this.paginator.paginate(choicesStr, indexPosition, this.opt.pageSize);
|
||||
}
|
||||
|
||||
if (error) {
|
||||
bottomContent = chalk.red('>> ') + error;
|
||||
}
|
||||
|
||||
this.screen.render(message, bottomContent);
|
||||
};
|
||||
|
||||
/**
|
||||
* When user press `enter` key
|
||||
*/
|
||||
|
||||
Prompt.prototype.onEnd = function (state) {
|
||||
this.status = 'answered';
|
||||
|
||||
// Rerender prompt (and clean subline error)
|
||||
this.render();
|
||||
|
||||
this.screen.done();
|
||||
cliCursor.show();
|
||||
this.done(state.value);
|
||||
};
|
||||
|
||||
Prompt.prototype.onError = function (state) {
|
||||
this.render(state.isValid);
|
||||
};
|
||||
|
||||
Prompt.prototype.getCurrentValue = function () {
|
||||
var choices = this.opt.choices.filter(function (choice) {
|
||||
return Boolean(choice.checked) && !choice.disabled;
|
||||
});
|
||||
|
||||
this.selection = _.map(choices, 'short');
|
||||
return _.map(choices, 'value');
|
||||
};
|
||||
|
||||
Prompt.prototype.onUpKey = function () {
|
||||
var len = this.opt.choices.realLength;
|
||||
this.pointer = (this.pointer > 0) ? this.pointer - 1 : len - 1;
|
||||
this.render();
|
||||
};
|
||||
|
||||
Prompt.prototype.onDownKey = function () {
|
||||
var len = this.opt.choices.realLength;
|
||||
this.pointer = (this.pointer < len - 1) ? this.pointer + 1 : 0;
|
||||
this.render();
|
||||
};
|
||||
|
||||
Prompt.prototype.onNumberKey = function (input) {
|
||||
if (input <= this.opt.choices.realLength) {
|
||||
this.pointer = input - 1;
|
||||
this.toggleChoice(this.pointer);
|
||||
}
|
||||
this.render();
|
||||
};
|
||||
|
||||
Prompt.prototype.onSpaceKey = function () {
|
||||
this.toggleChoice(this.pointer);
|
||||
this.render();
|
||||
};
|
||||
|
||||
Prompt.prototype.onAllKey = function () {
|
||||
var shouldBeChecked = Boolean(this.opt.choices.find(function (choice) {
|
||||
return choice.type !== 'separator' && !choice.checked;
|
||||
}));
|
||||
|
||||
this.opt.choices.forEach(function (choice) {
|
||||
if (choice.type !== 'separator') {
|
||||
choice.checked = shouldBeChecked;
|
||||
}
|
||||
});
|
||||
|
||||
this.render();
|
||||
};
|
||||
|
||||
Prompt.prototype.onInverseKey = function () {
|
||||
this.opt.choices.forEach(function (choice) {
|
||||
if (choice.type !== 'separator') {
|
||||
choice.checked = !choice.checked;
|
||||
}
|
||||
});
|
||||
|
||||
this.render();
|
||||
};
|
||||
|
||||
Prompt.prototype.toggleChoice = function (index) {
|
||||
var item = this.opt.choices.getChoice(index);
|
||||
if (item !== undefined) {
|
||||
this.opt.choices.getChoice(index).checked = !item.checked;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Function for rendering checkbox choices
|
||||
* @param {Number} pointer Position of the pointer
|
||||
* @return {String} Rendered content
|
||||
*/
|
||||
|
||||
function renderChoices(choices, pointer) {
|
||||
var output = '';
|
||||
var separatorOffset = 0;
|
||||
|
||||
choices.forEach(function (choice, i) {
|
||||
if (choice.type === 'separator') {
|
||||
separatorOffset++;
|
||||
output += ' ' + choice + '\n';
|
||||
return;
|
||||
}
|
||||
|
||||
if (choice.disabled) {
|
||||
separatorOffset++;
|
||||
output += ' - ' + choice.name;
|
||||
output += ' (' + (_.isString(choice.disabled) ? choice.disabled : 'Disabled') + ')';
|
||||
} else {
|
||||
var isSelected = (i - separatorOffset === pointer);
|
||||
output += isSelected ? chalk.cyan(figures.pointer) : ' ';
|
||||
output += getCheckbox(choice.checked) + ' ' + choice.name;
|
||||
}
|
||||
|
||||
output += '\n';
|
||||
});
|
||||
|
||||
return output.replace(/\n$/, '');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the checkbox
|
||||
* @param {Boolean} checked - add a X or not to the checkbox
|
||||
* @return {String} Composited checkbox string
|
||||
*/
|
||||
|
||||
function getCheckbox(checked) {
|
||||
return checked ? chalk.green(figures.radioOn) : figures.radioOff;
|
||||
}
|
||||
106
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/prompts/confirm.js
generated
vendored
Normal file
106
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/prompts/confirm.js
generated
vendored
Normal file
@@ -0,0 +1,106 @@
|
||||
/**
|
||||
* `confirm` type prompt
|
||||
*/
|
||||
|
||||
var _ = require('lodash');
|
||||
var util = require('util');
|
||||
var chalk = require('chalk');
|
||||
var Base = require('./base');
|
||||
var observe = require('../utils/events');
|
||||
|
||||
/**
|
||||
* Module exports
|
||||
*/
|
||||
|
||||
module.exports = Prompt;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
|
||||
function Prompt() {
|
||||
Base.apply(this, arguments);
|
||||
|
||||
var rawDefault = true;
|
||||
|
||||
_.extend(this.opt, {
|
||||
filter: function (input) {
|
||||
var value = rawDefault;
|
||||
if (input != null && input !== '') {
|
||||
value = /^y(es)?/i.test(input);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
});
|
||||
|
||||
if (_.isBoolean(this.opt.default)) {
|
||||
rawDefault = this.opt.default;
|
||||
}
|
||||
|
||||
this.opt.default = rawDefault ? 'Y/n' : 'y/N';
|
||||
|
||||
return this;
|
||||
}
|
||||
util.inherits(Prompt, Base);
|
||||
|
||||
/**
|
||||
* Start the Inquiry session
|
||||
* @param {Function} cb Callback when prompt is done
|
||||
* @return {this}
|
||||
*/
|
||||
|
||||
Prompt.prototype._run = function (cb) {
|
||||
this.done = cb;
|
||||
|
||||
// Once user confirm (enter key)
|
||||
var events = observe(this.rl);
|
||||
events.keypress.takeUntil(events.line).forEach(this.onKeypress.bind(this));
|
||||
|
||||
events.line.take(1).forEach(this.onEnd.bind(this));
|
||||
|
||||
// Init
|
||||
this.render();
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Render the prompt to screen
|
||||
* @return {Prompt} self
|
||||
*/
|
||||
|
||||
Prompt.prototype.render = function (answer) {
|
||||
var message = this.getQuestion();
|
||||
|
||||
if (typeof answer === 'boolean') {
|
||||
message += chalk.cyan(answer ? 'Yes' : 'No');
|
||||
} else {
|
||||
message += this.rl.line;
|
||||
}
|
||||
|
||||
this.screen.render(message);
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* When user press `enter` key
|
||||
*/
|
||||
|
||||
Prompt.prototype.onEnd = function (input) {
|
||||
this.status = 'answered';
|
||||
|
||||
var output = this.opt.filter(input);
|
||||
this.render(output);
|
||||
|
||||
this.screen.done();
|
||||
this.done(output);
|
||||
};
|
||||
|
||||
/**
|
||||
* When user press a key
|
||||
*/
|
||||
|
||||
Prompt.prototype.onKeypress = function () {
|
||||
this.render();
|
||||
};
|
||||
111
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/prompts/editor.js
generated
vendored
Normal file
111
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/prompts/editor.js
generated
vendored
Normal file
@@ -0,0 +1,111 @@
|
||||
/**
|
||||
* `editor` type prompt
|
||||
*/
|
||||
|
||||
var util = require('util');
|
||||
var chalk = require('chalk');
|
||||
var ExternalEditor = require('external-editor');
|
||||
var Base = require('./base');
|
||||
var observe = require('../utils/events');
|
||||
var rx = require('rx-lite-aggregates');
|
||||
|
||||
/**
|
||||
* Module exports
|
||||
*/
|
||||
|
||||
module.exports = Prompt;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
|
||||
function Prompt() {
|
||||
return Base.apply(this, arguments);
|
||||
}
|
||||
util.inherits(Prompt, Base);
|
||||
|
||||
/**
|
||||
* Start the Inquiry session
|
||||
* @param {Function} cb Callback when prompt is done
|
||||
* @return {this}
|
||||
*/
|
||||
|
||||
Prompt.prototype._run = function (cb) {
|
||||
this.done = cb;
|
||||
|
||||
this.editorResult = new rx.Subject();
|
||||
|
||||
// Open Editor on "line" (Enter Key)
|
||||
var events = observe(this.rl);
|
||||
this.lineSubscription = events.line.forEach(this.startExternalEditor.bind(this));
|
||||
|
||||
// Trigger Validation when editor closes
|
||||
var validation = this.handleSubmitEvents(this.editorResult);
|
||||
validation.success.forEach(this.onEnd.bind(this));
|
||||
validation.error.forEach(this.onError.bind(this));
|
||||
|
||||
// Prevents default from being printed on screen (can look weird with multiple lines)
|
||||
this.currentText = this.opt.default;
|
||||
this.opt.default = null;
|
||||
|
||||
// Init
|
||||
this.render();
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Render the prompt to screen
|
||||
* @return {Prompt} self
|
||||
*/
|
||||
|
||||
Prompt.prototype.render = function (error) {
|
||||
var bottomContent = '';
|
||||
var message = this.getQuestion();
|
||||
|
||||
if (this.status === 'answered') {
|
||||
message += chalk.dim('Received');
|
||||
} else {
|
||||
message += chalk.dim('Press <enter> to launch your preferred editor.');
|
||||
}
|
||||
|
||||
if (error) {
|
||||
bottomContent = chalk.red('>> ') + error;
|
||||
}
|
||||
|
||||
this.screen.render(message, bottomContent);
|
||||
};
|
||||
|
||||
/**
|
||||
* Launch $EDITOR on user press enter
|
||||
*/
|
||||
|
||||
Prompt.prototype.startExternalEditor = function () {
|
||||
// Pause Readline to prevent stdin and stdout from being modified while the editor is showing
|
||||
this.rl.pause();
|
||||
ExternalEditor.editAsync(this.currentText, this.endExternalEditor.bind(this));
|
||||
};
|
||||
|
||||
Prompt.prototype.endExternalEditor = function (error, result) {
|
||||
this.rl.resume();
|
||||
if (error) {
|
||||
this.editorResult.onError(error);
|
||||
} else {
|
||||
this.editorResult.onNext(result);
|
||||
}
|
||||
};
|
||||
|
||||
Prompt.prototype.onEnd = function (state) {
|
||||
this.editorResult.dispose();
|
||||
this.lineSubscription.dispose();
|
||||
this.answer = state.value;
|
||||
this.status = 'answered';
|
||||
// Re-render prompt
|
||||
this.render();
|
||||
this.screen.done();
|
||||
this.done(this.answer);
|
||||
};
|
||||
|
||||
Prompt.prototype.onError = function (state) {
|
||||
this.render(state.isValid);
|
||||
};
|
||||
260
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/prompts/expand.js
generated
vendored
Normal file
260
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/prompts/expand.js
generated
vendored
Normal file
@@ -0,0 +1,260 @@
|
||||
/**
|
||||
* `rawlist` type prompt
|
||||
*/
|
||||
|
||||
var _ = require('lodash');
|
||||
var util = require('util');
|
||||
var chalk = require('chalk');
|
||||
var Base = require('./base');
|
||||
var Separator = require('../objects/separator');
|
||||
var observe = require('../utils/events');
|
||||
var Paginator = require('../utils/paginator');
|
||||
|
||||
/**
|
||||
* Module exports
|
||||
*/
|
||||
|
||||
module.exports = Prompt;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
|
||||
function Prompt() {
|
||||
Base.apply(this, arguments);
|
||||
|
||||
if (!this.opt.choices) {
|
||||
this.throwParamError('choices');
|
||||
}
|
||||
|
||||
this.validateChoices(this.opt.choices);
|
||||
|
||||
// Add the default `help` (/expand) option
|
||||
this.opt.choices.push({
|
||||
key: 'h',
|
||||
name: 'Help, list all options',
|
||||
value: 'help'
|
||||
});
|
||||
|
||||
this.opt.validate = function (choice) {
|
||||
if (choice == null) {
|
||||
return 'Please enter a valid command';
|
||||
}
|
||||
|
||||
return choice !== 'help';
|
||||
};
|
||||
|
||||
// Setup the default string (capitalize the default key)
|
||||
this.opt.default = this.generateChoicesString(this.opt.choices, this.opt.default);
|
||||
|
||||
this.paginator = new Paginator();
|
||||
}
|
||||
util.inherits(Prompt, Base);
|
||||
|
||||
/**
|
||||
* Start the Inquiry session
|
||||
* @param {Function} cb Callback when prompt is done
|
||||
* @return {this}
|
||||
*/
|
||||
|
||||
Prompt.prototype._run = function (cb) {
|
||||
this.done = cb;
|
||||
|
||||
// Save user answer and update prompt to show selected option.
|
||||
var events = observe(this.rl);
|
||||
var validation = this.handleSubmitEvents(
|
||||
events.line.map(this.getCurrentValue.bind(this))
|
||||
);
|
||||
validation.success.forEach(this.onSubmit.bind(this));
|
||||
validation.error.forEach(this.onError.bind(this));
|
||||
this.keypressObs = events.keypress.takeUntil(validation.success)
|
||||
.forEach(this.onKeypress.bind(this));
|
||||
|
||||
// Init the prompt
|
||||
this.render();
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Render the prompt to screen
|
||||
* @return {Prompt} self
|
||||
*/
|
||||
|
||||
Prompt.prototype.render = function (error, hint) {
|
||||
var message = this.getQuestion();
|
||||
var bottomContent = '';
|
||||
|
||||
if (this.status === 'answered') {
|
||||
message += chalk.cyan(this.answer);
|
||||
} else if (this.status === 'expanded') {
|
||||
var choicesStr = renderChoices(this.opt.choices, this.selectedKey);
|
||||
message += this.paginator.paginate(choicesStr, this.selectedKey, this.opt.pageSize);
|
||||
message += '\n Answer: ';
|
||||
}
|
||||
|
||||
message += this.rl.line;
|
||||
|
||||
if (error) {
|
||||
bottomContent = chalk.red('>> ') + error;
|
||||
}
|
||||
|
||||
if (hint) {
|
||||
bottomContent = chalk.cyan('>> ') + hint;
|
||||
}
|
||||
|
||||
this.screen.render(message, bottomContent);
|
||||
};
|
||||
|
||||
Prompt.prototype.getCurrentValue = function (input) {
|
||||
if (!input) {
|
||||
input = this.rawDefault;
|
||||
}
|
||||
var selected = this.opt.choices.where({key: input.toLowerCase().trim()})[0];
|
||||
if (!selected) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return selected.value;
|
||||
};
|
||||
|
||||
/**
|
||||
* Generate the prompt choices string
|
||||
* @return {String} Choices string
|
||||
*/
|
||||
|
||||
Prompt.prototype.getChoices = function () {
|
||||
var output = '';
|
||||
|
||||
this.opt.choices.forEach(function (choice) {
|
||||
output += '\n ';
|
||||
|
||||
if (choice.type === 'separator') {
|
||||
output += ' ' + choice;
|
||||
return;
|
||||
}
|
||||
|
||||
var choiceStr = choice.key + ') ' + choice.name;
|
||||
if (this.selectedKey === choice.key) {
|
||||
choiceStr = chalk.cyan(choiceStr);
|
||||
}
|
||||
output += choiceStr;
|
||||
}.bind(this));
|
||||
|
||||
return output;
|
||||
};
|
||||
|
||||
Prompt.prototype.onError = function (state) {
|
||||
if (state.value === 'help') {
|
||||
this.selectedKey = '';
|
||||
this.status = 'expanded';
|
||||
this.render();
|
||||
return;
|
||||
}
|
||||
this.render(state.isValid);
|
||||
};
|
||||
|
||||
/**
|
||||
* When user press `enter` key
|
||||
*/
|
||||
|
||||
Prompt.prototype.onSubmit = function (state) {
|
||||
this.status = 'answered';
|
||||
var choice = this.opt.choices.where({value: state.value})[0];
|
||||
this.answer = choice.short || choice.name;
|
||||
|
||||
// Re-render prompt
|
||||
this.render();
|
||||
this.screen.done();
|
||||
this.done(state.value);
|
||||
};
|
||||
|
||||
/**
|
||||
* When user press a key
|
||||
*/
|
||||
|
||||
Prompt.prototype.onKeypress = function () {
|
||||
this.selectedKey = this.rl.line.toLowerCase();
|
||||
var selected = this.opt.choices.where({key: this.selectedKey})[0];
|
||||
if (this.status === 'expanded') {
|
||||
this.render();
|
||||
} else {
|
||||
this.render(null, selected ? selected.name : null);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Validate the choices
|
||||
* @param {Array} choices
|
||||
*/
|
||||
|
||||
Prompt.prototype.validateChoices = function (choices) {
|
||||
var formatError;
|
||||
var errors = [];
|
||||
var keymap = {};
|
||||
choices.filter(Separator.exclude).forEach(function (choice) {
|
||||
if (!choice.key || choice.key.length !== 1) {
|
||||
formatError = true;
|
||||
}
|
||||
if (keymap[choice.key]) {
|
||||
errors.push(choice.key);
|
||||
}
|
||||
keymap[choice.key] = true;
|
||||
choice.key = String(choice.key).toLowerCase();
|
||||
});
|
||||
|
||||
if (formatError) {
|
||||
throw new Error('Format error: `key` param must be a single letter and is required.');
|
||||
}
|
||||
if (keymap.h) {
|
||||
throw new Error('Reserved key error: `key` param cannot be `h` - this value is reserved.');
|
||||
}
|
||||
if (errors.length) {
|
||||
throw new Error('Duplicate key error: `key` param must be unique. Duplicates: ' +
|
||||
_.uniq(errors).join(', '));
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Generate a string out of the choices keys
|
||||
* @param {Array} choices
|
||||
* @param {Number} defaultIndex - the choice index to capitalize
|
||||
* @return {String} The rendered choices key string
|
||||
*/
|
||||
Prompt.prototype.generateChoicesString = function (choices, defaultIndex) {
|
||||
var defIndex = choices.realLength - 1;
|
||||
if (_.isNumber(defaultIndex) && this.opt.choices.getChoice(defaultIndex)) {
|
||||
defIndex = defaultIndex;
|
||||
}
|
||||
var defStr = this.opt.choices.pluck('key');
|
||||
this.rawDefault = defStr[defIndex];
|
||||
defStr[defIndex] = String(defStr[defIndex]).toUpperCase();
|
||||
return defStr.join('');
|
||||
};
|
||||
|
||||
/**
|
||||
* Function for rendering checkbox choices
|
||||
* @param {String} pointer Selected key
|
||||
* @return {String} Rendered content
|
||||
*/
|
||||
|
||||
function renderChoices(choices, pointer) {
|
||||
var output = '';
|
||||
|
||||
choices.forEach(function (choice) {
|
||||
output += '\n ';
|
||||
|
||||
if (choice.type === 'separator') {
|
||||
output += ' ' + choice;
|
||||
return;
|
||||
}
|
||||
|
||||
var choiceStr = choice.key + ') ' + choice.name;
|
||||
if (pointer === choice.key) {
|
||||
choiceStr = chalk.cyan(choiceStr);
|
||||
}
|
||||
output += choiceStr;
|
||||
});
|
||||
|
||||
return output;
|
||||
}
|
||||
104
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/prompts/input.js
generated
vendored
Normal file
104
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/prompts/input.js
generated
vendored
Normal file
@@ -0,0 +1,104 @@
|
||||
/**
|
||||
* `input` type prompt
|
||||
*/
|
||||
|
||||
var util = require('util');
|
||||
var chalk = require('chalk');
|
||||
var Base = require('./base');
|
||||
var observe = require('../utils/events');
|
||||
|
||||
/**
|
||||
* Module exports
|
||||
*/
|
||||
|
||||
module.exports = Prompt;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
|
||||
function Prompt() {
|
||||
return Base.apply(this, arguments);
|
||||
}
|
||||
util.inherits(Prompt, Base);
|
||||
|
||||
/**
|
||||
* Start the Inquiry session
|
||||
* @param {Function} cb Callback when prompt is done
|
||||
* @return {this}
|
||||
*/
|
||||
|
||||
Prompt.prototype._run = function (cb) {
|
||||
this.done = cb;
|
||||
|
||||
// Once user confirm (enter key)
|
||||
var events = observe(this.rl);
|
||||
var submit = events.line.map(this.filterInput.bind(this));
|
||||
|
||||
var validation = this.handleSubmitEvents(submit);
|
||||
validation.success.forEach(this.onEnd.bind(this));
|
||||
validation.error.forEach(this.onError.bind(this));
|
||||
|
||||
events.keypress.takeUntil(validation.success).forEach(this.onKeypress.bind(this));
|
||||
|
||||
// Init
|
||||
this.render();
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Render the prompt to screen
|
||||
* @return {Prompt} self
|
||||
*/
|
||||
|
||||
Prompt.prototype.render = function (error) {
|
||||
var bottomContent = '';
|
||||
var message = this.getQuestion();
|
||||
|
||||
if (this.status === 'answered') {
|
||||
message += chalk.cyan(this.answer);
|
||||
} else {
|
||||
message += this.rl.line;
|
||||
}
|
||||
|
||||
if (error) {
|
||||
bottomContent = chalk.red('>> ') + error;
|
||||
}
|
||||
|
||||
this.screen.render(message, bottomContent);
|
||||
};
|
||||
|
||||
/**
|
||||
* When user press `enter` key
|
||||
*/
|
||||
|
||||
Prompt.prototype.filterInput = function (input) {
|
||||
if (!input) {
|
||||
return this.opt.default == null ? '' : this.opt.default;
|
||||
}
|
||||
return input;
|
||||
};
|
||||
|
||||
Prompt.prototype.onEnd = function (state) {
|
||||
this.answer = state.value;
|
||||
this.status = 'answered';
|
||||
|
||||
// Re-render prompt
|
||||
this.render();
|
||||
|
||||
this.screen.done();
|
||||
this.done(state.value);
|
||||
};
|
||||
|
||||
Prompt.prototype.onError = function (state) {
|
||||
this.render(state.isValid);
|
||||
};
|
||||
|
||||
/**
|
||||
* When user press a key
|
||||
*/
|
||||
|
||||
Prompt.prototype.onKeypress = function () {
|
||||
this.render();
|
||||
};
|
||||
184
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/prompts/list.js
generated
vendored
Normal file
184
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/prompts/list.js
generated
vendored
Normal file
@@ -0,0 +1,184 @@
|
||||
/**
|
||||
* `list` type prompt
|
||||
*/
|
||||
|
||||
var _ = require('lodash');
|
||||
var util = require('util');
|
||||
var chalk = require('chalk');
|
||||
var figures = require('figures');
|
||||
var cliCursor = require('cli-cursor');
|
||||
var runAsync = require('run-async');
|
||||
var Base = require('./base');
|
||||
var observe = require('../utils/events');
|
||||
var Paginator = require('../utils/paginator');
|
||||
|
||||
/**
|
||||
* Module exports
|
||||
*/
|
||||
|
||||
module.exports = Prompt;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
|
||||
function Prompt() {
|
||||
Base.apply(this, arguments);
|
||||
|
||||
if (!this.opt.choices) {
|
||||
this.throwParamError('choices');
|
||||
}
|
||||
|
||||
this.firstRender = true;
|
||||
this.selected = 0;
|
||||
|
||||
var def = this.opt.default;
|
||||
|
||||
// If def is a Number, then use as index. Otherwise, check for value.
|
||||
if (_.isNumber(def) && def >= 0 && def < this.opt.choices.realLength) {
|
||||
this.selected = def;
|
||||
} else if (!_.isNumber(def) && def != null) {
|
||||
this.selected = this.opt.choices.pluck('value').indexOf(def);
|
||||
}
|
||||
|
||||
// Make sure no default is set (so it won't be printed)
|
||||
this.opt.default = null;
|
||||
|
||||
this.paginator = new Paginator();
|
||||
}
|
||||
util.inherits(Prompt, Base);
|
||||
|
||||
/**
|
||||
* Start the Inquiry session
|
||||
* @param {Function} cb Callback when prompt is done
|
||||
* @return {this}
|
||||
*/
|
||||
|
||||
Prompt.prototype._run = function (cb) {
|
||||
this.done = cb;
|
||||
|
||||
var self = this;
|
||||
|
||||
var events = observe(this.rl);
|
||||
events.normalizedUpKey.takeUntil(events.line).forEach(this.onUpKey.bind(this));
|
||||
events.normalizedDownKey.takeUntil(events.line).forEach(this.onDownKey.bind(this));
|
||||
events.numberKey.takeUntil(events.line).forEach(this.onNumberKey.bind(this));
|
||||
events.line
|
||||
.take(1)
|
||||
.map(this.getCurrentValue.bind(this))
|
||||
.flatMap(function (value) {
|
||||
return runAsync(self.opt.filter)(value).catch(function (err) {
|
||||
return err;
|
||||
});
|
||||
})
|
||||
.forEach(this.onSubmit.bind(this));
|
||||
|
||||
// Init the prompt
|
||||
cliCursor.hide();
|
||||
this.render();
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Render the prompt to screen
|
||||
* @return {Prompt} self
|
||||
*/
|
||||
|
||||
Prompt.prototype.render = function () {
|
||||
// Render question
|
||||
var message = this.getQuestion();
|
||||
|
||||
if (this.firstRender) {
|
||||
message += chalk.dim('(Use arrow keys)');
|
||||
}
|
||||
|
||||
// Render choices or answer depending on the state
|
||||
if (this.status === 'answered') {
|
||||
message += chalk.cyan(this.opt.choices.getChoice(this.selected).short);
|
||||
} else {
|
||||
var choicesStr = listRender(this.opt.choices, this.selected);
|
||||
var indexPosition = this.opt.choices.indexOf(this.opt.choices.getChoice(this.selected));
|
||||
message += '\n' + this.paginator.paginate(choicesStr, indexPosition, this.opt.pageSize);
|
||||
}
|
||||
|
||||
this.firstRender = false;
|
||||
|
||||
this.screen.render(message);
|
||||
};
|
||||
|
||||
/**
|
||||
* When user press `enter` key
|
||||
*/
|
||||
|
||||
Prompt.prototype.onSubmit = function (value) {
|
||||
this.status = 'answered';
|
||||
|
||||
// Rerender prompt
|
||||
this.render();
|
||||
|
||||
this.screen.done();
|
||||
cliCursor.show();
|
||||
this.done(value);
|
||||
};
|
||||
|
||||
Prompt.prototype.getCurrentValue = function () {
|
||||
return this.opt.choices.getChoice(this.selected).value;
|
||||
};
|
||||
|
||||
/**
|
||||
* When user press a key
|
||||
*/
|
||||
Prompt.prototype.onUpKey = function () {
|
||||
var len = this.opt.choices.realLength;
|
||||
this.selected = (this.selected > 0) ? this.selected - 1 : len - 1;
|
||||
this.render();
|
||||
};
|
||||
|
||||
Prompt.prototype.onDownKey = function () {
|
||||
var len = this.opt.choices.realLength;
|
||||
this.selected = (this.selected < len - 1) ? this.selected + 1 : 0;
|
||||
this.render();
|
||||
};
|
||||
|
||||
Prompt.prototype.onNumberKey = function (input) {
|
||||
if (input <= this.opt.choices.realLength) {
|
||||
this.selected = input - 1;
|
||||
}
|
||||
this.render();
|
||||
};
|
||||
|
||||
/**
|
||||
* Function for rendering list choices
|
||||
* @param {Number} pointer Position of the pointer
|
||||
* @return {String} Rendered content
|
||||
*/
|
||||
function listRender(choices, pointer) {
|
||||
var output = '';
|
||||
var separatorOffset = 0;
|
||||
|
||||
choices.forEach(function (choice, i) {
|
||||
if (choice.type === 'separator') {
|
||||
separatorOffset++;
|
||||
output += ' ' + choice + '\n';
|
||||
return;
|
||||
}
|
||||
|
||||
if (choice.disabled) {
|
||||
separatorOffset++;
|
||||
output += ' - ' + choice.name;
|
||||
output += ' (' + (_.isString(choice.disabled) ? choice.disabled : 'Disabled') + ')';
|
||||
output += '\n';
|
||||
return;
|
||||
}
|
||||
|
||||
var isSelected = (i - separatorOffset === pointer);
|
||||
var line = (isSelected ? figures.pointer + ' ' : ' ') + choice.name;
|
||||
if (isSelected) {
|
||||
line = chalk.cyan(line);
|
||||
}
|
||||
output += line + ' \n';
|
||||
});
|
||||
|
||||
return output.replace(/\n$/, '');
|
||||
}
|
||||
115
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/prompts/password.js
generated
vendored
Normal file
115
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/prompts/password.js
generated
vendored
Normal file
@@ -0,0 +1,115 @@
|
||||
/**
|
||||
* `password` type prompt
|
||||
*/
|
||||
|
||||
var util = require('util');
|
||||
var chalk = require('chalk');
|
||||
var Base = require('./base');
|
||||
var observe = require('../utils/events');
|
||||
|
||||
function mask(input, maskChar) {
|
||||
input = String(input);
|
||||
maskChar = typeof maskChar === 'string' ? maskChar : '*';
|
||||
if (input.length === 0) {
|
||||
return '';
|
||||
}
|
||||
|
||||
return new Array(input.length + 1).join(maskChar);
|
||||
}
|
||||
|
||||
/**
|
||||
* Module exports
|
||||
*/
|
||||
|
||||
module.exports = Prompt;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
|
||||
function Prompt() {
|
||||
return Base.apply(this, arguments);
|
||||
}
|
||||
util.inherits(Prompt, Base);
|
||||
|
||||
/**
|
||||
* Start the Inquiry session
|
||||
* @param {Function} cb Callback when prompt is done
|
||||
* @return {this}
|
||||
*/
|
||||
|
||||
Prompt.prototype._run = function (cb) {
|
||||
this.done = cb;
|
||||
|
||||
var events = observe(this.rl);
|
||||
|
||||
// Once user confirm (enter key)
|
||||
var submit = events.line.map(this.filterInput.bind(this));
|
||||
|
||||
var validation = this.handleSubmitEvents(submit);
|
||||
validation.success.forEach(this.onEnd.bind(this));
|
||||
validation.error.forEach(this.onError.bind(this));
|
||||
|
||||
if (this.opt.mask) {
|
||||
events.keypress.takeUntil(validation.success).forEach(this.onKeypress.bind(this));
|
||||
}
|
||||
|
||||
// Init
|
||||
this.render();
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Render the prompt to screen
|
||||
* @return {Prompt} self
|
||||
*/
|
||||
|
||||
Prompt.prototype.render = function (error) {
|
||||
var message = this.getQuestion();
|
||||
var bottomContent = '';
|
||||
|
||||
if (this.status === 'answered') {
|
||||
message += this.opt.mask ? chalk.cyan(mask(this.answer, this.opt.mask)) : chalk.italic.dim('[hidden]');
|
||||
} else if (this.opt.mask) {
|
||||
message += mask(this.rl.line || '', this.opt.mask);
|
||||
} else {
|
||||
message += chalk.italic.dim('[input is hidden] ');
|
||||
}
|
||||
|
||||
if (error) {
|
||||
bottomContent = '\n' + chalk.red('>> ') + error;
|
||||
}
|
||||
|
||||
this.screen.render(message, bottomContent);
|
||||
};
|
||||
|
||||
/**
|
||||
* When user press `enter` key
|
||||
*/
|
||||
|
||||
Prompt.prototype.filterInput = function (input) {
|
||||
if (!input) {
|
||||
return this.opt.default == null ? '' : this.opt.default;
|
||||
}
|
||||
return input;
|
||||
};
|
||||
|
||||
Prompt.prototype.onEnd = function (state) {
|
||||
this.status = 'answered';
|
||||
this.answer = state.value;
|
||||
|
||||
// Re-render prompt
|
||||
this.render();
|
||||
|
||||
this.screen.done();
|
||||
this.done(state.value);
|
||||
};
|
||||
|
||||
Prompt.prototype.onError = function (state) {
|
||||
this.render(state.isValid);
|
||||
};
|
||||
|
||||
Prompt.prototype.onKeypress = function () {
|
||||
this.render();
|
||||
};
|
||||
179
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/prompts/rawlist.js
generated
vendored
Normal file
179
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/prompts/rawlist.js
generated
vendored
Normal file
@@ -0,0 +1,179 @@
|
||||
/**
|
||||
* `rawlist` type prompt
|
||||
*/
|
||||
|
||||
var _ = require('lodash');
|
||||
var util = require('util');
|
||||
var chalk = require('chalk');
|
||||
var Base = require('./base');
|
||||
var Separator = require('../objects/separator');
|
||||
var observe = require('../utils/events');
|
||||
var Paginator = require('../utils/paginator');
|
||||
|
||||
/**
|
||||
* Module exports
|
||||
*/
|
||||
|
||||
module.exports = Prompt;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
|
||||
function Prompt() {
|
||||
Base.apply(this, arguments);
|
||||
|
||||
if (!this.opt.choices) {
|
||||
this.throwParamError('choices');
|
||||
}
|
||||
|
||||
this.opt.validChoices = this.opt.choices.filter(Separator.exclude);
|
||||
|
||||
this.selected = 0;
|
||||
this.rawDefault = 0;
|
||||
|
||||
_.extend(this.opt, {
|
||||
validate: function (val) {
|
||||
return val != null;
|
||||
}
|
||||
});
|
||||
|
||||
var def = this.opt.default;
|
||||
if (_.isNumber(def) && def >= 0 && def < this.opt.choices.realLength) {
|
||||
this.selected = this.rawDefault = def;
|
||||
}
|
||||
|
||||
// Make sure no default is set (so it won't be printed)
|
||||
this.opt.default = null;
|
||||
|
||||
this.paginator = new Paginator();
|
||||
}
|
||||
util.inherits(Prompt, Base);
|
||||
|
||||
/**
|
||||
* Start the Inquiry session
|
||||
* @param {Function} cb Callback when prompt is done
|
||||
* @return {this}
|
||||
*/
|
||||
|
||||
Prompt.prototype._run = function (cb) {
|
||||
this.done = cb;
|
||||
|
||||
// Once user confirm (enter key)
|
||||
var events = observe(this.rl);
|
||||
var submit = events.line.map(this.getCurrentValue.bind(this));
|
||||
|
||||
var validation = this.handleSubmitEvents(submit);
|
||||
validation.success.forEach(this.onEnd.bind(this));
|
||||
validation.error.forEach(this.onError.bind(this));
|
||||
|
||||
events.keypress.takeUntil(validation.success).forEach(this.onKeypress.bind(this));
|
||||
|
||||
// Init the prompt
|
||||
this.render();
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Render the prompt to screen
|
||||
* @return {Prompt} self
|
||||
*/
|
||||
|
||||
Prompt.prototype.render = function (error) {
|
||||
// Render question
|
||||
var message = this.getQuestion();
|
||||
var bottomContent = '';
|
||||
|
||||
if (this.status === 'answered') {
|
||||
message += chalk.cyan(this.answer);
|
||||
} else {
|
||||
var choicesStr = renderChoices(this.opt.choices, this.selected);
|
||||
message += this.paginator.paginate(choicesStr, this.selected, this.opt.pageSize);
|
||||
message += '\n Answer: ';
|
||||
}
|
||||
|
||||
message += this.rl.line;
|
||||
|
||||
if (error) {
|
||||
bottomContent = '\n' + chalk.red('>> ') + error;
|
||||
}
|
||||
|
||||
this.screen.render(message, bottomContent);
|
||||
};
|
||||
|
||||
/**
|
||||
* When user press `enter` key
|
||||
*/
|
||||
|
||||
Prompt.prototype.getCurrentValue = function (index) {
|
||||
if (index == null || index === '') {
|
||||
index = this.rawDefault;
|
||||
} else {
|
||||
index -= 1;
|
||||
}
|
||||
|
||||
var choice = this.opt.choices.getChoice(index);
|
||||
return choice ? choice.value : null;
|
||||
};
|
||||
|
||||
Prompt.prototype.onEnd = function (state) {
|
||||
this.status = 'answered';
|
||||
this.answer = state.value;
|
||||
|
||||
// Re-render prompt
|
||||
this.render();
|
||||
|
||||
this.screen.done();
|
||||
this.done(state.value);
|
||||
};
|
||||
|
||||
Prompt.prototype.onError = function () {
|
||||
this.render('Please enter a valid index');
|
||||
};
|
||||
|
||||
/**
|
||||
* When user press a key
|
||||
*/
|
||||
|
||||
Prompt.prototype.onKeypress = function () {
|
||||
var index = this.rl.line.length ? Number(this.rl.line) - 1 : 0;
|
||||
|
||||
if (this.opt.choices.getChoice(index)) {
|
||||
this.selected = index;
|
||||
} else {
|
||||
this.selected = undefined;
|
||||
}
|
||||
|
||||
this.render();
|
||||
};
|
||||
|
||||
/**
|
||||
* Function for rendering list choices
|
||||
* @param {Number} pointer Position of the pointer
|
||||
* @return {String} Rendered content
|
||||
*/
|
||||
|
||||
function renderChoices(choices, pointer) {
|
||||
var output = '';
|
||||
var separatorOffset = 0;
|
||||
|
||||
choices.forEach(function (choice, i) {
|
||||
output += '\n ';
|
||||
|
||||
if (choice.type === 'separator') {
|
||||
separatorOffset++;
|
||||
output += ' ' + choice;
|
||||
return;
|
||||
}
|
||||
|
||||
var index = i - separatorOffset;
|
||||
var display = (index + 1) + ') ' + choice.name;
|
||||
if (index === pointer) {
|
||||
display = chalk.cyan(display);
|
||||
}
|
||||
output += display;
|
||||
});
|
||||
|
||||
return output;
|
||||
}
|
||||
75
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/ui/baseUI.js
generated
vendored
Normal file
75
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/ui/baseUI.js
generated
vendored
Normal file
@@ -0,0 +1,75 @@
|
||||
'use strict';
|
||||
var _ = require('lodash');
|
||||
var MuteStream = require('mute-stream');
|
||||
var readline = require('readline');
|
||||
|
||||
/**
|
||||
* Base interface class other can inherits from
|
||||
*/
|
||||
|
||||
var UI = module.exports = function (opt) {
|
||||
// Instantiate the Readline interface
|
||||
// @Note: Don't reassign if already present (allow test to override the Stream)
|
||||
if (!this.rl) {
|
||||
this.rl = readline.createInterface(setupReadlineOptions(opt));
|
||||
}
|
||||
this.rl.resume();
|
||||
|
||||
this.onForceClose = this.onForceClose.bind(this);
|
||||
|
||||
// Make sure new prompt start on a newline when closing
|
||||
process.on('exit', this.onForceClose);
|
||||
|
||||
// Terminate process on SIGINT (which will call process.on('exit') in return)
|
||||
this.rl.on('SIGINT', this.onForceClose);
|
||||
};
|
||||
|
||||
/**
|
||||
* Handle the ^C exit
|
||||
* @return {null}
|
||||
*/
|
||||
|
||||
UI.prototype.onForceClose = function () {
|
||||
this.close();
|
||||
process.kill(process.pid, 'SIGINT');
|
||||
console.log('');
|
||||
};
|
||||
|
||||
/**
|
||||
* Close the interface and cleanup listeners
|
||||
*/
|
||||
|
||||
UI.prototype.close = function () {
|
||||
// Remove events listeners
|
||||
this.rl.removeListener('SIGINT', this.onForceClose);
|
||||
process.removeListener('exit', this.onForceClose);
|
||||
|
||||
this.rl.output.unmute();
|
||||
|
||||
if (this.activePrompt && typeof this.activePrompt.close === 'function') {
|
||||
this.activePrompt.close();
|
||||
}
|
||||
|
||||
// Close the readline
|
||||
this.rl.output.end();
|
||||
this.rl.pause();
|
||||
this.rl.close();
|
||||
};
|
||||
|
||||
function setupReadlineOptions(opt) {
|
||||
opt = opt || {};
|
||||
|
||||
// Default `input` to stdin
|
||||
var input = opt.input || process.stdin;
|
||||
|
||||
// Add mute capabilities to the output
|
||||
var ms = new MuteStream();
|
||||
ms.pipe(opt.output || process.stdout);
|
||||
var output = ms;
|
||||
|
||||
return _.extend({
|
||||
terminal: true,
|
||||
input: input,
|
||||
output: output
|
||||
}, _.omit(opt, ['input', 'output']));
|
||||
}
|
||||
106
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/ui/bottom-bar.js
generated
vendored
Normal file
106
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/ui/bottom-bar.js
generated
vendored
Normal file
@@ -0,0 +1,106 @@
|
||||
/**
|
||||
* Sticky bottom bar user interface
|
||||
*/
|
||||
|
||||
var util = require('util');
|
||||
var through = require('through');
|
||||
var Base = require('./baseUI');
|
||||
var rlUtils = require('../utils/readline');
|
||||
var _ = require('lodash');
|
||||
|
||||
/**
|
||||
* Module exports
|
||||
*/
|
||||
|
||||
module.exports = Prompt;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
|
||||
function Prompt(opt) {
|
||||
opt || (opt = {});
|
||||
|
||||
Base.apply(this, arguments);
|
||||
|
||||
this.log = through(this.writeLog.bind(this));
|
||||
this.bottomBar = opt.bottomBar || '';
|
||||
this.render();
|
||||
}
|
||||
util.inherits(Prompt, Base);
|
||||
|
||||
/**
|
||||
* Render the prompt to screen
|
||||
* @return {Prompt} self
|
||||
*/
|
||||
|
||||
Prompt.prototype.render = function () {
|
||||
this.write(this.bottomBar);
|
||||
return this;
|
||||
};
|
||||
|
||||
Prompt.prototype.clean = function () {
|
||||
rlUtils.clearLine(this.rl, this.bottomBar.split('\n').length);
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Update the bottom bar content and rerender
|
||||
* @param {String} bottomBar Bottom bar content
|
||||
* @return {Prompt} self
|
||||
*/
|
||||
|
||||
Prompt.prototype.updateBottomBar = function (bottomBar) {
|
||||
rlUtils.clearLine(this.rl, 1);
|
||||
this.rl.output.unmute();
|
||||
this.clean();
|
||||
this.bottomBar = bottomBar;
|
||||
this.render();
|
||||
this.rl.output.mute();
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Write out log data
|
||||
* @param {String} data - The log data to be output
|
||||
* @return {Prompt} self
|
||||
*/
|
||||
|
||||
Prompt.prototype.writeLog = function (data) {
|
||||
this.rl.output.unmute();
|
||||
this.clean();
|
||||
this.rl.output.write(this.enforceLF(data.toString()));
|
||||
this.render();
|
||||
this.rl.output.mute();
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Make sure line end on a line feed
|
||||
* @param {String} str Input string
|
||||
* @return {String} The input string with a final line feed
|
||||
*/
|
||||
|
||||
Prompt.prototype.enforceLF = function (str) {
|
||||
return str.match(/[\r\n]$/) ? str : str + '\n';
|
||||
};
|
||||
|
||||
/**
|
||||
* Helper for writing message in Prompt
|
||||
* @param {Prompt} prompt - The Prompt object that extends tty
|
||||
* @param {String} message - The message to be output
|
||||
*/
|
||||
Prompt.prototype.write = function (message) {
|
||||
var msgLines = message.split(/\n/);
|
||||
this.height = msgLines.length;
|
||||
|
||||
// Write message to screen and setPrompt to control backspace
|
||||
this.rl.setPrompt(_.last(msgLines));
|
||||
|
||||
if (this.rl.output.rows === 0 && this.rl.output.columns === 0) {
|
||||
/* When it's a tty through serial port there's no terminal info and the render will malfunction,
|
||||
so we need enforce the cursor to locate to the leftmost position for rendering. */
|
||||
rlUtils.left(this.rl, message.length + this.rl.line.length);
|
||||
}
|
||||
this.rl.output.write(message);
|
||||
};
|
||||
115
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/ui/prompt.js
generated
vendored
Normal file
115
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/ui/prompt.js
generated
vendored
Normal file
@@ -0,0 +1,115 @@
|
||||
'use strict';
|
||||
var _ = require('lodash');
|
||||
var rx = require('rx-lite-aggregates');
|
||||
var util = require('util');
|
||||
var runAsync = require('run-async');
|
||||
var utils = require('../utils/utils');
|
||||
var Base = require('./baseUI');
|
||||
|
||||
/**
|
||||
* Base interface class other can inherits from
|
||||
*/
|
||||
|
||||
var PromptUI = module.exports = function (prompts, opt) {
|
||||
Base.call(this, opt);
|
||||
this.prompts = prompts;
|
||||
};
|
||||
util.inherits(PromptUI, Base);
|
||||
|
||||
PromptUI.prototype.run = function (questions) {
|
||||
// Keep global reference to the answers
|
||||
this.answers = {};
|
||||
|
||||
// Make sure questions is an array.
|
||||
if (_.isPlainObject(questions)) {
|
||||
questions = [questions];
|
||||
}
|
||||
|
||||
// Create an observable, unless we received one as parameter.
|
||||
// Note: As this is a public interface, we cannot do an instanceof check as we won't
|
||||
// be using the exact same object in memory.
|
||||
var obs = _.isArray(questions) ? rx.Observable.from(questions) : questions;
|
||||
|
||||
this.process = obs
|
||||
.concatMap(this.processQuestion.bind(this))
|
||||
// `publish` creates a hot Observable. It prevents duplicating prompts.
|
||||
.publish();
|
||||
|
||||
this.process.connect();
|
||||
|
||||
return this.process
|
||||
.reduce(function (answers, answer) {
|
||||
_.set(this.answers, answer.name, answer.answer);
|
||||
return this.answers;
|
||||
}.bind(this), {})
|
||||
.toPromise(Promise)
|
||||
.then(this.onCompletion.bind(this));
|
||||
};
|
||||
|
||||
/**
|
||||
* Once all prompt are over
|
||||
*/
|
||||
|
||||
PromptUI.prototype.onCompletion = function (answers) {
|
||||
this.close();
|
||||
|
||||
return answers;
|
||||
};
|
||||
|
||||
PromptUI.prototype.processQuestion = function (question) {
|
||||
question = _.clone(question);
|
||||
return rx.Observable.defer(function () {
|
||||
var obs = rx.Observable.of(question);
|
||||
|
||||
return obs
|
||||
.concatMap(this.setDefaultType.bind(this))
|
||||
.concatMap(this.filterIfRunnable.bind(this))
|
||||
.concatMap(utils.fetchAsyncQuestionProperty.bind(null, question, 'message', this.answers))
|
||||
.concatMap(utils.fetchAsyncQuestionProperty.bind(null, question, 'default', this.answers))
|
||||
.concatMap(utils.fetchAsyncQuestionProperty.bind(null, question, 'choices', this.answers))
|
||||
.concatMap(this.fetchAnswer.bind(this));
|
||||
}.bind(this));
|
||||
};
|
||||
|
||||
PromptUI.prototype.fetchAnswer = function (question) {
|
||||
var Prompt = this.prompts[question.type];
|
||||
this.activePrompt = new Prompt(question, this.rl, this.answers);
|
||||
return rx.Observable.defer(function () {
|
||||
return rx.Observable.fromPromise(this.activePrompt.run().then(function (answer) {
|
||||
return {name: question.name, answer: answer};
|
||||
}));
|
||||
}.bind(this));
|
||||
};
|
||||
|
||||
PromptUI.prototype.setDefaultType = function (question) {
|
||||
// Default type to input
|
||||
if (!this.prompts[question.type]) {
|
||||
question.type = 'input';
|
||||
}
|
||||
return rx.Observable.defer(function () {
|
||||
return rx.Observable.return(question);
|
||||
});
|
||||
};
|
||||
|
||||
PromptUI.prototype.filterIfRunnable = function (question) {
|
||||
if (question.when === false) {
|
||||
return rx.Observable.empty();
|
||||
}
|
||||
|
||||
if (!_.isFunction(question.when)) {
|
||||
return rx.Observable.return(question);
|
||||
}
|
||||
|
||||
var answers = this.answers;
|
||||
return rx.Observable.defer(function () {
|
||||
return rx.Observable.fromPromise(
|
||||
runAsync(question.when)(answers).then(function (shouldRun) {
|
||||
if (shouldRun) {
|
||||
return question;
|
||||
}
|
||||
})
|
||||
).filter(function (val) {
|
||||
return val != null;
|
||||
});
|
||||
});
|
||||
};
|
||||
45
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/utils/events.js
generated
vendored
Normal file
45
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/utils/events.js
generated
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
'use strict';
|
||||
var rx = require('rx-lite-aggregates');
|
||||
|
||||
function normalizeKeypressEvents(value, key) {
|
||||
return {value: value, key: key || {}};
|
||||
}
|
||||
|
||||
module.exports = function (rl) {
|
||||
var keypress = rx.Observable.fromEvent(rl.input, 'keypress', normalizeKeypressEvents)
|
||||
.filter(function (e) {
|
||||
// Ignore `enter` key. On the readline, we only care about the `line` event.
|
||||
return e.key.name !== 'enter' && e.key.name !== 'return';
|
||||
});
|
||||
|
||||
return {
|
||||
line: rx.Observable.fromEvent(rl, 'line'),
|
||||
keypress: keypress,
|
||||
|
||||
normalizedUpKey: keypress.filter(function (e) {
|
||||
return e.key.name === 'up' || e.key.name === 'k' || (e.key.name === 'p' && e.key.ctrl);
|
||||
}).share(),
|
||||
|
||||
normalizedDownKey: keypress.filter(function (e) {
|
||||
return e.key.name === 'down' || e.key.name === 'j' || (e.key.name === 'n' && e.key.ctrl);
|
||||
}).share(),
|
||||
|
||||
numberKey: keypress.filter(function (e) {
|
||||
return e.value && '123456789'.indexOf(e.value) >= 0;
|
||||
}).map(function (e) {
|
||||
return Number(e.value);
|
||||
}).share(),
|
||||
|
||||
spaceKey: keypress.filter(function (e) {
|
||||
return e.key && e.key.name === 'space';
|
||||
}).share(),
|
||||
|
||||
aKey: keypress.filter(function (e) {
|
||||
return e.key && e.key.name === 'a';
|
||||
}).share(),
|
||||
|
||||
iKey: keypress.filter(function (e) {
|
||||
return e.key && e.key.name === 'i';
|
||||
}).share()
|
||||
};
|
||||
};
|
||||
38
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/utils/paginator.js
generated
vendored
Normal file
38
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/utils/paginator.js
generated
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
'use strict';
|
||||
|
||||
var _ = require('lodash');
|
||||
var chalk = require('chalk');
|
||||
|
||||
/**
|
||||
* The paginator keeps track of a pointer index in a list and returns
|
||||
* a subset of the choices if the list is too long.
|
||||
*/
|
||||
|
||||
var Paginator = module.exports = function () {
|
||||
this.pointer = 0;
|
||||
this.lastIndex = 0;
|
||||
};
|
||||
|
||||
Paginator.prototype.paginate = function (output, active, pageSize) {
|
||||
pageSize = pageSize || 7;
|
||||
var middleOfList = Math.floor(pageSize / 2);
|
||||
var lines = output.split('\n');
|
||||
|
||||
// Make sure there's enough lines to paginate
|
||||
if (lines.length <= pageSize) {
|
||||
return output;
|
||||
}
|
||||
|
||||
// Move the pointer only when the user go down and limit it to the middle of the list
|
||||
if (this.pointer < middleOfList && this.lastIndex < active && active - this.lastIndex < pageSize) {
|
||||
this.pointer = Math.min(middleOfList, this.pointer + active - this.lastIndex);
|
||||
}
|
||||
this.lastIndex = active;
|
||||
|
||||
// Duplicate the lines so it give an infinite list look
|
||||
var infinite = _.flatten([lines, lines, lines]);
|
||||
var topIndex = Math.max(0, active + lines.length - this.pointer);
|
||||
|
||||
var section = infinite.splice(topIndex, pageSize).join('\n');
|
||||
return section + '\n' + chalk.dim('(Move up and down to reveal more choices)');
|
||||
};
|
||||
51
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/utils/readline.js
generated
vendored
Normal file
51
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/utils/readline.js
generated
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
'use strict';
|
||||
var ansiEscapes = require('ansi-escapes');
|
||||
|
||||
/**
|
||||
* Move cursor left by `x`
|
||||
* @param {Readline} rl - Readline instance
|
||||
* @param {Number} x - How far to go left (default to 1)
|
||||
*/
|
||||
|
||||
exports.left = function (rl, x) {
|
||||
rl.output.write(ansiEscapes.cursorBackward(x));
|
||||
};
|
||||
|
||||
/**
|
||||
* Move cursor right by `x`
|
||||
* @param {Readline} rl - Readline instance
|
||||
* @param {Number} x - How far to go left (default to 1)
|
||||
*/
|
||||
|
||||
exports.right = function (rl, x) {
|
||||
rl.output.write(ansiEscapes.cursorForward(x));
|
||||
};
|
||||
|
||||
/**
|
||||
* Move cursor up by `x`
|
||||
* @param {Readline} rl - Readline instance
|
||||
* @param {Number} x - How far to go up (default to 1)
|
||||
*/
|
||||
|
||||
exports.up = function (rl, x) {
|
||||
rl.output.write(ansiEscapes.cursorUp(x));
|
||||
};
|
||||
|
||||
/**
|
||||
* Move cursor down by `x`
|
||||
* @param {Readline} rl - Readline instance
|
||||
* @param {Number} x - How far to go down (default to 1)
|
||||
*/
|
||||
|
||||
exports.down = function (rl, x) {
|
||||
rl.output.write(ansiEscapes.cursorDown(x));
|
||||
};
|
||||
|
||||
/**
|
||||
* Clear current line
|
||||
* @param {Readline} rl - Readline instance
|
||||
* @param {Number} len - number of line to delete
|
||||
*/
|
||||
exports.clearLine = function (rl, len) {
|
||||
rl.output.write(ansiEscapes.eraseLines(len));
|
||||
};
|
||||
135
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/utils/screen-manager.js
generated
vendored
Normal file
135
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/utils/screen-manager.js
generated
vendored
Normal file
@@ -0,0 +1,135 @@
|
||||
'use strict';
|
||||
var _ = require('lodash');
|
||||
var util = require('./readline');
|
||||
var cliWidth = require('cli-width');
|
||||
var stripAnsi = require('strip-ansi');
|
||||
var stringWidth = require('string-width');
|
||||
|
||||
function height(content) {
|
||||
return content.split('\n').length;
|
||||
}
|
||||
|
||||
function lastLine(content) {
|
||||
return _.last(content.split('\n'));
|
||||
}
|
||||
|
||||
var ScreenManager = module.exports = function (rl) {
|
||||
// These variables are keeping information to allow correct prompt re-rendering
|
||||
this.height = 0;
|
||||
this.extraLinesUnderPrompt = 0;
|
||||
|
||||
this.rl = rl;
|
||||
};
|
||||
|
||||
ScreenManager.prototype.render = function (content, bottomContent) {
|
||||
this.rl.output.unmute();
|
||||
this.clean(this.extraLinesUnderPrompt);
|
||||
|
||||
/**
|
||||
* Write message to screen and setPrompt to control backspace
|
||||
*/
|
||||
|
||||
var promptLine = lastLine(content);
|
||||
var rawPromptLine = stripAnsi(promptLine);
|
||||
|
||||
// Remove the rl.line from our prompt. We can't rely on the content of
|
||||
// rl.line (mainly because of the password prompt), so just rely on it's
|
||||
// length.
|
||||
var prompt = rawPromptLine;
|
||||
if (this.rl.line.length) {
|
||||
prompt = prompt.slice(0, -this.rl.line.length);
|
||||
}
|
||||
this.rl.setPrompt(prompt);
|
||||
|
||||
// setPrompt will change cursor position, now we can get correct value
|
||||
var cursorPos = this.rl._getCursorPos();
|
||||
var width = this.normalizedCliWidth();
|
||||
|
||||
content = forceLineReturn(content, width);
|
||||
if (bottomContent) {
|
||||
bottomContent = forceLineReturn(bottomContent, width);
|
||||
}
|
||||
// Manually insert an extra line if we're at the end of the line.
|
||||
// This prevent the cursor from appearing at the beginning of the
|
||||
// current line.
|
||||
if (rawPromptLine.length % width === 0) {
|
||||
content += '\n';
|
||||
}
|
||||
var fullContent = content + (bottomContent ? '\n' + bottomContent : '');
|
||||
this.rl.output.write(fullContent);
|
||||
|
||||
/**
|
||||
* Re-adjust the cursor at the correct position.
|
||||
*/
|
||||
|
||||
// We need to consider parts of the prompt under the cursor as part of the bottom
|
||||
// content in order to correctly cleanup and re-render.
|
||||
var promptLineUpDiff = Math.floor(rawPromptLine.length / width) - cursorPos.rows;
|
||||
var bottomContentHeight = promptLineUpDiff + (bottomContent ? height(bottomContent) : 0);
|
||||
if (bottomContentHeight > 0) {
|
||||
util.up(this.rl, bottomContentHeight);
|
||||
}
|
||||
|
||||
// Reset cursor at the beginning of the line
|
||||
util.left(this.rl, stringWidth(lastLine(fullContent)));
|
||||
|
||||
// Adjust cursor on the right
|
||||
util.right(this.rl, cursorPos.cols);
|
||||
|
||||
/**
|
||||
* Set up state for next re-rendering
|
||||
*/
|
||||
this.extraLinesUnderPrompt = bottomContentHeight;
|
||||
this.height = height(fullContent);
|
||||
|
||||
this.rl.output.mute();
|
||||
};
|
||||
|
||||
ScreenManager.prototype.clean = function (extraLines) {
|
||||
if (extraLines > 0) {
|
||||
util.down(this.rl, extraLines);
|
||||
}
|
||||
util.clearLine(this.rl, this.height);
|
||||
};
|
||||
|
||||
ScreenManager.prototype.done = function () {
|
||||
this.rl.setPrompt('');
|
||||
this.rl.output.unmute();
|
||||
this.rl.output.write('\n');
|
||||
};
|
||||
|
||||
ScreenManager.prototype.releaseCursor = function () {
|
||||
if (this.extraLinesUnderPrompt > 0) {
|
||||
util.down(this.rl, this.extraLinesUnderPrompt);
|
||||
}
|
||||
};
|
||||
|
||||
ScreenManager.prototype.normalizedCliWidth = function () {
|
||||
var width = cliWidth({
|
||||
defaultWidth: 80,
|
||||
output: this.rl.output
|
||||
});
|
||||
if (process.platform === 'win32') {
|
||||
return width - 1;
|
||||
}
|
||||
return width;
|
||||
};
|
||||
|
||||
function breakLines(lines, width) {
|
||||
// Break lines who're longuer than the cli width so we can normalize the natural line
|
||||
// returns behavior accross terminals.
|
||||
var regex = new RegExp(
|
||||
'(?:(?:\\033[[0-9;]*m)*.?){1,' + width + '}',
|
||||
'g'
|
||||
);
|
||||
return lines.map(function (line) {
|
||||
var chunk = line.match(regex);
|
||||
// last match is always empty
|
||||
chunk.pop();
|
||||
return chunk || '';
|
||||
});
|
||||
}
|
||||
|
||||
function forceLineReturn(content, width) {
|
||||
return _.flatten(breakLines(content.split('\n'), width)).join('\n');
|
||||
}
|
||||
26
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/utils/utils.js
generated
vendored
Normal file
26
build/node_modules/@pwa/manifest/node_modules/inquirer/lib/utils/utils.js
generated
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
'use strict';
|
||||
var _ = require('lodash');
|
||||
var rx = require('rx-lite-aggregates');
|
||||
var runAsync = require('run-async');
|
||||
|
||||
/**
|
||||
* Resolve a question property value if it is passed as a function.
|
||||
* This method will overwrite the property on the question object with the received value.
|
||||
* @param {Object} question - Question object
|
||||
* @param {String} prop - Property to fetch name
|
||||
* @param {Object} answers - Answers object
|
||||
* @return {rx.Obsersable} - Observable emitting once value is known
|
||||
*/
|
||||
|
||||
exports.fetchAsyncQuestionProperty = function (question, prop, answers) {
|
||||
if (!_.isFunction(question[prop])) {
|
||||
return rx.Observable.return(question);
|
||||
}
|
||||
|
||||
return rx.Observable.fromPromise(runAsync(question[prop])(answers)
|
||||
.then(function (value) {
|
||||
question[prop] = value;
|
||||
return question;
|
||||
})
|
||||
);
|
||||
};
|
||||
94
build/node_modules/@pwa/manifest/node_modules/inquirer/package.json
generated
vendored
Normal file
94
build/node_modules/@pwa/manifest/node_modules/inquirer/package.json
generated
vendored
Normal file
@@ -0,0 +1,94 @@
|
||||
{
|
||||
"_from": "inquirer@^3.1.1",
|
||||
"_id": "inquirer@3.3.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==",
|
||||
"_location": "/@pwa/manifest/inquirer",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "inquirer@^3.1.1",
|
||||
"name": "inquirer",
|
||||
"escapedName": "inquirer",
|
||||
"rawSpec": "^3.1.1",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^3.1.1"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@pwa/manifest"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz",
|
||||
"_shasum": "9dd2f2ad765dcab1ff0443b491442a20ba227dc9",
|
||||
"_spec": "inquirer@^3.1.1",
|
||||
"_where": "/Users/asciidisco/Desktop/asciidisco.com/build/node_modules/@pwa/manifest",
|
||||
"author": {
|
||||
"name": "Simon Boudrias",
|
||||
"email": "admin@simonboudrias.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/SBoudrias/Inquirer.js/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"ansi-escapes": "^3.0.0",
|
||||
"chalk": "^2.0.0",
|
||||
"cli-cursor": "^2.1.0",
|
||||
"cli-width": "^2.0.0",
|
||||
"external-editor": "^2.0.4",
|
||||
"figures": "^2.0.0",
|
||||
"lodash": "^4.3.0",
|
||||
"mute-stream": "0.0.7",
|
||||
"run-async": "^2.2.0",
|
||||
"rx-lite": "^4.0.8",
|
||||
"rx-lite-aggregates": "^4.0.8",
|
||||
"string-width": "^2.1.0",
|
||||
"strip-ansi": "^4.0.0",
|
||||
"through": "^2.3.6"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "A collection of common interactive command line user interfaces.",
|
||||
"devDependencies": {
|
||||
"chai": "^4.0.1",
|
||||
"cmdify": "^0.0.4",
|
||||
"eslint": "^4.2.0",
|
||||
"eslint-config-xo-space": "^0.16.0",
|
||||
"gulp": "^3.9.0",
|
||||
"gulp-codacy": "^1.0.0",
|
||||
"gulp-coveralls": "^0.1.0",
|
||||
"gulp-eslint": "^4.0.0",
|
||||
"gulp-exclude-gitignore": "^1.0.0",
|
||||
"gulp-istanbul": "^1.1.2",
|
||||
"gulp-line-ending-corrector": "^1.0.1",
|
||||
"gulp-mocha": "^3.0.0",
|
||||
"gulp-nsp": "^2.1.0",
|
||||
"gulp-plumber": "^1.0.0",
|
||||
"mocha": "^3.4.2",
|
||||
"mockery": "^2.1.0",
|
||||
"sinon": "^3.0.0"
|
||||
},
|
||||
"files": [
|
||||
"lib"
|
||||
],
|
||||
"homepage": "https://github.com/SBoudrias/Inquirer.js#readme",
|
||||
"keywords": [
|
||||
"command",
|
||||
"prompt",
|
||||
"stdin",
|
||||
"cli",
|
||||
"tty",
|
||||
"menu"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "lib/inquirer.js",
|
||||
"name": "inquirer",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/SBoudrias/Inquirer.js.git"
|
||||
},
|
||||
"scripts": {
|
||||
"prepublish": "gulp prepublish",
|
||||
"test": "gulp"
|
||||
},
|
||||
"version": "3.3.0"
|
||||
}
|
||||
46
build/node_modules/@pwa/manifest/node_modules/is-fullwidth-code-point/index.js
generated
vendored
Normal file
46
build/node_modules/@pwa/manifest/node_modules/is-fullwidth-code-point/index.js
generated
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
'use strict';
|
||||
/* eslint-disable yoda */
|
||||
module.exports = x => {
|
||||
if (Number.isNaN(x)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// code points are derived from:
|
||||
// http://www.unix.org/Public/UNIDATA/EastAsianWidth.txt
|
||||
if (
|
||||
x >= 0x1100 && (
|
||||
x <= 0x115f || // Hangul Jamo
|
||||
x === 0x2329 || // LEFT-POINTING ANGLE BRACKET
|
||||
x === 0x232a || // RIGHT-POINTING ANGLE BRACKET
|
||||
// CJK Radicals Supplement .. Enclosed CJK Letters and Months
|
||||
(0x2e80 <= x && x <= 0x3247 && x !== 0x303f) ||
|
||||
// Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A
|
||||
(0x3250 <= x && x <= 0x4dbf) ||
|
||||
// CJK Unified Ideographs .. Yi Radicals
|
||||
(0x4e00 <= x && x <= 0xa4c6) ||
|
||||
// Hangul Jamo Extended-A
|
||||
(0xa960 <= x && x <= 0xa97c) ||
|
||||
// Hangul Syllables
|
||||
(0xac00 <= x && x <= 0xd7a3) ||
|
||||
// CJK Compatibility Ideographs
|
||||
(0xf900 <= x && x <= 0xfaff) ||
|
||||
// Vertical Forms
|
||||
(0xfe10 <= x && x <= 0xfe19) ||
|
||||
// CJK Compatibility Forms .. Small Form Variants
|
||||
(0xfe30 <= x && x <= 0xfe6b) ||
|
||||
// Halfwidth and Fullwidth Forms
|
||||
(0xff01 <= x && x <= 0xff60) ||
|
||||
(0xffe0 <= x && x <= 0xffe6) ||
|
||||
// Kana Supplement
|
||||
(0x1b000 <= x && x <= 0x1b001) ||
|
||||
// Enclosed Ideographic Supplement
|
||||
(0x1f200 <= x && x <= 0x1f251) ||
|
||||
// CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane
|
||||
(0x20000 <= x && x <= 0x3fffd)
|
||||
)
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
};
|
||||
21
build/node_modules/@pwa/manifest/node_modules/is-fullwidth-code-point/license
generated
vendored
Normal file
21
build/node_modules/@pwa/manifest/node_modules/is-fullwidth-code-point/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.
|
||||
77
build/node_modules/@pwa/manifest/node_modules/is-fullwidth-code-point/package.json
generated
vendored
Normal file
77
build/node_modules/@pwa/manifest/node_modules/is-fullwidth-code-point/package.json
generated
vendored
Normal file
@@ -0,0 +1,77 @@
|
||||
{
|
||||
"_from": "is-fullwidth-code-point@^2.0.0",
|
||||
"_id": "is-fullwidth-code-point@2.0.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
|
||||
"_location": "/@pwa/manifest/is-fullwidth-code-point",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "is-fullwidth-code-point@^2.0.0",
|
||||
"name": "is-fullwidth-code-point",
|
||||
"escapedName": "is-fullwidth-code-point",
|
||||
"rawSpec": "^2.0.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^2.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@pwa/manifest/string-width"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
|
||||
"_shasum": "a3b30a5c4f199183167aaab93beefae3ddfb654f",
|
||||
"_spec": "is-fullwidth-code-point@^2.0.0",
|
||||
"_where": "/Users/asciidisco/Desktop/asciidisco.com/build/node_modules/@pwa/manifest/node_modules/string-width",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/is-fullwidth-code-point/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"deprecated": false,
|
||||
"description": "Check if the character represented by a given Unicode code point is fullwidth",
|
||||
"devDependencies": {
|
||||
"ava": "*",
|
||||
"xo": "*"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"homepage": "https://github.com/sindresorhus/is-fullwidth-code-point#readme",
|
||||
"keywords": [
|
||||
"fullwidth",
|
||||
"full-width",
|
||||
"full",
|
||||
"width",
|
||||
"unicode",
|
||||
"character",
|
||||
"char",
|
||||
"string",
|
||||
"str",
|
||||
"codepoint",
|
||||
"code",
|
||||
"point",
|
||||
"is",
|
||||
"detect",
|
||||
"check"
|
||||
],
|
||||
"license": "MIT",
|
||||
"name": "is-fullwidth-code-point",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/is-fullwidth-code-point.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava"
|
||||
},
|
||||
"version": "2.0.0",
|
||||
"xo": {
|
||||
"esnext": true
|
||||
}
|
||||
}
|
||||
39
build/node_modules/@pwa/manifest/node_modules/is-fullwidth-code-point/readme.md
generated
vendored
Normal file
39
build/node_modules/@pwa/manifest/node_modules/is-fullwidth-code-point/readme.md
generated
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
# is-fullwidth-code-point [](https://travis-ci.org/sindresorhus/is-fullwidth-code-point)
|
||||
|
||||
> Check if the character represented by a given [Unicode code point](https://en.wikipedia.org/wiki/Code_point) is [fullwidth](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms)
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
```
|
||||
$ npm install --save is-fullwidth-code-point
|
||||
```
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
const isFullwidthCodePoint = require('is-fullwidth-code-point');
|
||||
|
||||
isFullwidthCodePoint('谢'.codePointAt());
|
||||
//=> true
|
||||
|
||||
isFullwidthCodePoint('a'.codePointAt());
|
||||
//=> false
|
||||
```
|
||||
|
||||
|
||||
## API
|
||||
|
||||
### isFullwidthCodePoint(input)
|
||||
|
||||
#### input
|
||||
|
||||
Type: `number`
|
||||
|
||||
[Code point](https://en.wikipedia.org/wiki/Code_point) of a character.
|
||||
|
||||
|
||||
## License
|
||||
|
||||
MIT © [Sindre Sorhus](https://sindresorhus.com)
|
||||
11
build/node_modules/@pwa/manifest/node_modules/load-json-file/index.js
generated
vendored
Normal file
11
build/node_modules/@pwa/manifest/node_modules/load-json-file/index.js
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
'use strict';
|
||||
const path = require('path');
|
||||
const fs = require('graceful-fs');
|
||||
const stripBom = require('strip-bom');
|
||||
const parseJson = require('parse-json');
|
||||
const pify = require('pify');
|
||||
|
||||
const parse = (data, fp) => parseJson(stripBom(data), path.relative('.', fp));
|
||||
|
||||
module.exports = fp => pify(fs.readFile)(fp, 'utf8').then(data => parse(data, fp));
|
||||
module.exports.sync = fp => parse(fs.readFileSync(fp, 'utf8'), fp);
|
||||
21
build/node_modules/@pwa/manifest/node_modules/load-json-file/license
generated
vendored
Normal file
21
build/node_modules/@pwa/manifest/node_modules/load-json-file/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.
|
||||
76
build/node_modules/@pwa/manifest/node_modules/load-json-file/package.json
generated
vendored
Normal file
76
build/node_modules/@pwa/manifest/node_modules/load-json-file/package.json
generated
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
{
|
||||
"_from": "load-json-file@^2.0.0",
|
||||
"_id": "load-json-file@2.0.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
|
||||
"_location": "/@pwa/manifest/load-json-file",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "load-json-file@^2.0.0",
|
||||
"name": "load-json-file",
|
||||
"escapedName": "load-json-file",
|
||||
"rawSpec": "^2.0.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^2.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@pwa/manifest",
|
||||
"/@pwa/manifest/read-pkg"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
|
||||
"_shasum": "7947e42149af80d696cbf797bcaabcfe1fe29ca8",
|
||||
"_spec": "load-json-file@^2.0.0",
|
||||
"_where": "/Users/asciidisco/Desktop/asciidisco.com/build/node_modules/@pwa/manifest",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/load-json-file/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"graceful-fs": "^4.1.2",
|
||||
"parse-json": "^2.2.0",
|
||||
"pify": "^2.0.0",
|
||||
"strip-bom": "^3.0.0"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Read and parse a JSON file",
|
||||
"devDependencies": {
|
||||
"ava": "*",
|
||||
"xo": "*"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"homepage": "https://github.com/sindresorhus/load-json-file#readme",
|
||||
"keywords": [
|
||||
"read",
|
||||
"json",
|
||||
"parse",
|
||||
"file",
|
||||
"fs",
|
||||
"graceful",
|
||||
"load"
|
||||
],
|
||||
"license": "MIT",
|
||||
"name": "load-json-file",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/load-json-file.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava"
|
||||
},
|
||||
"version": "2.0.0",
|
||||
"xo": {
|
||||
"esnext": true
|
||||
}
|
||||
}
|
||||
45
build/node_modules/@pwa/manifest/node_modules/load-json-file/readme.md
generated
vendored
Normal file
45
build/node_modules/@pwa/manifest/node_modules/load-json-file/readme.md
generated
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
# load-json-file [](https://travis-ci.org/sindresorhus/load-json-file)
|
||||
|
||||
> Read and parse a JSON file
|
||||
|
||||
[Strips UTF-8 BOM](https://github.com/sindresorhus/strip-bom), uses [`graceful-fs`](https://github.com/isaacs/node-graceful-fs), and throws more [helpful JSON errors](https://github.com/sindresorhus/parse-json).
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
```
|
||||
$ npm install --save load-json-file
|
||||
```
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
const loadJsonFile = require('load-json-file');
|
||||
|
||||
loadJsonFile('foo.json').then(json => {
|
||||
console.log(json);
|
||||
//=> {foo: true}
|
||||
});
|
||||
```
|
||||
|
||||
|
||||
## API
|
||||
|
||||
### loadJsonFile(filepath)
|
||||
|
||||
Returns a promise for the parsed JSON.
|
||||
|
||||
### loadJsonFile.sync(filepath)
|
||||
|
||||
Returns the parsed JSON.
|
||||
|
||||
|
||||
## Related
|
||||
|
||||
- [write-json-file](https://github.com/sindresorhus/write-json-file) - Stringify and write JSON to a file atomically
|
||||
|
||||
|
||||
## License
|
||||
|
||||
MIT © [Sindre Sorhus](https://sindresorhus.com)
|
||||
1
build/node_modules/@pwa/manifest/node_modules/mute-stream/.nyc_output/33508.json
generated
vendored
Normal file
1
build/node_modules/@pwa/manifest/node_modules/mute-stream/.nyc_output/33508.json
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{}
|
||||
1
build/node_modules/@pwa/manifest/node_modules/mute-stream/.nyc_output/33510.json
generated
vendored
Normal file
1
build/node_modules/@pwa/manifest/node_modules/mute-stream/.nyc_output/33510.json
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
9
build/node_modules/@pwa/manifest/node_modules/mute-stream/.travis.yml
generated
vendored
Normal file
9
build/node_modules/@pwa/manifest/node_modules/mute-stream/.travis.yml
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
language: node_js
|
||||
language: node_js
|
||||
node_js:
|
||||
- '0.8'
|
||||
- '0.10'
|
||||
- '0.12'
|
||||
- 'iojs'
|
||||
before_install:
|
||||
- npm install -g npm@latest
|
||||
15
build/node_modules/@pwa/manifest/node_modules/mute-stream/LICENSE
generated
vendored
Normal file
15
build/node_modules/@pwa/manifest/node_modules/mute-stream/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
The ISC License
|
||||
|
||||
Copyright (c) Isaac Z. Schlueter and Contributors
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
|
||||
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
68
build/node_modules/@pwa/manifest/node_modules/mute-stream/README.md
generated
vendored
Normal file
68
build/node_modules/@pwa/manifest/node_modules/mute-stream/README.md
generated
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
# mute-stream
|
||||
|
||||
Bytes go in, but they don't come out (when muted).
|
||||
|
||||
This is a basic pass-through stream, but when muted, the bytes are
|
||||
silently dropped, rather than being passed through.
|
||||
|
||||
## Usage
|
||||
|
||||
```javascript
|
||||
var MuteStream = require('mute-stream')
|
||||
|
||||
var ms = new MuteStream(options)
|
||||
|
||||
ms.pipe(process.stdout)
|
||||
ms.write('foo') // writes 'foo' to stdout
|
||||
ms.mute()
|
||||
ms.write('bar') // does not write 'bar'
|
||||
ms.unmute()
|
||||
ms.write('baz') // writes 'baz' to stdout
|
||||
|
||||
// can also be used to mute incoming data
|
||||
var ms = new MuteStream
|
||||
input.pipe(ms)
|
||||
|
||||
ms.on('data', function (c) {
|
||||
console.log('data: ' + c)
|
||||
})
|
||||
|
||||
input.emit('data', 'foo') // logs 'foo'
|
||||
ms.mute()
|
||||
input.emit('data', 'bar') // does not log 'bar'
|
||||
ms.unmute()
|
||||
input.emit('data', 'baz') // logs 'baz'
|
||||
```
|
||||
|
||||
## Options
|
||||
|
||||
All options are optional.
|
||||
|
||||
* `replace` Set to a string to replace each character with the
|
||||
specified string when muted. (So you can show `****` instead of the
|
||||
password, for example.)
|
||||
|
||||
* `prompt` If you are using a replacement char, and also using a
|
||||
prompt with a readline stream (as for a `Password: *****` input),
|
||||
then specify what the prompt is so that backspace will work
|
||||
properly. Otherwise, pressing backspace will overwrite the prompt
|
||||
with the replacement character, which is weird.
|
||||
|
||||
## ms.mute()
|
||||
|
||||
Set `muted` to `true`. Turns `.write()` into a no-op.
|
||||
|
||||
## ms.unmute()
|
||||
|
||||
Set `muted` to `false`
|
||||
|
||||
## ms.isTTY
|
||||
|
||||
True if the pipe destination is a TTY, or if the incoming pipe source is
|
||||
a TTY.
|
||||
|
||||
## Other stream methods...
|
||||
|
||||
The other standard readable and writable stream methods are all
|
||||
available. The MuteStream object acts as a facade to its pipe source
|
||||
and destination.
|
||||
93
build/node_modules/@pwa/manifest/node_modules/mute-stream/coverage/lcov-report/__root__/index.html
generated
vendored
Normal file
93
build/node_modules/@pwa/manifest/node_modules/mute-stream/coverage/lcov-report/__root__/index.html
generated
vendored
Normal file
@@ -0,0 +1,93 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for __root__/</title>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="../prettify.css" />
|
||||
<link rel="stylesheet" href="../base.css" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<style type='text/css'>
|
||||
.coverage-summary .sorter {
|
||||
background-image: url(../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class='wrapper'>
|
||||
<div class='pad1'>
|
||||
<h1>
|
||||
<a href="../index.html">all files</a> __root__/
|
||||
</h1>
|
||||
<div class='clearfix'>
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">77.03% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>57/74</span>
|
||||
</div>
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">57.14% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>28/49</span>
|
||||
</div>
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">93.33% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>14/15</span>
|
||||
</div>
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">79.1% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>53/67</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class='status-line medium'></div>
|
||||
<div class="pad1">
|
||||
<table class="coverage-summary">
|
||||
<thead>
|
||||
<tr>
|
||||
<th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
|
||||
<th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
|
||||
<th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
|
||||
<th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
|
||||
<th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
|
||||
<th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
|
||||
<th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody><tr>
|
||||
<td class="file medium" data-value="mute.js"><a href="mute.js.html">mute.js</a></td>
|
||||
<td data-value="77.03" class="pic medium"><div class="chart"><div class="cover-fill" style="width: 77%;"></div><div class="cover-empty" style="width:23%;"></div></div></td>
|
||||
<td data-value="77.03" class="pct medium">77.03%</td>
|
||||
<td data-value="74" class="abs medium">57/74</td>
|
||||
<td data-value="57.14" class="pct medium">57.14%</td>
|
||||
<td data-value="49" class="abs medium">28/49</td>
|
||||
<td data-value="93.33" class="pct high">93.33%</td>
|
||||
<td data-value="15" class="abs high">14/15</td>
|
||||
<td data-value="79.1" class="pct medium">79.1%</td>
|
||||
<td data-value="67" class="abs medium">53/67</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div><div class='push'></div><!-- for sticky footer -->
|
||||
</div><!-- /wrapper -->
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage
|
||||
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Fri Feb 12 2016 22:19:00 GMT-0800 (PST)
|
||||
</div>
|
||||
</div>
|
||||
<script src="../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
if (typeof prettyPrint === 'function') {
|
||||
prettyPrint();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script src="../sorter.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
500
build/node_modules/@pwa/manifest/node_modules/mute-stream/coverage/lcov-report/__root__/mute.js.html
generated
vendored
Normal file
500
build/node_modules/@pwa/manifest/node_modules/mute-stream/coverage/lcov-report/__root__/mute.js.html
generated
vendored
Normal file
@@ -0,0 +1,500 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for mute.js</title>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="../prettify.css" />
|
||||
<link rel="stylesheet" href="../base.css" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<style type='text/css'>
|
||||
.coverage-summary .sorter {
|
||||
background-image: url(../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class='wrapper'>
|
||||
<div class='pad1'>
|
||||
<h1>
|
||||
<a href="../index.html">all files</a> / <a href="index.html">__root__/</a> mute.js
|
||||
</h1>
|
||||
<div class='clearfix'>
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">77.03% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>57/74</span>
|
||||
</div>
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">57.14% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>28/49</span>
|
||||
</div>
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">93.33% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>14/15</span>
|
||||
</div>
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">79.1% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>53/67</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class='status-line medium'></div>
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count quiet">1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
16
|
||||
17
|
||||
18
|
||||
19
|
||||
20
|
||||
21
|
||||
22
|
||||
23
|
||||
24
|
||||
25
|
||||
26
|
||||
27
|
||||
28
|
||||
29
|
||||
30
|
||||
31
|
||||
32
|
||||
33
|
||||
34
|
||||
35
|
||||
36
|
||||
37
|
||||
38
|
||||
39
|
||||
40
|
||||
41
|
||||
42
|
||||
43
|
||||
44
|
||||
45
|
||||
46
|
||||
47
|
||||
48
|
||||
49
|
||||
50
|
||||
51
|
||||
52
|
||||
53
|
||||
54
|
||||
55
|
||||
56
|
||||
57
|
||||
58
|
||||
59
|
||||
60
|
||||
61
|
||||
62
|
||||
63
|
||||
64
|
||||
65
|
||||
66
|
||||
67
|
||||
68
|
||||
69
|
||||
70
|
||||
71
|
||||
72
|
||||
73
|
||||
74
|
||||
75
|
||||
76
|
||||
77
|
||||
78
|
||||
79
|
||||
80
|
||||
81
|
||||
82
|
||||
83
|
||||
84
|
||||
85
|
||||
86
|
||||
87
|
||||
88
|
||||
89
|
||||
90
|
||||
91
|
||||
92
|
||||
93
|
||||
94
|
||||
95
|
||||
96
|
||||
97
|
||||
98
|
||||
99
|
||||
100
|
||||
101
|
||||
102
|
||||
103
|
||||
104
|
||||
105
|
||||
106
|
||||
107
|
||||
108
|
||||
109
|
||||
110
|
||||
111
|
||||
112
|
||||
113
|
||||
114
|
||||
115
|
||||
116
|
||||
117
|
||||
118
|
||||
119
|
||||
120
|
||||
121
|
||||
122
|
||||
123
|
||||
124
|
||||
125
|
||||
126
|
||||
127
|
||||
128
|
||||
129
|
||||
130
|
||||
131
|
||||
132
|
||||
133
|
||||
134
|
||||
135
|
||||
136
|
||||
137
|
||||
138
|
||||
139
|
||||
140
|
||||
141
|
||||
142
|
||||
143
|
||||
144
|
||||
145
|
||||
146</td><td class="line-coverage quiet"><span class="cline-any cline-yes">1×</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1×</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1×</span>
|
||||
<span class="cline-any cline-yes">7×</span>
|
||||
<span class="cline-any cline-yes">7×</span>
|
||||
<span class="cline-any cline-yes">7×</span>
|
||||
<span class="cline-any cline-yes">7×</span>
|
||||
<span class="cline-any cline-yes">7×</span>
|
||||
<span class="cline-any cline-yes">7×</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">7×</span>
|
||||
<span class="cline-any cline-yes">7×</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1×</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1×</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1×</span>
|
||||
<span class="cline-any cline-yes">10×</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1×</span>
|
||||
<span class="cline-any cline-yes">6×</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1×</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1×</span>
|
||||
<span class="cline-any cline-yes">5×</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1×</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1×</span>
|
||||
<span class="cline-any cline-yes">8×</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1×</span>
|
||||
<span class="cline-any cline-yes">2×</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1×</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">5×</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1×</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">5×</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1×</span>
|
||||
<span class="cline-any cline-yes">2×</span>
|
||||
<span class="cline-any cline-yes">2×</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1×</span>
|
||||
<span class="cline-any cline-yes">2×</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1×</span>
|
||||
<span class="cline-any cline-yes">2×</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1×</span>
|
||||
<span class="cline-any cline-yes">25×</span>
|
||||
<span class="cline-any cline-yes">13×</span>
|
||||
<span class="cline-any cline-yes">8×</span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">8×</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">8×</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">20×</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1×</span>
|
||||
<span class="cline-any cline-yes">2×</span>
|
||||
<span class="cline-any cline-yes">2×</span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">2×</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">2×</span>
|
||||
<span class="cline-any cline-yes">2×</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">3×</span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1×</span>
|
||||
<span class="cline-any cline-yes">1×</span>
|
||||
<span class="cline-any cline-yes">1×</span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">var Stream = require('stream')
|
||||
|
||||
module.exports = MuteStream
|
||||
|
||||
// var out = new MuteStream(process.stdout)
|
||||
// argument auto-pipes
|
||||
function MuteStream (opts) {
|
||||
Stream.apply(this)
|
||||
opts = opts || {}
|
||||
this.writable = this.readable = true
|
||||
this.muted = false
|
||||
this.on('pipe', this._onpipe)
|
||||
this.replace = opts.replace
|
||||
|
||||
// For readline-type situations
|
||||
// This much at the start of a line being redrawn after a ctrl char
|
||||
// is seen (such as backspace) won't be redrawn as the replacement
|
||||
this._prompt = opts.prompt || null
|
||||
this._hadControl = false
|
||||
}
|
||||
|
||||
MuteStream.prototype = Object.create(Stream.prototype)
|
||||
|
||||
Object.defineProperty(MuteStream.prototype, 'constructor', {
|
||||
value: MuteStream,
|
||||
enumerable: false
|
||||
})
|
||||
|
||||
MuteStream.prototype.mute = function () {
|
||||
this.muted = true
|
||||
}
|
||||
|
||||
MuteStream.prototype.unmute = function () {
|
||||
this.muted = false
|
||||
}
|
||||
|
||||
Object.defineProperty(MuteStream.prototype, '_onpipe', {
|
||||
value: onPipe,
|
||||
enumerable: false,
|
||||
writable: true,
|
||||
configurable: true
|
||||
})
|
||||
|
||||
function onPipe (src) {
|
||||
this._src = src
|
||||
}
|
||||
|
||||
Object.defineProperty(MuteStream.prototype, 'isTTY', {
|
||||
get: getIsTTY,
|
||||
set: setIsTTY,
|
||||
enumerable: true,
|
||||
configurable: true
|
||||
})
|
||||
|
||||
function getIsTTY () {
|
||||
return( (this._dest) ? this._dest.isTTY
|
||||
: (this._src) ? this._src.isTTY
|
||||
: false
|
||||
)
|
||||
}
|
||||
|
||||
// basically just get replace the getter/setter with a regular value
|
||||
function setIsTTY (isTTY) {
|
||||
Object.defineProperty(this, 'isTTY', {
|
||||
value: isTTY,
|
||||
enumerable: true,
|
||||
writable: true,
|
||||
configurable: true
|
||||
})
|
||||
}
|
||||
|
||||
Object.defineProperty(MuteStream.prototype, 'rows', {
|
||||
get: function () {
|
||||
return( this._dest ? this._dest.rows
|
||||
: this._src ? <span class="branch-0 cbranch-no" title="branch not covered" >this._src.rows</span>
|
||||
: undefined )
|
||||
}, enumerable: true, configurable: true })
|
||||
|
||||
Object.defineProperty(MuteStream.prototype, 'columns', {
|
||||
get: function () {
|
||||
return( this._dest ? this._dest.columns
|
||||
: this._src ? <span class="branch-0 cbranch-no" title="branch not covered" >this._src.columns</span>
|
||||
: undefined )
|
||||
}, enumerable: true, configurable: true })
|
||||
|
||||
|
||||
MuteStream.prototype.pipe = function (dest, options) {
|
||||
this._dest = dest
|
||||
return Stream.prototype.pipe.call(this, dest, options)
|
||||
}
|
||||
|
||||
MuteStream.prototype.pause = function () {
|
||||
<span class="missing-if-branch" title="else path not taken" >E</span>if (this._src) return this._src.pause()
|
||||
}
|
||||
|
||||
MuteStream.prototype.resume = function () {
|
||||
<span class="missing-if-branch" title="else path not taken" >E</span>if (this._src) return this._src.resume()
|
||||
}
|
||||
|
||||
MuteStream.prototype.write = function (c) {
|
||||
if (this.muted) {
|
||||
if (!this.replace) return true
|
||||
<span class="missing-if-branch" title="if path not taken" >I</span>if (c.match(/^\u001b/)) {
|
||||
<span class="cstat-no" title="statement not covered" > if(c.indexOf(this._prompt) === 0) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > c = c.substr(this._prompt.length);</span>
|
||||
<span class="cstat-no" title="statement not covered" > c = c.replace(/./g, this.replace);</span>
|
||||
<span class="cstat-no" title="statement not covered" > c = this._prompt + c;</span>
|
||||
}
|
||||
<span class="cstat-no" title="statement not covered" > this._hadControl = true</span>
|
||||
<span class="cstat-no" title="statement not covered" > return this.emit('data', c)</span>
|
||||
} else {
|
||||
<span class="missing-if-branch" title="if path not taken" >I</span>if (this._prompt && <span class="branch-1 cbranch-no" title="branch not covered" >this._hadControl </span>&&
|
||||
<span class="branch-2 cbranch-no" title="branch not covered" > c.indexOf(this._prompt) === 0)</span> {
|
||||
<span class="cstat-no" title="statement not covered" > this._hadControl = false</span>
|
||||
<span class="cstat-no" title="statement not covered" > this.emit('data', this._prompt)</span>
|
||||
<span class="cstat-no" title="statement not covered" > c = c.substr(this._prompt.length)</span>
|
||||
}
|
||||
c = c.toString().replace(/./g, this.replace)
|
||||
}
|
||||
}
|
||||
this.emit('data', c)
|
||||
}
|
||||
|
||||
MuteStream.prototype.end = function (c) {
|
||||
<span class="missing-if-branch" title="else path not taken" >E</span>if (this.muted) {
|
||||
<span class="missing-if-branch" title="if path not taken" >I</span>if (c && this.replace) {
|
||||
<span class="cstat-no" title="statement not covered" > c = c.toString().replace(/./g, this.replace)</span>
|
||||
} else {
|
||||
c = null
|
||||
}
|
||||
}
|
||||
<span class="missing-if-branch" title="if path not taken" >I</span>if (c) <span class="cstat-no" title="statement not covered" >this.emit('data', c)</span>
|
||||
this.emit('end')
|
||||
}
|
||||
|
||||
function proxy (fn) { return <span class="fstat-no" title="function not covered" >function () {</span>
|
||||
<span class="cstat-no" title="statement not covered" > var d = this._dest</span>
|
||||
<span class="cstat-no" title="statement not covered" > var s = this._src</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (d && d[fn]) <span class="cstat-no" title="statement not covered" >d[fn].apply(d, arguments)</span></span>
|
||||
<span class="cstat-no" title="statement not covered" > if (s && s[fn]) <span class="cstat-no" title="statement not covered" >s[fn].apply(s, arguments)</span></span>
|
||||
}}
|
||||
|
||||
MuteStream.prototype.destroy = proxy('destroy')
|
||||
MuteStream.prototype.destroySoon = proxy('destroySoon')
|
||||
MuteStream.prototype.close = proxy('close')
|
||||
</pre></td></tr>
|
||||
</table></pre>
|
||||
<div class='push'></div><!-- for sticky footer -->
|
||||
</div><!-- /wrapper -->
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage
|
||||
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Fri Feb 12 2016 22:19:00 GMT-0800 (PST)
|
||||
</div>
|
||||
</div>
|
||||
<script src="../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
if (typeof prettyPrint === 'function') {
|
||||
prettyPrint();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script src="../sorter.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
212
build/node_modules/@pwa/manifest/node_modules/mute-stream/coverage/lcov-report/base.css
generated
vendored
Normal file
212
build/node_modules/@pwa/manifest/node_modules/mute-stream/coverage/lcov-report/base.css
generated
vendored
Normal file
@@ -0,0 +1,212 @@
|
||||
body, html {
|
||||
margin:0; padding: 0;
|
||||
height: 100%;
|
||||
}
|
||||
body {
|
||||
font-family: Helvetica Neue, Helvetica, Arial;
|
||||
font-size: 14px;
|
||||
color:#333;
|
||||
}
|
||||
.small { font-size: 12px;; }
|
||||
*, *:after, *:before {
|
||||
-webkit-box-sizing:border-box;
|
||||
-moz-box-sizing:border-box;
|
||||
box-sizing:border-box;
|
||||
}
|
||||
h1 { font-size: 20px; margin: 0;}
|
||||
h2 { font-size: 14px; }
|
||||
pre {
|
||||
font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
-moz-tab-size: 2;
|
||||
-o-tab-size: 2;
|
||||
tab-size: 2;
|
||||
}
|
||||
a { color:#0074D9; text-decoration:none; }
|
||||
a:hover { text-decoration:underline; }
|
||||
.strong { font-weight: bold; }
|
||||
.space-top1 { padding: 10px 0 0 0; }
|
||||
.pad2y { padding: 20px 0; }
|
||||
.pad1y { padding: 10px 0; }
|
||||
.pad2x { padding: 0 20px; }
|
||||
.pad2 { padding: 20px; }
|
||||
.pad1 { padding: 10px; }
|
||||
.space-left2 { padding-left:55px; }
|
||||
.space-right2 { padding-right:20px; }
|
||||
.center { text-align:center; }
|
||||
.clearfix { display:block; }
|
||||
.clearfix:after {
|
||||
content:'';
|
||||
display:block;
|
||||
height:0;
|
||||
clear:both;
|
||||
visibility:hidden;
|
||||
}
|
||||
.fl { float: left; }
|
||||
@media only screen and (max-width:640px) {
|
||||
.col3 { width:100%; max-width:100%; }
|
||||
.hide-mobile { display:none!important; }
|
||||
}
|
||||
|
||||
.quiet {
|
||||
color: #7f7f7f;
|
||||
color: rgba(0,0,0,0.5);
|
||||
}
|
||||
.quiet a { opacity: 0.7; }
|
||||
|
||||
.fraction {
|
||||
font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
|
||||
font-size: 10px;
|
||||
color: #555;
|
||||
background: #E8E8E8;
|
||||
padding: 4px 5px;
|
||||
border-radius: 3px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
div.path a:link, div.path a:visited { color: #333; }
|
||||
table.coverage {
|
||||
border-collapse: collapse;
|
||||
margin: 10px 0 0 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
table.coverage td {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
vertical-align: top;
|
||||
}
|
||||
table.coverage td.line-count {
|
||||
text-align: right;
|
||||
padding: 0 5px 0 20px;
|
||||
}
|
||||
table.coverage td.line-coverage {
|
||||
text-align: right;
|
||||
padding-right: 10px;
|
||||
min-width:20px;
|
||||
}
|
||||
|
||||
table.coverage td span.cline-any {
|
||||
display: inline-block;
|
||||
padding: 0 5px;
|
||||
width: 100%;
|
||||
}
|
||||
.missing-if-branch {
|
||||
display: inline-block;
|
||||
margin-right: 5px;
|
||||
border-radius: 3px;
|
||||
position: relative;
|
||||
padding: 0 4px;
|
||||
background: #333;
|
||||
color: yellow;
|
||||
}
|
||||
|
||||
.skip-if-branch {
|
||||
display: none;
|
||||
margin-right: 10px;
|
||||
position: relative;
|
||||
padding: 0 4px;
|
||||
background: #ccc;
|
||||
color: white;
|
||||
}
|
||||
.missing-if-branch .typ, .skip-if-branch .typ {
|
||||
color: inherit !important;
|
||||
}
|
||||
.coverage-summary {
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
}
|
||||
.coverage-summary tr { border-bottom: 1px solid #bbb; }
|
||||
.keyline-all { border: 1px solid #ddd; }
|
||||
.coverage-summary td, .coverage-summary th { padding: 10px; }
|
||||
.coverage-summary tbody { border: 1px solid #bbb; }
|
||||
.coverage-summary td { border-right: 1px solid #bbb; }
|
||||
.coverage-summary td:last-child { border-right: none; }
|
||||
.coverage-summary th {
|
||||
text-align: left;
|
||||
font-weight: normal;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.coverage-summary th.file { border-right: none !important; }
|
||||
.coverage-summary th.pct { }
|
||||
.coverage-summary th.pic,
|
||||
.coverage-summary th.abs,
|
||||
.coverage-summary td.pct,
|
||||
.coverage-summary td.abs { text-align: right; }
|
||||
.coverage-summary td.file { white-space: nowrap; }
|
||||
.coverage-summary td.pic { min-width: 120px !important; }
|
||||
.coverage-summary tfoot td { }
|
||||
|
||||
.coverage-summary .sorter {
|
||||
height: 10px;
|
||||
width: 7px;
|
||||
display: inline-block;
|
||||
margin-left: 0.5em;
|
||||
background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent;
|
||||
}
|
||||
.coverage-summary .sorted .sorter {
|
||||
background-position: 0 -20px;
|
||||
}
|
||||
.coverage-summary .sorted-desc .sorter {
|
||||
background-position: 0 -10px;
|
||||
}
|
||||
.status-line { height: 10px; }
|
||||
/* dark red */
|
||||
.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 }
|
||||
.low .chart { border:1px solid #C21F39 }
|
||||
/* medium red */
|
||||
.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE }
|
||||
/* light red */
|
||||
.low, .cline-no { background:#FCE1E5 }
|
||||
/* light green */
|
||||
.high, .cline-yes { background:rgb(230,245,208) }
|
||||
/* medium green */
|
||||
.cstat-yes { background:rgb(161,215,106) }
|
||||
/* dark green */
|
||||
.status-line.high, .high .cover-fill { background:rgb(77,146,33) }
|
||||
.high .chart { border:1px solid rgb(77,146,33) }
|
||||
|
||||
|
||||
.medium .chart { border:1px solid #666; }
|
||||
.medium .cover-fill { background: #666; }
|
||||
|
||||
.cbranch-no { background: yellow !important; color: #111; }
|
||||
|
||||
.cstat-skip { background: #ddd; color: #111; }
|
||||
.fstat-skip { background: #ddd; color: #111 !important; }
|
||||
.cbranch-skip { background: #ddd !important; color: #111; }
|
||||
|
||||
span.cline-neutral { background: #eaeaea; }
|
||||
.medium { background: #eaeaea; }
|
||||
|
||||
.cover-fill, .cover-empty {
|
||||
display:inline-block;
|
||||
height: 12px;
|
||||
}
|
||||
.chart {
|
||||
line-height: 0;
|
||||
}
|
||||
.cover-empty {
|
||||
background: white;
|
||||
}
|
||||
.cover-full {
|
||||
border-right: none !important;
|
||||
}
|
||||
pre.prettyprint {
|
||||
border: none !important;
|
||||
padding: 0 !important;
|
||||
margin: 0 !important;
|
||||
}
|
||||
.com { color: #999 !important; }
|
||||
.ignore-none { color: #999; font-weight: normal; }
|
||||
|
||||
.wrapper {
|
||||
min-height: 100%;
|
||||
height: auto !important;
|
||||
height: 100%;
|
||||
margin: 0 auto -48px;
|
||||
}
|
||||
.footer, .push {
|
||||
height: 48px;
|
||||
}
|
||||
93
build/node_modules/@pwa/manifest/node_modules/mute-stream/coverage/lcov-report/index.html
generated
vendored
Normal file
93
build/node_modules/@pwa/manifest/node_modules/mute-stream/coverage/lcov-report/index.html
generated
vendored
Normal file
@@ -0,0 +1,93 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for All files</title>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="prettify.css" />
|
||||
<link rel="stylesheet" href="base.css" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<style type='text/css'>
|
||||
.coverage-summary .sorter {
|
||||
background-image: url(sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class='wrapper'>
|
||||
<div class='pad1'>
|
||||
<h1>
|
||||
/
|
||||
</h1>
|
||||
<div class='clearfix'>
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">77.03% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>57/74</span>
|
||||
</div>
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">57.14% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>28/49</span>
|
||||
</div>
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">93.33% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>14/15</span>
|
||||
</div>
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">79.1% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>53/67</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class='status-line medium'></div>
|
||||
<div class="pad1">
|
||||
<table class="coverage-summary">
|
||||
<thead>
|
||||
<tr>
|
||||
<th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
|
||||
<th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
|
||||
<th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
|
||||
<th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
|
||||
<th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
|
||||
<th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
|
||||
<th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody><tr>
|
||||
<td class="file medium" data-value="__root__/"><a href="__root__/index.html">__root__/</a></td>
|
||||
<td data-value="77.03" class="pic medium"><div class="chart"><div class="cover-fill" style="width: 77%;"></div><div class="cover-empty" style="width:23%;"></div></div></td>
|
||||
<td data-value="77.03" class="pct medium">77.03%</td>
|
||||
<td data-value="74" class="abs medium">57/74</td>
|
||||
<td data-value="57.14" class="pct medium">57.14%</td>
|
||||
<td data-value="49" class="abs medium">28/49</td>
|
||||
<td data-value="93.33" class="pct high">93.33%</td>
|
||||
<td data-value="15" class="abs high">14/15</td>
|
||||
<td data-value="79.1" class="pct medium">79.1%</td>
|
||||
<td data-value="67" class="abs medium">53/67</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div><div class='push'></div><!-- for sticky footer -->
|
||||
</div><!-- /wrapper -->
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage
|
||||
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Fri Feb 12 2016 22:19:00 GMT-0800 (PST)
|
||||
</div>
|
||||
</div>
|
||||
<script src="prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
if (typeof prettyPrint === 'function') {
|
||||
prettyPrint();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script src="sorter.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
1
build/node_modules/@pwa/manifest/node_modules/mute-stream/coverage/lcov-report/prettify.css
generated
vendored
Normal file
1
build/node_modules/@pwa/manifest/node_modules/mute-stream/coverage/lcov-report/prettify.css
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}
|
||||
1
build/node_modules/@pwa/manifest/node_modules/mute-stream/coverage/lcov-report/prettify.js
generated
vendored
Normal file
1
build/node_modules/@pwa/manifest/node_modules/mute-stream/coverage/lcov-report/prettify.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
build/node_modules/@pwa/manifest/node_modules/mute-stream/coverage/lcov-report/sort-arrow-sprite.png
generated
vendored
Normal file
BIN
build/node_modules/@pwa/manifest/node_modules/mute-stream/coverage/lcov-report/sort-arrow-sprite.png
generated
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 209 B |
158
build/node_modules/@pwa/manifest/node_modules/mute-stream/coverage/lcov-report/sorter.js
generated
vendored
Normal file
158
build/node_modules/@pwa/manifest/node_modules/mute-stream/coverage/lcov-report/sorter.js
generated
vendored
Normal file
@@ -0,0 +1,158 @@
|
||||
var addSorting = (function () {
|
||||
"use strict";
|
||||
var cols,
|
||||
currentSort = {
|
||||
index: 0,
|
||||
desc: false
|
||||
};
|
||||
|
||||
// returns the summary table element
|
||||
function getTable() { return document.querySelector('.coverage-summary'); }
|
||||
// returns the thead element of the summary table
|
||||
function getTableHeader() { return getTable().querySelector('thead tr'); }
|
||||
// returns the tbody element of the summary table
|
||||
function getTableBody() { return getTable().querySelector('tbody'); }
|
||||
// returns the th element for nth column
|
||||
function getNthColumn(n) { return getTableHeader().querySelectorAll('th')[n]; }
|
||||
|
||||
// loads all columns
|
||||
function loadColumns() {
|
||||
var colNodes = getTableHeader().querySelectorAll('th'),
|
||||
colNode,
|
||||
cols = [],
|
||||
col,
|
||||
i;
|
||||
|
||||
for (i = 0; i < colNodes.length; i += 1) {
|
||||
colNode = colNodes[i];
|
||||
col = {
|
||||
key: colNode.getAttribute('data-col'),
|
||||
sortable: !colNode.getAttribute('data-nosort'),
|
||||
type: colNode.getAttribute('data-type') || 'string'
|
||||
};
|
||||
cols.push(col);
|
||||
if (col.sortable) {
|
||||
col.defaultDescSort = col.type === 'number';
|
||||
colNode.innerHTML = colNode.innerHTML + '<span class="sorter"></span>';
|
||||
}
|
||||
}
|
||||
return cols;
|
||||
}
|
||||
// attaches a data attribute to every tr element with an object
|
||||
// of data values keyed by column name
|
||||
function loadRowData(tableRow) {
|
||||
var tableCols = tableRow.querySelectorAll('td'),
|
||||
colNode,
|
||||
col,
|
||||
data = {},
|
||||
i,
|
||||
val;
|
||||
for (i = 0; i < tableCols.length; i += 1) {
|
||||
colNode = tableCols[i];
|
||||
col = cols[i];
|
||||
val = colNode.getAttribute('data-value');
|
||||
if (col.type === 'number') {
|
||||
val = Number(val);
|
||||
}
|
||||
data[col.key] = val;
|
||||
}
|
||||
return data;
|
||||
}
|
||||
// loads all row data
|
||||
function loadData() {
|
||||
var rows = getTableBody().querySelectorAll('tr'),
|
||||
i;
|
||||
|
||||
for (i = 0; i < rows.length; i += 1) {
|
||||
rows[i].data = loadRowData(rows[i]);
|
||||
}
|
||||
}
|
||||
// sorts the table using the data for the ith column
|
||||
function sortByIndex(index, desc) {
|
||||
var key = cols[index].key,
|
||||
sorter = function (a, b) {
|
||||
a = a.data[key];
|
||||
b = b.data[key];
|
||||
return a < b ? -1 : a > b ? 1 : 0;
|
||||
},
|
||||
finalSorter = sorter,
|
||||
tableBody = document.querySelector('.coverage-summary tbody'),
|
||||
rowNodes = tableBody.querySelectorAll('tr'),
|
||||
rows = [],
|
||||
i;
|
||||
|
||||
if (desc) {
|
||||
finalSorter = function (a, b) {
|
||||
return -1 * sorter(a, b);
|
||||
};
|
||||
}
|
||||
|
||||
for (i = 0; i < rowNodes.length; i += 1) {
|
||||
rows.push(rowNodes[i]);
|
||||
tableBody.removeChild(rowNodes[i]);
|
||||
}
|
||||
|
||||
rows.sort(finalSorter);
|
||||
|
||||
for (i = 0; i < rows.length; i += 1) {
|
||||
tableBody.appendChild(rows[i]);
|
||||
}
|
||||
}
|
||||
// removes sort indicators for current column being sorted
|
||||
function removeSortIndicators() {
|
||||
var col = getNthColumn(currentSort.index),
|
||||
cls = col.className;
|
||||
|
||||
cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, '');
|
||||
col.className = cls;
|
||||
}
|
||||
// adds sort indicators for current column being sorted
|
||||
function addSortIndicators() {
|
||||
getNthColumn(currentSort.index).className += currentSort.desc ? ' sorted-desc' : ' sorted';
|
||||
}
|
||||
// adds event listeners for all sorter widgets
|
||||
function enableUI() {
|
||||
var i,
|
||||
el,
|
||||
ithSorter = function ithSorter(i) {
|
||||
var col = cols[i];
|
||||
|
||||
return function () {
|
||||
var desc = col.defaultDescSort;
|
||||
|
||||
if (currentSort.index === i) {
|
||||
desc = !currentSort.desc;
|
||||
}
|
||||
sortByIndex(i, desc);
|
||||
removeSortIndicators();
|
||||
currentSort.index = i;
|
||||
currentSort.desc = desc;
|
||||
addSortIndicators();
|
||||
};
|
||||
};
|
||||
for (i =0 ; i < cols.length; i += 1) {
|
||||
if (cols[i].sortable) {
|
||||
// add the click event handler on the th so users
|
||||
// dont have to click on those tiny arrows
|
||||
el = getNthColumn(i).querySelector('.sorter').parentElement;
|
||||
if (el.addEventListener) {
|
||||
el.addEventListener('click', ithSorter(i));
|
||||
} else {
|
||||
el.attachEvent('onclick', ithSorter(i));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// adds sorting functionality to the UI
|
||||
return function () {
|
||||
if (!getTable()) {
|
||||
return;
|
||||
}
|
||||
cols = loadColumns();
|
||||
loadData(cols);
|
||||
addSortIndicators();
|
||||
enableUI();
|
||||
};
|
||||
})();
|
||||
|
||||
window.addEventListener('load', addSorting);
|
||||
155
build/node_modules/@pwa/manifest/node_modules/mute-stream/coverage/lcov.info
generated
vendored
Normal file
155
build/node_modules/@pwa/manifest/node_modules/mute-stream/coverage/lcov.info
generated
vendored
Normal file
@@ -0,0 +1,155 @@
|
||||
TN:
|
||||
SF:./mute.js
|
||||
FN:7,MuteStream
|
||||
FN:29,(anonymous_2)
|
||||
FN:33,(anonymous_3)
|
||||
FN:44,onPipe
|
||||
FN:55,getIsTTY
|
||||
FN:63,setIsTTY
|
||||
FN:73,(anonymous_7)
|
||||
FN:80,(anonymous_8)
|
||||
FN:87,(anonymous_9)
|
||||
FN:92,(anonymous_10)
|
||||
FN:96,(anonymous_11)
|
||||
FN:100,(anonymous_12)
|
||||
FN:124,(anonymous_13)
|
||||
FN:136,proxy
|
||||
FN:136,(anonymous_15)
|
||||
FNF:15
|
||||
FNH:14
|
||||
FNDA:7,MuteStream
|
||||
FNDA:10,(anonymous_2)
|
||||
FNDA:6,(anonymous_3)
|
||||
FNDA:5,onPipe
|
||||
FNDA:8,getIsTTY
|
||||
FNDA:2,setIsTTY
|
||||
FNDA:5,(anonymous_7)
|
||||
FNDA:5,(anonymous_8)
|
||||
FNDA:2,(anonymous_9)
|
||||
FNDA:2,(anonymous_10)
|
||||
FNDA:2,(anonymous_11)
|
||||
FNDA:25,(anonymous_12)
|
||||
FNDA:2,(anonymous_13)
|
||||
FNDA:3,proxy
|
||||
FNDA:0,(anonymous_15)
|
||||
DA:1,1
|
||||
DA:3,1
|
||||
DA:7,1
|
||||
DA:8,7
|
||||
DA:9,7
|
||||
DA:10,7
|
||||
DA:11,7
|
||||
DA:12,7
|
||||
DA:13,7
|
||||
DA:18,7
|
||||
DA:19,7
|
||||
DA:22,1
|
||||
DA:24,1
|
||||
DA:29,1
|
||||
DA:30,10
|
||||
DA:33,1
|
||||
DA:34,6
|
||||
DA:37,1
|
||||
DA:44,1
|
||||
DA:45,5
|
||||
DA:48,1
|
||||
DA:55,1
|
||||
DA:56,8
|
||||
DA:63,1
|
||||
DA:64,2
|
||||
DA:72,1
|
||||
DA:74,5
|
||||
DA:79,1
|
||||
DA:81,5
|
||||
DA:87,1
|
||||
DA:88,2
|
||||
DA:89,2
|
||||
DA:92,1
|
||||
DA:93,2
|
||||
DA:96,1
|
||||
DA:97,2
|
||||
DA:100,1
|
||||
DA:101,25
|
||||
DA:102,13
|
||||
DA:103,8
|
||||
DA:104,0
|
||||
DA:105,0
|
||||
DA:106,0
|
||||
DA:107,0
|
||||
DA:109,0
|
||||
DA:110,0
|
||||
DA:112,8
|
||||
DA:114,0
|
||||
DA:115,0
|
||||
DA:116,0
|
||||
DA:118,8
|
||||
DA:121,20
|
||||
DA:124,1
|
||||
DA:125,2
|
||||
DA:126,2
|
||||
DA:127,0
|
||||
DA:129,2
|
||||
DA:132,2
|
||||
DA:133,2
|
||||
DA:136,3
|
||||
DA:137,0
|
||||
DA:138,0
|
||||
DA:139,0
|
||||
DA:140,0
|
||||
DA:143,1
|
||||
DA:144,1
|
||||
DA:145,1
|
||||
LF:67
|
||||
LH:53
|
||||
BRDA:9,1,0,7
|
||||
BRDA:9,1,1,5
|
||||
BRDA:18,2,0,7
|
||||
BRDA:18,2,1,7
|
||||
BRDA:56,3,0,3
|
||||
BRDA:56,3,1,5
|
||||
BRDA:57,4,0,3
|
||||
BRDA:57,4,1,2
|
||||
BRDA:74,5,0,4
|
||||
BRDA:74,5,1,1
|
||||
BRDA:75,6,0,0
|
||||
BRDA:75,6,1,1
|
||||
BRDA:81,7,0,4
|
||||
BRDA:81,7,1,1
|
||||
BRDA:82,8,0,0
|
||||
BRDA:82,8,1,1
|
||||
BRDA:93,9,0,2
|
||||
BRDA:93,9,1,0
|
||||
BRDA:97,10,0,2
|
||||
BRDA:97,10,1,0
|
||||
BRDA:101,11,0,13
|
||||
BRDA:101,11,1,12
|
||||
BRDA:102,12,0,5
|
||||
BRDA:102,12,1,8
|
||||
BRDA:103,13,0,0
|
||||
BRDA:103,13,1,8
|
||||
BRDA:104,14,0,0
|
||||
BRDA:104,14,1,0
|
||||
BRDA:112,15,0,0
|
||||
BRDA:112,15,1,8
|
||||
BRDA:112,16,0,8
|
||||
BRDA:112,16,1,0
|
||||
BRDA:112,16,2,0
|
||||
BRDA:125,17,0,2
|
||||
BRDA:125,17,1,0
|
||||
BRDA:126,18,0,0
|
||||
BRDA:126,18,1,2
|
||||
BRDA:126,19,0,2
|
||||
BRDA:126,19,1,1
|
||||
BRDA:132,20,0,0
|
||||
BRDA:132,20,1,2
|
||||
BRDA:139,21,0,0
|
||||
BRDA:139,21,1,0
|
||||
BRDA:139,22,0,0
|
||||
BRDA:139,22,1,0
|
||||
BRDA:140,23,0,0
|
||||
BRDA:140,23,1,0
|
||||
BRDA:140,24,0,0
|
||||
BRDA:140,24,1,0
|
||||
BRF:49
|
||||
BRH:28
|
||||
end_of_record
|
||||
145
build/node_modules/@pwa/manifest/node_modules/mute-stream/mute.js
generated
vendored
Normal file
145
build/node_modules/@pwa/manifest/node_modules/mute-stream/mute.js
generated
vendored
Normal file
@@ -0,0 +1,145 @@
|
||||
var Stream = require('stream')
|
||||
|
||||
module.exports = MuteStream
|
||||
|
||||
// var out = new MuteStream(process.stdout)
|
||||
// argument auto-pipes
|
||||
function MuteStream (opts) {
|
||||
Stream.apply(this)
|
||||
opts = opts || {}
|
||||
this.writable = this.readable = true
|
||||
this.muted = false
|
||||
this.on('pipe', this._onpipe)
|
||||
this.replace = opts.replace
|
||||
|
||||
// For readline-type situations
|
||||
// This much at the start of a line being redrawn after a ctrl char
|
||||
// is seen (such as backspace) won't be redrawn as the replacement
|
||||
this._prompt = opts.prompt || null
|
||||
this._hadControl = false
|
||||
}
|
||||
|
||||
MuteStream.prototype = Object.create(Stream.prototype)
|
||||
|
||||
Object.defineProperty(MuteStream.prototype, 'constructor', {
|
||||
value: MuteStream,
|
||||
enumerable: false
|
||||
})
|
||||
|
||||
MuteStream.prototype.mute = function () {
|
||||
this.muted = true
|
||||
}
|
||||
|
||||
MuteStream.prototype.unmute = function () {
|
||||
this.muted = false
|
||||
}
|
||||
|
||||
Object.defineProperty(MuteStream.prototype, '_onpipe', {
|
||||
value: onPipe,
|
||||
enumerable: false,
|
||||
writable: true,
|
||||
configurable: true
|
||||
})
|
||||
|
||||
function onPipe (src) {
|
||||
this._src = src
|
||||
}
|
||||
|
||||
Object.defineProperty(MuteStream.prototype, 'isTTY', {
|
||||
get: getIsTTY,
|
||||
set: setIsTTY,
|
||||
enumerable: true,
|
||||
configurable: true
|
||||
})
|
||||
|
||||
function getIsTTY () {
|
||||
return( (this._dest) ? this._dest.isTTY
|
||||
: (this._src) ? this._src.isTTY
|
||||
: false
|
||||
)
|
||||
}
|
||||
|
||||
// basically just get replace the getter/setter with a regular value
|
||||
function setIsTTY (isTTY) {
|
||||
Object.defineProperty(this, 'isTTY', {
|
||||
value: isTTY,
|
||||
enumerable: true,
|
||||
writable: true,
|
||||
configurable: true
|
||||
})
|
||||
}
|
||||
|
||||
Object.defineProperty(MuteStream.prototype, 'rows', {
|
||||
get: function () {
|
||||
return( this._dest ? this._dest.rows
|
||||
: this._src ? this._src.rows
|
||||
: undefined )
|
||||
}, enumerable: true, configurable: true })
|
||||
|
||||
Object.defineProperty(MuteStream.prototype, 'columns', {
|
||||
get: function () {
|
||||
return( this._dest ? this._dest.columns
|
||||
: this._src ? this._src.columns
|
||||
: undefined )
|
||||
}, enumerable: true, configurable: true })
|
||||
|
||||
|
||||
MuteStream.prototype.pipe = function (dest, options) {
|
||||
this._dest = dest
|
||||
return Stream.prototype.pipe.call(this, dest, options)
|
||||
}
|
||||
|
||||
MuteStream.prototype.pause = function () {
|
||||
if (this._src) return this._src.pause()
|
||||
}
|
||||
|
||||
MuteStream.prototype.resume = function () {
|
||||
if (this._src) return this._src.resume()
|
||||
}
|
||||
|
||||
MuteStream.prototype.write = function (c) {
|
||||
if (this.muted) {
|
||||
if (!this.replace) return true
|
||||
if (c.match(/^\u001b/)) {
|
||||
if(c.indexOf(this._prompt) === 0) {
|
||||
c = c.substr(this._prompt.length);
|
||||
c = c.replace(/./g, this.replace);
|
||||
c = this._prompt + c;
|
||||
}
|
||||
this._hadControl = true
|
||||
return this.emit('data', c)
|
||||
} else {
|
||||
if (this._prompt && this._hadControl &&
|
||||
c.indexOf(this._prompt) === 0) {
|
||||
this._hadControl = false
|
||||
this.emit('data', this._prompt)
|
||||
c = c.substr(this._prompt.length)
|
||||
}
|
||||
c = c.toString().replace(/./g, this.replace)
|
||||
}
|
||||
}
|
||||
this.emit('data', c)
|
||||
}
|
||||
|
||||
MuteStream.prototype.end = function (c) {
|
||||
if (this.muted) {
|
||||
if (c && this.replace) {
|
||||
c = c.toString().replace(/./g, this.replace)
|
||||
} else {
|
||||
c = null
|
||||
}
|
||||
}
|
||||
if (c) this.emit('data', c)
|
||||
this.emit('end')
|
||||
}
|
||||
|
||||
function proxy (fn) { return function () {
|
||||
var d = this._dest
|
||||
var s = this._src
|
||||
if (d && d[fn]) d[fn].apply(d, arguments)
|
||||
if (s && s[fn]) s[fn].apply(s, arguments)
|
||||
}}
|
||||
|
||||
MuteStream.prototype.destroy = proxy('destroy')
|
||||
MuteStream.prototype.destroySoon = proxy('destroySoon')
|
||||
MuteStream.prototype.close = proxy('close')
|
||||
59
build/node_modules/@pwa/manifest/node_modules/mute-stream/package.json
generated
vendored
Normal file
59
build/node_modules/@pwa/manifest/node_modules/mute-stream/package.json
generated
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
{
|
||||
"_from": "mute-stream@0.0.7",
|
||||
"_id": "mute-stream@0.0.7",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
|
||||
"_location": "/@pwa/manifest/mute-stream",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "mute-stream@0.0.7",
|
||||
"name": "mute-stream",
|
||||
"escapedName": "mute-stream",
|
||||
"rawSpec": "0.0.7",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "0.0.7"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@pwa/manifest/inquirer"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
|
||||
"_shasum": "3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab",
|
||||
"_spec": "mute-stream@0.0.7",
|
||||
"_where": "/Users/asciidisco/Desktop/asciidisco.com/build/node_modules/@pwa/manifest/node_modules/inquirer",
|
||||
"author": {
|
||||
"name": "Isaac Z. Schlueter",
|
||||
"email": "i@izs.me",
|
||||
"url": "http://blog.izs.me/"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/isaacs/mute-stream/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"deprecated": false,
|
||||
"description": "Bytes go in, but they don't come out (when muted).",
|
||||
"devDependencies": {
|
||||
"tap": "^5.4.4"
|
||||
},
|
||||
"directories": {
|
||||
"test": "test"
|
||||
},
|
||||
"homepage": "https://github.com/isaacs/mute-stream#readme",
|
||||
"keywords": [
|
||||
"mute",
|
||||
"stream",
|
||||
"pipe"
|
||||
],
|
||||
"license": "ISC",
|
||||
"main": "mute.js",
|
||||
"name": "mute-stream",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/isaacs/mute-stream.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "tap test/*.js --cov"
|
||||
},
|
||||
"version": "0.0.7"
|
||||
}
|
||||
207
build/node_modules/@pwa/manifest/node_modules/mute-stream/test/basic.js
generated
vendored
Normal file
207
build/node_modules/@pwa/manifest/node_modules/mute-stream/test/basic.js
generated
vendored
Normal file
@@ -0,0 +1,207 @@
|
||||
var Stream = require('stream')
|
||||
var tap = require('tap')
|
||||
var MS = require('../mute.js')
|
||||
|
||||
// some marker objects
|
||||
var END = {}
|
||||
var PAUSE = {}
|
||||
var RESUME = {}
|
||||
|
||||
function PassThrough () {
|
||||
Stream.call(this)
|
||||
this.readable = this.writable = true
|
||||
}
|
||||
|
||||
PassThrough.prototype = Object.create(Stream.prototype, {
|
||||
constructor: {
|
||||
value: PassThrough
|
||||
},
|
||||
write: {
|
||||
value: function (c) {
|
||||
this.emit('data', c)
|
||||
return true
|
||||
}
|
||||
},
|
||||
end: {
|
||||
value: function (c) {
|
||||
if (c) this.write(c)
|
||||
this.emit('end')
|
||||
}
|
||||
},
|
||||
pause: {
|
||||
value: function () {
|
||||
this.emit('pause')
|
||||
}
|
||||
},
|
||||
resume: {
|
||||
value: function () {
|
||||
this.emit('resume')
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
tap.test('incoming', function (t) {
|
||||
var ms = new MS
|
||||
var str = new PassThrough
|
||||
str.pipe(ms)
|
||||
|
||||
var expect = ['foo', 'boo', END]
|
||||
ms.on('data', function (c) {
|
||||
t.equal(c, expect.shift())
|
||||
})
|
||||
ms.on('end', function () {
|
||||
t.equal(END, expect.shift())
|
||||
t.end()
|
||||
})
|
||||
str.write('foo')
|
||||
ms.mute()
|
||||
str.write('bar')
|
||||
ms.unmute()
|
||||
str.write('boo')
|
||||
ms.mute()
|
||||
str.write('blaz')
|
||||
str.end('grelb')
|
||||
})
|
||||
|
||||
tap.test('outgoing', function (t) {
|
||||
var ms = new MS
|
||||
var str = new PassThrough
|
||||
ms.pipe(str)
|
||||
|
||||
var expect = ['foo', 'boo', END]
|
||||
str.on('data', function (c) {
|
||||
t.equal(c, expect.shift())
|
||||
})
|
||||
str.on('end', function () {
|
||||
t.equal(END, expect.shift())
|
||||
t.end()
|
||||
})
|
||||
|
||||
ms.write('foo')
|
||||
ms.mute()
|
||||
ms.write('bar')
|
||||
ms.unmute()
|
||||
ms.write('boo')
|
||||
ms.mute()
|
||||
ms.write('blaz')
|
||||
ms.end('grelb')
|
||||
})
|
||||
|
||||
tap.test('isTTY', function (t) {
|
||||
var str = new PassThrough
|
||||
str.isTTY = true
|
||||
str.columns=80
|
||||
str.rows=24
|
||||
|
||||
var ms = new MS
|
||||
t.equal(ms.isTTY, false)
|
||||
t.equal(ms.columns, undefined)
|
||||
t.equal(ms.rows, undefined)
|
||||
ms.pipe(str)
|
||||
t.equal(ms.isTTY, true)
|
||||
t.equal(ms.columns, 80)
|
||||
t.equal(ms.rows, 24)
|
||||
str.isTTY = false
|
||||
t.equal(ms.isTTY, false)
|
||||
t.equal(ms.columns, 80)
|
||||
t.equal(ms.rows, 24)
|
||||
str.isTTY = true
|
||||
t.equal(ms.isTTY, true)
|
||||
t.equal(ms.columns, 80)
|
||||
t.equal(ms.rows, 24)
|
||||
ms.isTTY = false
|
||||
t.equal(ms.isTTY, false)
|
||||
t.equal(ms.columns, 80)
|
||||
t.equal(ms.rows, 24)
|
||||
|
||||
ms = new MS
|
||||
t.equal(ms.isTTY, false)
|
||||
str.pipe(ms)
|
||||
t.equal(ms.isTTY, true)
|
||||
str.isTTY = false
|
||||
t.equal(ms.isTTY, false)
|
||||
str.isTTY = true
|
||||
t.equal(ms.isTTY, true)
|
||||
ms.isTTY = false
|
||||
t.equal(ms.isTTY, false)
|
||||
|
||||
t.end()
|
||||
})
|
||||
|
||||
tap.test('pause/resume incoming', function (t) {
|
||||
var str = new PassThrough
|
||||
var ms = new MS
|
||||
str.on('pause', function () {
|
||||
t.equal(PAUSE, expect.shift())
|
||||
})
|
||||
str.on('resume', function () {
|
||||
t.equal(RESUME, expect.shift())
|
||||
})
|
||||
var expect = [PAUSE, RESUME, PAUSE, RESUME]
|
||||
str.pipe(ms)
|
||||
ms.pause()
|
||||
ms.resume()
|
||||
ms.pause()
|
||||
ms.resume()
|
||||
t.equal(expect.length, 0, 'saw all events')
|
||||
t.end()
|
||||
})
|
||||
|
||||
tap.test('replace with *', function (t) {
|
||||
var str = new PassThrough
|
||||
var ms = new MS({replace: '*'})
|
||||
str.pipe(ms)
|
||||
var expect = ['foo', '*****', 'bar', '***', 'baz', 'boo', '**', '****']
|
||||
|
||||
ms.on('data', function (c) {
|
||||
t.equal(c, expect.shift())
|
||||
})
|
||||
|
||||
str.write('foo')
|
||||
ms.mute()
|
||||
str.write('12345')
|
||||
ms.unmute()
|
||||
str.write('bar')
|
||||
ms.mute()
|
||||
str.write('baz')
|
||||
ms.unmute()
|
||||
str.write('baz')
|
||||
str.write('boo')
|
||||
ms.mute()
|
||||
str.write('xy')
|
||||
str.write('xyzΩ')
|
||||
|
||||
t.equal(expect.length, 0)
|
||||
t.end()
|
||||
})
|
||||
|
||||
tap.test('replace with ~YARG~', function (t) {
|
||||
var str = new PassThrough
|
||||
var ms = new MS({replace: '~YARG~'})
|
||||
str.pipe(ms)
|
||||
var expect = ['foo', '~YARG~~YARG~~YARG~~YARG~~YARG~', 'bar',
|
||||
'~YARG~~YARG~~YARG~', 'baz', 'boo', '~YARG~~YARG~',
|
||||
'~YARG~~YARG~~YARG~~YARG~']
|
||||
|
||||
ms.on('data', function (c) {
|
||||
t.equal(c, expect.shift())
|
||||
})
|
||||
|
||||
// also throw some unicode in there, just for good measure.
|
||||
str.write('foo')
|
||||
ms.mute()
|
||||
str.write('ΩΩ')
|
||||
ms.unmute()
|
||||
str.write('bar')
|
||||
ms.mute()
|
||||
str.write('Ω')
|
||||
ms.unmute()
|
||||
str.write('baz')
|
||||
str.write('boo')
|
||||
ms.mute()
|
||||
str.write('Ω')
|
||||
str.write('ΩΩ')
|
||||
|
||||
t.equal(expect.length, 0)
|
||||
t.end()
|
||||
})
|
||||
39
build/node_modules/@pwa/manifest/node_modules/onetime/index.js
generated
vendored
Normal file
39
build/node_modules/@pwa/manifest/node_modules/onetime/index.js
generated
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
'use strict';
|
||||
const mimicFn = require('mimic-fn');
|
||||
|
||||
module.exports = (fn, opts) => {
|
||||
// TODO: Remove this in v3
|
||||
if (opts === true) {
|
||||
throw new TypeError('The second argument is now an options object');
|
||||
}
|
||||
|
||||
if (typeof fn !== 'function') {
|
||||
throw new TypeError('Expected a function');
|
||||
}
|
||||
|
||||
opts = opts || {};
|
||||
|
||||
let ret;
|
||||
let called = false;
|
||||
const fnName = fn.displayName || fn.name || '<anonymous>';
|
||||
|
||||
const onetime = function () {
|
||||
if (called) {
|
||||
if (opts.throw === true) {
|
||||
throw new Error(`Function \`${fnName}\` can only be called once`);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
called = true;
|
||||
ret = fn.apply(this, arguments);
|
||||
fn = null;
|
||||
|
||||
return ret;
|
||||
};
|
||||
|
||||
mimicFn(onetime, fn);
|
||||
|
||||
return onetime;
|
||||
};
|
||||
21
build/node_modules/@pwa/manifest/node_modules/onetime/license
generated
vendored
Normal file
21
build/node_modules/@pwa/manifest/node_modules/onetime/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
build/node_modules/@pwa/manifest/node_modules/onetime/package.json
generated
vendored
Normal file
72
build/node_modules/@pwa/manifest/node_modules/onetime/package.json
generated
vendored
Normal file
@@ -0,0 +1,72 @@
|
||||
{
|
||||
"_from": "onetime@^2.0.0",
|
||||
"_id": "onetime@2.0.1",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
|
||||
"_location": "/@pwa/manifest/onetime",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "onetime@^2.0.0",
|
||||
"name": "onetime",
|
||||
"escapedName": "onetime",
|
||||
"rawSpec": "^2.0.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^2.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@pwa/manifest/restore-cursor"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
|
||||
"_shasum": "067428230fd67443b2794b22bba528b6867962d4",
|
||||
"_spec": "onetime@^2.0.0",
|
||||
"_where": "/Users/asciidisco/Desktop/asciidisco.com/build/node_modules/@pwa/manifest/node_modules/restore-cursor",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/onetime/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"mimic-fn": "^1.0.0"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Ensure a function is only called once",
|
||||
"devDependencies": {
|
||||
"ava": "*",
|
||||
"xo": "*"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"homepage": "https://github.com/sindresorhus/onetime#readme",
|
||||
"keywords": [
|
||||
"once",
|
||||
"function",
|
||||
"one",
|
||||
"onetime",
|
||||
"func",
|
||||
"fn",
|
||||
"single",
|
||||
"call",
|
||||
"called",
|
||||
"prevent"
|
||||
],
|
||||
"license": "MIT",
|
||||
"name": "onetime",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/onetime.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava"
|
||||
},
|
||||
"version": "2.0.1"
|
||||
}
|
||||
65
build/node_modules/@pwa/manifest/node_modules/onetime/readme.md
generated
vendored
Normal file
65
build/node_modules/@pwa/manifest/node_modules/onetime/readme.md
generated
vendored
Normal file
@@ -0,0 +1,65 @@
|
||||
# onetime [](https://travis-ci.org/sindresorhus/onetime)
|
||||
|
||||
> Ensure a function is only called once
|
||||
|
||||
When called multiple times it will return the return value from the first call.
|
||||
|
||||
*Unlike the module [once](https://github.com/isaacs/once), this one isn't naughty extending `Function.prototype`.*
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
```
|
||||
$ npm install --save onetime
|
||||
```
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
let i = 0;
|
||||
|
||||
const foo = onetime(() => i++);
|
||||
|
||||
foo(); //=> 0
|
||||
foo(); //=> 0
|
||||
foo(); //=> 0
|
||||
```
|
||||
|
||||
```js
|
||||
const foo = onetime(() => {}, {throw: true});
|
||||
|
||||
foo();
|
||||
|
||||
foo();
|
||||
//=> Error: Function `foo` can only be called once
|
||||
```
|
||||
|
||||
|
||||
## API
|
||||
|
||||
### onetime(fn, [options])
|
||||
|
||||
Returns a function that only calls `fn` once.
|
||||
|
||||
#### fn
|
||||
|
||||
Type: `Function`
|
||||
|
||||
Function that should only be called once.
|
||||
|
||||
#### options
|
||||
|
||||
Type: `Object`
|
||||
|
||||
##### throw
|
||||
|
||||
Type: `boolean`<br>
|
||||
Default: `false`
|
||||
|
||||
Throw an error when called more than once.
|
||||
|
||||
|
||||
## License
|
||||
|
||||
MIT © [Sindre Sorhus](https://sindresorhus.com)
|
||||
26
build/node_modules/@pwa/manifest/node_modules/path-type/index.js
generated
vendored
Normal file
26
build/node_modules/@pwa/manifest/node_modules/path-type/index.js
generated
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
'use strict';
|
||||
const fs = require('fs');
|
||||
const pify = require('pify');
|
||||
|
||||
function type(fn, fn2, fp) {
|
||||
if (typeof fp !== 'string') {
|
||||
return Promise.reject(new TypeError(`Expected a string, got ${typeof fp}`));
|
||||
}
|
||||
|
||||
return pify(fs[fn])(fp).then(stats => stats[fn2]());
|
||||
}
|
||||
|
||||
function typeSync(fn, fn2, fp) {
|
||||
if (typeof fp !== 'string') {
|
||||
throw new TypeError(`Expected a string, got ${typeof fp}`);
|
||||
}
|
||||
|
||||
return fs[fn](fp)[fn2]();
|
||||
}
|
||||
|
||||
exports.file = type.bind(null, 'stat', 'isFile');
|
||||
exports.dir = type.bind(null, 'stat', 'isDirectory');
|
||||
exports.symlink = type.bind(null, 'lstat', 'isSymbolicLink');
|
||||
exports.fileSync = typeSync.bind(null, 'statSync', 'isFile');
|
||||
exports.dirSync = typeSync.bind(null, 'statSync', 'isDirectory');
|
||||
exports.symlinkSync = typeSync.bind(null, 'lstatSync', 'isSymbolicLink');
|
||||
21
build/node_modules/@pwa/manifest/node_modules/path-type/license
generated
vendored
Normal file
21
build/node_modules/@pwa/manifest/node_modules/path-type/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
build/node_modules/@pwa/manifest/node_modules/path-type/package.json
generated
vendored
Normal file
80
build/node_modules/@pwa/manifest/node_modules/path-type/package.json
generated
vendored
Normal file
@@ -0,0 +1,80 @@
|
||||
{
|
||||
"_from": "path-type@^2.0.0",
|
||||
"_id": "path-type@2.0.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
|
||||
"_location": "/@pwa/manifest/path-type",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "path-type@^2.0.0",
|
||||
"name": "path-type",
|
||||
"escapedName": "path-type",
|
||||
"rawSpec": "^2.0.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^2.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@pwa/manifest/read-pkg"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
|
||||
"_shasum": "f012ccb8415b7096fc2daa1054c3d72389594c73",
|
||||
"_spec": "path-type@^2.0.0",
|
||||
"_where": "/Users/asciidisco/Desktop/asciidisco.com/build/node_modules/@pwa/manifest/node_modules/read-pkg",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/path-type/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"pify": "^2.0.0"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Check if a path is a file, directory, or symlink",
|
||||
"devDependencies": {
|
||||
"ava": "*",
|
||||
"xo": "*"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"homepage": "https://github.com/sindresorhus/path-type#readme",
|
||||
"keywords": [
|
||||
"path",
|
||||
"fs",
|
||||
"type",
|
||||
"is",
|
||||
"check",
|
||||
"directory",
|
||||
"dir",
|
||||
"file",
|
||||
"filepath",
|
||||
"symlink",
|
||||
"symbolic",
|
||||
"link",
|
||||
"stat",
|
||||
"stats",
|
||||
"filesystem"
|
||||
],
|
||||
"license": "MIT",
|
||||
"name": "path-type",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/path-type.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava"
|
||||
},
|
||||
"version": "2.0.0",
|
||||
"xo": {
|
||||
"esnext": true
|
||||
}
|
||||
}
|
||||
42
build/node_modules/@pwa/manifest/node_modules/path-type/readme.md
generated
vendored
Normal file
42
build/node_modules/@pwa/manifest/node_modules/path-type/readme.md
generated
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
# path-type [](https://travis-ci.org/sindresorhus/path-type)
|
||||
|
||||
> Check if a path is a file, directory, or symlink
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
```
|
||||
$ npm install --save path-type
|
||||
```
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
const pathType = require('path-type');
|
||||
|
||||
pathType.file('package.json').then(isFile => {
|
||||
console.log(isFile);
|
||||
//=> true
|
||||
})
|
||||
```
|
||||
|
||||
|
||||
## API
|
||||
|
||||
### .file(path)
|
||||
### .dir(path)
|
||||
### .symlink(path)
|
||||
|
||||
Returns a `Promise` for a `boolean` of whether the path is the checked type.
|
||||
|
||||
### .fileSync(path)
|
||||
### .dirSync(path)
|
||||
### .symlinkSync(path)
|
||||
|
||||
Returns a `boolean` of whether the path is the checked type.
|
||||
|
||||
|
||||
## License
|
||||
|
||||
MIT © [Sindre Sorhus](https://sindresorhus.com)
|
||||
26
build/node_modules/@pwa/manifest/node_modules/read-pkg-up/index.js
generated
vendored
Normal file
26
build/node_modules/@pwa/manifest/node_modules/read-pkg-up/index.js
generated
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
'use strict';
|
||||
const findUp = require('find-up');
|
||||
const readPkg = require('read-pkg');
|
||||
|
||||
module.exports = opts => {
|
||||
return findUp('package.json', opts).then(fp => {
|
||||
if (!fp) {
|
||||
return {};
|
||||
}
|
||||
|
||||
return readPkg(fp, opts).then(pkg => ({pkg, path: fp}));
|
||||
});
|
||||
};
|
||||
|
||||
module.exports.sync = opts => {
|
||||
const fp = findUp.sync('package.json', opts);
|
||||
|
||||
if (!fp) {
|
||||
return {};
|
||||
}
|
||||
|
||||
return {
|
||||
pkg: readPkg.sync(fp, opts),
|
||||
path: fp
|
||||
};
|
||||
};
|
||||
21
build/node_modules/@pwa/manifest/node_modules/read-pkg-up/license
generated
vendored
Normal file
21
build/node_modules/@pwa/manifest/node_modules/read-pkg-up/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.
|
||||
94
build/node_modules/@pwa/manifest/node_modules/read-pkg-up/package.json
generated
vendored
Normal file
94
build/node_modules/@pwa/manifest/node_modules/read-pkg-up/package.json
generated
vendored
Normal file
@@ -0,0 +1,94 @@
|
||||
{
|
||||
"_from": "read-pkg-up@^2.0.0",
|
||||
"_id": "read-pkg-up@2.0.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
|
||||
"_location": "/@pwa/manifest/read-pkg-up",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "read-pkg-up@^2.0.0",
|
||||
"name": "read-pkg-up",
|
||||
"escapedName": "read-pkg-up",
|
||||
"rawSpec": "^2.0.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^2.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@pwa/manifest"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
|
||||
"_shasum": "6b72a8048984e0c41e79510fd5e9fa99b3b549be",
|
||||
"_spec": "read-pkg-up@^2.0.0",
|
||||
"_where": "/Users/asciidisco/Desktop/asciidisco.com/build/node_modules/@pwa/manifest",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/read-pkg-up/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"find-up": "^2.0.0",
|
||||
"read-pkg": "^2.0.0"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Read the closest package.json file",
|
||||
"devDependencies": {
|
||||
"ava": "*",
|
||||
"xo": "*"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"homepage": "https://github.com/sindresorhus/read-pkg-up#readme",
|
||||
"keywords": [
|
||||
"json",
|
||||
"read",
|
||||
"parse",
|
||||
"file",
|
||||
"fs",
|
||||
"graceful",
|
||||
"load",
|
||||
"pkg",
|
||||
"package",
|
||||
"find",
|
||||
"up",
|
||||
"find-up",
|
||||
"findup",
|
||||
"look-up",
|
||||
"look",
|
||||
"file",
|
||||
"search",
|
||||
"match",
|
||||
"package",
|
||||
"resolve",
|
||||
"parent",
|
||||
"parents",
|
||||
"folder",
|
||||
"directory",
|
||||
"dir",
|
||||
"walk",
|
||||
"walking",
|
||||
"path"
|
||||
],
|
||||
"license": "MIT",
|
||||
"name": "read-pkg-up",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/read-pkg-up.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava"
|
||||
},
|
||||
"version": "2.0.0",
|
||||
"xo": {
|
||||
"esnext": true
|
||||
}
|
||||
}
|
||||
80
build/node_modules/@pwa/manifest/node_modules/read-pkg-up/readme.md
generated
vendored
Normal file
80
build/node_modules/@pwa/manifest/node_modules/read-pkg-up/readme.md
generated
vendored
Normal file
@@ -0,0 +1,80 @@
|
||||
# read-pkg-up [](https://travis-ci.org/sindresorhus/read-pkg-up)
|
||||
|
||||
> Read the closest package.json file
|
||||
|
||||
|
||||
## Why
|
||||
|
||||
- [Finds the closest package.json](https://github.com/sindresorhus/find-up)
|
||||
- [Gracefully handles filesystem issues](https://github.com/isaacs/node-graceful-fs)
|
||||
- [Strips UTF-8 BOM](https://github.com/sindresorhus/strip-bom)
|
||||
- [Throws more helpful JSON errors](https://github.com/sindresorhus/parse-json)
|
||||
- [Normalizes the data](https://github.com/npm/normalize-package-data#what-normalization-currently-entails)
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
```
|
||||
$ npm install --save read-pkg-up
|
||||
```
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
const readPkgUp = require('read-pkg-up');
|
||||
|
||||
readPkgUp().then(result => {
|
||||
console.log(result);
|
||||
/*
|
||||
{
|
||||
pkg: {
|
||||
name: 'awesome-package',
|
||||
version: '1.0.0',
|
||||
...
|
||||
},
|
||||
path: '/Users/sindresorhus/dev/awesome-package/package.json'
|
||||
}
|
||||
*/
|
||||
});
|
||||
```
|
||||
|
||||
|
||||
## API
|
||||
|
||||
### readPkgUp([options])
|
||||
|
||||
Returns a `Promise` for the result object.
|
||||
|
||||
### readPkgUp.sync([options])
|
||||
|
||||
Returns the result object.
|
||||
|
||||
#### options
|
||||
|
||||
##### cwd
|
||||
|
||||
Type: `string`<br>
|
||||
Default: `.`
|
||||
|
||||
Directory to start looking for a package.json file.
|
||||
|
||||
##### normalize
|
||||
|
||||
Type: `boolean`<br>
|
||||
Default: `true`
|
||||
|
||||
[Normalize](https://github.com/npm/normalize-package-data#what-normalization-currently-entails) the package data.
|
||||
|
||||
|
||||
## Related
|
||||
|
||||
- [read-pkg](https://github.com/sindresorhus/read-pkg) - Read a package.json file
|
||||
- [pkg-up](https://github.com/sindresorhus/pkg-up) - Find the closest package.json file
|
||||
- [find-up](https://github.com/sindresorhus/find-up) - Find a file by walking up parent directories
|
||||
- [pkg-conf](https://github.com/sindresorhus/pkg-conf) - Get namespaced config from the closest package.json
|
||||
|
||||
|
||||
## License
|
||||
|
||||
MIT © [Sindre Sorhus](https://sindresorhus.com)
|
||||
47
build/node_modules/@pwa/manifest/node_modules/read-pkg/index.js
generated
vendored
Normal file
47
build/node_modules/@pwa/manifest/node_modules/read-pkg/index.js
generated
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
'use strict';
|
||||
const path = require('path');
|
||||
const loadJsonFile = require('load-json-file');
|
||||
const pathType = require('path-type');
|
||||
|
||||
module.exports = (fp, opts) => {
|
||||
if (typeof fp !== 'string') {
|
||||
opts = fp;
|
||||
fp = '.';
|
||||
}
|
||||
|
||||
opts = opts || {};
|
||||
|
||||
return pathType.dir(fp)
|
||||
.then(isDir => {
|
||||
if (isDir) {
|
||||
fp = path.join(fp, 'package.json');
|
||||
}
|
||||
|
||||
return loadJsonFile(fp);
|
||||
})
|
||||
.then(x => {
|
||||
if (opts.normalize !== false) {
|
||||
require('normalize-package-data')(x);
|
||||
}
|
||||
|
||||
return x;
|
||||
});
|
||||
};
|
||||
|
||||
module.exports.sync = (fp, opts) => {
|
||||
if (typeof fp !== 'string') {
|
||||
opts = fp;
|
||||
fp = '.';
|
||||
}
|
||||
|
||||
opts = opts || {};
|
||||
fp = pathType.dirSync(fp) ? path.join(fp, 'package.json') : fp;
|
||||
|
||||
const x = loadJsonFile.sync(fp);
|
||||
|
||||
if (opts.normalize !== false) {
|
||||
require('normalize-package-data')(x);
|
||||
}
|
||||
|
||||
return x;
|
||||
};
|
||||
21
build/node_modules/@pwa/manifest/node_modules/read-pkg/license
generated
vendored
Normal file
21
build/node_modules/@pwa/manifest/node_modules/read-pkg/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.
|
||||
77
build/node_modules/@pwa/manifest/node_modules/read-pkg/package.json
generated
vendored
Normal file
77
build/node_modules/@pwa/manifest/node_modules/read-pkg/package.json
generated
vendored
Normal file
@@ -0,0 +1,77 @@
|
||||
{
|
||||
"_from": "read-pkg@^2.0.0",
|
||||
"_id": "read-pkg@2.0.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
|
||||
"_location": "/@pwa/manifest/read-pkg",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "read-pkg@^2.0.0",
|
||||
"name": "read-pkg",
|
||||
"escapedName": "read-pkg",
|
||||
"rawSpec": "^2.0.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^2.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@pwa/manifest/read-pkg-up"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
|
||||
"_shasum": "8ef1c0623c6a6db0dc6713c4bfac46332b2368f8",
|
||||
"_spec": "read-pkg@^2.0.0",
|
||||
"_where": "/Users/asciidisco/Desktop/asciidisco.com/build/node_modules/@pwa/manifest/node_modules/read-pkg-up",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/read-pkg/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"load-json-file": "^2.0.0",
|
||||
"normalize-package-data": "^2.3.2",
|
||||
"path-type": "^2.0.0"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Read a package.json file",
|
||||
"devDependencies": {
|
||||
"ava": "*",
|
||||
"xo": "*"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"homepage": "https://github.com/sindresorhus/read-pkg#readme",
|
||||
"keywords": [
|
||||
"json",
|
||||
"read",
|
||||
"parse",
|
||||
"file",
|
||||
"fs",
|
||||
"graceful",
|
||||
"load",
|
||||
"pkg",
|
||||
"package",
|
||||
"normalize"
|
||||
],
|
||||
"license": "MIT",
|
||||
"name": "read-pkg",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/read-pkg.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava"
|
||||
},
|
||||
"version": "2.0.0",
|
||||
"xo": {
|
||||
"esnext": true
|
||||
}
|
||||
}
|
||||
79
build/node_modules/@pwa/manifest/node_modules/read-pkg/readme.md
generated
vendored
Normal file
79
build/node_modules/@pwa/manifest/node_modules/read-pkg/readme.md
generated
vendored
Normal file
@@ -0,0 +1,79 @@
|
||||
# read-pkg [](https://travis-ci.org/sindresorhus/read-pkg)
|
||||
|
||||
> Read a package.json file
|
||||
|
||||
|
||||
## Why
|
||||
|
||||
- [Gracefully handles filesystem issues](https://github.com/isaacs/node-graceful-fs)
|
||||
- [Strips UTF-8 BOM](https://github.com/sindresorhus/strip-bom)
|
||||
- [Throws more helpful JSON errors](https://github.com/sindresorhus/parse-json)
|
||||
- [Normalizes the data](https://github.com/npm/normalize-package-data#what-normalization-currently-entails)
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
```
|
||||
$ npm install --save read-pkg
|
||||
```
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
const readPkg = require('read-pkg');
|
||||
|
||||
readPkg().then(pkg => {
|
||||
console.log(pkg);
|
||||
//=> {name: 'read-pkg', ...}
|
||||
});
|
||||
|
||||
readPkg(__dirname).then(pkg => {
|
||||
console.log(pkg);
|
||||
//=> {name: 'read-pkg', ...}
|
||||
});
|
||||
|
||||
readPkg(path.join('unicorn', 'package.json')).then(pkg => {
|
||||
console.log(pkg);
|
||||
//=> {name: 'read-pkg', ...}
|
||||
});
|
||||
```
|
||||
|
||||
|
||||
## API
|
||||
|
||||
### readPkg([path], [options])
|
||||
|
||||
Returns a `Promise` for the parsed JSON.
|
||||
|
||||
### readPkg.sync([path], [options])
|
||||
|
||||
Returns the parsed JSON.
|
||||
|
||||
#### path
|
||||
|
||||
Type: `string`<br>
|
||||
Default: `.`
|
||||
|
||||
Path to a `package.json` file or its directory.
|
||||
|
||||
#### options
|
||||
|
||||
##### normalize
|
||||
|
||||
Type: `boolean`<br>
|
||||
Default: `true`
|
||||
|
||||
[Normalize](https://github.com/npm/normalize-package-data#what-normalization-currently-entails) the package data.
|
||||
|
||||
|
||||
## Related
|
||||
|
||||
- [read-pkg-up](https://github.com/sindresorhus/read-pkg-up) - Read the closest package.json file
|
||||
- [write-pkg](https://github.com/sindresorhus/write-pkg) - Write a `package.json` file
|
||||
- [load-json-file](https://github.com/sindresorhus/load-json-file) - Read and parse a JSON file
|
||||
|
||||
|
||||
## License
|
||||
|
||||
MIT © [Sindre Sorhus](https://sindresorhus.com)
|
||||
9
build/node_modules/@pwa/manifest/node_modules/restore-cursor/index.js
generated
vendored
Normal file
9
build/node_modules/@pwa/manifest/node_modules/restore-cursor/index.js
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
'use strict';
|
||||
const onetime = require('onetime');
|
||||
const signalExit = require('signal-exit');
|
||||
|
||||
module.exports = onetime(() => {
|
||||
signalExit(() => {
|
||||
process.stderr.write('\u001b[?25h');
|
||||
}, {alwaysLast: true});
|
||||
});
|
||||
21
build/node_modules/@pwa/manifest/node_modules/restore-cursor/license
generated
vendored
Normal file
21
build/node_modules/@pwa/manifest/node_modules/restore-cursor/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.
|
||||
76
build/node_modules/@pwa/manifest/node_modules/restore-cursor/package.json
generated
vendored
Normal file
76
build/node_modules/@pwa/manifest/node_modules/restore-cursor/package.json
generated
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
{
|
||||
"_from": "restore-cursor@^2.0.0",
|
||||
"_id": "restore-cursor@2.0.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
|
||||
"_location": "/@pwa/manifest/restore-cursor",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "restore-cursor@^2.0.0",
|
||||
"name": "restore-cursor",
|
||||
"escapedName": "restore-cursor",
|
||||
"rawSpec": "^2.0.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^2.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@pwa/manifest/cli-cursor"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
|
||||
"_shasum": "9f7ee287f82fd326d4fd162923d62129eee0dfaf",
|
||||
"_spec": "restore-cursor@^2.0.0",
|
||||
"_where": "/Users/asciidisco/Desktop/asciidisco.com/build/node_modules/@pwa/manifest/node_modules/cli-cursor",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/restore-cursor/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"onetime": "^2.0.0",
|
||||
"signal-exit": "^3.0.2"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Gracefully restore the CLI cursor on exit",
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"homepage": "https://github.com/sindresorhus/restore-cursor#readme",
|
||||
"keywords": [
|
||||
"exit",
|
||||
"quit",
|
||||
"process",
|
||||
"graceful",
|
||||
"shutdown",
|
||||
"sigterm",
|
||||
"sigint",
|
||||
"terminate",
|
||||
"kill",
|
||||
"stop",
|
||||
"cli",
|
||||
"cursor",
|
||||
"ansi",
|
||||
"show",
|
||||
"term",
|
||||
"terminal",
|
||||
"console",
|
||||
"tty",
|
||||
"shell",
|
||||
"command-line"
|
||||
],
|
||||
"license": "MIT",
|
||||
"name": "restore-cursor",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/restore-cursor.git"
|
||||
},
|
||||
"version": "2.0.0"
|
||||
}
|
||||
25
build/node_modules/@pwa/manifest/node_modules/restore-cursor/readme.md
generated
vendored
Normal file
25
build/node_modules/@pwa/manifest/node_modules/restore-cursor/readme.md
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
# restore-cursor
|
||||
|
||||
> Gracefully restore the CLI cursor on exit
|
||||
|
||||
Prevent the cursor you've hidden interactively from remaining hidden if the process crashes.
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
```
|
||||
$ npm install --save restore-cursor
|
||||
```
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
const restoreCursor = require('restore-cursor');
|
||||
restoreCursor();
|
||||
```
|
||||
|
||||
|
||||
## License
|
||||
|
||||
MIT © [Sindre Sorhus](https://sindresorhus.com)
|
||||
21
build/node_modules/@pwa/manifest/node_modules/run-async/LICENSE
generated
vendored
Normal file
21
build/node_modules/@pwa/manifest/node_modules/run-async/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2014 Simon Boudrias
|
||||
|
||||
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
build/node_modules/@pwa/manifest/node_modules/run-async/README.md
generated
vendored
Normal file
79
build/node_modules/@pwa/manifest/node_modules/run-async/README.md
generated
vendored
Normal file
@@ -0,0 +1,79 @@
|
||||
Run Async
|
||||
=========
|
||||
|
||||
[](http://badge.fury.io/js/run-async) [](http://travis-ci.org/SBoudrias/run-async) [](https://david-dm.org/SBoudrias/run-async)
|
||||
|
||||
Utility method to run a function either synchronously or asynchronously using a series of common patterns. This is useful for library author accepting sync or async functions as parameter. `runAsync` will always run them as an async method, and normalize the multiple signature.
|
||||
|
||||
Installation
|
||||
=========
|
||||
|
||||
```bash
|
||||
npm install --save run-async
|
||||
```
|
||||
|
||||
Usage
|
||||
=========
|
||||
|
||||
Here's a simple example print the function results and three options a user can provide a function.
|
||||
|
||||
```js
|
||||
var runAsync = require('run-async');
|
||||
|
||||
var printAfter = function (func) {
|
||||
var cb = function (err, returnValue) {
|
||||
console.log(returnValue);
|
||||
};
|
||||
runAsync(func, cb)(/* arguments for func */);
|
||||
};
|
||||
```
|
||||
|
||||
#### Using `this.async`
|
||||
```js
|
||||
printAfter(function () {
|
||||
var done = this.async();
|
||||
|
||||
setTimeout(function () {
|
||||
done(null, 'done running with callback');
|
||||
}, 10);
|
||||
});
|
||||
```
|
||||
|
||||
#### Returning a promise
|
||||
```js
|
||||
printAfter(function () {
|
||||
return new Promise(function (resolve, reject) {
|
||||
resolve('done running with promises');
|
||||
});
|
||||
});
|
||||
```
|
||||
|
||||
#### Synchronous function
|
||||
```js
|
||||
printAfter(function () {
|
||||
return 'done running sync function';
|
||||
});
|
||||
```
|
||||
|
||||
### runAsync.cb
|
||||
|
||||
`runAsync.cb` supports all the function types that `runAsync` does and additionally a traditional **callback as the last argument** signature:
|
||||
|
||||
```js
|
||||
var runAsync = require('run-async');
|
||||
|
||||
// IMPORTANT: The wrapped function must have a fixed number of parameters.
|
||||
runAsync.cb(function(a, b, cb) {
|
||||
cb(null, a + b);
|
||||
}, function(err, result) {
|
||||
console.log(result)
|
||||
})(1, 2)
|
||||
```
|
||||
|
||||
If your version of node support Promises natively (node >= 0.12), `runAsync` will return a promise. Example: `runAsync(func)(arg1, arg2).then(cb)`
|
||||
|
||||
Licence
|
||||
========
|
||||
|
||||
Copyright (c) 2014 Simon Boudrias (twitter: @vaxilart)
|
||||
Licensed under the MIT license.
|
||||
61
build/node_modules/@pwa/manifest/node_modules/run-async/index.js
generated
vendored
Normal file
61
build/node_modules/@pwa/manifest/node_modules/run-async/index.js
generated
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
'use strict';
|
||||
|
||||
var isPromise = require('is-promise');
|
||||
|
||||
/**
|
||||
* Return a function that will run a function asynchronously or synchronously
|
||||
*
|
||||
* example:
|
||||
* runAsync(wrappedFunction, callback)(...args);
|
||||
*
|
||||
* @param {Function} func Function to run
|
||||
* @param {Function} cb Callback function passed the `func` returned value
|
||||
* @return {Function(arguments)} Arguments to pass to `func`. This function will in turn
|
||||
* return a Promise (Node >= 0.12) or call the callbacks.
|
||||
*/
|
||||
|
||||
var runAsync = module.exports = function (func, cb) {
|
||||
cb = cb || function () {};
|
||||
|
||||
return function () {
|
||||
var async = false;
|
||||
var args = arguments;
|
||||
|
||||
var promise = new Promise(function (resolve, reject) {
|
||||
var answer = func.apply({
|
||||
async: function () {
|
||||
async = true;
|
||||
return function (err, value) {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve(value);
|
||||
}
|
||||
};
|
||||
}
|
||||
}, Array.prototype.slice.call(args));
|
||||
|
||||
if (!async) {
|
||||
if (isPromise(answer)) {
|
||||
answer.then(resolve, reject);
|
||||
} else {
|
||||
resolve(answer);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
promise.then(cb.bind(null, null), cb);
|
||||
|
||||
return promise;
|
||||
}
|
||||
};
|
||||
|
||||
runAsync.cb = function (func, cb) {
|
||||
return runAsync(function () {
|
||||
var args = Array.prototype.slice.call(arguments);
|
||||
if (args.length === func.length - 1) {
|
||||
args.push(this.async());
|
||||
}
|
||||
return func.apply(this, args);
|
||||
}, cb);
|
||||
};
|
||||
64
build/node_modules/@pwa/manifest/node_modules/run-async/package.json
generated
vendored
Normal file
64
build/node_modules/@pwa/manifest/node_modules/run-async/package.json
generated
vendored
Normal file
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"_from": "run-async@^2.2.0",
|
||||
"_id": "run-async@2.3.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
|
||||
"_location": "/@pwa/manifest/run-async",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "run-async@^2.2.0",
|
||||
"name": "run-async",
|
||||
"escapedName": "run-async",
|
||||
"rawSpec": "^2.2.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^2.2.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@pwa/manifest/inquirer"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
|
||||
"_shasum": "0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0",
|
||||
"_spec": "run-async@^2.2.0",
|
||||
"_where": "/Users/asciidisco/Desktop/asciidisco.com/build/node_modules/@pwa/manifest/node_modules/inquirer",
|
||||
"author": {
|
||||
"name": "Simon Boudrias",
|
||||
"email": "admin@simonboudrias.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/SBoudrias/run-async/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"is-promise": "^2.1.0"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Utility method to run function either synchronously or asynchronously using the common `this.async()` style.",
|
||||
"devDependencies": {
|
||||
"mocha": "^3.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.12.0"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"homepage": "https://github.com/SBoudrias/run-async#readme",
|
||||
"keywords": [
|
||||
"flow",
|
||||
"flow-control",
|
||||
"async"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "index.js",
|
||||
"name": "run-async",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/SBoudrias/run-async.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "mocha -R spec"
|
||||
},
|
||||
"version": "2.3.0"
|
||||
}
|
||||
65
build/node_modules/@pwa/manifest/node_modules/rx-lite/package.json
generated
vendored
Normal file
65
build/node_modules/@pwa/manifest/node_modules/rx-lite/package.json
generated
vendored
Normal file
@@ -0,0 +1,65 @@
|
||||
{
|
||||
"_from": "rx-lite@^4.0.8",
|
||||
"_id": "rx-lite@4.0.8",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=",
|
||||
"_location": "/@pwa/manifest/rx-lite",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "rx-lite@^4.0.8",
|
||||
"name": "rx-lite",
|
||||
"escapedName": "rx-lite",
|
||||
"rawSpec": "^4.0.8",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^4.0.8"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@pwa/manifest/inquirer"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz",
|
||||
"_shasum": "0b1e11af8bc44836f04a6407e92da42467b79444",
|
||||
"_spec": "rx-lite@^4.0.8",
|
||||
"_where": "/Users/asciidisco/Desktop/asciidisco.com/build/node_modules/@pwa/manifest/node_modules/inquirer",
|
||||
"author": {
|
||||
"name": "Cloud Programmability Team",
|
||||
"url": "https://github.com/Reactive-Extensions/RxJS/blob/master/authors.txt"
|
||||
},
|
||||
"browser": {
|
||||
"index.js": "rx.lite.js"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/Reactive-Extensions/RxJS/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {},
|
||||
"deprecated": false,
|
||||
"description": "Lightweight library for composing asynchronous and event-based operations in JavaScript",
|
||||
"devDependencies": {},
|
||||
"homepage": "https://github.com/Reactive-Extensions/RxJS",
|
||||
"jam": {
|
||||
"main": "rx.lite.js"
|
||||
},
|
||||
"keywords": [
|
||||
"React",
|
||||
"Reactive",
|
||||
"Events",
|
||||
"Rx",
|
||||
"RxJS"
|
||||
],
|
||||
"licenses": [
|
||||
{
|
||||
"type": "Apache License, Version 2.0",
|
||||
"url": "http://www.apache.org/licenses/LICENSE-2.0.html"
|
||||
}
|
||||
],
|
||||
"main": "rx.lite.js",
|
||||
"name": "rx-lite",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/Reactive-Extensions/RxJS.git"
|
||||
},
|
||||
"title": "Reactive Extensions for JavaScript (RxJS) Lite",
|
||||
"version": "4.0.8"
|
||||
}
|
||||
173
build/node_modules/@pwa/manifest/node_modules/rx-lite/readme.md
generated
vendored
Normal file
173
build/node_modules/@pwa/manifest/node_modules/rx-lite/readme.md
generated
vendored
Normal file
@@ -0,0 +1,173 @@
|
||||
# RxJS Lite Module #
|
||||
|
||||
The Reactive Extensions for JavaScript Lite version is a lightweight version of the Reactive Extensions for JavaScript which covers most of the day to day operators you might use all in a single library. Functionality such as bridging to events, promises, callbacks, Node.js-style callbacks, time-based operations and more are built right in. This comes with `rx.lite.js` which is for use in modern development environments such as > IE9 and server-side environments such as Node.js.
|
||||
|
||||
## Getting Started
|
||||
|
||||
There are a number of ways to get started with RxJS.
|
||||
|
||||
### Installing with [NPM](https://npmjs.org/)
|
||||
|
||||
```bash`
|
||||
$ npm install rx-lite
|
||||
$ npm install -g rx-lite
|
||||
```
|
||||
|
||||
### Using with Node.js and Ringo.js
|
||||
|
||||
```js
|
||||
var Rx = require('rx-lite');
|
||||
```
|
||||
|
||||
### In a Browser:
|
||||
|
||||
```html
|
||||
<!-- Just the core RxJS -->
|
||||
<script src="path/to/rx.lite.js"></script>
|
||||
```
|
||||
|
||||
## Included Observable Operators ##
|
||||
|
||||
### `Observable Methods`
|
||||
- [`catch | catchException`](../../doc/api/core/operators/catch.md)
|
||||
- [`concat`](../../doc/api/core/operators/concat.md)
|
||||
- [`create | createWithDisposable`](../../doc/api/core/operators/create.md)
|
||||
- [`defer`](../../doc/api/core/operators/defer.md)
|
||||
- [`empty`](../../doc/api/core/operators/empty.md)
|
||||
- [`from`](../../doc/api/core/operators/from.md)
|
||||
- [`fromArray`](../../doc/api/core/operators/fromarray.md)
|
||||
- [`fromCallback`](../../doc/api/core/operators/fromcallback.md)
|
||||
- [`fromEvent`](../../doc/api/core/operators/fromevent.md)
|
||||
- [`fromEventPattern`](../../doc/api/core/operators/fromeventpattern.md)
|
||||
- [`fromNodeCallback`](../../doc/api/core/operators/fromnodecallback.md)
|
||||
- [`fromPromise`](../../doc/api/core/operators/frompromise.md)
|
||||
- [`interval`](../../doc/api/core/operators/interval.md)
|
||||
- [`just`](../../doc/api/core/operators/return.md)
|
||||
- [`merge`](../../doc/api/core/operators/merge.md)
|
||||
- [`mergeDelayError`](../../doc/api/core/operators/mergedelayerror.md)
|
||||
- [`never`](../../doc/api/core/operators/never.md)
|
||||
- [`of`](../../doc/api/core/operators/of.md)
|
||||
- [`ofWithScheduler`](../../doc/api/core/operators/ofwithscheduler.md)
|
||||
- [`range`](../../doc/api/core/operators/range.md)
|
||||
- [`repeat`](../../doc/api/core/operators/repeat.md)
|
||||
- [`return | returnValue`](../../doc/api/core/operators/return.md)
|
||||
- [`throw | throwError | throwException`](../../doc/api/core/operators/throw.md)
|
||||
- [`timer`](../../doc/api/core/operators/timer.md)
|
||||
- [`zip`](../../doc/api/core/operators/zip.md)
|
||||
- [`zipArray`](../../doc/api/core/operators/ziparray.md)
|
||||
|
||||
### `Observable Instance Methods`
|
||||
- [`asObservable`](../../doc/api/core/operators/asobservable.md)
|
||||
- [`catch | catchException`](../../doc/api/core/operators/catchproto.md)
|
||||
- [`combineLatest`](../../doc/api/core/operators/combinelatest.md)
|
||||
- [`concat`](../../doc/api/core/operators/concatproto.md)
|
||||
- [`concatMap`](../../doc/api/core/operators/concatmap.md)
|
||||
- [`connect`](../../doc/api/core/operators/connect.md)
|
||||
- [`debounce`](../../doc/api/core/operators/debounce.md)
|
||||
- [`defaultIfEmpty`](../../doc/api/core/operators/defaultifempty.md)
|
||||
- [`delay`](../../doc/api/core/operators/delay.md)
|
||||
- [`dematerialize`](../../doc/api/core/operators/dematerialize.md)
|
||||
- [`distinctUntilChanged`](../../doc/api/core/operators/distinctuntilchanged.md)
|
||||
- [`do | doAction`](../../doc/api/core/operators/do.md)
|
||||
- [`doOnNext`](../../doc/api/core/operators/doonnext.md)
|
||||
- [`doOnError`](../../doc/api/core/operators/doonerror.md)
|
||||
- [`doOnCompleted`](../../doc/api/core/operators/dooncompleted.md)
|
||||
- [`filter`](../../doc/api/core/operators/where.md)
|
||||
- [`finally | finallyAction`](../../doc/api/core/operators/finally.md)
|
||||
- [`flatMap`](../../doc/api/core/operators/selectmany.md)
|
||||
- [`flatMapLatest`](../../doc/api/core/operators/flatmaplatest.md)
|
||||
- [`ignoreElements`](../../doc/api/core/operators/ignoreelements.md)
|
||||
- [`map`](../../doc/api/core/operators/select.md)
|
||||
- [`merge`](../../doc/api/core/operators/mergeproto.md)
|
||||
- [`mergeObservable | mergeAll`](../../doc/api/core/operators/mergeall.md)
|
||||
- [`multicast`](../../doc/api/core/operators/multicast.md)
|
||||
- [`publish`](../../doc/api/core/operators/publish.md)
|
||||
- [`publishLast`](../../doc/api/core/operators/publishlast.md)
|
||||
- [`publishValue`](../../doc/api/core/operators/publishvalue.md)
|
||||
- [`refCount`](../../doc/api/core/operators/refcount.md)
|
||||
- [`repeat`](../../doc/api/core/operators/repeat.md)
|
||||
- [`replay`](../../doc/api/core/operators/replay.md)
|
||||
- [`retry`](../../doc/api/core/operators/retry.md)
|
||||
- [`retryWhen`](../../doc/api/core/operators/retrywhen.md)
|
||||
- [`sample`](../../doc/api/core/operators/sample.md)
|
||||
- [`scan`](../../doc/api/core/operators/scan.md)
|
||||
- [`select`](../../doc/api/core/operators/select.md)
|
||||
- [`selectConcat`](../../doc/api/core/operators/concatmap.md)
|
||||
- [`selectMany`](../../doc/api/core/operators/selectmany.md)
|
||||
- [`selectSwitch`](../../doc/api/core/operators/flatmaplatest.md)
|
||||
- [`singleInstance`](../../doc/api/core/operators/singleinstance.md)
|
||||
- [`skip`](../../doc/api/core/operators/skip.md)
|
||||
- [`skipLast`](../../doc/api/core/operators/skiplast.md)
|
||||
- [`skipUntil`](../../doc/api/core/operators/skipuntil.md)
|
||||
- [`skipWhile`](../../doc/api/core/operators/skipwhile.md)
|
||||
- [`startWith`](../../doc/api/core/operators/startwith.md)
|
||||
- [`subscribe | forEach`](../../doc/api/core/operators/subscribe.md)
|
||||
- [`subscribeOnNext`](../../doc/api/core/operators/subscribeonnext.md)
|
||||
- [`subscribeOnError`](../../doc/api/core/operators/subscribeonerror.md)
|
||||
- [`subscribeOnCompleted`](../../doc/api/core/operators/subscribeoncompleted.md)
|
||||
- [`switch | switchLatest`](../../doc/api/core/operators/switch.md)
|
||||
- [`take`](../../doc/api/core/operators/take.md)
|
||||
- [`takeLast`](../../doc/api/core/operators/takelast.md)
|
||||
- [`takeUntil`](../../doc/api/core/operators/takeuntil.md)
|
||||
- [`takeWhile`](../../doc/api/core/operators/takewhile.md)
|
||||
- [`tap`](../../doc/api/core/operators/do.md)
|
||||
- [`tapOnNext`](../../doc/api/core/operators/doonnext.md)
|
||||
- [`tapOnError`](../../doc/api/core/operators/doonerror.md)
|
||||
- [`tapOnCompleted`](../../doc/api/core/operators/dooncompleted.md)
|
||||
- [`throttle`](../../doc/api/core/operators/throttle.md)
|
||||
- [`timeout`](../../doc/api/core/operators/timeout.md)
|
||||
- [`timestamp`](../../doc/api/core/operators/timestamp.md)
|
||||
- [`toArray`](../../doc/api/core/operators/toarray.md)
|
||||
- [`transduce`](../../doc/api/core/operators/transduce.md)
|
||||
- [`where`](../../doc/api/core/operators/where.md)
|
||||
- [`withLatestFrom`](../../doc/api/core/operators/withlatestfrom.md)
|
||||
- [`zip`](../../doc/api/core/operators/zipproto.md)
|
||||
|
||||
## Included Classes ##
|
||||
|
||||
### Core Objects
|
||||
- [`Rx.Observer`](../../doc/api/core/observer.md)
|
||||
- [`Rx.Notification`](../../doc/api/core/notification.md)
|
||||
|
||||
### Subjects
|
||||
|
||||
- [`Rx.AsyncSubject`](../../doc/api/subjects/asyncsubject.md)
|
||||
- [`Rx.BehaviorSubject`](../../doc/api/subjects/behaviorsubject.md)
|
||||
- [`Rx.ReplaySubject`](../../doc/api/subjects/replaysubject.md)
|
||||
- [`Rx.Subject`](../../doc/api/subjects/subject.md)
|
||||
|
||||
### Schedulers
|
||||
|
||||
- [`Rx.Scheduler`](../../doc/api/schedulers/scheduler.md)
|
||||
|
||||
### Disposables
|
||||
|
||||
- [`Rx.CompositeDisposable`](../../doc/api/disposables/compositedisposable.md)
|
||||
- [`Rx.Disposable`](../../doc/api/disposables/disposable.md)
|
||||
- [`Rx.RefCountDisposable`](../../doc/api/disposables/refcountdisposable.md)
|
||||
- [`Rx.SerialDisposable`](../../doc/api/disposables/serialdisposable.md)
|
||||
- [`Rx.SingleAssignmentDisposable`](../../doc/api/disposables/singleassignmentdisposable.md)
|
||||
|
||||
## Contributing ##
|
||||
|
||||
There are lots of ways to contribute to the project, and we appreciate our [contributors](https://github.com/Reactive-Extensions/RxJS/wiki/Contributors). If you wish to contribute, check out our [style guide]((https://github.com/Reactive-Extensions/RxJS/tree/master/doc/contributing)).
|
||||
|
||||
You can contribute by reviewing and sending feedback on code checkins, suggesting and trying out new features as they are implemented, submit bugs and help us verify fixes as they are checked in, as well as submit code fixes or code contributions of your own. Note that all code submissions will be rigorously reviewed and tested by the Rx Team, and only those that meet an extremely high bar for both quality and design/roadmap appropriateness will be merged into the source.
|
||||
|
||||
## License ##
|
||||
|
||||
Copyright (c) Microsoft Open Technologies, Inc. All rights reserved.
|
||||
Microsoft Open Technologies would like to thank its contributors, a list
|
||||
of whom are at https://github.com/Reactive-Extensions/RxJS/wiki/Contributors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License"); you
|
||||
may not use this file except in compliance with the License. You may
|
||||
obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied. See the License for the specific language governing permissions
|
||||
and limitations under the License.
|
||||
7054
build/node_modules/@pwa/manifest/node_modules/rx-lite/rx.lite.js
generated
vendored
Normal file
7054
build/node_modules/@pwa/manifest/node_modules/rx-lite/rx.lite.js
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
build/node_modules/@pwa/manifest/node_modules/rx-lite/rx.lite.map
generated
vendored
Normal file
1
build/node_modules/@pwa/manifest/node_modules/rx-lite/rx.lite.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user