diff --git a/node_modules/.bin/acorn b/node_modules/.bin/acorn
deleted file mode 100644
index 261da85..0000000
--- a/node_modules/.bin/acorn
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=`dirname "$0"`
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../acorn/bin/acorn" "$@"
- ret=$?
-else
- node "$basedir/../acorn/bin/acorn" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/node_modules/.bin/acorn.cmd b/node_modules/.bin/acorn.cmd
deleted file mode 100644
index 45c0c3d..0000000
--- a/node_modules/.bin/acorn.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\acorn\bin\acorn" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\acorn\bin\acorn" %*
-)
\ No newline at end of file
diff --git a/node_modules/.bin/cleancss b/node_modules/.bin/cleancss
deleted file mode 100644
index 7341641..0000000
--- a/node_modules/.bin/cleancss
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=`dirname "$0"`
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../clean-css/bin/cleancss" "$@"
- ret=$?
-else
- node "$basedir/../clean-css/bin/cleancss" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/node_modules/.bin/cleancss.cmd b/node_modules/.bin/cleancss.cmd
deleted file mode 100644
index ce4efa2..0000000
--- a/node_modules/.bin/cleancss.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\clean-css\bin\cleancss" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\clean-css\bin\cleancss" %*
-)
\ No newline at end of file
diff --git a/node_modules/.bin/errno b/node_modules/.bin/errno
deleted file mode 100644
index 9532c97..0000000
--- a/node_modules/.bin/errno
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../errno/cli.js" "$@"
- ret=$?
-else
- node "$basedir/../errno/cli.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/node_modules/.bin/errno.cmd b/node_modules/.bin/errno.cmd
deleted file mode 100644
index 3b337b4..0000000
--- a/node_modules/.bin/errno.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\errno\cli.js" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\errno\cli.js" %*
-)
\ No newline at end of file
diff --git a/node_modules/.bin/image-size b/node_modules/.bin/image-size
deleted file mode 100644
index 0380071..0000000
--- a/node_modules/.bin/image-size
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../image-size/bin/image-size.js" "$@"
- ret=$?
-else
- node "$basedir/../image-size/bin/image-size.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/node_modules/.bin/image-size.cmd b/node_modules/.bin/image-size.cmd
deleted file mode 100644
index d81c582..0000000
--- a/node_modules/.bin/image-size.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\image-size\bin\image-size.js" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\image-size\bin\image-size.js" %*
-)
\ No newline at end of file
diff --git a/node_modules/.bin/jade b/node_modules/.bin/jade
deleted file mode 100644
index e4e88cb..0000000
--- a/node_modules/.bin/jade
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=`dirname "$0"`
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../pug/bin/jade.js" "$@"
- ret=$?
-else
- node "$basedir/../pug/bin/jade.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/node_modules/.bin/jade.cmd b/node_modules/.bin/jade.cmd
deleted file mode 100644
index 265cf65..0000000
--- a/node_modules/.bin/jade.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\pug\bin\jade.js" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\pug\bin\jade.js" %*
-)
\ No newline at end of file
diff --git a/node_modules/.bin/lessc b/node_modules/.bin/lessc
deleted file mode 100644
index a20538f..0000000
--- a/node_modules/.bin/lessc
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../less/bin/lessc" "$@"
- ret=$?
-else
- node "$basedir/../less/bin/lessc" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/node_modules/.bin/lessc.cmd b/node_modules/.bin/lessc.cmd
deleted file mode 100644
index 3a58879..0000000
--- a/node_modules/.bin/lessc.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\less\bin\lessc" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\less\bin\lessc" %*
-)
\ No newline at end of file
diff --git a/node_modules/.bin/mime b/node_modules/.bin/mime
deleted file mode 100644
index 0dbddf0..0000000
--- a/node_modules/.bin/mime
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../mime/cli.js" "$@"
- ret=$?
-else
- node "$basedir/../mime/cli.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/node_modules/.bin/mime.cmd b/node_modules/.bin/mime.cmd
deleted file mode 100644
index 8169562..0000000
--- a/node_modules/.bin/mime.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\mime\cli.js" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\mime\cli.js" %*
-)
\ No newline at end of file
diff --git a/node_modules/.bin/mkdirp b/node_modules/.bin/mkdirp
deleted file mode 100644
index 958ff64..0000000
--- a/node_modules/.bin/mkdirp
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=`dirname "$0"`
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../mkdirp/bin/cmd.js" "$@"
- ret=$?
-else
- node "$basedir/../mkdirp/bin/cmd.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/node_modules/.bin/mkdirp.cmd b/node_modules/.bin/mkdirp.cmd
deleted file mode 100644
index 0d2cdd7..0000000
--- a/node_modules/.bin/mkdirp.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\mkdirp\bin\cmd.js" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\mkdirp\bin\cmd.js" %*
-)
\ No newline at end of file
diff --git a/node_modules/.bin/pug b/node_modules/.bin/pug
deleted file mode 100644
index 1a2796b..0000000
--- a/node_modules/.bin/pug
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=`dirname "$0"`
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../pug-cli/index.js" "$@"
- ret=$?
-else
- node "$basedir/../pug-cli/index.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/node_modules/.bin/pug.cmd b/node_modules/.bin/pug.cmd
deleted file mode 100644
index 525efc1..0000000
--- a/node_modules/.bin/pug.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\pug-cli\index.js" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\pug-cli\index.js" %*
-)
\ No newline at end of file
diff --git a/node_modules/.bin/sshpk-conv b/node_modules/.bin/sshpk-conv
deleted file mode 100644
index c9c2987..0000000
--- a/node_modules/.bin/sshpk-conv
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../sshpk/bin/sshpk-conv" "$@"
- ret=$?
-else
- node "$basedir/../sshpk/bin/sshpk-conv" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/node_modules/.bin/sshpk-conv.cmd b/node_modules/.bin/sshpk-conv.cmd
deleted file mode 100644
index dde70b0..0000000
--- a/node_modules/.bin/sshpk-conv.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\sshpk\bin\sshpk-conv" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\sshpk\bin\sshpk-conv" %*
-)
\ No newline at end of file
diff --git a/node_modules/.bin/sshpk-sign b/node_modules/.bin/sshpk-sign
deleted file mode 100644
index 1a92124..0000000
--- a/node_modules/.bin/sshpk-sign
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../sshpk/bin/sshpk-sign" "$@"
- ret=$?
-else
- node "$basedir/../sshpk/bin/sshpk-sign" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/node_modules/.bin/sshpk-sign.cmd b/node_modules/.bin/sshpk-sign.cmd
deleted file mode 100644
index 45025ec..0000000
--- a/node_modules/.bin/sshpk-sign.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\sshpk\bin\sshpk-sign" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\sshpk\bin\sshpk-sign" %*
-)
\ No newline at end of file
diff --git a/node_modules/.bin/sshpk-verify b/node_modules/.bin/sshpk-verify
deleted file mode 100644
index 597a66b..0000000
--- a/node_modules/.bin/sshpk-verify
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../sshpk/bin/sshpk-verify" "$@"
- ret=$?
-else
- node "$basedir/../sshpk/bin/sshpk-verify" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/node_modules/.bin/sshpk-verify.cmd b/node_modules/.bin/sshpk-verify.cmd
deleted file mode 100644
index 1b5fc0c..0000000
--- a/node_modules/.bin/sshpk-verify.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\sshpk\bin\sshpk-verify" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\sshpk\bin\sshpk-verify" %*
-)
\ No newline at end of file
diff --git a/node_modules/.bin/uglifyjs b/node_modules/.bin/uglifyjs
deleted file mode 100644
index 27606b8..0000000
--- a/node_modules/.bin/uglifyjs
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=`dirname "$0"`
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../uglify-js/bin/uglifyjs" "$@"
- ret=$?
-else
- node "$basedir/../uglify-js/bin/uglifyjs" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/node_modules/.bin/uglifyjs.cmd b/node_modules/.bin/uglifyjs.cmd
deleted file mode 100644
index 3306013..0000000
--- a/node_modules/.bin/uglifyjs.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\uglify-js\bin\uglifyjs" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\uglify-js\bin\uglifyjs" %*
-)
\ No newline at end of file
diff --git a/node_modules/.bin/uuid b/node_modules/.bin/uuid
deleted file mode 100644
index f3bfcf4..0000000
--- a/node_modules/.bin/uuid
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../uuid/bin/uuid" "$@"
- ret=$?
-else
- node "$basedir/../uuid/bin/uuid" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/node_modules/.bin/uuid.cmd b/node_modules/.bin/uuid.cmd
deleted file mode 100644
index da52d68..0000000
--- a/node_modules/.bin/uuid.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\uuid\bin\uuid" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\uuid\bin\uuid" %*
-)
\ No newline at end of file
diff --git a/node_modules/acorn-globals/LICENSE b/node_modules/acorn-globals/LICENSE
deleted file mode 100644
index 27cc9f3..0000000
--- a/node_modules/acorn-globals/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2014 Forbes Lindesay
-
-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.
\ No newline at end of file
diff --git a/node_modules/acorn-globals/README.md b/node_modules/acorn-globals/README.md
deleted file mode 100644
index d8cd372..0000000
--- a/node_modules/acorn-globals/README.md
+++ /dev/null
@@ -1,76 +0,0 @@
-# acorn-globals
-
-Detect global variables in JavaScript using acorn
-
-[![Build Status](https://img.shields.io/travis/ForbesLindesay/acorn-globals/master.svg)](https://travis-ci.org/ForbesLindesay/acorn-globals)
-[![Dependency Status](https://img.shields.io/david/ForbesLindesay/acorn-globals.svg)](https://david-dm.org/ForbesLindesay/acorn-globals)
-[![NPM version](https://img.shields.io/npm/v/acorn-globals.svg)](https://www.npmjs.org/package/acorn-globals)
-
-## Installation
-
- npm install acorn-globals
-
-## Usage
-
-detect.js
-
-```js
-var fs = require('fs');
-var detect = require('acorn-globals');
-
-var src = fs.readFileSync(__dirname + '/input.js', 'utf8');
-
-var scope = detect(src);
-console.dir(scope);
-```
-
-input.js
-
-```js
-var x = 5;
-var y = 3, z = 2;
-
-w.foo();
-w = 2;
-
-RAWR=444;
-RAWR.foo();
-
-BLARG=3;
-
-foo(function () {
- var BAR = 3;
- process.nextTick(function (ZZZZZZZZZZZZ) {
- console.log('beep boop');
- var xyz = 4;
- x += 10;
- x.zzzzzz;
- ZZZ=6;
- });
- function doom () {
- }
- ZZZ.foo();
-
-});
-
-console.log(xyz);
-```
-
-output:
-
-```
-$ node example/detect.js
-[ { name: 'BLARG', nodes: [ [Object] ] },
- { name: 'RAWR', nodes: [ [Object], [Object] ] },
- { name: 'ZZZ', nodes: [ [Object], [Object] ] },
- { name: 'console', nodes: [ [Object], [Object] ] },
- { name: 'foo', nodes: [ [Object] ] },
- { name: 'process', nodes: [ [Object] ] },
- { name: 'w', nodes: [ [Object], [Object] ] },
- { name: 'xyz', nodes: [ [Object] ] } ]
-```
-
-
-## License
-
- MIT
diff --git a/node_modules/acorn-globals/index.js b/node_modules/acorn-globals/index.js
deleted file mode 100644
index fc95182..0000000
--- a/node_modules/acorn-globals/index.js
+++ /dev/null
@@ -1,163 +0,0 @@
-'use strict';
-
-var acorn = require('acorn');
-var walk = require('acorn/dist/walk');
-
-function isScope(node) {
- return node.type === 'FunctionExpression' || node.type === 'FunctionDeclaration' || node.type === 'ArrowFunctionExpression' || node.type === 'Program';
-}
-function isBlockScope(node) {
- return node.type === 'BlockStatement' || isScope(node);
-}
-
-function declaresArguments(node) {
- return node.type === 'FunctionExpression' || node.type === 'FunctionDeclaration';
-}
-
-function declaresThis(node) {
- return node.type === 'FunctionExpression' || node.type === 'FunctionDeclaration';
-}
-
-function reallyParse(source) {
- return acorn.parse(source, {
- allowReturnOutsideFunction: true,
- allowImportExportEverywhere: true,
- allowHashBang: true
- });
-}
-module.exports = findGlobals;
-module.exports.parse = reallyParse;
-function findGlobals(source) {
- var globals = [];
- var ast;
- // istanbul ignore else
- if (typeof source === 'string') {
- ast = reallyParse(source);
- } else {
- ast = source;
- }
- // istanbul ignore if
- if (!(ast && typeof ast === 'object' && ast.type === 'Program')) {
- throw new TypeError('Source must be either a string of JavaScript or an acorn AST');
- }
- var declareFunction = function (node) {
- var fn = node;
- fn.locals = fn.locals || {};
- node.params.forEach(function (node) {
- declarePattern(node, fn);
- });
- if (node.id) {
- fn.locals[node.id.name] = true;
- }
- }
- var declarePattern = function (node, parent) {
- switch (node.type) {
- case 'Identifier':
- parent.locals[node.name] = true;
- break;
- case 'ObjectPattern':
- node.properties.forEach(function (node) {
- declarePattern(node.value, parent);
- });
- break;
- case 'ArrayPattern':
- node.elements.forEach(function (node) {
- if (node) declarePattern(node, parent);
- });
- break;
- case 'RestElement':
- declarePattern(node.argument, parent);
- break;
- case 'AssignmentPattern':
- declarePattern(node.left, parent);
- break;
- // istanbul ignore next
- default:
- throw new Error('Unrecognized pattern type: ' + node.type);
- }
- }
- var declareModuleSpecifier = function (node, parents) {
- ast.locals = ast.locals || {};
- ast.locals[node.local.name] = true;
- }
- walk.ancestor(ast, {
- 'VariableDeclaration': function (node, parents) {
- var parent = null;
- for (var i = parents.length - 1; i >= 0 && parent === null; i--) {
- if (node.kind === 'var' ? isScope(parents[i]) : isBlockScope(parents[i])) {
- parent = parents[i];
- }
- }
- parent.locals = parent.locals || {};
- node.declarations.forEach(function (declaration) {
- declarePattern(declaration.id, parent);
- });
- },
- 'FunctionDeclaration': function (node, parents) {
- var parent = null;
- for (var i = parents.length - 2; i >= 0 && parent === null; i--) {
- if (isScope(parents[i])) {
- parent = parents[i];
- }
- }
- parent.locals = parent.locals || {};
- parent.locals[node.id.name] = true;
- declareFunction(node);
- },
- 'Function': declareFunction,
- 'ClassDeclaration': function (node, parents) {
- var parent = null;
- for (var i = parents.length - 2; i >= 0 && parent === null; i--) {
- if (isScope(parents[i])) {
- parent = parents[i];
- }
- }
- parent.locals = parent.locals || {};
- parent.locals[node.id.name] = true;
- },
- 'TryStatement': function (node) {
- if (node.handler === null) return;
- node.handler.locals = node.handler.locals || {};
- node.handler.locals[node.handler.param.name] = true;
- },
- 'ImportDefaultSpecifier': declareModuleSpecifier,
- 'ImportSpecifier': declareModuleSpecifier,
- 'ImportNamespaceSpecifier': declareModuleSpecifier
- });
- function identifier(node, parents) {
- var name = node.name;
- if (name === 'undefined') return;
- for (var i = 0; i < parents.length; i++) {
- if (name === 'arguments' && declaresArguments(parents[i])) {
- return;
- }
- if (parents[i].locals && name in parents[i].locals) {
- return;
- }
- }
- node.parents = parents;
- globals.push(node);
- }
- walk.ancestor(ast, {
- 'VariablePattern': identifier,
- 'Identifier': identifier,
- 'ThisExpression': function (node, parents) {
- for (var i = 0; i < parents.length; i++) {
- if (declaresThis(parents[i])) {
- return;
- }
- }
- node.parents = parents;
- globals.push(node);
- }
- });
- var groupedGlobals = {};
- globals.forEach(function (node) {
- var name = node.type === 'ThisExpression' ? 'this' : node.name;
- groupedGlobals[name] = (groupedGlobals[name] || []);
- groupedGlobals[name].push(node);
- });
- return Object.keys(groupedGlobals).sort().map(function (name) {
- return {name: name, nodes: groupedGlobals[name]};
- });
-}
diff --git a/node_modules/acorn-globals/node_modules/.bin/acorn b/node_modules/acorn-globals/node_modules/.bin/acorn
deleted file mode 100644
index 261da85..0000000
--- a/node_modules/acorn-globals/node_modules/.bin/acorn
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=`dirname "$0"`
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../acorn/bin/acorn" "$@"
- ret=$?
-else
- node "$basedir/../acorn/bin/acorn" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/node_modules/acorn-globals/node_modules/.bin/acorn.cmd b/node_modules/acorn-globals/node_modules/.bin/acorn.cmd
deleted file mode 100644
index 45c0c3d..0000000
--- a/node_modules/acorn-globals/node_modules/.bin/acorn.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\acorn\bin\acorn" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\acorn\bin\acorn" %*
-)
\ No newline at end of file
diff --git a/node_modules/acorn-globals/node_modules/acorn/.npmignore b/node_modules/acorn-globals/node_modules/acorn/.npmignore
deleted file mode 100644
index eb3644b..0000000
--- a/node_modules/acorn-globals/node_modules/acorn/.npmignore
+++ /dev/null
@@ -1,10 +0,0 @@
-/.tern-port
-/test
-/local
-/rollup
-/bin/generate-identifier-regex.js
-/bin/update_authors.sh
-.editorconfig
-.gitattributes
-.tern-project
-.travis.yml
diff --git a/node_modules/acorn-globals/node_modules/acorn/AUTHORS b/node_modules/acorn-globals/node_modules/acorn/AUTHORS
deleted file mode 100644
index ab64891..0000000
--- a/node_modules/acorn-globals/node_modules/acorn/AUTHORS
+++ /dev/null
@@ -1,62 +0,0 @@
-List of Acorn contributors. Updated before every release.
-
-Adrian Rakovsky
-Alistair Braidwood
-Amila Welihinda
-Andres Suarez
-Angelo
-Aparajita Fishman
-Arian Stolwijk
-Artem Govorov
-Brandon Mills
-Charles Hughes
-Conrad Irwin
-Daniel Tschinder
-David Bonnet
-Domenico Matteo
-Forbes Lindesay
-Gilad Peleg
-impinball
-Ingvar Stepanyan
-Jackson Ray Hamilton
-Jesse McCarthy
-Jiaxing Wang
-Joel Kemp
-Johannes Herr
-Jordan Klassen
-Jürg Lehni
-Kai Cataldo
-keeyipchan
-Keheliya Gallaba
-Kevin Irish
-Kevin Kwok
-krator
-Marijn Haverbeke
-Martin Carlberg
-Mat Garcia
-Mathias Bynens
-Mathieu 'p01' Henri
-Matthew Bastien
-Max Schaefer
-Max Zerzouri
-Mihai Bazon
-Mike Rennie
-naoh
-Nicholas C. Zakas
-Nick Fitzgerald
-Olivier Thomann
-Oskar Schöldström
-Paul Harper
-Peter Rust
-PlNG
-Prayag Verma
-ReadmeCritic
-r-e-d
-Richard Gibson
-Rich Harris
-Sebastian McKenzie
-Simen Bekkhus
-Timothy Gu
-Toru Nagashima
-Wexpo Lyu
-zsjforcn
diff --git a/node_modules/acorn-globals/node_modules/acorn/CHANGELOG.md b/node_modules/acorn-globals/node_modules/acorn/CHANGELOG.md
deleted file mode 100644
index f6d1fa8..0000000
--- a/node_modules/acorn-globals/node_modules/acorn/CHANGELOG.md
+++ /dev/null
@@ -1,286 +0,0 @@
-## 4.0.11 (2017-02-07)
-
-### Bug fixes
-
-Allow all forms of member expressions to be parenthesized as lvalue.
-
-## 4.0.10 (2017-02-07)
-
-### Bug fixes
-
-Don't expect semicolons after default-exported functions or classes,
-even when they are expressions.
-
-Check for use of `'use strict'` directives in non-simple parameter
-functions, even when already in strict mode.
-
-## 4.0.9 (2017-02-06)
-
-### Bug fixes
-
-Fix incorrect error raised for parenthesized simple assignment
-targets, so that `(x) = 1` parses again.
-
-## 4.0.8 (2017-02-03)
-
-### Bug fixes
-
-Solve spurious parenthesized pattern errors by temporarily erring on
-the side of accepting programs that our delayed errors don't handle
-correctly yet.
-
-## 4.0.7 (2017-02-02)
-
-### Bug fixes
-
-Accept invalidly rejected code like `(x).y = 2` again.
-
-Don't raise an error when a function _inside_ strict code has a
-non-simple parameter list.
-
-## 4.0.6 (2017-02-02)
-
-### Bug fixes
-
-Fix exponential behavior (manifesting itself as a complete hang for
-even relatively small source files) introduced by the new 'use strict'
-check.
-
-## 4.0.5 (2017-02-02)
-
-### Bug fixes
-
-Disallow parenthesized pattern expressions.
-
-Allow keywords as export names.
-
-Don't allow the `async` keyword to be parenthesized.
-
-Properly raise an error when a keyword contains a character escape.
-
-Allow `"use strict"` to appear after other string literal expressions.
-
-Disallow labeled declarations.
-
-## 4.0.4 (2016-12-19)
-
-### Bug fixes
-
-Fix issue with loading acorn_loose.js with an AMD loader.
-
-Fix crash when `export` was followed by a keyword that can't be
-exported.
-
-## 4.0.3 (2016-08-16)
-
-### Bug fixes
-
-Allow regular function declarations inside single-statement `if`
-branches in loose mode. Forbid them entirely in strict mode.
-
-Properly parse properties named `async` in ES2017 mode.
-
-Fix bug where reserved words were broken in ES2017 mode.
-
-## 4.0.2 (2016-08-11)
-
-### Bug fixes
-
-Don't ignore period or 'e' characters after octal numbers.
-
-Fix broken parsing for call expressions in default parameter values
-of arrow functions.
-
-## 4.0.1 (2016-08-08)
-
-### Bug fixes
-
-Fix false positives in duplicated export name errors.
-
-## 4.0.0 (2016-08-07)
-
-### Breaking changes
-
-The default `ecmaVersion` option value is now 7.
-
-A number of internal method signatures changed, so plugins might need
-to be updated.
-
-### Bug fixes
-
-The parser now raises errors on duplicated export names.
-
-`arguments` and `eval` can now be used in shorthand properties.
-
-Duplicate parameter names in non-simple argument lists now always
-produce an error.
-
-### New features
-
-The `ecmaVersion` option now also accepts year-style version numbers
-(2015, etc).
-
-Support for `async`/`await` syntax when `ecmaVersion` is >= 8.
-
-Support for trailing commas in call expressions when `ecmaVersion`
-is >= 8.
-
-## 3.3.0 (2016-07-25)
-
-### Bug fixes
-
-Fix bug in tokenizing of regexp operator after a function declaration.
-
-Fix parser crash when parsing an array pattern with a hole.
-
-### New features
-
-Implement check against complex argument lists in functions that
-enable strict mode in ES7.
-
-## 3.2.0 (2016-06-07)
-
-### Bug fixes
-
-Improve handling of lack of unicode regexp support in host
-environment.
-
-Properly reject shorthand properties whose name is a keyword.
-
-Don't crash when the loose parser is called without options object.
-
-### New features
-
-Visitors created with `visit.make` now have their base as _prototype_,
-rather than copying properties into a fresh object.
-
-Make it possible to use `visit.ancestor` with a walk state.
-
-## 3.1.0 (2016-04-18)
-
-### Bug fixes
-
-Fix issue where the loose parser created invalid TemplateElement nodes
-for unclosed template literals.
-
-Properly tokenize the division operator directly after a function
-expression.
-
-Allow trailing comma in destructuring arrays.
-
-### New features
-
-The walker now allows defining handlers for `CatchClause` nodes.
-
-## 3.0.4 (2016-02-25)
-
-### Fixes
-
-Allow update expressions as left-hand-side of the ES7 exponential
-operator.
-
-## 3.0.2 (2016-02-10)
-
-### Fixes
-
-Fix bug that accidentally made `undefined` a reserved word when
-parsing ES7.
-
-## 3.0.0 (2016-02-10)
-
-### Breaking changes
-
-The default value of the `ecmaVersion` option is now 6 (used to be 5).
-
-Support for comprehension syntax (which was dropped from the draft
-spec) has been removed.
-
-### Fixes
-
-`let` and `yield` are now “contextual keywords”, meaning you can
-mostly use them as identifiers in ES5 non-strict code.
-
-A parenthesized class or function expression after `export default` is
-now parsed correctly.
-
-### New features
-
-When `ecmaVersion` is set to 7, Acorn will parse the exponentiation
-operator (`**`).
-
-The identifier character ranges are now based on Unicode 8.0.0.
-
-Plugins can now override the `raiseRecoverable` method to override the
-way non-critical errors are handled.
-
-## 2.7.0 (2016-01-04)
-
-### Fixes
-
-Stop allowing rest parameters in setters.
-
-Make sure the loose parser always attaches a `local` property to
-`ImportNamespaceSpecifier` nodes.
-
-Disallow `y` rexexp flag in ES5.
-
-Disallow `\00` and `\000` escapes in strict mode.
-
-Raise an error when an import name is a reserved word.
-
-## 2.6.4 (2015-11-12)
-
-### Fixes
-
-Fix crash in loose parser when parsing invalid object pattern.
-
-### New features
-
-Support plugins in the loose parser.
-
-## 2.6.2 (2015-11-10)
-
-### Fixes
-
-Don't crash when no options object is passed.
-
-## 2.6.0 (2015-11-09)
-
-### Fixes
-
-Add `await` as a reserved word in module sources.
-
-Disallow `yield` in a parameter default value for a generator.
-
-Forbid using a comma after a rest pattern in an array destructuring.
-
-### New features
-
-Support parsing stdin in command-line tool.
-
-## 2.5.2 (2015-10-27)
-
-### Fixes
-
-Fix bug where the walker walked an exported `let` statement as an
-expression.
-
-## 2.5.0 (2015-10-27)
-
-### Fixes
-
-Fix tokenizer support in the command-line tool.
-
-In the loose parser, don't allow non-string-literals as import
-sources.
-
-Stop allowing `new.target` outside of functions.
-
-Remove legacy `guard` and `guardedHandler` properties from try nodes.
-
-Stop allowing multiple `__proto__` properties on an object literal in
-strict mode.
-
-Don't allow rest parameters to be non-identifier patterns.
-
-Check for duplicate paramter names in arrow functions.
diff --git a/node_modules/acorn-globals/node_modules/acorn/LICENSE b/node_modules/acorn-globals/node_modules/acorn/LICENSE
deleted file mode 100644
index a35ebf4..0000000
--- a/node_modules/acorn-globals/node_modules/acorn/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (C) 2012-2016 by various contributors (see AUTHORS)
-
-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.
diff --git a/node_modules/acorn-globals/node_modules/acorn/README.md b/node_modules/acorn-globals/node_modules/acorn/README.md
deleted file mode 100644
index b7efe23..0000000
--- a/node_modules/acorn-globals/node_modules/acorn/README.md
+++ /dev/null
@@ -1,409 +0,0 @@
-# Acorn
-
-[![Build Status](https://travis-ci.org/ternjs/acorn.svg?branch=master)](https://travis-ci.org/ternjs/acorn)
-[![NPM version](https://img.shields.io/npm/v/acorn.svg)](https://www.npmjs.com/package/acorn)
-[![CDNJS](https://img.shields.io/cdnjs/v/acorn.svg)](https://cdnjs.com/libraries/acorn)
-[Author funding status: ![maintainer happiness](https://marijnhaverbeke.nl/fund/status_s.png?force)](https://marijnhaverbeke.nl/fund/)
-
-A tiny, fast JavaScript parser, written completely in JavaScript.
-
-## Community
-
-Acorn is open source software released under an
-[MIT license](https://github.com/ternjs/acorn/blob/master/LICENSE).
-
-You are welcome to
-[report bugs](https://github.com/ternjs/acorn/issues) or create pull
-requests on [github](https://github.com/ternjs/acorn). For questions
-and discussion, please use the
-[Tern discussion forum](https://discuss.ternjs.net).
-
-## Installation
-
-The easiest way to install acorn is with [`npm`][npm].
-
-[npm]: https://www.npmjs.com/
-
-```sh
-npm install acorn
-```
-
-Alternately, download the source.
-
-```sh
-git clone https://github.com/ternjs/acorn.git
-```
-
-## Components
-
-When run in a CommonJS (node.js) or AMD environment, exported values
-appear in the interfaces exposed by the individual files, as usual.
-When loaded in the browser (Acorn works in any JS-enabled browser more
-recent than IE5) without any kind of module management, a single
-global object `acorn` will be defined, and all the exported properties
-will be added to that.
-
-### Main parser
-
-This is implemented in `dist/acorn.js`, and is what you get when you
-`require("acorn")` in node.js.
-
-**parse**`(input, options)` is used to parse a JavaScript program.
-The `input` parameter is a string, `options` can be undefined or an
-object setting some of the options listed below. The return value will
-be an abstract syntax tree object as specified by the
-[ESTree spec][estree].
-
-When encountering a syntax error, the parser will raise a
-`SyntaxError` object with a meaningful message. The error object will
-have a `pos` property that indicates the character offset at which the
-error occurred, and a `loc` object that contains a `{line, column}`
-object referring to that same position.
-
-[estree]: https://github.com/estree/estree
-
-- **ecmaVersion**: Indicates the ECMAScript version to parse. Must be
- either 3, 5, 6 (2015), 7 (2016), or 8 (2017). This influences support for strict
- mode, the set of reserved words, and support for new syntax features.
- Default is 7.
-
- **NOTE**: Only 'stage 4' (finalized) ECMAScript features are being
- implemented by Acorn.
-
-- **sourceType**: Indicate the mode the code should be parsed in. Can be
- either `"script"` or `"module"`. This influences global strict mode
- and parsing of `import` and `export` declarations.
-
-- **onInsertedSemicolon**: If given a callback, that callback will be
- called whenever a missing semicolon is inserted by the parser. The
- callback will be given the character offset of the point where the
- semicolon is inserted as argument, and if `locations` is on, also a
- `{line, column}` object representing this position.
-
-- **onTrailingComma**: Like `onInsertedSemicolon`, but for trailing
- commas.
-
-- **allowReserved**: If `false`, using a reserved word will generate
- an error. Defaults to `true` for `ecmaVersion` 3, `false` for higher
- versions. When given the value `"never"`, reserved words and
- keywords can also not be used as property names (as in Internet
- Explorer's old parser).
-
-- **allowReturnOutsideFunction**: By default, a return statement at
- the top level raises an error. Set this to `true` to accept such
- code.
-
-- **allowImportExportEverywhere**: By default, `import` and `export`
- declarations can only appear at a program's top level. Setting this
- option to `true` allows them anywhere where a statement is allowed.
-
-- **allowHashBang**: When this is enabled (off by default), if the
- code starts with the characters `#!` (as in a shellscript), the
- first line will be treated as a comment.
-
-- **locations**: When `true`, each node has a `loc` object attached
- with `start` and `end` subobjects, each of which contains the
- one-based line and zero-based column numbers in `{line, column}`
- form. Default is `false`.
-
-- **onToken**: If a function is passed for this option, each found
- token will be passed in same format as tokens returned from
- `tokenizer().getToken()`.
-
- If array is passed, each found token is pushed to it.
-
- Note that you are not allowed to call the parser from the
- callback—that will corrupt its internal state.
-
-- **onComment**: If a function is passed for this option, whenever a
- comment is encountered the function will be called with the
- following parameters:
-
- - `block`: `true` if the comment is a block comment, false if it
- is a line comment.
- - `text`: The content of the comment.
- - `start`: Character offset of the start of the comment.
- - `end`: Character offset of the end of the comment.
-
- When the `locations` options is on, the `{line, column}` locations
- of the comment’s start and end are passed as two additional
- parameters.
-
- If array is passed for this option, each found comment is pushed
- to it as object in Esprima format:
-
- ```javascript
- {
- "type": "Line" | "Block",
- "value": "comment text",
- "start": Number,
- "end": Number,
- // If `locations` option is on:
- "loc": {
- "start": {line: Number, column: Number}
- "end": {line: Number, column: Number}
- },
- // If `ranges` option is on:
- "range": [Number, Number]
- }
- ```
-
- Note that you are not allowed to call the parser from the
- callback—that will corrupt its internal state.
-
-- **ranges**: Nodes have their start and end characters offsets
- recorded in `start` and `end` properties (directly on the node,
- rather than the `loc` object, which holds line/column data. To also
- add a [semi-standardized][range] `range` property holding a
- `[start, end]` array with the same numbers, set the `ranges` option
- to `true`.
-
-- **program**: It is possible to parse multiple files into a single
- AST by passing the tree produced by parsing the first file as the
- `program` option in subsequent parses. This will add the toplevel
- forms of the parsed file to the "Program" (top) node of an existing
- parse tree.
-
-- **sourceFile**: When the `locations` option is `true`, you can pass
- this option to add a `source` attribute in every node’s `loc`
- object. Note that the contents of this option are not examined or
- processed in any way; you are free to use whatever format you
- choose.
-
-- **directSourceFile**: Like `sourceFile`, but a `sourceFile` property
- will be added (regardless of the `location` option) directly to the
- nodes, rather than the `loc` object.
-
-- **preserveParens**: If this option is `true`, parenthesized expressions
- are represented by (non-standard) `ParenthesizedExpression` nodes
- that have a single `expression` property containing the expression
- inside parentheses.
-
-[range]: https://bugzilla.mozilla.org/show_bug.cgi?id=745678
-
-**parseExpressionAt**`(input, offset, options)` will parse a single
-expression in a string, and return its AST. It will not complain if
-there is more of the string left after the expression.
-
-**getLineInfo**`(input, offset)` can be used to get a `{line,
-column}` object for a given program string and character offset.
-
-**tokenizer**`(input, options)` returns an object with a `getToken`
-method that can be called repeatedly to get the next token, a `{start,
-end, type, value}` object (with added `loc` property when the
-`locations` option is enabled and `range` property when the `ranges`
-option is enabled). When the token's type is `tokTypes.eof`, you
-should stop calling the method, since it will keep returning that same
-token forever.
-
-In ES6 environment, returned result can be used as any other
-protocol-compliant iterable:
-
-```javascript
-for (let token of acorn.tokenizer(str)) {
- // iterate over the tokens
-}
-
-// transform code to array of tokens:
-var tokens = [...acorn.tokenizer(str)];
-```
-
-**tokTypes** holds an object mapping names to the token type objects
-that end up in the `type` properties of tokens.
-
-#### Note on using with [Escodegen][escodegen]
-
-Escodegen supports generating comments from AST, attached in
-Esprima-specific format. In order to simulate same format in
-Acorn, consider following example:
-
-```javascript
-var comments = [], tokens = [];
-
-var ast = acorn.parse('var x = 42; // answer', {
- // collect ranges for each node
- ranges: true,
- // collect comments in Esprima's format
- onComment: comments,
- // collect token ranges
- onToken: tokens
-});
-
-// attach comments using collected information
-escodegen.attachComments(ast, comments, tokens);
-
-// generate code
-console.log(escodegen.generate(ast, {comment: true}));
-// > 'var x = 42; // answer'
-```
-
-[escodegen]: https://github.com/estools/escodegen
-
-### dist/acorn_loose.js ###
-
-This file implements an error-tolerant parser. It exposes a single
-function. The loose parser is accessible in node.js via `require("acorn/dist/acorn_loose")`.
-
-**parse_dammit**`(input, options)` takes the same arguments and
-returns the same syntax tree as the `parse` function in `acorn.js`,
-but never raises an error, and will do its best to parse syntactically
-invalid code in as meaningful a way as it can. It'll insert identifier
-nodes with name `"✖"` as placeholders in places where it can't make
-sense of the input. Depends on `acorn.js`, because it uses the same
-tokenizer.
-
-### dist/walk.js ###
-
-Implements an abstract syntax tree walker. Will store its interface in
-`acorn.walk` when loaded without a module system.
-
-**simple**`(node, visitors, base, state)` does a 'simple' walk over
-a tree. `node` should be the AST node to walk, and `visitors` an
-object with properties whose names correspond to node types in the
-[ESTree spec][estree]. The properties should contain functions
-that will be called with the node object and, if applicable the state
-at that point. The last two arguments are optional. `base` is a walker
-algorithm, and `state` is a start state. The default walker will
-simply visit all statements and expressions and not produce a
-meaningful state. (An example of a use of state is to track scope at
-each point in the tree.)
-
-**ancestor**`(node, visitors, base, state)` does a 'simple' walk over
-a tree, building up an array of ancestor nodes (including the current node)
-and passing the array to the callbacks as a third parameter.
-
-**recursive**`(node, state, functions, base)` does a 'recursive'
-walk, where the walker functions are responsible for continuing the
-walk on the child nodes of their target node. `state` is the start
-state, and `functions` should contain an object that maps node types
-to walker functions. Such functions are called with `(node, state, c)`
-arguments, and can cause the walk to continue on a sub-node by calling
-the `c` argument on it with `(node, state)` arguments. The optional
-`base` argument provides the fallback walker functions for node types
-that aren't handled in the `functions` object. If not given, the
-default walkers will be used.
-
-**make**`(functions, base)` builds a new walker object by using the
-walker functions in `functions` and filling in the missing ones by
-taking defaults from `base`.
-
-**findNodeAt**`(node, start, end, test, base, state)` tries to
-locate a node in a tree at the given start and/or end offsets, which
-satisfies the predicate `test`. `start` and `end` can be either `null`
-(as wildcard) or a number. `test` may be a string (indicating a node
-type) or a function that takes `(nodeType, node)` arguments and
-returns a boolean indicating whether this node is interesting. `base`
-and `state` are optional, and can be used to specify a custom walker.
-Nodes are tested from inner to outer, so if two nodes match the
-boundaries, the inner one will be preferred.
-
-**findNodeAround**`(node, pos, test, base, state)` is a lot like
-`findNodeAt`, but will match any node that exists 'around' (spanning)
-the given position.
-
-**findNodeAfter**`(node, pos, test, base, state)` is similar to
-`findNodeAround`, but will match all nodes *after* the given position
-(testing outer nodes before inner nodes).
-
-## Command line interface
-
-The `bin/acorn` utility can be used to parse a file from the command
-line. It accepts as arguments its input file and the following
-options:
-
-- `--ecma3|--ecma5|--ecma6|--ecma7`: Sets the ECMAScript version to parse. Default is
- version 5.
-
-- `--module`: Sets the parsing mode to `"module"`. Is set to `"script"` otherwise.
-
-- `--locations`: Attaches a "loc" object to each node with "start" and
- "end" subobjects, each of which contains the one-based line and
- zero-based column numbers in `{line, column}` form.
-
-- `--allow-hash-bang`: If the code starts with the characters #! (as in a shellscript), the first line will be treated as a comment.
-
-- `--compact`: No whitespace is used in the AST output.
-
-- `--silent`: Do not output the AST, just return the exit status.
-
-- `--help`: Print the usage information and quit.
-
-The utility spits out the syntax tree as JSON data.
-
-## Build system
-
-Acorn is written in ECMAScript 6, as a set of small modules, in the
-project's `src` directory, and compiled down to bigger ECMAScript 3
-files in `dist` using [Browserify](http://browserify.org) and
-[Babel](http://babeljs.io/). If you are already using Babel, you can
-consider including the modules directly.
-
-The command-line test runner (`npm test`) uses the ES6 modules. The
-browser-based test page (`test/index.html`) uses the compiled modules.
-The `bin/build-acorn.js` script builds the latter from the former.
-
-If you are working on Acorn, you'll probably want to try the code out
-directly, without an intermediate build step. In your scripts, you can
-register the Babel require shim like this:
-
- require("babel-core/register")
-
-That will allow you to directly `require` the ES6 modules.
-
-## Plugins
-
-Acorn is designed support allow plugins which, within reasonable
-bounds, redefine the way the parser works. Plugins can add new token
-types and new tokenizer contexts (if necessary), and extend methods in
-the parser object. This is not a clean, elegant API—using it requires
-an understanding of Acorn's internals, and plugins are likely to break
-whenever those internals are significantly changed. But still, it is
-_possible_, in this way, to create parsers for JavaScript dialects
-without forking all of Acorn. And in principle it is even possible to
-combine such plugins, so that if you have, for example, a plugin for
-parsing types and a plugin for parsing JSX-style XML literals, you
-could load them both and parse code with both JSX tags and types.
-
-A plugin should register itself by adding a property to
-`acorn.plugins`, which holds a function. Calling `acorn.parse`, a
-`plugins` option can be passed, holding an object mapping plugin names
-to configuration values (or just `true` for plugins that don't take
-options). After the parser object has been created, the initialization
-functions for the chosen plugins are called with `(parser,
-configValue)` arguments. They are expected to use the `parser.extend`
-method to extend parser methods. For example, the `readToken` method
-could be extended like this:
-
-```javascript
-parser.extend("readToken", function(nextMethod) {
- return function(code) {
- console.log("Reading a token!")
- return nextMethod.call(this, code)
- }
-})
-```
-
-The `nextMethod` argument passed to `extend`'s second argument is the
-previous value of this method, and should usually be called through to
-whenever the extended method does not handle the call itself.
-
-Similarly, the loose parser allows plugins to register themselves via
-`acorn.pluginsLoose`. The extension mechanism is the same as for the
-normal parser:
-
-```javascript
-looseParser.extend("readToken", function(nextMethod) {
- return function() {
- console.log("Reading a token in the loose parser!")
- return nextMethod.call(this)
- }
-})
-```
-
-### Existing plugins
-
- - [`acorn-jsx`](https://github.com/RReverser/acorn-jsx): Parse [Facebook JSX syntax extensions](https://github.com/facebook/jsx)
- - [`acorn-es7-plugin`](https://github.com/MatAtBread/acorn-es7-plugin/): Parse [async/await syntax proposal](https://github.com/tc39/ecmascript-asyncawait)
- - [`acorn-object-spread`](https://github.com/UXtemple/acorn-object-spread): Parse [object spread syntax proposal](https://github.com/sebmarkbage/ecmascript-rest-spread)
- - [`acorn-es7`](https://www.npmjs.com/package/acorn-es7): Parse [decorator syntax proposal](https://github.com/wycats/javascript-decorators)
- - [`acorn-objj`](https://www.npmjs.com/package/acorn-objj): [Objective-J](http://www.cappuccino-project.org/learn/objective-j.html) language parser built as Acorn plugin
diff --git a/node_modules/acorn-globals/node_modules/acorn/bin/acorn b/node_modules/acorn-globals/node_modules/acorn/bin/acorn
deleted file mode 100644
index 78ebd4f..0000000
--- a/node_modules/acorn-globals/node_modules/acorn/bin/acorn
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/usr/bin/env node
-'use strict';
-
-var path = require('path');
-var fs = require('fs');
-var acorn = require('../dist/acorn.js');
-
-var infile;
-var forceFile;
-var silent = false;
-var compact = false;
-var tokenize = false;
-var options = {}
-
-function help(status) {
- var print = (status == 0) ? console.log : console.error
- print("usage: " + path.basename(process.argv[1]) + " [--ecma3|--ecma5|--ecma6|--ecma7|...|--ecma2015|--ecma2016|...]")
- print(" [--tokenize] [--locations] [---allow-hash-bang] [--compact] [--silent] [--module] [--help] [--] [infile]")
- process.exit(status)
-}
-
-for (var i = 2; i < process.argv.length; ++i) {
- var arg = process.argv[i]
- if ((arg == "-" || arg[0] != "-") && !infile) infile = arg
- else if (arg == "--" && !infile && i + 2 == process.argv.length) forceFile = infile = process.argv[++i]
- else if (arg == "--locations") options.locations = true
- else if (arg == "--allow-hash-bang") options.allowHashBang = true
- else if (arg == "--silent") silent = true
- else if (arg == "--compact") compact = true
- else if (arg == "--help") help(0)
- else if (arg == "--tokenize") tokenize = true
- else if (arg == "--module") options.sourceType = 'module'
- else {
- var match = arg.match(/^--ecma(\d+)$/)
- if (match)
- options.ecmaVersion = +match[1]
- else
- help(1)
- }
-}
-
-function run(code) {
- var result
- if (!tokenize) {
- try { result = acorn.parse(code, options) }
- catch(e) { console.error(e.message); process.exit(1) }
- } else {
- result = []
- var tokenizer = acorn.tokenizer(code, options), token
- while (true) {
- try { token = tokenizer.getToken() }
- catch(e) { console.error(e.message); process.exit(1) }
- result.push(token)
- if (token.type == acorn.tokTypes.eof) break
- }
- }
- if (!silent) console.log(JSON.stringify(result, null, compact ? null : 2))
-}
-
-if (forceFile || infile && infile != "-") {
- run(fs.readFileSync(infile, "utf8"))
-} else {
- var code = ""
- process.stdin.resume()
- process.stdin.on("data", function (chunk) { return code += chunk; })
- process.stdin.on("end", function () { return run(code); })
-}
\ No newline at end of file
diff --git a/node_modules/acorn-globals/node_modules/acorn/dist/.keep b/node_modules/acorn-globals/node_modules/acorn/dist/.keep
deleted file mode 100644
index e69de29..0000000
diff --git a/node_modules/acorn-globals/node_modules/acorn/dist/acorn.es.js b/node_modules/acorn-globals/node_modules/acorn/dist/acorn.es.js
deleted file mode 100644
index 2b34af0..0000000
--- a/node_modules/acorn-globals/node_modules/acorn/dist/acorn.es.js
+++ /dev/null
@@ -1,3401 +0,0 @@
-// Reserved word lists for various dialects of the language
-
-var reservedWords = {
- 3: "abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",
- 5: "class enum extends super const export import",
- 6: "enum",
- strict: "implements interface let package private protected public static yield",
- strictBind: "eval arguments"
-}
-
-// And the keywords
-
-var ecma5AndLessKeywords = "break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this"
-
-var keywords = {
- 5: ecma5AndLessKeywords,
- 6: ecma5AndLessKeywords + " const class extends export import super"
-}
-
-// ## Character categories
-
-// Big ugly regular expressions that match characters in the
-// whitespace, identifier, and identifier-start categories. These
-// are only applied when a character is found to actually have a
-// code point above 128.
-// Generated by `bin/generate-identifier-regex.js`.
-
-var nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0-\u08b4\u08b6-\u08bd\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fd5\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ae\ua7b0-\ua7b7\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab65\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"
-var nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08d4-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c03\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d01-\u0d03\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf2-\u1cf4\u1cf8\u1cf9\u1dc0-\u1df5\u1dfb-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua900-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f"
-
-var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]")
-var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]")
-
-nonASCIIidentifierStartChars = nonASCIIidentifierChars = null
-
-// These are a run-length and offset encoded representation of the
-// >0xffff code points that are a valid part of identifiers. The
-// offset starts at 0x10000, and each pair of numbers represents an
-// offset to the next range, and then a size of the range. They were
-// generated by bin/generate-identifier-regex.js
-var astralIdentifierStartCodes = [0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,17,26,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,26,45,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,785,52,76,44,33,24,27,35,42,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,54,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,86,25,391,63,32,0,449,56,264,8,2,36,18,0,50,29,881,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,881,68,12,0,67,12,65,0,32,6124,20,754,9486,1,3071,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,4149,196,60,67,1213,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42710,42,4148,12,221,3,5761,10591,541]
-var astralIdentifierCodes = [509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,1306,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,52,0,13,2,49,13,10,2,4,9,83,11,7,0,161,11,6,9,7,3,57,0,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,87,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,423,9,838,7,2,7,17,9,57,21,2,13,19882,9,135,4,60,6,26,9,1016,45,17,3,19723,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,2214,6,110,6,6,9,792487,239]
-
-// This has a complexity linear to the value of the code. The
-// assumption is that looking up astral identifier characters is
-// rare.
-function isInAstralSet(code, set) {
- var pos = 0x10000
- for (var i = 0; i < set.length; i += 2) {
- pos += set[i]
- if (pos > code) return false
- pos += set[i + 1]
- if (pos >= code) return true
- }
-}
-
-// Test whether a given character code starts an identifier.
-
-function isIdentifierStart(code, astral) {
- if (code < 65) return code === 36
- if (code < 91) return true
- if (code < 97) return code === 95
- if (code < 123) return true
- if (code <= 0xffff) return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code))
- if (astral === false) return false
- return isInAstralSet(code, astralIdentifierStartCodes)
-}
-
-// Test whether a given character is part of an identifier.
-
-function isIdentifierChar(code, astral) {
- if (code < 48) return code === 36
- if (code < 58) return true
- if (code < 65) return false
- if (code < 91) return true
- if (code < 97) return code === 95
- if (code < 123) return true
- if (code <= 0xffff) return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code))
- if (astral === false) return false
- return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes)
-}
-
-// ## Token types
-
-// The assignment of fine-grained, information-carrying type objects
-// allows the tokenizer to store the information it has about a
-// token in a way that is very cheap for the parser to look up.
-
-// All token type variables start with an underscore, to make them
-// easy to recognize.
-
-// The `beforeExpr` property is used to disambiguate between regular
-// expressions and divisions. It is set on all token types that can
-// be followed by an expression (thus, a slash after them would be a
-// regular expression).
-//
-// The `startsExpr` property is used to check if the token ends a
-// `yield` expression. It is set on all token types that either can
-// directly start an expression (like a quotation mark) or can
-// continue an expression (like the body of a string).
-//
-// `isLoop` marks a keyword as starting a loop, which is important
-// to know when parsing a label, in order to allow or disallow
-// continue jumps to that label.
-
-var TokenType = function TokenType(label, conf) {
- if ( conf === void 0 ) conf = {};
-
- this.label = label
- this.keyword = conf.keyword
- this.beforeExpr = !!conf.beforeExpr
- this.startsExpr = !!conf.startsExpr
- this.isLoop = !!conf.isLoop
- this.isAssign = !!conf.isAssign
- this.prefix = !!conf.prefix
- this.postfix = !!conf.postfix
- this.binop = conf.binop || null
- this.updateContext = null
-};
-
-function binop(name, prec) {
- return new TokenType(name, {beforeExpr: true, binop: prec})
-}
-var beforeExpr = {beforeExpr: true};
-var startsExpr = {startsExpr: true};
-// Map keyword names to token types.
-
-var keywordTypes = {}
-
-// Succinct definitions of keyword token types
-function kw(name, options) {
- if ( options === void 0 ) options = {};
-
- options.keyword = name
- return keywordTypes[name] = new TokenType(name, options)
-}
-
-var tt = {
- num: new TokenType("num", startsExpr),
- regexp: new TokenType("regexp", startsExpr),
- string: new TokenType("string", startsExpr),
- name: new TokenType("name", startsExpr),
- eof: new TokenType("eof"),
-
- // Punctuation token types.
- bracketL: new TokenType("[", {beforeExpr: true, startsExpr: true}),
- bracketR: new TokenType("]"),
- braceL: new TokenType("{", {beforeExpr: true, startsExpr: true}),
- braceR: new TokenType("}"),
- parenL: new TokenType("(", {beforeExpr: true, startsExpr: true}),
- parenR: new TokenType(")"),
- comma: new TokenType(",", beforeExpr),
- semi: new TokenType(";", beforeExpr),
- colon: new TokenType(":", beforeExpr),
- dot: new TokenType("."),
- question: new TokenType("?", beforeExpr),
- arrow: new TokenType("=>", beforeExpr),
- template: new TokenType("template"),
- ellipsis: new TokenType("...", beforeExpr),
- backQuote: new TokenType("`", startsExpr),
- dollarBraceL: new TokenType("${", {beforeExpr: true, startsExpr: true}),
-
- // Operators. These carry several kinds of properties to help the
- // parser use them properly (the presence of these properties is
- // what categorizes them as operators).
- //
- // `binop`, when present, specifies that this operator is a binary
- // operator, and will refer to its precedence.
- //
- // `prefix` and `postfix` mark the operator as a prefix or postfix
- // unary operator.
- //
- // `isAssign` marks all of `=`, `+=`, `-=` etcetera, which act as
- // binary operators with a very low precedence, that should result
- // in AssignmentExpression nodes.
-
- eq: new TokenType("=", {beforeExpr: true, isAssign: true}),
- assign: new TokenType("_=", {beforeExpr: true, isAssign: true}),
- incDec: new TokenType("++/--", {prefix: true, postfix: true, startsExpr: true}),
- prefix: new TokenType("prefix", {beforeExpr: true, prefix: true, startsExpr: true}),
- logicalOR: binop("||", 1),
- logicalAND: binop("&&", 2),
- bitwiseOR: binop("|", 3),
- bitwiseXOR: binop("^", 4),
- bitwiseAND: binop("&", 5),
- equality: binop("==/!=", 6),
- relational: binop(">", 7),
- bitShift: binop("<>>", 8),
- plusMin: new TokenType("+/-", {beforeExpr: true, binop: 9, prefix: true, startsExpr: true}),
- modulo: binop("%", 10),
- star: binop("*", 10),
- slash: binop("/", 10),
- starstar: new TokenType("**", {beforeExpr: true}),
-
- // Keyword token types.
- _break: kw("break"),
- _case: kw("case", beforeExpr),
- _catch: kw("catch"),
- _continue: kw("continue"),
- _debugger: kw("debugger"),
- _default: kw("default", beforeExpr),
- _do: kw("do", {isLoop: true, beforeExpr: true}),
- _else: kw("else", beforeExpr),
- _finally: kw("finally"),
- _for: kw("for", {isLoop: true}),
- _function: kw("function", startsExpr),
- _if: kw("if"),
- _return: kw("return", beforeExpr),
- _switch: kw("switch"),
- _throw: kw("throw", beforeExpr),
- _try: kw("try"),
- _var: kw("var"),
- _const: kw("const"),
- _while: kw("while", {isLoop: true}),
- _with: kw("with"),
- _new: kw("new", {beforeExpr: true, startsExpr: true}),
- _this: kw("this", startsExpr),
- _super: kw("super", startsExpr),
- _class: kw("class"),
- _extends: kw("extends", beforeExpr),
- _export: kw("export"),
- _import: kw("import"),
- _null: kw("null", startsExpr),
- _true: kw("true", startsExpr),
- _false: kw("false", startsExpr),
- _in: kw("in", {beforeExpr: true, binop: 7}),
- _instanceof: kw("instanceof", {beforeExpr: true, binop: 7}),
- _typeof: kw("typeof", {beforeExpr: true, prefix: true, startsExpr: true}),
- _void: kw("void", {beforeExpr: true, prefix: true, startsExpr: true}),
- _delete: kw("delete", {beforeExpr: true, prefix: true, startsExpr: true})
-}
-
-// Matches a whole line break (where CRLF is considered a single
-// line break). Used to count lines.
-
-var lineBreak = /\r\n?|\n|\u2028|\u2029/
-var lineBreakG = new RegExp(lineBreak.source, "g")
-
-function isNewLine(code) {
- return code === 10 || code === 13 || code === 0x2028 || code === 0x2029
-}
-
-var nonASCIIwhitespace = /[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/
-
-var skipWhiteSpace = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g
-
-function isArray(obj) {
- return Object.prototype.toString.call(obj) === "[object Array]"
-}
-
-// Checks if an object has a property.
-
-function has(obj, propName) {
- return Object.prototype.hasOwnProperty.call(obj, propName)
-}
-
-// These are used when `options.locations` is on, for the
-// `startLoc` and `endLoc` properties.
-
-var Position = function Position(line, col) {
- this.line = line
- this.column = col
-};
-
-Position.prototype.offset = function offset (n) {
- return new Position(this.line, this.column + n)
-};
-
-var SourceLocation = function SourceLocation(p, start, end) {
- this.start = start
- this.end = end
- if (p.sourceFile !== null) this.source = p.sourceFile
-};
-
-// The `getLineInfo` function is mostly useful when the
-// `locations` option is off (for performance reasons) and you
-// want to find the line/column position for a given character
-// offset. `input` should be the code string that the offset refers
-// into.
-
-function getLineInfo(input, offset) {
- for (var line = 1, cur = 0;;) {
- lineBreakG.lastIndex = cur
- var match = lineBreakG.exec(input)
- if (match && match.index < offset) {
- ++line
- cur = match.index + match[0].length
- } else {
- return new Position(line, offset - cur)
- }
- }
-}
-
-// A second optional argument can be given to further configure
-// the parser process. These options are recognized:
-
-var defaultOptions = {
- // `ecmaVersion` indicates the ECMAScript version to parse. Must
- // be either 3, 5, 6 (2015), 7 (2016), or 8 (2017). This influences support
- // for strict mode, the set of reserved words, and support for
- // new syntax features. The default is 7.
- ecmaVersion: 7,
- // `sourceType` indicates the mode the code should be parsed in.
- // Can be either `"script"` or `"module"`. This influences global
- // strict mode and parsing of `import` and `export` declarations.
- sourceType: "script",
- // `onInsertedSemicolon` can be a callback that will be called
- // when a semicolon is automatically inserted. It will be passed
- // th position of the comma as an offset, and if `locations` is
- // enabled, it is given the location as a `{line, column}` object
- // as second argument.
- onInsertedSemicolon: null,
- // `onTrailingComma` is similar to `onInsertedSemicolon`, but for
- // trailing commas.
- onTrailingComma: null,
- // By default, reserved words are only enforced if ecmaVersion >= 5.
- // Set `allowReserved` to a boolean value to explicitly turn this on
- // an off. When this option has the value "never", reserved words
- // and keywords can also not be used as property names.
- allowReserved: null,
- // When enabled, a return at the top level is not considered an
- // error.
- allowReturnOutsideFunction: false,
- // When enabled, import/export statements are not constrained to
- // appearing at the top of the program.
- allowImportExportEverywhere: false,
- // When enabled, hashbang directive in the beginning of file
- // is allowed and treated as a line comment.
- allowHashBang: false,
- // When `locations` is on, `loc` properties holding objects with
- // `start` and `end` properties in `{line, column}` form (with
- // line being 1-based and column 0-based) will be attached to the
- // nodes.
- locations: false,
- // A function can be passed as `onToken` option, which will
- // cause Acorn to call that function with object in the same
- // format as tokens returned from `tokenizer().getToken()`. Note
- // that you are not allowed to call the parser from the
- // callback—that will corrupt its internal state.
- onToken: null,
- // A function can be passed as `onComment` option, which will
- // cause Acorn to call that function with `(block, text, start,
- // end)` parameters whenever a comment is skipped. `block` is a
- // boolean indicating whether this is a block (`/* */`) comment,
- // `text` is the content of the comment, and `start` and `end` are
- // character offsets that denote the start and end of the comment.
- // When the `locations` option is on, two more parameters are
- // passed, the full `{line, column}` locations of the start and
- // end of the comments. Note that you are not allowed to call the
- // parser from the callback—that will corrupt its internal state.
- onComment: null,
- // Nodes have their start and end characters offsets recorded in
- // `start` and `end` properties (directly on the node, rather than
- // the `loc` object, which holds line/column data. To also add a
- // [semi-standardized][range] `range` property holding a `[start,
- // end]` array with the same numbers, set the `ranges` option to
- // `true`.
- //
- // [range]: https://bugzilla.mozilla.org/show_bug.cgi?id=745678
- ranges: false,
- // It is possible to parse multiple files into a single AST by
- // passing the tree produced by parsing the first file as
- // `program` option in subsequent parses. This will add the
- // toplevel forms of the parsed file to the `Program` (top) node
- // of an existing parse tree.
- program: null,
- // When `locations` is on, you can pass this to record the source
- // file in every node's `loc` object.
- sourceFile: null,
- // This value, if given, is stored in every node, whether
- // `locations` is on or off.
- directSourceFile: null,
- // When enabled, parenthesized expressions are represented by
- // (non-standard) ParenthesizedExpression nodes
- preserveParens: false,
- plugins: {}
-}
-
-// Interpret and default an options object
-
-function getOptions(opts) {
- var options = {}
-
- for (var opt in defaultOptions)
- options[opt] = opts && has(opts, opt) ? opts[opt] : defaultOptions[opt]
-
- if (options.ecmaVersion >= 2015)
- options.ecmaVersion -= 2009
-
- if (options.allowReserved == null)
- options.allowReserved = options.ecmaVersion < 5
-
- if (isArray(options.onToken)) {
- var tokens = options.onToken
- options.onToken = function (token) { return tokens.push(token); }
- }
- if (isArray(options.onComment))
- options.onComment = pushComment(options, options.onComment)
-
- return options
-}
-
-function pushComment(options, array) {
- return function (block, text, start, end, startLoc, endLoc) {
- var comment = {
- type: block ? 'Block' : 'Line',
- value: text,
- start: start,
- end: end
- }
- if (options.locations)
- comment.loc = new SourceLocation(this, startLoc, endLoc)
- if (options.ranges)
- comment.range = [start, end]
- array.push(comment)
- }
-}
-
-// Registered plugins
-var plugins = {}
-
-function keywordRegexp(words) {
- return new RegExp("^(" + words.replace(/ /g, "|") + ")$")
-}
-
-var Parser = function Parser(options, input, startPos) {
- this.options = options = getOptions(options)
- this.sourceFile = options.sourceFile
- this.keywords = keywordRegexp(keywords[options.ecmaVersion >= 6 ? 6 : 5])
- var reserved = ""
- if (!options.allowReserved) {
- for (var v = options.ecmaVersion;; v--)
- if (reserved = reservedWords[v]) break
- if (options.sourceType == "module") reserved += " await"
- }
- this.reservedWords = keywordRegexp(reserved)
- var reservedStrict = (reserved ? reserved + " " : "") + reservedWords.strict
- this.reservedWordsStrict = keywordRegexp(reservedStrict)
- this.reservedWordsStrictBind = keywordRegexp(reservedStrict + " " + reservedWords.strictBind)
- this.input = String(input)
-
- // Used to signal to callers of `readWord1` whether the word
- // contained any escape sequences. This is needed because words with
- // escape sequences must not be interpreted as keywords.
- this.containsEsc = false
-
- // Load plugins
- this.loadPlugins(options.plugins)
-
- // Set up token state
-
- // The current position of the tokenizer in the input.
- if (startPos) {
- this.pos = startPos
- this.lineStart = this.input.lastIndexOf("\n", startPos - 1) + 1
- this.curLine = this.input.slice(0, this.lineStart).split(lineBreak).length
- } else {
- this.pos = this.lineStart = 0
- this.curLine = 1
- }
-
- // Properties of the current token:
- // Its type
- this.type = tt.eof
- // For tokens that include more information than their type, the value
- this.value = null
- // Its start and end offset
- this.start = this.end = this.pos
- // And, if locations are used, the {line, column} object
- // corresponding to those offsets
- this.startLoc = this.endLoc = this.curPosition()
-
- // Position information for the previous token
- this.lastTokEndLoc = this.lastTokStartLoc = null
- this.lastTokStart = this.lastTokEnd = this.pos
-
- // The context stack is used to superficially track syntactic
- // context to predict whether a regular expression is allowed in a
- // given position.
- this.context = this.initialContext()
- this.exprAllowed = true
-
- // Figure out if it's a module code.
- this.inModule = options.sourceType === "module"
- this.strict = this.inModule || this.strictDirective(this.pos)
-
- // Used to signify the start of a potential arrow function
- this.potentialArrowAt = -1
-
- // Flags to track whether we are in a function, a generator, an async function.
- this.inFunction = this.inGenerator = this.inAsync = false
- // Positions to delayed-check that yield/await does not exist in default parameters.
- this.yieldPos = this.awaitPos = 0
- // Labels in scope.
- this.labels = []
-
- // If enabled, skip leading hashbang line.
- if (this.pos === 0 && options.allowHashBang && this.input.slice(0, 2) === '#!')
- this.skipLineComment(2)
-};
-
-// DEPRECATED Kept for backwards compatibility until 3.0 in case a plugin uses them
-Parser.prototype.isKeyword = function isKeyword (word) { return this.keywords.test(word) };
-Parser.prototype.isReservedWord = function isReservedWord (word) { return this.reservedWords.test(word) };
-
-Parser.prototype.extend = function extend (name, f) {
- this[name] = f(this[name])
-};
-
-Parser.prototype.loadPlugins = function loadPlugins (pluginConfigs) {
- var this$1 = this;
-
- for (var name in pluginConfigs) {
- var plugin = plugins[name]
- if (!plugin) throw new Error("Plugin '" + name + "' not found")
- plugin(this$1, pluginConfigs[name])
- }
-};
-
-Parser.prototype.parse = function parse () {
- var node = this.options.program || this.startNode()
- this.nextToken()
- return this.parseTopLevel(node)
-};
-
-var pp = Parser.prototype
-
-// ## Parser utilities
-
-var literal = /^(?:'((?:[^\']|\.)*)'|"((?:[^\"]|\.)*)"|;)/
-pp.strictDirective = function(start) {
- var this$1 = this;
-
- for (;;) {
- skipWhiteSpace.lastIndex = start
- start += skipWhiteSpace.exec(this$1.input)[0].length
- var match = literal.exec(this$1.input.slice(start))
- if (!match) return false
- if ((match[1] || match[2]) == "use strict") return true
- start += match[0].length
- }
-}
-
-// Predicate that tests whether the next token is of the given
-// type, and if yes, consumes it as a side effect.
-
-pp.eat = function(type) {
- if (this.type === type) {
- this.next()
- return true
- } else {
- return false
- }
-}
-
-// Tests whether parsed token is a contextual keyword.
-
-pp.isContextual = function(name) {
- return this.type === tt.name && this.value === name
-}
-
-// Consumes contextual keyword if possible.
-
-pp.eatContextual = function(name) {
- return this.value === name && this.eat(tt.name)
-}
-
-// Asserts that following token is given contextual keyword.
-
-pp.expectContextual = function(name) {
- if (!this.eatContextual(name)) this.unexpected()
-}
-
-// Test whether a semicolon can be inserted at the current position.
-
-pp.canInsertSemicolon = function() {
- return this.type === tt.eof ||
- this.type === tt.braceR ||
- lineBreak.test(this.input.slice(this.lastTokEnd, this.start))
-}
-
-pp.insertSemicolon = function() {
- if (this.canInsertSemicolon()) {
- if (this.options.onInsertedSemicolon)
- this.options.onInsertedSemicolon(this.lastTokEnd, this.lastTokEndLoc)
- return true
- }
-}
-
-// Consume a semicolon, or, failing that, see if we are allowed to
-// pretend that there is a semicolon at this position.
-
-pp.semicolon = function() {
- if (!this.eat(tt.semi) && !this.insertSemicolon()) this.unexpected()
-}
-
-pp.afterTrailingComma = function(tokType, notNext) {
- if (this.type == tokType) {
- if (this.options.onTrailingComma)
- this.options.onTrailingComma(this.lastTokStart, this.lastTokStartLoc)
- if (!notNext)
- this.next()
- return true
- }
-}
-
-// Expect a token of a given type. If found, consume it, otherwise,
-// raise an unexpected token error.
-
-pp.expect = function(type) {
- this.eat(type) || this.unexpected()
-}
-
-// Raise an unexpected token error.
-
-pp.unexpected = function(pos) {
- this.raise(pos != null ? pos : this.start, "Unexpected token")
-}
-
-var DestructuringErrors = function DestructuringErrors() {
- this.shorthandAssign = this.trailingComma = this.parenthesizedAssign = this.parenthesizedBind = -1
-};
-
-pp.checkPatternErrors = function(refDestructuringErrors, isAssign) {
- if (!refDestructuringErrors) return
- if (refDestructuringErrors.trailingComma > -1)
- this.raiseRecoverable(refDestructuringErrors.trailingComma, "Comma is not permitted after the rest element")
- var parens = isAssign ? refDestructuringErrors.parenthesizedAssign : refDestructuringErrors.parenthesizedBind
- if (parens > -1) this.raiseRecoverable(parens, "Parenthesized pattern")
-}
-
-pp.checkExpressionErrors = function(refDestructuringErrors, andThrow) {
- var pos = refDestructuringErrors ? refDestructuringErrors.shorthandAssign : -1
- if (!andThrow) return pos >= 0
- if (pos > -1) this.raise(pos, "Shorthand property assignments are valid only in destructuring patterns")
-}
-
-pp.checkYieldAwaitInDefaultParams = function() {
- if (this.yieldPos && (!this.awaitPos || this.yieldPos < this.awaitPos))
- this.raise(this.yieldPos, "Yield expression cannot be a default value")
- if (this.awaitPos)
- this.raise(this.awaitPos, "Await expression cannot be a default value")
-}
-
-pp.isSimpleAssignTarget = function(expr) {
- if (expr.type === "ParenthesizedExpression")
- return this.isSimpleAssignTarget(expr.expression)
- return expr.type === "Identifier" || expr.type === "MemberExpression"
-}
-
-var pp$1 = Parser.prototype
-
-// ### Statement parsing
-
-// Parse a program. Initializes the parser, reads any number of
-// statements, and wraps them in a Program node. Optionally takes a
-// `program` argument. If present, the statements will be appended
-// to its body instead of creating a new node.
-
-pp$1.parseTopLevel = function(node) {
- var this$1 = this;
-
- var exports = {}
- if (!node.body) node.body = []
- while (this.type !== tt.eof) {
- var stmt = this$1.parseStatement(true, true, exports)
- node.body.push(stmt)
- }
- this.next()
- if (this.options.ecmaVersion >= 6) {
- node.sourceType = this.options.sourceType
- }
- return this.finishNode(node, "Program")
-}
-
-var loopLabel = {kind: "loop"};
-var switchLabel = {kind: "switch"};
-pp$1.isLet = function() {
- if (this.type !== tt.name || this.options.ecmaVersion < 6 || this.value != "let") return false
- skipWhiteSpace.lastIndex = this.pos
- var skip = skipWhiteSpace.exec(this.input)
- var next = this.pos + skip[0].length, nextCh = this.input.charCodeAt(next)
- if (nextCh === 91 || nextCh == 123) return true // '{' and '['
- if (isIdentifierStart(nextCh, true)) {
- for (var pos = next + 1; isIdentifierChar(this.input.charCodeAt(pos), true); ++pos) {}
- var ident = this.input.slice(next, pos)
- if (!this.isKeyword(ident)) return true
- }
- return false
-}
-
-// check 'async [no LineTerminator here] function'
-// - 'async /*foo*/ function' is OK.
-// - 'async /*\n*/ function' is invalid.
-pp$1.isAsyncFunction = function() {
- if (this.type !== tt.name || this.options.ecmaVersion < 8 || this.value != "async")
- return false
-
- skipWhiteSpace.lastIndex = this.pos
- var skip = skipWhiteSpace.exec(this.input)
- var next = this.pos + skip[0].length
- return !lineBreak.test(this.input.slice(this.pos, next)) &&
- this.input.slice(next, next + 8) === "function" &&
- (next + 8 == this.input.length || !isIdentifierChar(this.input.charAt(next + 8)))
-}
-
-// Parse a single statement.
-//
-// If expecting a statement and finding a slash operator, parse a
-// regular expression literal. This is to handle cases like
-// `if (foo) /blah/.exec(foo)`, where looking at the previous token
-// does not help.
-
-pp$1.parseStatement = function(declaration, topLevel, exports) {
- var starttype = this.type, node = this.startNode(), kind
-
- if (this.isLet()) {
- starttype = tt._var
- kind = "let"
- }
-
- // Most types of statements are recognized by the keyword they
- // start with. Many are trivial to parse, some require a bit of
- // complexity.
-
- switch (starttype) {
- case tt._break: case tt._continue: return this.parseBreakContinueStatement(node, starttype.keyword)
- case tt._debugger: return this.parseDebuggerStatement(node)
- case tt._do: return this.parseDoStatement(node)
- case tt._for: return this.parseForStatement(node)
- case tt._function:
- if (!declaration && this.options.ecmaVersion >= 6) this.unexpected()
- return this.parseFunctionStatement(node, false)
- case tt._class:
- if (!declaration) this.unexpected()
- return this.parseClass(node, true)
- case tt._if: return this.parseIfStatement(node)
- case tt._return: return this.parseReturnStatement(node)
- case tt._switch: return this.parseSwitchStatement(node)
- case tt._throw: return this.parseThrowStatement(node)
- case tt._try: return this.parseTryStatement(node)
- case tt._const: case tt._var:
- kind = kind || this.value
- if (!declaration && kind != "var") this.unexpected()
- return this.parseVarStatement(node, kind)
- case tt._while: return this.parseWhileStatement(node)
- case tt._with: return this.parseWithStatement(node)
- case tt.braceL: return this.parseBlock()
- case tt.semi: return this.parseEmptyStatement(node)
- case tt._export:
- case tt._import:
- if (!this.options.allowImportExportEverywhere) {
- if (!topLevel)
- this.raise(this.start, "'import' and 'export' may only appear at the top level")
- if (!this.inModule)
- this.raise(this.start, "'import' and 'export' may appear only with 'sourceType: module'")
- }
- return starttype === tt._import ? this.parseImport(node) : this.parseExport(node, exports)
-
- // If the statement does not start with a statement keyword or a
- // brace, it's an ExpressionStatement or LabeledStatement. We
- // simply start parsing an expression, and afterwards, if the
- // next token is a colon and the expression was a simple
- // Identifier node, we switch to interpreting it as a label.
- default:
- if (this.isAsyncFunction() && declaration) {
- this.next()
- return this.parseFunctionStatement(node, true)
- }
-
- var maybeName = this.value, expr = this.parseExpression()
- if (starttype === tt.name && expr.type === "Identifier" && this.eat(tt.colon))
- return this.parseLabeledStatement(node, maybeName, expr)
- else return this.parseExpressionStatement(node, expr)
- }
-}
-
-pp$1.parseBreakContinueStatement = function(node, keyword) {
- var this$1 = this;
-
- var isBreak = keyword == "break"
- this.next()
- if (this.eat(tt.semi) || this.insertSemicolon()) node.label = null
- else if (this.type !== tt.name) this.unexpected()
- else {
- node.label = this.parseIdent()
- this.semicolon()
- }
-
- // Verify that there is an actual destination to break or
- // continue to.
- for (var i = 0; i < this.labels.length; ++i) {
- var lab = this$1.labels[i]
- if (node.label == null || lab.name === node.label.name) {
- if (lab.kind != null && (isBreak || lab.kind === "loop")) break
- if (node.label && isBreak) break
- }
- }
- if (i === this.labels.length) this.raise(node.start, "Unsyntactic " + keyword)
- return this.finishNode(node, isBreak ? "BreakStatement" : "ContinueStatement")
-}
-
-pp$1.parseDebuggerStatement = function(node) {
- this.next()
- this.semicolon()
- return this.finishNode(node, "DebuggerStatement")
-}
-
-pp$1.parseDoStatement = function(node) {
- this.next()
- this.labels.push(loopLabel)
- node.body = this.parseStatement(false)
- this.labels.pop()
- this.expect(tt._while)
- node.test = this.parseParenExpression()
- if (this.options.ecmaVersion >= 6)
- this.eat(tt.semi)
- else
- this.semicolon()
- return this.finishNode(node, "DoWhileStatement")
-}
-
-// Disambiguating between a `for` and a `for`/`in` or `for`/`of`
-// loop is non-trivial. Basically, we have to parse the init `var`
-// statement or expression, disallowing the `in` operator (see
-// the second parameter to `parseExpression`), and then check
-// whether the next token is `in` or `of`. When there is no init
-// part (semicolon immediately after the opening parenthesis), it
-// is a regular `for` loop.
-
-pp$1.parseForStatement = function(node) {
- this.next()
- this.labels.push(loopLabel)
- this.expect(tt.parenL)
- if (this.type === tt.semi) return this.parseFor(node, null)
- var isLet = this.isLet()
- if (this.type === tt._var || this.type === tt._const || isLet) {
- var init$1 = this.startNode(), kind = isLet ? "let" : this.value
- this.next()
- this.parseVar(init$1, true, kind)
- this.finishNode(init$1, "VariableDeclaration")
- if ((this.type === tt._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) && init$1.declarations.length === 1 &&
- !(kind !== "var" && init$1.declarations[0].init))
- return this.parseForIn(node, init$1)
- return this.parseFor(node, init$1)
- }
- var refDestructuringErrors = new DestructuringErrors
- var init = this.parseExpression(true, refDestructuringErrors)
- if (this.type === tt._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) {
- this.toAssignable(init)
- this.checkLVal(init)
- this.checkPatternErrors(refDestructuringErrors, true)
- return this.parseForIn(node, init)
- } else {
- this.checkExpressionErrors(refDestructuringErrors, true)
- }
- return this.parseFor(node, init)
-}
-
-pp$1.parseFunctionStatement = function(node, isAsync) {
- this.next()
- return this.parseFunction(node, true, false, isAsync)
-}
-
-pp$1.isFunction = function() {
- return this.type === tt._function || this.isAsyncFunction()
-}
-
-pp$1.parseIfStatement = function(node) {
- this.next()
- node.test = this.parseParenExpression()
- // allow function declarations in branches, but only in non-strict mode
- node.consequent = this.parseStatement(!this.strict && this.isFunction())
- node.alternate = this.eat(tt._else) ? this.parseStatement(!this.strict && this.isFunction()) : null
- return this.finishNode(node, "IfStatement")
-}
-
-pp$1.parseReturnStatement = function(node) {
- if (!this.inFunction && !this.options.allowReturnOutsideFunction)
- this.raise(this.start, "'return' outside of function")
- this.next()
-
- // In `return` (and `break`/`continue`), the keywords with
- // optional arguments, we eagerly look for a semicolon or the
- // possibility to insert one.
-
- if (this.eat(tt.semi) || this.insertSemicolon()) node.argument = null
- else { node.argument = this.parseExpression(); this.semicolon() }
- return this.finishNode(node, "ReturnStatement")
-}
-
-pp$1.parseSwitchStatement = function(node) {
- var this$1 = this;
-
- this.next()
- node.discriminant = this.parseParenExpression()
- node.cases = []
- this.expect(tt.braceL)
- this.labels.push(switchLabel)
-
- // Statements under must be grouped (by label) in SwitchCase
- // nodes. `cur` is used to keep the node that we are currently
- // adding statements to.
-
- for (var cur, sawDefault = false; this.type != tt.braceR;) {
- if (this$1.type === tt._case || this$1.type === tt._default) {
- var isCase = this$1.type === tt._case
- if (cur) this$1.finishNode(cur, "SwitchCase")
- node.cases.push(cur = this$1.startNode())
- cur.consequent = []
- this$1.next()
- if (isCase) {
- cur.test = this$1.parseExpression()
- } else {
- if (sawDefault) this$1.raiseRecoverable(this$1.lastTokStart, "Multiple default clauses")
- sawDefault = true
- cur.test = null
- }
- this$1.expect(tt.colon)
- } else {
- if (!cur) this$1.unexpected()
- cur.consequent.push(this$1.parseStatement(true))
- }
- }
- if (cur) this.finishNode(cur, "SwitchCase")
- this.next() // Closing brace
- this.labels.pop()
- return this.finishNode(node, "SwitchStatement")
-}
-
-pp$1.parseThrowStatement = function(node) {
- this.next()
- if (lineBreak.test(this.input.slice(this.lastTokEnd, this.start)))
- this.raise(this.lastTokEnd, "Illegal newline after throw")
- node.argument = this.parseExpression()
- this.semicolon()
- return this.finishNode(node, "ThrowStatement")
-}
-
-// Reused empty array added for node fields that are always empty.
-
-var empty = []
-
-pp$1.parseTryStatement = function(node) {
- this.next()
- node.block = this.parseBlock()
- node.handler = null
- if (this.type === tt._catch) {
- var clause = this.startNode()
- this.next()
- this.expect(tt.parenL)
- clause.param = this.parseBindingAtom()
- this.checkLVal(clause.param, true)
- this.expect(tt.parenR)
- clause.body = this.parseBlock()
- node.handler = this.finishNode(clause, "CatchClause")
- }
- node.finalizer = this.eat(tt._finally) ? this.parseBlock() : null
- if (!node.handler && !node.finalizer)
- this.raise(node.start, "Missing catch or finally clause")
- return this.finishNode(node, "TryStatement")
-}
-
-pp$1.parseVarStatement = function(node, kind) {
- this.next()
- this.parseVar(node, false, kind)
- this.semicolon()
- return this.finishNode(node, "VariableDeclaration")
-}
-
-pp$1.parseWhileStatement = function(node) {
- this.next()
- node.test = this.parseParenExpression()
- this.labels.push(loopLabel)
- node.body = this.parseStatement(false)
- this.labels.pop()
- return this.finishNode(node, "WhileStatement")
-}
-
-pp$1.parseWithStatement = function(node) {
- if (this.strict) this.raise(this.start, "'with' in strict mode")
- this.next()
- node.object = this.parseParenExpression()
- node.body = this.parseStatement(false)
- return this.finishNode(node, "WithStatement")
-}
-
-pp$1.parseEmptyStatement = function(node) {
- this.next()
- return this.finishNode(node, "EmptyStatement")
-}
-
-pp$1.parseLabeledStatement = function(node, maybeName, expr) {
- var this$1 = this;
-
- for (var i = 0; i < this.labels.length; ++i)
- if (this$1.labels[i].name === maybeName) this$1.raise(expr.start, "Label '" + maybeName + "' is already declared")
- var kind = this.type.isLoop ? "loop" : this.type === tt._switch ? "switch" : null
- for (var i$1 = this.labels.length - 1; i$1 >= 0; i$1--) {
- var label = this$1.labels[i$1]
- if (label.statementStart == node.start) {
- label.statementStart = this$1.start
- label.kind = kind
- } else break
- }
- this.labels.push({name: maybeName, kind: kind, statementStart: this.start})
- node.body = this.parseStatement(true)
- if (node.body.type == "ClassDeclaration" ||
- node.body.type == "VariableDeclaration" && (this.strict || node.body.kind != "var") ||
- node.body.type == "FunctionDeclaration" && (this.strict || node.body.generator))
- this.raiseRecoverable(node.body.start, "Invalid labeled declaration")
- this.labels.pop()
- node.label = expr
- return this.finishNode(node, "LabeledStatement")
-}
-
-pp$1.parseExpressionStatement = function(node, expr) {
- node.expression = expr
- this.semicolon()
- return this.finishNode(node, "ExpressionStatement")
-}
-
-// Parse a semicolon-enclosed block of statements, handling `"use
-// strict"` declarations when `allowStrict` is true (used for
-// function bodies).
-
-pp$1.parseBlock = function() {
- var this$1 = this;
-
- var node = this.startNode()
- node.body = []
- this.expect(tt.braceL)
- while (!this.eat(tt.braceR)) {
- var stmt = this$1.parseStatement(true)
- node.body.push(stmt)
- }
- return this.finishNode(node, "BlockStatement")
-}
-
-// Parse a regular `for` loop. The disambiguation code in
-// `parseStatement` will already have parsed the init statement or
-// expression.
-
-pp$1.parseFor = function(node, init) {
- node.init = init
- this.expect(tt.semi)
- node.test = this.type === tt.semi ? null : this.parseExpression()
- this.expect(tt.semi)
- node.update = this.type === tt.parenR ? null : this.parseExpression()
- this.expect(tt.parenR)
- node.body = this.parseStatement(false)
- this.labels.pop()
- return this.finishNode(node, "ForStatement")
-}
-
-// Parse a `for`/`in` and `for`/`of` loop, which are almost
-// same from parser's perspective.
-
-pp$1.parseForIn = function(node, init) {
- var type = this.type === tt._in ? "ForInStatement" : "ForOfStatement"
- this.next()
- node.left = init
- node.right = this.parseExpression()
- this.expect(tt.parenR)
- node.body = this.parseStatement(false)
- this.labels.pop()
- return this.finishNode(node, type)
-}
-
-// Parse a list of variable declarations.
-
-pp$1.parseVar = function(node, isFor, kind) {
- var this$1 = this;
-
- node.declarations = []
- node.kind = kind
- for (;;) {
- var decl = this$1.startNode()
- this$1.parseVarId(decl)
- if (this$1.eat(tt.eq)) {
- decl.init = this$1.parseMaybeAssign(isFor)
- } else if (kind === "const" && !(this$1.type === tt._in || (this$1.options.ecmaVersion >= 6 && this$1.isContextual("of")))) {
- this$1.unexpected()
- } else if (decl.id.type != "Identifier" && !(isFor && (this$1.type === tt._in || this$1.isContextual("of")))) {
- this$1.raise(this$1.lastTokEnd, "Complex binding patterns require an initialization value")
- } else {
- decl.init = null
- }
- node.declarations.push(this$1.finishNode(decl, "VariableDeclarator"))
- if (!this$1.eat(tt.comma)) break
- }
- return node
-}
-
-pp$1.parseVarId = function(decl) {
- decl.id = this.parseBindingAtom()
- this.checkLVal(decl.id, true)
-}
-
-// Parse a function declaration or literal (depending on the
-// `isStatement` parameter).
-
-pp$1.parseFunction = function(node, isStatement, allowExpressionBody, isAsync) {
- this.initFunction(node)
- if (this.options.ecmaVersion >= 6 && !isAsync)
- node.generator = this.eat(tt.star)
- if (this.options.ecmaVersion >= 8)
- node.async = !!isAsync
-
- if (isStatement == null)
- isStatement = this.type == tt.name
- if (isStatement)
- node.id = this.parseIdent()
-
- var oldInGen = this.inGenerator, oldInAsync = this.inAsync,
- oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldInFunc = this.inFunction
- this.inGenerator = node.generator
- this.inAsync = node.async
- this.yieldPos = 0
- this.awaitPos = 0
- this.inFunction = true
-
- if (!isStatement && this.type === tt.name)
- node.id = this.parseIdent()
- this.parseFunctionParams(node)
- this.parseFunctionBody(node, allowExpressionBody)
-
- this.inGenerator = oldInGen
- this.inAsync = oldInAsync
- this.yieldPos = oldYieldPos
- this.awaitPos = oldAwaitPos
- this.inFunction = oldInFunc
- return this.finishNode(node, isStatement ? "FunctionDeclaration" : "FunctionExpression")
-}
-
-pp$1.parseFunctionParams = function(node) {
- this.expect(tt.parenL)
- node.params = this.parseBindingList(tt.parenR, false, this.options.ecmaVersion >= 8, true)
- this.checkYieldAwaitInDefaultParams()
-}
-
-// Parse a class declaration or literal (depending on the
-// `isStatement` parameter).
-
-pp$1.parseClass = function(node, isStatement) {
- var this$1 = this;
-
- this.next()
- if (isStatement == null) isStatement = this.type === tt.name
- this.parseClassId(node, isStatement)
- this.parseClassSuper(node)
- var classBody = this.startNode()
- var hadConstructor = false
- classBody.body = []
- this.expect(tt.braceL)
- while (!this.eat(tt.braceR)) {
- if (this$1.eat(tt.semi)) continue
- var method = this$1.startNode()
- var isGenerator = this$1.eat(tt.star)
- var isAsync = false
- var isMaybeStatic = this$1.type === tt.name && this$1.value === "static"
- this$1.parsePropertyName(method)
- method.static = isMaybeStatic && this$1.type !== tt.parenL
- if (method.static) {
- if (isGenerator) this$1.unexpected()
- isGenerator = this$1.eat(tt.star)
- this$1.parsePropertyName(method)
- }
- if (this$1.options.ecmaVersion >= 8 && !isGenerator && !method.computed &&
- method.key.type === "Identifier" && method.key.name === "async" && this$1.type !== tt.parenL &&
- !this$1.canInsertSemicolon()) {
- isAsync = true
- this$1.parsePropertyName(method)
- }
- method.kind = "method"
- var isGetSet = false
- if (!method.computed) {
- var key = method.key;
- if (!isGenerator && !isAsync && key.type === "Identifier" && this$1.type !== tt.parenL && (key.name === "get" || key.name === "set")) {
- isGetSet = true
- method.kind = key.name
- key = this$1.parsePropertyName(method)
- }
- if (!method.static && (key.type === "Identifier" && key.name === "constructor" ||
- key.type === "Literal" && key.value === "constructor")) {
- if (hadConstructor) this$1.raise(key.start, "Duplicate constructor in the same class")
- if (isGetSet) this$1.raise(key.start, "Constructor can't have get/set modifier")
- if (isGenerator) this$1.raise(key.start, "Constructor can't be a generator")
- if (isAsync) this$1.raise(key.start, "Constructor can't be an async method")
- method.kind = "constructor"
- hadConstructor = true
- }
- }
- this$1.parseClassMethod(classBody, method, isGenerator, isAsync)
- if (isGetSet) {
- var paramCount = method.kind === "get" ? 0 : 1
- if (method.value.params.length !== paramCount) {
- var start = method.value.start
- if (method.kind === "get")
- this$1.raiseRecoverable(start, "getter should have no params")
- else
- this$1.raiseRecoverable(start, "setter should have exactly one param")
- } else {
- if (method.kind === "set" && method.value.params[0].type === "RestElement")
- this$1.raiseRecoverable(method.value.params[0].start, "Setter cannot use rest params")
- }
- }
- }
- node.body = this.finishNode(classBody, "ClassBody")
- return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression")
-}
-
-pp$1.parseClassMethod = function(classBody, method, isGenerator, isAsync) {
- method.value = this.parseMethod(isGenerator, isAsync)
- classBody.body.push(this.finishNode(method, "MethodDefinition"))
-}
-
-pp$1.parseClassId = function(node, isStatement) {
- node.id = this.type === tt.name ? this.parseIdent() : isStatement ? this.unexpected() : null
-}
-
-pp$1.parseClassSuper = function(node) {
- node.superClass = this.eat(tt._extends) ? this.parseExprSubscripts() : null
-}
-
-// Parses module export declaration.
-
-pp$1.parseExport = function(node, exports) {
- var this$1 = this;
-
- this.next()
- // export * from '...'
- if (this.eat(tt.star)) {
- this.expectContextual("from")
- node.source = this.type === tt.string ? this.parseExprAtom() : this.unexpected()
- this.semicolon()
- return this.finishNode(node, "ExportAllDeclaration")
- }
- if (this.eat(tt._default)) { // export default ...
- this.checkExport(exports, "default", this.lastTokStart)
- var isAsync
- if (this.type === tt._function || (isAsync = this.isAsyncFunction())) {
- var fNode = this.startNode()
- this.next()
- if (isAsync) this.next()
- node.declaration = this.parseFunction(fNode, null, false, isAsync)
- } else if (this.type === tt._class) {
- var cNode = this.startNode()
- node.declaration = this.parseClass(cNode, null)
- } else {
- node.declaration = this.parseMaybeAssign()
- this.semicolon()
- }
- return this.finishNode(node, "ExportDefaultDeclaration")
- }
- // export var|const|let|function|class ...
- if (this.shouldParseExportStatement()) {
- node.declaration = this.parseStatement(true)
- if (node.declaration.type === "VariableDeclaration")
- this.checkVariableExport(exports, node.declaration.declarations)
- else
- this.checkExport(exports, node.declaration.id.name, node.declaration.id.start)
- node.specifiers = []
- node.source = null
- } else { // export { x, y as z } [from '...']
- node.declaration = null
- node.specifiers = this.parseExportSpecifiers(exports)
- if (this.eatContextual("from")) {
- node.source = this.type === tt.string ? this.parseExprAtom() : this.unexpected()
- } else {
- // check for keywords used as local names
- for (var i = 0; i < node.specifiers.length; i++) {
- if (this$1.keywords.test(node.specifiers[i].local.name) || this$1.reservedWords.test(node.specifiers[i].local.name)) {
- this$1.unexpected(node.specifiers[i].local.start)
- }
- }
-
- node.source = null
- }
- this.semicolon()
- }
- return this.finishNode(node, "ExportNamedDeclaration")
-}
-
-pp$1.checkExport = function(exports, name, pos) {
- if (!exports) return
- if (Object.prototype.hasOwnProperty.call(exports, name))
- this.raiseRecoverable(pos, "Duplicate export '" + name + "'")
- exports[name] = true
-}
-
-pp$1.checkPatternExport = function(exports, pat) {
- var this$1 = this;
-
- var type = pat.type
- if (type == "Identifier")
- this.checkExport(exports, pat.name, pat.start)
- else if (type == "ObjectPattern")
- for (var i = 0; i < pat.properties.length; ++i)
- this$1.checkPatternExport(exports, pat.properties[i].value)
- else if (type == "ArrayPattern")
- for (var i$1 = 0; i$1 < pat.elements.length; ++i$1) {
- var elt = pat.elements[i$1]
- if (elt) this$1.checkPatternExport(exports, elt)
- }
- else if (type == "AssignmentPattern")
- this.checkPatternExport(exports, pat.left)
- else if (type == "ParenthesizedExpression")
- this.checkPatternExport(exports, pat.expression)
-}
-
-pp$1.checkVariableExport = function(exports, decls) {
- var this$1 = this;
-
- if (!exports) return
- for (var i = 0; i < decls.length; i++)
- this$1.checkPatternExport(exports, decls[i].id)
-}
-
-pp$1.shouldParseExportStatement = function() {
- return this.type.keyword === "var"
- || this.type.keyword === "const"
- || this.type.keyword === "class"
- || this.type.keyword === "function"
- || this.isLet()
- || this.isAsyncFunction()
-}
-
-// Parses a comma-separated list of module exports.
-
-pp$1.parseExportSpecifiers = function(exports) {
- var this$1 = this;
-
- var nodes = [], first = true
- // export { x, y as z } [from '...']
- this.expect(tt.braceL)
- while (!this.eat(tt.braceR)) {
- if (!first) {
- this$1.expect(tt.comma)
- if (this$1.afterTrailingComma(tt.braceR)) break
- } else first = false
-
- var node = this$1.startNode()
- node.local = this$1.parseIdent(true)
- node.exported = this$1.eatContextual("as") ? this$1.parseIdent(true) : node.local
- this$1.checkExport(exports, node.exported.name, node.exported.start)
- nodes.push(this$1.finishNode(node, "ExportSpecifier"))
- }
- return nodes
-}
-
-// Parses import declaration.
-
-pp$1.parseImport = function(node) {
- this.next()
- // import '...'
- if (this.type === tt.string) {
- node.specifiers = empty
- node.source = this.parseExprAtom()
- } else {
- node.specifiers = this.parseImportSpecifiers()
- this.expectContextual("from")
- node.source = this.type === tt.string ? this.parseExprAtom() : this.unexpected()
- }
- this.semicolon()
- return this.finishNode(node, "ImportDeclaration")
-}
-
-// Parses a comma-separated list of module imports.
-
-pp$1.parseImportSpecifiers = function() {
- var this$1 = this;
-
- var nodes = [], first = true
- if (this.type === tt.name) {
- // import defaultObj, { x, y as z } from '...'
- var node = this.startNode()
- node.local = this.parseIdent()
- this.checkLVal(node.local, true)
- nodes.push(this.finishNode(node, "ImportDefaultSpecifier"))
- if (!this.eat(tt.comma)) return nodes
- }
- if (this.type === tt.star) {
- var node$1 = this.startNode()
- this.next()
- this.expectContextual("as")
- node$1.local = this.parseIdent()
- this.checkLVal(node$1.local, true)
- nodes.push(this.finishNode(node$1, "ImportNamespaceSpecifier"))
- return nodes
- }
- this.expect(tt.braceL)
- while (!this.eat(tt.braceR)) {
- if (!first) {
- this$1.expect(tt.comma)
- if (this$1.afterTrailingComma(tt.braceR)) break
- } else first = false
-
- var node$2 = this$1.startNode()
- node$2.imported = this$1.parseIdent(true)
- if (this$1.eatContextual("as")) {
- node$2.local = this$1.parseIdent()
- } else {
- node$2.local = node$2.imported
- if (this$1.isKeyword(node$2.local.name)) this$1.unexpected(node$2.local.start)
- if (this$1.reservedWordsStrict.test(node$2.local.name)) this$1.raiseRecoverable(node$2.local.start, "The keyword '" + node$2.local.name + "' is reserved")
- }
- this$1.checkLVal(node$2.local, true)
- nodes.push(this$1.finishNode(node$2, "ImportSpecifier"))
- }
- return nodes
-}
-
-var pp$2 = Parser.prototype
-
-// Convert existing expression atom to assignable pattern
-// if possible.
-
-pp$2.toAssignable = function(node, isBinding) {
- var this$1 = this;
-
- if (this.options.ecmaVersion >= 6 && node) {
- switch (node.type) {
- case "Identifier":
- if (this.inAsync && node.name === "await")
- this.raise(node.start, "Can not use 'await' as identifier inside an async function")
- break
-
- case "ObjectPattern":
- case "ArrayPattern":
- break
-
- case "ObjectExpression":
- node.type = "ObjectPattern"
- for (var i = 0; i < node.properties.length; i++) {
- var prop = node.properties[i]
- if (prop.kind !== "init") this$1.raise(prop.key.start, "Object pattern can't contain getter or setter")
- this$1.toAssignable(prop.value, isBinding)
- }
- break
-
- case "ArrayExpression":
- node.type = "ArrayPattern"
- this.toAssignableList(node.elements, isBinding)
- break
-
- case "AssignmentExpression":
- if (node.operator === "=") {
- node.type = "AssignmentPattern"
- delete node.operator
- this.toAssignable(node.left, isBinding)
- // falls through to AssignmentPattern
- } else {
- this.raise(node.left.end, "Only '=' operator can be used for specifying default value.")
- break
- }
-
- case "AssignmentPattern":
- break
-
- case "ParenthesizedExpression":
- node.expression = this.toAssignable(node.expression, isBinding)
- break
-
- case "MemberExpression":
- if (!isBinding) break
-
- default:
- this.raise(node.start, "Assigning to rvalue")
- }
- }
- return node
-}
-
-// Convert list of expression atoms to binding list.
-
-pp$2.toAssignableList = function(exprList, isBinding) {
- var this$1 = this;
-
- var end = exprList.length
- if (end) {
- var last = exprList[end - 1]
- if (last && last.type == "RestElement") {
- --end
- } else if (last && last.type == "SpreadElement") {
- last.type = "RestElement"
- var arg = last.argument
- this.toAssignable(arg, isBinding)
- if (arg.type !== "Identifier" && arg.type !== "MemberExpression" && arg.type !== "ArrayPattern")
- this.unexpected(arg.start)
- --end
- }
-
- if (isBinding && last && last.type === "RestElement" && last.argument.type !== "Identifier")
- this.unexpected(last.argument.start)
- }
- for (var i = 0; i < end; i++) {
- var elt = exprList[i]
- if (elt) this$1.toAssignable(elt, isBinding)
- }
- return exprList
-}
-
-// Parses spread element.
-
-pp$2.parseSpread = function(refDestructuringErrors) {
- var node = this.startNode()
- this.next()
- node.argument = this.parseMaybeAssign(false, refDestructuringErrors)
- return this.finishNode(node, "SpreadElement")
-}
-
-pp$2.parseRest = function(allowNonIdent) {
- var node = this.startNode()
- this.next()
-
- // RestElement inside of a function parameter must be an identifier
- if (allowNonIdent) node.argument = this.type === tt.name ? this.parseIdent() : this.unexpected()
- else node.argument = this.type === tt.name || this.type === tt.bracketL ? this.parseBindingAtom() : this.unexpected()
-
- return this.finishNode(node, "RestElement")
-}
-
-// Parses lvalue (assignable) atom.
-
-pp$2.parseBindingAtom = function() {
- if (this.options.ecmaVersion < 6) return this.parseIdent()
- switch (this.type) {
- case tt.name:
- return this.parseIdent()
-
- case tt.bracketL:
- var node = this.startNode()
- this.next()
- node.elements = this.parseBindingList(tt.bracketR, true, true)
- return this.finishNode(node, "ArrayPattern")
-
- case tt.braceL:
- return this.parseObj(true)
-
- default:
- this.unexpected()
- }
-}
-
-pp$2.parseBindingList = function(close, allowEmpty, allowTrailingComma, allowNonIdent) {
- var this$1 = this;
-
- var elts = [], first = true
- while (!this.eat(close)) {
- if (first) first = false
- else this$1.expect(tt.comma)
- if (allowEmpty && this$1.type === tt.comma) {
- elts.push(null)
- } else if (allowTrailingComma && this$1.afterTrailingComma(close)) {
- break
- } else if (this$1.type === tt.ellipsis) {
- var rest = this$1.parseRest(allowNonIdent)
- this$1.parseBindingListItem(rest)
- elts.push(rest)
- if (this$1.type === tt.comma) this$1.raise(this$1.start, "Comma is not permitted after the rest element")
- this$1.expect(close)
- break
- } else {
- var elem = this$1.parseMaybeDefault(this$1.start, this$1.startLoc)
- this$1.parseBindingListItem(elem)
- elts.push(elem)
- }
- }
- return elts
-}
-
-pp$2.parseBindingListItem = function(param) {
- return param
-}
-
-// Parses assignment pattern around given atom if possible.
-
-pp$2.parseMaybeDefault = function(startPos, startLoc, left) {
- left = left || this.parseBindingAtom()
- if (this.options.ecmaVersion < 6 || !this.eat(tt.eq)) return left
- var node = this.startNodeAt(startPos, startLoc)
- node.left = left
- node.right = this.parseMaybeAssign()
- return this.finishNode(node, "AssignmentPattern")
-}
-
-// Verify that a node is an lval — something that can be assigned
-// to.
-
-pp$2.checkLVal = function(expr, isBinding, checkClashes) {
- var this$1 = this;
-
- switch (expr.type) {
- case "Identifier":
- if (this.strict && this.reservedWordsStrictBind.test(expr.name))
- this.raiseRecoverable(expr.start, (isBinding ? "Binding " : "Assigning to ") + expr.name + " in strict mode")
- if (checkClashes) {
- if (has(checkClashes, expr.name))
- this.raiseRecoverable(expr.start, "Argument name clash")
- checkClashes[expr.name] = true
- }
- break
-
- case "MemberExpression":
- if (isBinding) this.raiseRecoverable(expr.start, (isBinding ? "Binding" : "Assigning to") + " member expression")
- break
-
- case "ObjectPattern":
- for (var i = 0; i < expr.properties.length; i++)
- this$1.checkLVal(expr.properties[i].value, isBinding, checkClashes)
- break
-
- case "ArrayPattern":
- for (var i$1 = 0; i$1 < expr.elements.length; i$1++) {
- var elem = expr.elements[i$1]
- if (elem) this$1.checkLVal(elem, isBinding, checkClashes)
- }
- break
-
- case "AssignmentPattern":
- this.checkLVal(expr.left, isBinding, checkClashes)
- break
-
- case "RestElement":
- this.checkLVal(expr.argument, isBinding, checkClashes)
- break
-
- case "ParenthesizedExpression":
- this.checkLVal(expr.expression, isBinding, checkClashes)
- break
-
- default:
- this.raise(expr.start, (isBinding ? "Binding" : "Assigning to") + " rvalue")
- }
-}
-
-// A recursive descent parser operates by defining functions for all
-// syntactic elements, and recursively calling those, each function
-// advancing the input stream and returning an AST node. Precedence
-// of constructs (for example, the fact that `!x[1]` means `!(x[1])`
-// instead of `(!x)[1]` is handled by the fact that the parser
-// function that parses unary prefix operators is called first, and
-// in turn calls the function that parses `[]` subscripts — that
-// way, it'll receive the node for `x[1]` already parsed, and wraps
-// *that* in the unary operator node.
-//
-// Acorn uses an [operator precedence parser][opp] to handle binary
-// operator precedence, because it is much more compact than using
-// the technique outlined above, which uses different, nesting
-// functions to specify precedence, for all of the ten binary
-// precedence levels that JavaScript defines.
-//
-// [opp]: http://en.wikipedia.org/wiki/Operator-precedence_parser
-
-var pp$3 = Parser.prototype
-
-// Check if property name clashes with already added.
-// Object/class getters and setters are not allowed to clash —
-// either with each other or with an init property — and in
-// strict mode, init properties are also not allowed to be repeated.
-
-pp$3.checkPropClash = function(prop, propHash) {
- if (this.options.ecmaVersion >= 6 && (prop.computed || prop.method || prop.shorthand))
- return
- var key = prop.key;
- var name
- switch (key.type) {
- case "Identifier": name = key.name; break
- case "Literal": name = String(key.value); break
- default: return
- }
- var kind = prop.kind;
- if (this.options.ecmaVersion >= 6) {
- if (name === "__proto__" && kind === "init") {
- if (propHash.proto) this.raiseRecoverable(key.start, "Redefinition of __proto__ property")
- propHash.proto = true
- }
- return
- }
- name = "$" + name
- var other = propHash[name]
- if (other) {
- var isGetSet = kind !== "init"
- if ((this.strict || isGetSet) && other[kind] || !(isGetSet ^ other.init))
- this.raiseRecoverable(key.start, "Redefinition of property")
- } else {
- other = propHash[name] = {
- init: false,
- get: false,
- set: false
- }
- }
- other[kind] = true
-}
-
-// ### Expression parsing
-
-// These nest, from the most general expression type at the top to
-// 'atomic', nondivisible expression types at the bottom. Most of
-// the functions will simply let the function(s) below them parse,
-// and, *if* the syntactic construct they handle is present, wrap
-// the AST node that the inner parser gave them in another node.
-
-// Parse a full expression. The optional arguments are used to
-// forbid the `in` operator (in for loops initalization expressions)
-// and provide reference for storing '=' operator inside shorthand
-// property assignment in contexts where both object expression
-// and object pattern might appear (so it's possible to raise
-// delayed syntax error at correct position).
-
-pp$3.parseExpression = function(noIn, refDestructuringErrors) {
- var this$1 = this;
-
- var startPos = this.start, startLoc = this.startLoc
- var expr = this.parseMaybeAssign(noIn, refDestructuringErrors)
- if (this.type === tt.comma) {
- var node = this.startNodeAt(startPos, startLoc)
- node.expressions = [expr]
- while (this.eat(tt.comma)) node.expressions.push(this$1.parseMaybeAssign(noIn, refDestructuringErrors))
- return this.finishNode(node, "SequenceExpression")
- }
- return expr
-}
-
-// Parse an assignment expression. This includes applications of
-// operators like `+=`.
-
-pp$3.parseMaybeAssign = function(noIn, refDestructuringErrors, afterLeftParse) {
- if (this.inGenerator && this.isContextual("yield")) return this.parseYield()
-
- var ownDestructuringErrors = false, oldParenAssign = -1
- if (refDestructuringErrors) {
- oldParenAssign = refDestructuringErrors.parenthesizedAssign
- refDestructuringErrors.parenthesizedAssign = -1
- } else {
- refDestructuringErrors = new DestructuringErrors
- ownDestructuringErrors = true
- }
-
- var startPos = this.start, startLoc = this.startLoc
- if (this.type == tt.parenL || this.type == tt.name)
- this.potentialArrowAt = this.start
- var left = this.parseMaybeConditional(noIn, refDestructuringErrors)
- if (afterLeftParse) left = afterLeftParse.call(this, left, startPos, startLoc)
- if (this.type.isAssign) {
- this.checkPatternErrors(refDestructuringErrors, true)
- if (!ownDestructuringErrors) DestructuringErrors.call(refDestructuringErrors)
- var node = this.startNodeAt(startPos, startLoc)
- node.operator = this.value
- node.left = this.type === tt.eq ? this.toAssignable(left) : left
- refDestructuringErrors.shorthandAssign = -1 // reset because shorthand default was used correctly
- this.checkLVal(left)
- this.next()
- node.right = this.parseMaybeAssign(noIn)
- return this.finishNode(node, "AssignmentExpression")
- } else {
- if (ownDestructuringErrors) this.checkExpressionErrors(refDestructuringErrors, true)
- }
- if (oldParenAssign > -1) refDestructuringErrors.parenthesizedAssign = oldParenAssign
- return left
-}
-
-// Parse a ternary conditional (`?:`) operator.
-
-pp$3.parseMaybeConditional = function(noIn, refDestructuringErrors) {
- var startPos = this.start, startLoc = this.startLoc
- var expr = this.parseExprOps(noIn, refDestructuringErrors)
- if (this.checkExpressionErrors(refDestructuringErrors)) return expr
- if (this.eat(tt.question)) {
- var node = this.startNodeAt(startPos, startLoc)
- node.test = expr
- node.consequent = this.parseMaybeAssign()
- this.expect(tt.colon)
- node.alternate = this.parseMaybeAssign(noIn)
- return this.finishNode(node, "ConditionalExpression")
- }
- return expr
-}
-
-// Start the precedence parser.
-
-pp$3.parseExprOps = function(noIn, refDestructuringErrors) {
- var startPos = this.start, startLoc = this.startLoc
- var expr = this.parseMaybeUnary(refDestructuringErrors, false)
- if (this.checkExpressionErrors(refDestructuringErrors)) return expr
- return this.parseExprOp(expr, startPos, startLoc, -1, noIn)
-}
-
-// Parse binary operators with the operator precedence parsing
-// algorithm. `left` is the left-hand side of the operator.
-// `minPrec` provides context that allows the function to stop and
-// defer further parser to one of its callers when it encounters an
-// operator that has a lower precedence than the set it is parsing.
-
-pp$3.parseExprOp = function(left, leftStartPos, leftStartLoc, minPrec, noIn) {
- var prec = this.type.binop
- if (prec != null && (!noIn || this.type !== tt._in)) {
- if (prec > minPrec) {
- var logical = this.type === tt.logicalOR || this.type === tt.logicalAND
- var op = this.value
- this.next()
- var startPos = this.start, startLoc = this.startLoc
- var right = this.parseExprOp(this.parseMaybeUnary(null, false), startPos, startLoc, prec, noIn)
- var node = this.buildBinary(leftStartPos, leftStartLoc, left, right, op, logical)
- return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec, noIn)
- }
- }
- return left
-}
-
-pp$3.buildBinary = function(startPos, startLoc, left, right, op, logical) {
- var node = this.startNodeAt(startPos, startLoc)
- node.left = left
- node.operator = op
- node.right = right
- return this.finishNode(node, logical ? "LogicalExpression" : "BinaryExpression")
-}
-
-// Parse unary operators, both prefix and postfix.
-
-pp$3.parseMaybeUnary = function(refDestructuringErrors, sawUnary) {
- var this$1 = this;
-
- var startPos = this.start, startLoc = this.startLoc, expr
- if (this.inAsync && this.isContextual("await")) {
- expr = this.parseAwait(refDestructuringErrors)
- sawUnary = true
- } else if (this.type.prefix) {
- var node = this.startNode(), update = this.type === tt.incDec
- node.operator = this.value
- node.prefix = true
- this.next()
- node.argument = this.parseMaybeUnary(null, true)
- this.checkExpressionErrors(refDestructuringErrors, true)
- if (update) this.checkLVal(node.argument)
- else if (this.strict && node.operator === "delete" &&
- node.argument.type === "Identifier")
- this.raiseRecoverable(node.start, "Deleting local variable in strict mode")
- else sawUnary = true
- expr = this.finishNode(node, update ? "UpdateExpression" : "UnaryExpression")
- } else {
- expr = this.parseExprSubscripts(refDestructuringErrors)
- if (this.checkExpressionErrors(refDestructuringErrors)) return expr
- while (this.type.postfix && !this.canInsertSemicolon()) {
- var node$1 = this$1.startNodeAt(startPos, startLoc)
- node$1.operator = this$1.value
- node$1.prefix = false
- node$1.argument = expr
- this$1.checkLVal(expr)
- this$1.next()
- expr = this$1.finishNode(node$1, "UpdateExpression")
- }
- }
-
- if (!sawUnary && this.eat(tt.starstar))
- return this.buildBinary(startPos, startLoc, expr, this.parseMaybeUnary(null, false), "**", false)
- else
- return expr
-}
-
-// Parse call, dot, and `[]`-subscript expressions.
-
-pp$3.parseExprSubscripts = function(refDestructuringErrors) {
- var startPos = this.start, startLoc = this.startLoc
- var expr = this.parseExprAtom(refDestructuringErrors)
- var skipArrowSubscripts = expr.type === "ArrowFunctionExpression" && this.input.slice(this.lastTokStart, this.lastTokEnd) !== ")"
- if (this.checkExpressionErrors(refDestructuringErrors) || skipArrowSubscripts) return expr
- var result = this.parseSubscripts(expr, startPos, startLoc)
- if (refDestructuringErrors && result.type === "MemberExpression") {
- if (refDestructuringErrors.parenthesizedAssign >= result.start) refDestructuringErrors.parenthesizedAssign = -1
- if (refDestructuringErrors.parenthesizedBind >= result.start) refDestructuringErrors.parenthesizedBind = -1
- }
- return result
-}
-
-pp$3.parseSubscripts = function(base, startPos, startLoc, noCalls) {
- var this$1 = this;
-
- var maybeAsyncArrow = this.options.ecmaVersion >= 8 && base.type === "Identifier" && base.name === "async" &&
- this.lastTokEnd == base.end && !this.canInsertSemicolon()
- for (var computed;;) {
- if ((computed = this$1.eat(tt.bracketL)) || this$1.eat(tt.dot)) {
- var node = this$1.startNodeAt(startPos, startLoc)
- node.object = base
- node.property = computed ? this$1.parseExpression() : this$1.parseIdent(true)
- node.computed = !!computed
- if (computed) this$1.expect(tt.bracketR)
- base = this$1.finishNode(node, "MemberExpression")
- } else if (!noCalls && this$1.eat(tt.parenL)) {
- var refDestructuringErrors = new DestructuringErrors, oldYieldPos = this$1.yieldPos, oldAwaitPos = this$1.awaitPos
- this$1.yieldPos = 0
- this$1.awaitPos = 0
- var exprList = this$1.parseExprList(tt.parenR, this$1.options.ecmaVersion >= 8, false, refDestructuringErrors)
- if (maybeAsyncArrow && !this$1.canInsertSemicolon() && this$1.eat(tt.arrow)) {
- this$1.checkPatternErrors(refDestructuringErrors, false)
- this$1.checkYieldAwaitInDefaultParams()
- this$1.yieldPos = oldYieldPos
- this$1.awaitPos = oldAwaitPos
- return this$1.parseArrowExpression(this$1.startNodeAt(startPos, startLoc), exprList, true)
- }
- this$1.checkExpressionErrors(refDestructuringErrors, true)
- this$1.yieldPos = oldYieldPos || this$1.yieldPos
- this$1.awaitPos = oldAwaitPos || this$1.awaitPos
- var node$1 = this$1.startNodeAt(startPos, startLoc)
- node$1.callee = base
- node$1.arguments = exprList
- base = this$1.finishNode(node$1, "CallExpression")
- } else if (this$1.type === tt.backQuote) {
- var node$2 = this$1.startNodeAt(startPos, startLoc)
- node$2.tag = base
- node$2.quasi = this$1.parseTemplate()
- base = this$1.finishNode(node$2, "TaggedTemplateExpression")
- } else {
- return base
- }
- }
-}
-
-// Parse an atomic expression — either a single token that is an
-// expression, an expression started by a keyword like `function` or
-// `new`, or an expression wrapped in punctuation like `()`, `[]`,
-// or `{}`.
-
-pp$3.parseExprAtom = function(refDestructuringErrors) {
- var node, canBeArrow = this.potentialArrowAt == this.start
- switch (this.type) {
- case tt._super:
- if (!this.inFunction)
- this.raise(this.start, "'super' outside of function or class")
-
- case tt._this:
- var type = this.type === tt._this ? "ThisExpression" : "Super"
- node = this.startNode()
- this.next()
- return this.finishNode(node, type)
-
- case tt.name:
- var startPos = this.start, startLoc = this.startLoc
- var id = this.parseIdent(this.type !== tt.name)
- if (this.options.ecmaVersion >= 8 && id.name === "async" && !this.canInsertSemicolon() && this.eat(tt._function))
- return this.parseFunction(this.startNodeAt(startPos, startLoc), false, false, true)
- if (canBeArrow && !this.canInsertSemicolon()) {
- if (this.eat(tt.arrow))
- return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], false)
- if (this.options.ecmaVersion >= 8 && id.name === "async" && this.type === tt.name) {
- id = this.parseIdent()
- if (this.canInsertSemicolon() || !this.eat(tt.arrow))
- this.unexpected()
- return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], true)
- }
- }
- return id
-
- case tt.regexp:
- var value = this.value
- node = this.parseLiteral(value.value)
- node.regex = {pattern: value.pattern, flags: value.flags}
- return node
-
- case tt.num: case tt.string:
- return this.parseLiteral(this.value)
-
- case tt._null: case tt._true: case tt._false:
- node = this.startNode()
- node.value = this.type === tt._null ? null : this.type === tt._true
- node.raw = this.type.keyword
- this.next()
- return this.finishNode(node, "Literal")
-
- case tt.parenL:
- var start = this.start, expr = this.parseParenAndDistinguishExpression(canBeArrow)
- if (refDestructuringErrors) {
- if (refDestructuringErrors.parenthesizedAssign < 0 && !this.isSimpleAssignTarget(expr))
- refDestructuringErrors.parenthesizedAssign = start
- if (refDestructuringErrors.parenthesizedBind < 0)
- refDestructuringErrors.parenthesizedBind = start
- }
- return expr
-
- case tt.bracketL:
- node = this.startNode()
- this.next()
- node.elements = this.parseExprList(tt.bracketR, true, true, refDestructuringErrors)
- return this.finishNode(node, "ArrayExpression")
-
- case tt.braceL:
- return this.parseObj(false, refDestructuringErrors)
-
- case tt._function:
- node = this.startNode()
- this.next()
- return this.parseFunction(node, false)
-
- case tt._class:
- return this.parseClass(this.startNode(), false)
-
- case tt._new:
- return this.parseNew()
-
- case tt.backQuote:
- return this.parseTemplate()
-
- default:
- this.unexpected()
- }
-}
-
-pp$3.parseLiteral = function(value) {
- var node = this.startNode()
- node.value = value
- node.raw = this.input.slice(this.start, this.end)
- this.next()
- return this.finishNode(node, "Literal")
-}
-
-pp$3.parseParenExpression = function() {
- this.expect(tt.parenL)
- var val = this.parseExpression()
- this.expect(tt.parenR)
- return val
-}
-
-pp$3.parseParenAndDistinguishExpression = function(canBeArrow) {
- var this$1 = this;
-
- var startPos = this.start, startLoc = this.startLoc, val, allowTrailingComma = this.options.ecmaVersion >= 8
- if (this.options.ecmaVersion >= 6) {
- this.next()
-
- var innerStartPos = this.start, innerStartLoc = this.startLoc
- var exprList = [], first = true, lastIsComma = false
- var refDestructuringErrors = new DestructuringErrors, oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, spreadStart, innerParenStart
- this.yieldPos = 0
- this.awaitPos = 0
- while (this.type !== tt.parenR) {
- first ? first = false : this$1.expect(tt.comma)
- if (allowTrailingComma && this$1.afterTrailingComma(tt.parenR, true)) {
- lastIsComma = true
- break
- } else if (this$1.type === tt.ellipsis) {
- spreadStart = this$1.start
- exprList.push(this$1.parseParenItem(this$1.parseRest()))
- if (this$1.type === tt.comma) this$1.raise(this$1.start, "Comma is not permitted after the rest element")
- break
- } else {
- if (this$1.type === tt.parenL && !innerParenStart) {
- innerParenStart = this$1.start
- }
- exprList.push(this$1.parseMaybeAssign(false, refDestructuringErrors, this$1.parseParenItem))
- }
- }
- var innerEndPos = this.start, innerEndLoc = this.startLoc
- this.expect(tt.parenR)
-
- if (canBeArrow && !this.canInsertSemicolon() && this.eat(tt.arrow)) {
- this.checkPatternErrors(refDestructuringErrors, false)
- this.checkYieldAwaitInDefaultParams()
- if (innerParenStart) this.unexpected(innerParenStart)
- this.yieldPos = oldYieldPos
- this.awaitPos = oldAwaitPos
- return this.parseParenArrowList(startPos, startLoc, exprList)
- }
-
- if (!exprList.length || lastIsComma) this.unexpected(this.lastTokStart)
- if (spreadStart) this.unexpected(spreadStart)
- this.checkExpressionErrors(refDestructuringErrors, true)
- this.yieldPos = oldYieldPos || this.yieldPos
- this.awaitPos = oldAwaitPos || this.awaitPos
-
- if (exprList.length > 1) {
- val = this.startNodeAt(innerStartPos, innerStartLoc)
- val.expressions = exprList
- this.finishNodeAt(val, "SequenceExpression", innerEndPos, innerEndLoc)
- } else {
- val = exprList[0]
- }
- } else {
- val = this.parseParenExpression()
- }
-
- if (this.options.preserveParens) {
- var par = this.startNodeAt(startPos, startLoc)
- par.expression = val
- return this.finishNode(par, "ParenthesizedExpression")
- } else {
- return val
- }
-}
-
-pp$3.parseParenItem = function(item) {
- return item
-}
-
-pp$3.parseParenArrowList = function(startPos, startLoc, exprList) {
- return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList)
-}
-
-// New's precedence is slightly tricky. It must allow its argument to
-// be a `[]` or dot subscript expression, but not a call — at least,
-// not without wrapping it in parentheses. Thus, it uses the noCalls
-// argument to parseSubscripts to prevent it from consuming the
-// argument list.
-
-var empty$1 = []
-
-pp$3.parseNew = function() {
- var node = this.startNode()
- var meta = this.parseIdent(true)
- if (this.options.ecmaVersion >= 6 && this.eat(tt.dot)) {
- node.meta = meta
- node.property = this.parseIdent(true)
- if (node.property.name !== "target")
- this.raiseRecoverable(node.property.start, "The only valid meta property for new is new.target")
- if (!this.inFunction)
- this.raiseRecoverable(node.start, "new.target can only be used in functions")
- return this.finishNode(node, "MetaProperty")
- }
- var startPos = this.start, startLoc = this.startLoc
- node.callee = this.parseSubscripts(this.parseExprAtom(), startPos, startLoc, true)
- if (this.eat(tt.parenL)) node.arguments = this.parseExprList(tt.parenR, this.options.ecmaVersion >= 8, false)
- else node.arguments = empty$1
- return this.finishNode(node, "NewExpression")
-}
-
-// Parse template expression.
-
-pp$3.parseTemplateElement = function() {
- var elem = this.startNode()
- elem.value = {
- raw: this.input.slice(this.start, this.end).replace(/\r\n?/g, '\n'),
- cooked: this.value
- }
- this.next()
- elem.tail = this.type === tt.backQuote
- return this.finishNode(elem, "TemplateElement")
-}
-
-pp$3.parseTemplate = function() {
- var this$1 = this;
-
- var node = this.startNode()
- this.next()
- node.expressions = []
- var curElt = this.parseTemplateElement()
- node.quasis = [curElt]
- while (!curElt.tail) {
- this$1.expect(tt.dollarBraceL)
- node.expressions.push(this$1.parseExpression())
- this$1.expect(tt.braceR)
- node.quasis.push(curElt = this$1.parseTemplateElement())
- }
- this.next()
- return this.finishNode(node, "TemplateLiteral")
-}
-
-// Parse an object literal or binding pattern.
-
-pp$3.parseObj = function(isPattern, refDestructuringErrors) {
- var this$1 = this;
-
- var node = this.startNode(), first = true, propHash = {}
- node.properties = []
- this.next()
- while (!this.eat(tt.braceR)) {
- if (!first) {
- this$1.expect(tt.comma)
- if (this$1.afterTrailingComma(tt.braceR)) break
- } else first = false
-
- var prop = this$1.startNode(), isGenerator, isAsync, startPos, startLoc
- if (this$1.options.ecmaVersion >= 6) {
- prop.method = false
- prop.shorthand = false
- if (isPattern || refDestructuringErrors) {
- startPos = this$1.start
- startLoc = this$1.startLoc
- }
- if (!isPattern)
- isGenerator = this$1.eat(tt.star)
- }
- this$1.parsePropertyName(prop)
- if (!isPattern && this$1.options.ecmaVersion >= 8 && !isGenerator && !prop.computed &&
- prop.key.type === "Identifier" && prop.key.name === "async" && this$1.type !== tt.parenL &&
- this$1.type !== tt.colon && !this$1.canInsertSemicolon()) {
- isAsync = true
- this$1.parsePropertyName(prop, refDestructuringErrors)
- } else {
- isAsync = false
- }
- this$1.parsePropertyValue(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors)
- this$1.checkPropClash(prop, propHash)
- node.properties.push(this$1.finishNode(prop, "Property"))
- }
- return this.finishNode(node, isPattern ? "ObjectPattern" : "ObjectExpression")
-}
-
-pp$3.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors) {
- if ((isGenerator || isAsync) && this.type === tt.colon)
- this.unexpected()
-
- if (this.eat(tt.colon)) {
- prop.value = isPattern ? this.parseMaybeDefault(this.start, this.startLoc) : this.parseMaybeAssign(false, refDestructuringErrors)
- prop.kind = "init"
- } else if (this.options.ecmaVersion >= 6 && this.type === tt.parenL) {
- if (isPattern) this.unexpected()
- prop.kind = "init"
- prop.method = true
- prop.value = this.parseMethod(isGenerator, isAsync)
- } else if (this.options.ecmaVersion >= 5 && !prop.computed && prop.key.type === "Identifier" &&
- (prop.key.name === "get" || prop.key.name === "set") &&
- (this.type != tt.comma && this.type != tt.braceR)) {
- if (isGenerator || isAsync || isPattern) this.unexpected()
- prop.kind = prop.key.name
- this.parsePropertyName(prop)
- prop.value = this.parseMethod(false)
- var paramCount = prop.kind === "get" ? 0 : 1
- if (prop.value.params.length !== paramCount) {
- var start = prop.value.start
- if (prop.kind === "get")
- this.raiseRecoverable(start, "getter should have no params")
- else
- this.raiseRecoverable(start, "setter should have exactly one param")
- } else {
- if (prop.kind === "set" && prop.value.params[0].type === "RestElement")
- this.raiseRecoverable(prop.value.params[0].start, "Setter cannot use rest params")
- }
- } else if (this.options.ecmaVersion >= 6 && !prop.computed && prop.key.type === "Identifier") {
- if (this.keywords.test(prop.key.name) ||
- (this.strict ? this.reservedWordsStrict : this.reservedWords).test(prop.key.name) ||
- (this.inGenerator && prop.key.name == "yield") ||
- (this.inAsync && prop.key.name == "await"))
- this.raiseRecoverable(prop.key.start, "'" + prop.key.name + "' can not be used as shorthand property")
- prop.kind = "init"
- if (isPattern) {
- prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key)
- } else if (this.type === tt.eq && refDestructuringErrors) {
- if (refDestructuringErrors.shorthandAssign < 0)
- refDestructuringErrors.shorthandAssign = this.start
- prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key)
- } else {
- prop.value = prop.key
- }
- prop.shorthand = true
- } else this.unexpected()
-}
-
-pp$3.parsePropertyName = function(prop) {
- if (this.options.ecmaVersion >= 6) {
- if (this.eat(tt.bracketL)) {
- prop.computed = true
- prop.key = this.parseMaybeAssign()
- this.expect(tt.bracketR)
- return prop.key
- } else {
- prop.computed = false
- }
- }
- return prop.key = this.type === tt.num || this.type === tt.string ? this.parseExprAtom() : this.parseIdent(true)
-}
-
-// Initialize empty function node.
-
-pp$3.initFunction = function(node) {
- node.id = null
- if (this.options.ecmaVersion >= 6) {
- node.generator = false
- node.expression = false
- }
- if (this.options.ecmaVersion >= 8)
- node.async = false
-}
-
-// Parse object or class method.
-
-pp$3.parseMethod = function(isGenerator, isAsync) {
- var node = this.startNode(), oldInGen = this.inGenerator, oldInAsync = this.inAsync,
- oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldInFunc = this.inFunction
-
- this.initFunction(node)
- if (this.options.ecmaVersion >= 6)
- node.generator = isGenerator
- if (this.options.ecmaVersion >= 8)
- node.async = !!isAsync
-
- this.inGenerator = node.generator
- this.inAsync = node.async
- this.yieldPos = 0
- this.awaitPos = 0
- this.inFunction = true
-
- this.expect(tt.parenL)
- node.params = this.parseBindingList(tt.parenR, false, this.options.ecmaVersion >= 8)
- this.checkYieldAwaitInDefaultParams()
- this.parseFunctionBody(node, false)
-
- this.inGenerator = oldInGen
- this.inAsync = oldInAsync
- this.yieldPos = oldYieldPos
- this.awaitPos = oldAwaitPos
- this.inFunction = oldInFunc
- return this.finishNode(node, "FunctionExpression")
-}
-
-// Parse arrow function expression with given parameters.
-
-pp$3.parseArrowExpression = function(node, params, isAsync) {
- var oldInGen = this.inGenerator, oldInAsync = this.inAsync,
- oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldInFunc = this.inFunction
-
- this.initFunction(node)
- if (this.options.ecmaVersion >= 8)
- node.async = !!isAsync
-
- this.inGenerator = false
- this.inAsync = node.async
- this.yieldPos = 0
- this.awaitPos = 0
- this.inFunction = true
-
- node.params = this.toAssignableList(params, true)
- this.parseFunctionBody(node, true)
-
- this.inGenerator = oldInGen
- this.inAsync = oldInAsync
- this.yieldPos = oldYieldPos
- this.awaitPos = oldAwaitPos
- this.inFunction = oldInFunc
- return this.finishNode(node, "ArrowFunctionExpression")
-}
-
-// Parse function body and check parameters.
-
-pp$3.parseFunctionBody = function(node, isArrowFunction) {
- var isExpression = isArrowFunction && this.type !== tt.braceL
- var oldStrict = this.strict, useStrict = false
-
- if (isExpression) {
- node.body = this.parseMaybeAssign()
- node.expression = true
- } else {
- var nonSimple = this.options.ecmaVersion >= 7 && !this.isSimpleParamList(node.params)
- if (!oldStrict || nonSimple) {
- useStrict = this.strictDirective(this.end)
- // If this is a strict mode function, verify that argument names
- // are not repeated, and it does not try to bind the words `eval`
- // or `arguments`.
- if (useStrict && nonSimple)
- this.raiseRecoverable(node.start, "Illegal 'use strict' directive in function with non-simple parameter list")
- }
- // Start a new scope with regard to labels and the `inFunction`
- // flag (restore them to their old value afterwards).
- var oldLabels = this.labels
- this.labels = []
- if (useStrict) this.strict = true
- node.body = this.parseBlock(true)
- node.expression = false
- this.labels = oldLabels
- }
-
- if (oldStrict || useStrict) {
- this.strict = true
- if (node.id)
- this.checkLVal(node.id, true)
- this.checkParams(node)
- this.strict = oldStrict
- } else if (isArrowFunction || !this.isSimpleParamList(node.params)) {
- this.checkParams(node)
- }
-}
-
-pp$3.isSimpleParamList = function(params) {
- for (var i = 0; i < params.length; i++)
- if (params[i].type !== "Identifier") return false
- return true
-}
-
-// Checks function params for various disallowed patterns such as using "eval"
-// or "arguments" and duplicate parameters.
-
-pp$3.checkParams = function(node) {
- var this$1 = this;
-
- var nameHash = {}
- for (var i = 0; i < node.params.length; i++) this$1.checkLVal(node.params[i], true, nameHash)
-}
-
-// Parses a comma-separated list of expressions, and returns them as
-// an array. `close` is the token type that ends the list, and
-// `allowEmpty` can be turned on to allow subsequent commas with
-// nothing in between them to be parsed as `null` (which is needed
-// for array literals).
-
-pp$3.parseExprList = function(close, allowTrailingComma, allowEmpty, refDestructuringErrors) {
- var this$1 = this;
-
- var elts = [], first = true
- while (!this.eat(close)) {
- if (!first) {
- this$1.expect(tt.comma)
- if (allowTrailingComma && this$1.afterTrailingComma(close)) break
- } else first = false
-
- var elt
- if (allowEmpty && this$1.type === tt.comma)
- elt = null
- else if (this$1.type === tt.ellipsis) {
- elt = this$1.parseSpread(refDestructuringErrors)
- if (refDestructuringErrors && this$1.type === tt.comma && refDestructuringErrors.trailingComma < 0)
- refDestructuringErrors.trailingComma = this$1.start
- } else {
- elt = this$1.parseMaybeAssign(false, refDestructuringErrors)
- }
- elts.push(elt)
- }
- return elts
-}
-
-// Parse the next token as an identifier. If `liberal` is true (used
-// when parsing properties), it will also convert keywords into
-// identifiers.
-
-pp$3.parseIdent = function(liberal) {
- var node = this.startNode()
- if (liberal && this.options.allowReserved == "never") liberal = false
- if (this.type === tt.name) {
- if (!liberal && (this.strict ? this.reservedWordsStrict : this.reservedWords).test(this.value) &&
- (this.options.ecmaVersion >= 6 ||
- this.input.slice(this.start, this.end).indexOf("\\") == -1))
- this.raiseRecoverable(this.start, "The keyword '" + this.value + "' is reserved")
- if (this.inGenerator && this.value === "yield")
- this.raiseRecoverable(this.start, "Can not use 'yield' as identifier inside a generator")
- if (this.inAsync && this.value === "await")
- this.raiseRecoverable(this.start, "Can not use 'await' as identifier inside an async function")
- node.name = this.value
- } else if (liberal && this.type.keyword) {
- node.name = this.type.keyword
- } else {
- this.unexpected()
- }
- this.next()
- return this.finishNode(node, "Identifier")
-}
-
-// Parses yield expression inside generator.
-
-pp$3.parseYield = function() {
- if (!this.yieldPos) this.yieldPos = this.start
-
- var node = this.startNode()
- this.next()
- if (this.type == tt.semi || this.canInsertSemicolon() || (this.type != tt.star && !this.type.startsExpr)) {
- node.delegate = false
- node.argument = null
- } else {
- node.delegate = this.eat(tt.star)
- node.argument = this.parseMaybeAssign()
- }
- return this.finishNode(node, "YieldExpression")
-}
-
-pp$3.parseAwait = function() {
- if (!this.awaitPos) this.awaitPos = this.start
-
- var node = this.startNode()
- this.next()
- node.argument = this.parseMaybeUnary(null, true)
- return this.finishNode(node, "AwaitExpression")
-}
-
-var pp$4 = Parser.prototype
-
-// This function is used to raise exceptions on parse errors. It
-// takes an offset integer (into the current `input`) to indicate
-// the location of the error, attaches the position to the end
-// of the error message, and then raises a `SyntaxError` with that
-// message.
-
-pp$4.raise = function(pos, message) {
- var loc = getLineInfo(this.input, pos)
- message += " (" + loc.line + ":" + loc.column + ")"
- var err = new SyntaxError(message)
- err.pos = pos; err.loc = loc; err.raisedAt = this.pos
- throw err
-}
-
-pp$4.raiseRecoverable = pp$4.raise
-
-pp$4.curPosition = function() {
- if (this.options.locations) {
- return new Position(this.curLine, this.pos - this.lineStart)
- }
-}
-
-var Node = function Node(parser, pos, loc) {
- this.type = ""
- this.start = pos
- this.end = 0
- if (parser.options.locations)
- this.loc = new SourceLocation(parser, loc)
- if (parser.options.directSourceFile)
- this.sourceFile = parser.options.directSourceFile
- if (parser.options.ranges)
- this.range = [pos, 0]
-};
-
-// Start an AST node, attaching a start offset.
-
-var pp$5 = Parser.prototype
-
-pp$5.startNode = function() {
- return new Node(this, this.start, this.startLoc)
-}
-
-pp$5.startNodeAt = function(pos, loc) {
- return new Node(this, pos, loc)
-}
-
-// Finish an AST node, adding `type` and `end` properties.
-
-function finishNodeAt(node, type, pos, loc) {
- node.type = type
- node.end = pos
- if (this.options.locations)
- node.loc.end = loc
- if (this.options.ranges)
- node.range[1] = pos
- return node
-}
-
-pp$5.finishNode = function(node, type) {
- return finishNodeAt.call(this, node, type, this.lastTokEnd, this.lastTokEndLoc)
-}
-
-// Finish node at given position
-
-pp$5.finishNodeAt = function(node, type, pos, loc) {
- return finishNodeAt.call(this, node, type, pos, loc)
-}
-
-// The algorithm used to determine whether a regexp can appear at a
-// given point in the program is loosely based on sweet.js' approach.
-// See https://github.com/mozilla/sweet.js/wiki/design
-
-var TokContext = function TokContext(token, isExpr, preserveSpace, override) {
- this.token = token
- this.isExpr = !!isExpr
- this.preserveSpace = !!preserveSpace
- this.override = override
-};
-
-var types = {
- b_stat: new TokContext("{", false),
- b_expr: new TokContext("{", true),
- b_tmpl: new TokContext("${", true),
- p_stat: new TokContext("(", false),
- p_expr: new TokContext("(", true),
- q_tmpl: new TokContext("`", true, true, function (p) { return p.readTmplToken(); }),
- f_expr: new TokContext("function", true)
-}
-
-var pp$6 = Parser.prototype
-
-pp$6.initialContext = function() {
- return [types.b_stat]
-}
-
-pp$6.braceIsBlock = function(prevType) {
- if (prevType === tt.colon) {
- var parent = this.curContext()
- if (parent === types.b_stat || parent === types.b_expr)
- return !parent.isExpr
- }
- if (prevType === tt._return)
- return lineBreak.test(this.input.slice(this.lastTokEnd, this.start))
- if (prevType === tt._else || prevType === tt.semi || prevType === tt.eof || prevType === tt.parenR)
- return true
- if (prevType == tt.braceL)
- return this.curContext() === types.b_stat
- return !this.exprAllowed
-}
-
-pp$6.updateContext = function(prevType) {
- var update, type = this.type
- if (type.keyword && prevType == tt.dot)
- this.exprAllowed = false
- else if (update = type.updateContext)
- update.call(this, prevType)
- else
- this.exprAllowed = type.beforeExpr
-}
-
-// Token-specific context update code
-
-tt.parenR.updateContext = tt.braceR.updateContext = function() {
- if (this.context.length == 1) {
- this.exprAllowed = true
- return
- }
- var out = this.context.pop()
- if (out === types.b_stat && this.curContext() === types.f_expr) {
- this.context.pop()
- this.exprAllowed = false
- } else if (out === types.b_tmpl) {
- this.exprAllowed = true
- } else {
- this.exprAllowed = !out.isExpr
- }
-}
-
-tt.braceL.updateContext = function(prevType) {
- this.context.push(this.braceIsBlock(prevType) ? types.b_stat : types.b_expr)
- this.exprAllowed = true
-}
-
-tt.dollarBraceL.updateContext = function() {
- this.context.push(types.b_tmpl)
- this.exprAllowed = true
-}
-
-tt.parenL.updateContext = function(prevType) {
- var statementParens = prevType === tt._if || prevType === tt._for || prevType === tt._with || prevType === tt._while
- this.context.push(statementParens ? types.p_stat : types.p_expr)
- this.exprAllowed = true
-}
-
-tt.incDec.updateContext = function() {
- // tokExprAllowed stays unchanged
-}
-
-tt._function.updateContext = function(prevType) {
- if (prevType.beforeExpr && prevType !== tt.semi && prevType !== tt._else &&
- !((prevType === tt.colon || prevType === tt.braceL) && this.curContext() === types.b_stat))
- this.context.push(types.f_expr)
- this.exprAllowed = false
-}
-
-tt.backQuote.updateContext = function() {
- if (this.curContext() === types.q_tmpl)
- this.context.pop()
- else
- this.context.push(types.q_tmpl)
- this.exprAllowed = false
-}
-
-// Object type used to represent tokens. Note that normally, tokens
-// simply exist as properties on the parser object. This is only
-// used for the onToken callback and the external tokenizer.
-
-var Token = function Token(p) {
- this.type = p.type
- this.value = p.value
- this.start = p.start
- this.end = p.end
- if (p.options.locations)
- this.loc = new SourceLocation(p, p.startLoc, p.endLoc)
- if (p.options.ranges)
- this.range = [p.start, p.end]
-};
-
-// ## Tokenizer
-
-var pp$7 = Parser.prototype
-
-// Are we running under Rhino?
-var isRhino = typeof Packages == "object" && Object.prototype.toString.call(Packages) == "[object JavaPackage]"
-
-// Move to the next token
-
-pp$7.next = function() {
- if (this.options.onToken)
- this.options.onToken(new Token(this))
-
- this.lastTokEnd = this.end
- this.lastTokStart = this.start
- this.lastTokEndLoc = this.endLoc
- this.lastTokStartLoc = this.startLoc
- this.nextToken()
-}
-
-pp$7.getToken = function() {
- this.next()
- return new Token(this)
-}
-
-// If we're in an ES6 environment, make parsers iterable
-if (typeof Symbol !== "undefined")
- pp$7[Symbol.iterator] = function () {
- var self = this
- return {next: function () {
- var token = self.getToken()
- return {
- done: token.type === tt.eof,
- value: token
- }
- }}
- }
-
-// Toggle strict mode. Re-reads the next number or string to please
-// pedantic tests (`"use strict"; 010;` should fail).
-
-pp$7.curContext = function() {
- return this.context[this.context.length - 1]
-}
-
-// Read a single token, updating the parser object's token-related
-// properties.
-
-pp$7.nextToken = function() {
- var curContext = this.curContext()
- if (!curContext || !curContext.preserveSpace) this.skipSpace()
-
- this.start = this.pos
- if (this.options.locations) this.startLoc = this.curPosition()
- if (this.pos >= this.input.length) return this.finishToken(tt.eof)
-
- if (curContext.override) return curContext.override(this)
- else this.readToken(this.fullCharCodeAtPos())
-}
-
-pp$7.readToken = function(code) {
- // Identifier or keyword. '\uXXXX' sequences are allowed in
- // identifiers, so '\' also dispatches to that.
- if (isIdentifierStart(code, this.options.ecmaVersion >= 6) || code === 92 /* '\' */)
- return this.readWord()
-
- return this.getTokenFromCode(code)
-}
-
-pp$7.fullCharCodeAtPos = function() {
- var code = this.input.charCodeAt(this.pos)
- if (code <= 0xd7ff || code >= 0xe000) return code
- var next = this.input.charCodeAt(this.pos + 1)
- return (code << 10) + next - 0x35fdc00
-}
-
-pp$7.skipBlockComment = function() {
- var this$1 = this;
-
- var startLoc = this.options.onComment && this.curPosition()
- var start = this.pos, end = this.input.indexOf("*/", this.pos += 2)
- if (end === -1) this.raise(this.pos - 2, "Unterminated comment")
- this.pos = end + 2
- if (this.options.locations) {
- lineBreakG.lastIndex = start
- var match
- while ((match = lineBreakG.exec(this.input)) && match.index < this.pos) {
- ++this$1.curLine
- this$1.lineStart = match.index + match[0].length
- }
- }
- if (this.options.onComment)
- this.options.onComment(true, this.input.slice(start + 2, end), start, this.pos,
- startLoc, this.curPosition())
-}
-
-pp$7.skipLineComment = function(startSkip) {
- var this$1 = this;
-
- var start = this.pos
- var startLoc = this.options.onComment && this.curPosition()
- var ch = this.input.charCodeAt(this.pos+=startSkip)
- while (this.pos < this.input.length && ch !== 10 && ch !== 13 && ch !== 8232 && ch !== 8233) {
- ++this$1.pos
- ch = this$1.input.charCodeAt(this$1.pos)
- }
- if (this.options.onComment)
- this.options.onComment(false, this.input.slice(start + startSkip, this.pos), start, this.pos,
- startLoc, this.curPosition())
-}
-
-// Called at the start of the parse and after every token. Skips
-// whitespace and comments, and.
-
-pp$7.skipSpace = function() {
- var this$1 = this;
-
- loop: while (this.pos < this.input.length) {
- var ch = this$1.input.charCodeAt(this$1.pos)
- switch (ch) {
- case 32: case 160: // ' '
- ++this$1.pos
- break
- case 13:
- if (this$1.input.charCodeAt(this$1.pos + 1) === 10) {
- ++this$1.pos
- }
- case 10: case 8232: case 8233:
- ++this$1.pos
- if (this$1.options.locations) {
- ++this$1.curLine
- this$1.lineStart = this$1.pos
- }
- break
- case 47: // '/'
- switch (this$1.input.charCodeAt(this$1.pos + 1)) {
- case 42: // '*'
- this$1.skipBlockComment()
- break
- case 47:
- this$1.skipLineComment(2)
- break
- default:
- break loop
- }
- break
- default:
- if (ch > 8 && ch < 14 || ch >= 5760 && nonASCIIwhitespace.test(String.fromCharCode(ch))) {
- ++this$1.pos
- } else {
- break loop
- }
- }
- }
-}
-
-// Called at the end of every token. Sets `end`, `val`, and
-// maintains `context` and `exprAllowed`, and skips the space after
-// the token, so that the next one's `start` will point at the
-// right position.
-
-pp$7.finishToken = function(type, val) {
- this.end = this.pos
- if (this.options.locations) this.endLoc = this.curPosition()
- var prevType = this.type
- this.type = type
- this.value = val
-
- this.updateContext(prevType)
-}
-
-// ### Token reading
-
-// This is the function that is called to fetch the next token. It
-// is somewhat obscure, because it works in character codes rather
-// than characters, and because operator parsing has been inlined
-// into it.
-//
-// All in the name of speed.
-//
-pp$7.readToken_dot = function() {
- var next = this.input.charCodeAt(this.pos + 1)
- if (next >= 48 && next <= 57) return this.readNumber(true)
- var next2 = this.input.charCodeAt(this.pos + 2)
- if (this.options.ecmaVersion >= 6 && next === 46 && next2 === 46) { // 46 = dot '.'
- this.pos += 3
- return this.finishToken(tt.ellipsis)
- } else {
- ++this.pos
- return this.finishToken(tt.dot)
- }
-}
-
-pp$7.readToken_slash = function() { // '/'
- var next = this.input.charCodeAt(this.pos + 1)
- if (this.exprAllowed) {++this.pos; return this.readRegexp()}
- if (next === 61) return this.finishOp(tt.assign, 2)
- return this.finishOp(tt.slash, 1)
-}
-
-pp$7.readToken_mult_modulo_exp = function(code) { // '%*'
- var next = this.input.charCodeAt(this.pos + 1)
- var size = 1
- var tokentype = code === 42 ? tt.star : tt.modulo
-
- // exponentiation operator ** and **=
- if (this.options.ecmaVersion >= 7 && next === 42) {
- ++size
- tokentype = tt.starstar
- next = this.input.charCodeAt(this.pos + 2)
- }
-
- if (next === 61) return this.finishOp(tt.assign, size + 1)
- return this.finishOp(tokentype, size)
-}
-
-pp$7.readToken_pipe_amp = function(code) { // '|&'
- var next = this.input.charCodeAt(this.pos + 1)
- if (next === code) return this.finishOp(code === 124 ? tt.logicalOR : tt.logicalAND, 2)
- if (next === 61) return this.finishOp(tt.assign, 2)
- return this.finishOp(code === 124 ? tt.bitwiseOR : tt.bitwiseAND, 1)
-}
-
-pp$7.readToken_caret = function() { // '^'
- var next = this.input.charCodeAt(this.pos + 1)
- if (next === 61) return this.finishOp(tt.assign, 2)
- return this.finishOp(tt.bitwiseXOR, 1)
-}
-
-pp$7.readToken_plus_min = function(code) { // '+-'
- var next = this.input.charCodeAt(this.pos + 1)
- if (next === code) {
- if (next == 45 && this.input.charCodeAt(this.pos + 2) == 62 &&
- lineBreak.test(this.input.slice(this.lastTokEnd, this.pos))) {
- // A `-->` line comment
- this.skipLineComment(3)
- this.skipSpace()
- return this.nextToken()
- }
- return this.finishOp(tt.incDec, 2)
- }
- if (next === 61) return this.finishOp(tt.assign, 2)
- return this.finishOp(tt.plusMin, 1)
-}
-
-pp$7.readToken_lt_gt = function(code) { // '<>'
- var next = this.input.charCodeAt(this.pos + 1)
- var size = 1
- if (next === code) {
- size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2
- if (this.input.charCodeAt(this.pos + size) === 61) return this.finishOp(tt.assign, size + 1)
- return this.finishOp(tt.bitShift, size)
- }
- if (next == 33 && code == 60 && this.input.charCodeAt(this.pos + 2) == 45 &&
- this.input.charCodeAt(this.pos + 3) == 45) {
- if (this.inModule) this.unexpected()
- // `` line comment
- this.skipLineComment(3)
- this.skipSpace()
- return this.nextToken()
- }
- return this.finishOp(tt.incDec, 2)
- }
- if (next === 61) return this.finishOp(tt.assign, 2)
- return this.finishOp(tt.plusMin, 1)
-}
-
-pp$7.readToken_lt_gt = function(code) { // '<>'
- var next = this.input.charCodeAt(this.pos + 1)
- var size = 1
- if (next === code) {
- size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2
- if (this.input.charCodeAt(this.pos + size) === 61) return this.finishOp(tt.assign, size + 1)
- return this.finishOp(tt.bitShift, size)
- }
- if (next == 33 && code == 60 && this.input.charCodeAt(this.pos + 2) == 45 &&
- this.input.charCodeAt(this.pos + 3) == 45) {
- if (this.inModule) this.unexpected()
- // `` line comment
- this.skipLineComment(3)
- this.skipSpace()
- return this.nextToken()
- }
- return this.finishOp(tt.incDec, 2)
- }
- if (next === 61) return this.finishOp(tt.assign, 2)
- return this.finishOp(tt.plusMin, 1)
-}
-
-pp.readToken_lt_gt = function(code) { // '<>'
- let next = this.input.charCodeAt(this.pos + 1)
- let size = 1
- if (next === code) {
- size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2
- if (this.input.charCodeAt(this.pos + size) === 61) return this.finishOp(tt.assign, size + 1)
- return this.finishOp(tt.bitShift, size)
- }
- if (next == 33 && code == 60 && this.input.charCodeAt(this.pos + 2) == 45 &&
- this.input.charCodeAt(this.pos + 3) == 45) {
- if (this.inModule) this.unexpected()
- // `` line comment
- this.skipLineComment(3)
- this.skipSpace()
- return this.nextToken()
- }
- return this.finishOp(tt.incDec, 2)
- }
- if (next === 61) return this.finishOp(tt.assign, 2)
- return this.finishOp(tt.plusMin, 1)
-}
-
-pp$7.readToken_lt_gt = function(code) { // '<>'
- var next = this.input.charCodeAt(this.pos + 1)
- var size = 1
- if (next === code) {
- size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2
- if (this.input.charCodeAt(this.pos + size) === 61) return this.finishOp(tt.assign, size + 1)
- return this.finishOp(tt.bitShift, size)
- }
- if (next == 33 && code == 60 && this.input.charCodeAt(this.pos + 2) == 45 &&
- this.input.charCodeAt(this.pos + 3) == 45) {
- if (this.inModule) this.unexpected()
- // `` line comment
- this.skipLineComment(3)
- this.skipSpace()
- return this.nextToken()
- }
- return this.finishOp(tt.incDec, 2)
- }
- if (next === 61) return this.finishOp(tt.assign, 2)
- return this.finishOp(tt.plusMin, 1)
- }
-
- pp$7.readToken_lt_gt = function(code) { // '<>'
- var next = this.input.charCodeAt(this.pos + 1)
- var size = 1
- if (next === code) {
- size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2
- if (this.input.charCodeAt(this.pos + size) === 61) return this.finishOp(tt.assign, size + 1)
- return this.finishOp(tt.bitShift, size)
- }
- if (next == 33 && code == 60 && this.input.charCodeAt(this.pos + 2) == 45 &&
- this.input.charCodeAt(this.pos + 3) == 45) {
- if (this.inModule) this.unexpected()
- // `` line comment
- this.skipLineComment(3)
- this.skipSpace()
- return this.nextToken()
- }
- return this.finishOp(tt.incDec, 2)
- }
- if (next === 61) return this.finishOp(tt.assign, 2)
- return this.finishOp(tt.plusMin, 1)
-}
-
-pp.readToken_lt_gt = function(code) { // '<>'
- let next = this.input.charCodeAt(this.pos + 1)
- let size = 1
- if (next === code) {
- size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2
- if (this.input.charCodeAt(this.pos + size) === 61) return this.finishOp(tt.assign, size + 1)
- return this.finishOp(tt.bitShift, size)
- }
- if (next == 33 && code == 60 && this.input.charCodeAt(this.pos + 2) == 45 &&
- this.input.charCodeAt(this.pos + 3) == 45) {
- if (this.inModule) this.unexpected()
- // `
-
-AsyncKit provides harness for `parallel` and `serial` iterators over list of items represented by arrays or objects.
-Optionally it accepts abort function (should be synchronously return by iterator for each item), and terminates left over jobs upon an error event. For specific iteration order built-in (`ascending` and `descending`) and custom sort helpers also supported, via `asynckit.serialOrdered` method.
-
-It ensures async operations to keep behavior more stable and prevent `Maximum call stack size exceeded` errors, from sync iterators.
-
-| compression | size |
-| :----------------- | -------: |
-| asynckit.js | 12.34 kB |
-| asynckit.min.js | 4.11 kB |
-| asynckit.min.js.gz | 1.47 kB |
-
-
-## Install
-
-```sh
-$ npm install --save asynckit
-```
-
-## Examples
-
-### Parallel Jobs
-
-Runs iterator over provided array in parallel. Stores output in the `result` array,
-on the matching positions. In unlikely event of an error from one of the jobs,
-will terminate rest of the active jobs (if abort function is provided)
-and return error along with salvaged data to the main callback function.
-
-#### Input Array
-
-```javascript
-var parallel = require('asynckit').parallel
- , assert = require('assert')
- ;
-
-var source = [ 1, 1, 4, 16, 64, 32, 8, 2 ]
- , expectedResult = [ 2, 2, 8, 32, 128, 64, 16, 4 ]
- , expectedTarget = [ 1, 1, 2, 4, 8, 16, 32, 64 ]
- , target = []
- ;
-
-parallel(source, asyncJob, function(err, result)
-{
- assert.deepEqual(result, expectedResult);
- assert.deepEqual(target, expectedTarget);
-});
-
-// async job accepts one element from the array
-// and a callback function
-function asyncJob(item, cb)
-{
- // different delays (in ms) per item
- var delay = item * 25;
-
- // pretend different jobs take different time to finish
- // and not in consequential order
- var timeoutId = setTimeout(function() {
- target.push(item);
- cb(null, item * 2);
- }, delay);
-
- // allow to cancel "leftover" jobs upon error
- // return function, invoking of which will abort this job
- return clearTimeout.bind(null, timeoutId);
-}
-```
-
-More examples could be found in [test/test-parallel-array.js](test/test-parallel-array.js).
-
-#### Input Object
-
-Also it supports named jobs, listed via object.
-
-```javascript
-var parallel = require('asynckit/parallel')
- , assert = require('assert')
- ;
-
-var source = { first: 1, one: 1, four: 4, sixteen: 16, sixtyFour: 64, thirtyTwo: 32, eight: 8, two: 2 }
- , expectedResult = { first: 2, one: 2, four: 8, sixteen: 32, sixtyFour: 128, thirtyTwo: 64, eight: 16, two: 4 }
- , expectedTarget = [ 1, 1, 2, 4, 8, 16, 32, 64 ]
- , expectedKeys = [ 'first', 'one', 'two', 'four', 'eight', 'sixteen', 'thirtyTwo', 'sixtyFour' ]
- , target = []
- , keys = []
- ;
-
-parallel(source, asyncJob, function(err, result)
-{
- assert.deepEqual(result, expectedResult);
- assert.deepEqual(target, expectedTarget);
- assert.deepEqual(keys, expectedKeys);
-});
-
-// supports full value, key, callback (shortcut) interface
-function asyncJob(item, key, cb)
-{
- // different delays (in ms) per item
- var delay = item * 25;
-
- // pretend different jobs take different time to finish
- // and not in consequential order
- var timeoutId = setTimeout(function() {
- keys.push(key);
- target.push(item);
- cb(null, item * 2);
- }, delay);
-
- // allow to cancel "leftover" jobs upon error
- // return function, invoking of which will abort this job
- return clearTimeout.bind(null, timeoutId);
-}
-```
-
-More examples could be found in [test/test-parallel-object.js](test/test-parallel-object.js).
-
-### Serial Jobs
-
-Runs iterator over provided array sequentially. Stores output in the `result` array,
-on the matching positions. In unlikely event of an error from one of the jobs,
-will not proceed to the rest of the items in the list
-and return error along with salvaged data to the main callback function.
-
-#### Input Array
-
-```javascript
-var serial = require('asynckit/serial')
- , assert = require('assert')
- ;
-
-var source = [ 1, 1, 4, 16, 64, 32, 8, 2 ]
- , expectedResult = [ 2, 2, 8, 32, 128, 64, 16, 4 ]
- , expectedTarget = [ 0, 1, 2, 3, 4, 5, 6, 7 ]
- , target = []
- ;
-
-serial(source, asyncJob, function(err, result)
-{
- assert.deepEqual(result, expectedResult);
- assert.deepEqual(target, expectedTarget);
-});
-
-// extended interface (item, key, callback)
-// also supported for arrays
-function asyncJob(item, key, cb)
-{
- target.push(key);
-
- // it will be automatically made async
- // even it iterator "returns" in the same event loop
- cb(null, item * 2);
-}
-```
-
-More examples could be found in [test/test-serial-array.js](test/test-serial-array.js).
-
-#### Input Object
-
-Also it supports named jobs, listed via object.
-
-```javascript
-var serial = require('asynckit').serial
- , assert = require('assert')
- ;
-
-var source = [ 1, 1, 4, 16, 64, 32, 8, 2 ]
- , expectedResult = [ 2, 2, 8, 32, 128, 64, 16, 4 ]
- , expectedTarget = [ 0, 1, 2, 3, 4, 5, 6, 7 ]
- , target = []
- ;
-
-var source = { first: 1, one: 1, four: 4, sixteen: 16, sixtyFour: 64, thirtyTwo: 32, eight: 8, two: 2 }
- , expectedResult = { first: 2, one: 2, four: 8, sixteen: 32, sixtyFour: 128, thirtyTwo: 64, eight: 16, two: 4 }
- , expectedTarget = [ 1, 1, 4, 16, 64, 32, 8, 2 ]
- , target = []
- ;
-
-
-serial(source, asyncJob, function(err, result)
-{
- assert.deepEqual(result, expectedResult);
- assert.deepEqual(target, expectedTarget);
-});
-
-// shortcut interface (item, callback)
-// works for object as well as for the arrays
-function asyncJob(item, cb)
-{
- target.push(item);
-
- // it will be automatically made async
- // even it iterator "returns" in the same event loop
- cb(null, item * 2);
-}
-```
-
-More examples could be found in [test/test-serial-object.js](test/test-serial-object.js).
-
-_Note: Since _object_ is an _unordered_ collection of properties,
-it may produce unexpected results with sequential iterations.
-Whenever order of the jobs' execution is important please use `serialOrdered` method._
-
-### Ordered Serial Iterations
-
-TBD
-
-For example [compare-property](compare-property) package.
-
-### Streaming interface
-
-TBD
-
-## Want to Know More?
-
-More examples can be found in [test folder](test/).
-
-Or open an [issue](https://github.com/alexindigo/asynckit/issues) with questions and/or suggestions.
-
-## License
-
-AsyncKit is licensed under the MIT license.
diff --git a/node_modules/asynckit/bench.js b/node_modules/asynckit/bench.js
deleted file mode 100644
index c612f1a..0000000
--- a/node_modules/asynckit/bench.js
+++ /dev/null
@@ -1,76 +0,0 @@
-/* eslint no-console: "off" */
-
-var asynckit = require('./')
- , async = require('async')
- , assert = require('assert')
- , expected = 0
- ;
-
-var Benchmark = require('benchmark');
-var suite = new Benchmark.Suite;
-
-var source = [];
-for (var z = 1; z < 100; z++)
-{
- source.push(z);
- expected += z;
-}
-
-suite
-// add tests
-
-.add('async.map', function(deferred)
-{
- var total = 0;
-
- async.map(source,
- function(i, cb)
- {
- setImmediate(function()
- {
- total += i;
- cb(null, total);
- });
- },
- function(err, result)
- {
- assert.ifError(err);
- assert.equal(result[result.length - 1], expected);
- deferred.resolve();
- });
-}, {'defer': true})
-
-
-.add('asynckit.parallel', function(deferred)
-{
- var total = 0;
-
- asynckit.parallel(source,
- function(i, cb)
- {
- setImmediate(function()
- {
- total += i;
- cb(null, total);
- });
- },
- function(err, result)
- {
- assert.ifError(err);
- assert.equal(result[result.length - 1], expected);
- deferred.resolve();
- });
-}, {'defer': true})
-
-
-// add listeners
-.on('cycle', function(ev)
-{
- console.log(String(ev.target));
-})
-.on('complete', function()
-{
- console.log('Fastest is ' + this.filter('fastest').map('name'));
-})
-// run async
-.run({ 'async': true });
diff --git a/node_modules/asynckit/index.js b/node_modules/asynckit/index.js
deleted file mode 100644
index 455f945..0000000
--- a/node_modules/asynckit/index.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports =
-{
- parallel : require('./parallel.js'),
- serial : require('./serial.js'),
- serialOrdered : require('./serialOrdered.js')
-};
diff --git a/node_modules/asynckit/lib/abort.js b/node_modules/asynckit/lib/abort.js
deleted file mode 100644
index 114367e..0000000
--- a/node_modules/asynckit/lib/abort.js
+++ /dev/null
@@ -1,29 +0,0 @@
-// API
-module.exports = abort;
-
-/**
- * Aborts leftover active jobs
- *
- * @param {object} state - current state object
- */
-function abort(state)
-{
- Object.keys(state.jobs).forEach(clean.bind(state));
-
- // reset leftover jobs
- state.jobs = {};
-}
-
-/**
- * Cleans up leftover job by invoking abort function for the provided job id
- *
- * @this state
- * @param {string|number} key - job id to abort
- */
-function clean(key)
-{
- if (typeof this.jobs[key] == 'function')
- {
- this.jobs[key]();
- }
-}
diff --git a/node_modules/asynckit/lib/async.js b/node_modules/asynckit/lib/async.js
deleted file mode 100644
index 7f1288a..0000000
--- a/node_modules/asynckit/lib/async.js
+++ /dev/null
@@ -1,34 +0,0 @@
-var defer = require('./defer.js');
-
-// API
-module.exports = async;
-
-/**
- * Runs provided callback asynchronously
- * even if callback itself is not
- *
- * @param {function} callback - callback to invoke
- * @returns {function} - augmented callback
- */
-function async(callback)
-{
- var isAsync = false;
-
- // check if async happened
- defer(function() { isAsync = true; });
-
- return function async_callback(err, result)
- {
- if (isAsync)
- {
- callback(err, result);
- }
- else
- {
- defer(function nextTick_callback()
- {
- callback(err, result);
- });
- }
- };
-}
diff --git a/node_modules/asynckit/lib/defer.js b/node_modules/asynckit/lib/defer.js
deleted file mode 100644
index b67110c..0000000
--- a/node_modules/asynckit/lib/defer.js
+++ /dev/null
@@ -1,26 +0,0 @@
-module.exports = defer;
-
-/**
- * Runs provided function on next iteration of the event loop
- *
- * @param {function} fn - function to run
- */
-function defer(fn)
-{
- var nextTick = typeof setImmediate == 'function'
- ? setImmediate
- : (
- typeof process == 'object' && typeof process.nextTick == 'function'
- ? process.nextTick
- : null
- );
-
- if (nextTick)
- {
- nextTick(fn);
- }
- else
- {
- setTimeout(fn, 0);
- }
-}
diff --git a/node_modules/asynckit/lib/iterate.js b/node_modules/asynckit/lib/iterate.js
deleted file mode 100644
index 5d2839a..0000000
--- a/node_modules/asynckit/lib/iterate.js
+++ /dev/null
@@ -1,75 +0,0 @@
-var async = require('./async.js')
- , abort = require('./abort.js')
- ;
-
-// API
-module.exports = iterate;
-
-/**
- * Iterates over each job object
- *
- * @param {array|object} list - array or object (named list) to iterate over
- * @param {function} iterator - iterator to run
- * @param {object} state - current job status
- * @param {function} callback - invoked when all elements processed
- */
-function iterate(list, iterator, state, callback)
-{
- // store current index
- var key = state['keyedList'] ? state['keyedList'][state.index] : state.index;
-
- state.jobs[key] = runJob(iterator, key, list[key], function(error, output)
- {
- // don't repeat yourself
- // skip secondary callbacks
- if (!(key in state.jobs))
- {
- return;
- }
-
- // clean up jobs
- delete state.jobs[key];
-
- if (error)
- {
- // don't process rest of the results
- // stop still active jobs
- // and reset the list
- abort(state);
- }
- else
- {
- state.results[key] = output;
- }
-
- // return salvaged results
- callback(error, state.results);
- });
-}
-
-/**
- * Runs iterator over provided job element
- *
- * @param {function} iterator - iterator to invoke
- * @param {string|number} key - key/index of the element in the list of jobs
- * @param {mixed} item - job description
- * @param {function} callback - invoked after iterator is done with the job
- * @returns {function|mixed} - job abort function or something else
- */
-function runJob(iterator, key, item, callback)
-{
- var aborter;
-
- // allow shortcut if iterator expects only two arguments
- if (iterator.length == 2)
- {
- aborter = iterator(item, async(callback));
- }
- // otherwise go with full three arguments
- else
- {
- aborter = iterator(item, key, async(callback));
- }
-
- return aborter;
-}
diff --git a/node_modules/asynckit/lib/readable_asynckit.js b/node_modules/asynckit/lib/readable_asynckit.js
deleted file mode 100644
index 78ad240..0000000
--- a/node_modules/asynckit/lib/readable_asynckit.js
+++ /dev/null
@@ -1,91 +0,0 @@
-var streamify = require('./streamify.js')
- , defer = require('./defer.js')
- ;
-
-// API
-module.exports = ReadableAsyncKit;
-
-/**
- * Base constructor for all streams
- * used to hold properties/methods
- */
-function ReadableAsyncKit()
-{
- ReadableAsyncKit.super_.apply(this, arguments);
-
- // list of active jobs
- this.jobs = {};
-
- // add stream methods
- this.destroy = destroy;
- this._start = _start;
- this._read = _read;
-}
-
-/**
- * Destroys readable stream,
- * by aborting outstanding jobs
- *
- * @returns {void}
- */
-function destroy()
-{
- if (this.destroyed)
- {
- return;
- }
-
- this.destroyed = true;
-
- if (typeof this.terminator == 'function')
- {
- this.terminator();
- }
-}
-
-/**
- * Starts provided jobs in async manner
- *
- * @private
- */
-function _start()
-{
- // first argument – runner function
- var runner = arguments[0]
- // take away first argument
- , args = Array.prototype.slice.call(arguments, 1)
- // second argument - input data
- , input = args[0]
- // last argument - result callback
- , endCb = streamify.callback.call(this, args[args.length - 1])
- ;
-
- args[args.length - 1] = endCb;
- // third argument - iterator
- args[1] = streamify.iterator.call(this, args[1]);
-
- // allow time for proper setup
- defer(function()
- {
- if (!this.destroyed)
- {
- this.terminator = runner.apply(null, args);
- }
- else
- {
- endCb(null, Array.isArray(input) ? [] : {});
- }
- }.bind(this));
-}
-
-
-/**
- * Implement _read to comply with Readable streams
- * Doesn't really make sense for flowing object mode
- *
- * @private
- */
-function _read()
-{
-
-}
diff --git a/node_modules/asynckit/lib/readable_parallel.js b/node_modules/asynckit/lib/readable_parallel.js
deleted file mode 100644
index 5d2929f..0000000
--- a/node_modules/asynckit/lib/readable_parallel.js
+++ /dev/null
@@ -1,25 +0,0 @@
-var parallel = require('../parallel.js');
-
-// API
-module.exports = ReadableParallel;
-
-/**
- * Streaming wrapper to `asynckit.parallel`
- *
- * @param {array|object} list - array or object (named list) to iterate over
- * @param {function} iterator - iterator to run
- * @param {function} callback - invoked when all elements processed
- * @returns {stream.Readable#}
- */
-function ReadableParallel(list, iterator, callback)
-{
- if (!(this instanceof ReadableParallel))
- {
- return new ReadableParallel(list, iterator, callback);
- }
-
- // turn on object mode
- ReadableParallel.super_.call(this, {objectMode: true});
-
- this._start(parallel, list, iterator, callback);
-}
diff --git a/node_modules/asynckit/lib/readable_serial.js b/node_modules/asynckit/lib/readable_serial.js
deleted file mode 100644
index 7822698..0000000
--- a/node_modules/asynckit/lib/readable_serial.js
+++ /dev/null
@@ -1,25 +0,0 @@
-var serial = require('../serial.js');
-
-// API
-module.exports = ReadableSerial;
-
-/**
- * Streaming wrapper to `asynckit.serial`
- *
- * @param {array|object} list - array or object (named list) to iterate over
- * @param {function} iterator - iterator to run
- * @param {function} callback - invoked when all elements processed
- * @returns {stream.Readable#}
- */
-function ReadableSerial(list, iterator, callback)
-{
- if (!(this instanceof ReadableSerial))
- {
- return new ReadableSerial(list, iterator, callback);
- }
-
- // turn on object mode
- ReadableSerial.super_.call(this, {objectMode: true});
-
- this._start(serial, list, iterator, callback);
-}
diff --git a/node_modules/asynckit/lib/readable_serial_ordered.js b/node_modules/asynckit/lib/readable_serial_ordered.js
deleted file mode 100644
index 3de89c4..0000000
--- a/node_modules/asynckit/lib/readable_serial_ordered.js
+++ /dev/null
@@ -1,29 +0,0 @@
-var serialOrdered = require('../serialOrdered.js');
-
-// API
-module.exports = ReadableSerialOrdered;
-// expose sort helpers
-module.exports.ascending = serialOrdered.ascending;
-module.exports.descending = serialOrdered.descending;
-
-/**
- * Streaming wrapper to `asynckit.serialOrdered`
- *
- * @param {array|object} list - array or object (named list) to iterate over
- * @param {function} iterator - iterator to run
- * @param {function} sortMethod - custom sort function
- * @param {function} callback - invoked when all elements processed
- * @returns {stream.Readable#}
- */
-function ReadableSerialOrdered(list, iterator, sortMethod, callback)
-{
- if (!(this instanceof ReadableSerialOrdered))
- {
- return new ReadableSerialOrdered(list, iterator, sortMethod, callback);
- }
-
- // turn on object mode
- ReadableSerialOrdered.super_.call(this, {objectMode: true});
-
- this._start(serialOrdered, list, iterator, sortMethod, callback);
-}
diff --git a/node_modules/asynckit/lib/state.js b/node_modules/asynckit/lib/state.js
deleted file mode 100644
index cbea7ad..0000000
--- a/node_modules/asynckit/lib/state.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// API
-module.exports = state;
-
-/**
- * Creates initial state object
- * for iteration over list
- *
- * @param {array|object} list - list to iterate over
- * @param {function|null} sortMethod - function to use for keys sort,
- * or `null` to keep them as is
- * @returns {object} - initial state object
- */
-function state(list, sortMethod)
-{
- var isNamedList = !Array.isArray(list)
- , initState =
- {
- index : 0,
- keyedList: isNamedList || sortMethod ? Object.keys(list) : null,
- jobs : {},
- results : isNamedList ? {} : [],
- size : isNamedList ? Object.keys(list).length : list.length
- }
- ;
-
- if (sortMethod)
- {
- // sort array keys based on it's values
- // sort object's keys just on own merit
- initState.keyedList.sort(isNamedList ? sortMethod : function(a, b)
- {
- return sortMethod(list[a], list[b]);
- });
- }
-
- return initState;
-}
diff --git a/node_modules/asynckit/lib/streamify.js b/node_modules/asynckit/lib/streamify.js
deleted file mode 100644
index f56a1c9..0000000
--- a/node_modules/asynckit/lib/streamify.js
+++ /dev/null
@@ -1,141 +0,0 @@
-var async = require('./async.js');
-
-// API
-module.exports = {
- iterator: wrapIterator,
- callback: wrapCallback
-};
-
-/**
- * Wraps iterators with long signature
- *
- * @this ReadableAsyncKit#
- * @param {function} iterator - function to wrap
- * @returns {function} - wrapped function
- */
-function wrapIterator(iterator)
-{
- var stream = this;
-
- return function(item, key, cb)
- {
- var aborter
- , wrappedCb = async(wrapIteratorCallback.call(stream, cb, key))
- ;
-
- stream.jobs[key] = wrappedCb;
-
- // it's either shortcut (item, cb)
- if (iterator.length == 2)
- {
- aborter = iterator(item, wrappedCb);
- }
- // or long format (item, key, cb)
- else
- {
- aborter = iterator(item, key, wrappedCb);
- }
-
- return aborter;
- };
-}
-
-/**
- * Wraps provided callback function
- * allowing to execute snitch function before
- * real callback
- *
- * @this ReadableAsyncKit#
- * @param {function} callback - function to wrap
- * @returns {function} - wrapped function
- */
-function wrapCallback(callback)
-{
- var stream = this;
-
- var wrapped = function(error, result)
- {
- return finisher.call(stream, error, result, callback);
- };
-
- return wrapped;
-}
-
-/**
- * Wraps provided iterator callback function
- * makes sure snitch only called once,
- * but passes secondary calls to the original callback
- *
- * @this ReadableAsyncKit#
- * @param {function} callback - callback to wrap
- * @param {number|string} key - iteration key
- * @returns {function} wrapped callback
- */
-function wrapIteratorCallback(callback, key)
-{
- var stream = this;
-
- return function(error, output)
- {
- // don't repeat yourself
- if (!(key in stream.jobs))
- {
- callback(error, output);
- return;
- }
-
- // clean up jobs
- delete stream.jobs[key];
-
- return streamer.call(stream, error, {key: key, value: output}, callback);
- };
-}
-
-/**
- * Stream wrapper for iterator callback
- *
- * @this ReadableAsyncKit#
- * @param {mixed} error - error response
- * @param {mixed} output - iterator output
- * @param {function} callback - callback that expects iterator results
- */
-function streamer(error, output, callback)
-{
- if (error && !this.error)
- {
- this.error = error;
- this.pause();
- this.emit('error', error);
- // send back value only, as expected
- callback(error, output && output.value);
- return;
- }
-
- // stream stuff
- this.push(output);
-
- // back to original track
- // send back value only, as expected
- callback(error, output && output.value);
-}
-
-/**
- * Stream wrapper for finishing callback
- *
- * @this ReadableAsyncKit#
- * @param {mixed} error - error response
- * @param {mixed} output - iterator output
- * @param {function} callback - callback that expects final results
- */
-function finisher(error, output, callback)
-{
- // signal end of the stream
- // only for successfully finished streams
- if (!error)
- {
- this.push(null);
- }
-
- // back to original track
- callback(error, output);
-}
diff --git a/node_modules/asynckit/lib/terminator.js b/node_modules/asynckit/lib/terminator.js
deleted file mode 100644
index d6eb992..0000000
--- a/node_modules/asynckit/lib/terminator.js
+++ /dev/null
@@ -1,29 +0,0 @@
-var abort = require('./abort.js')
- , async = require('./async.js')
- ;
-
-// API
-module.exports = terminator;
-
-/**
- * Terminates jobs in the attached state context
- *
- * @this AsyncKitState#
- * @param {function} callback - final callback to invoke after termination
- */
-function terminator(callback)
-{
- if (!Object.keys(this.jobs).length)
- {
- return;
- }
-
- // fast forward iteration index
- this.index = this.size;
-
- // abort jobs
- abort(this);
-
- // send back results we have so far
- async(callback)(null, this.results);
-}
diff --git a/node_modules/asynckit/package.json b/node_modules/asynckit/package.json
deleted file mode 100644
index 44461fe..0000000
--- a/node_modules/asynckit/package.json
+++ /dev/null
@@ -1,91 +0,0 @@
-{
- "_from": "asynckit@^0.4.0",
- "_id": "asynckit@0.4.0",
- "_inBundle": false,
- "_integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
- "_location": "/asynckit",
- "_phantomChildren": {},
- "_requested": {
- "type": "range",
- "registry": true,
- "raw": "asynckit@^0.4.0",
- "name": "asynckit",
- "escapedName": "asynckit",
- "rawSpec": "^0.4.0",
- "saveSpec": null,
- "fetchSpec": "^0.4.0"
- },
- "_requiredBy": [
- "/form-data"
- ],
- "_resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "_shasum": "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79",
- "_spec": "asynckit@^0.4.0",
- "_where": "C:\\Users\\Tom\\Documents\\Development\\bitsy-image-to-room\\node_modules\\form-data",
- "author": {
- "name": "Alex Indigo",
- "email": "iam@alexindigo.com"
- },
- "bugs": {
- "url": "https://github.com/alexindigo/asynckit/issues"
- },
- "bundleDependencies": false,
- "dependencies": {},
- "deprecated": false,
- "description": "Minimal async jobs utility library, with streams support",
- "devDependencies": {
- "browserify": "^13.0.0",
- "browserify-istanbul": "^2.0.0",
- "coveralls": "^2.11.9",
- "eslint": "^2.9.0",
- "istanbul": "^0.4.3",
- "obake": "^0.1.2",
- "phantomjs-prebuilt": "^2.1.7",
- "pre-commit": "^1.1.3",
- "reamde": "^1.1.0",
- "rimraf": "^2.5.2",
- "size-table": "^0.2.0",
- "tap-spec": "^4.1.1",
- "tape": "^4.5.1"
- },
- "homepage": "https://github.com/alexindigo/asynckit#readme",
- "keywords": [
- "async",
- "jobs",
- "parallel",
- "serial",
- "iterator",
- "array",
- "object",
- "stream",
- "destroy",
- "terminate",
- "abort"
- ],
- "license": "MIT",
- "main": "index.js",
- "name": "asynckit",
- "pre-commit": [
- "clean",
- "lint",
- "test",
- "browser",
- "report",
- "size"
- ],
- "repository": {
- "type": "git",
- "url": "git+https://github.com/alexindigo/asynckit.git"
- },
- "scripts": {
- "browser": "browserify -t browserify-istanbul test/lib/browserify_adjustment.js test/test-*.js | obake --coverage | tap-spec",
- "clean": "rimraf coverage",
- "debug": "tape test/test-*.js",
- "lint": "eslint *.js lib/*.js test/*.js",
- "report": "istanbul report",
- "size": "browserify index.js | size-table asynckit",
- "test": "istanbul cover --reporter=json tape -- 'test/test-*.js' | tap-spec",
- "win-test": "tape test/test-*.js"
- },
- "version": "0.4.0"
-}
diff --git a/node_modules/asynckit/parallel.js b/node_modules/asynckit/parallel.js
deleted file mode 100644
index 3c50344..0000000
--- a/node_modules/asynckit/parallel.js
+++ /dev/null
@@ -1,43 +0,0 @@
-var iterate = require('./lib/iterate.js')
- , initState = require('./lib/state.js')
- , terminator = require('./lib/terminator.js')
- ;
-
-// Public API
-module.exports = parallel;
-
-/**
- * Runs iterator over provided array elements in parallel
- *
- * @param {array|object} list - array or object (named list) to iterate over
- * @param {function} iterator - iterator to run
- * @param {function} callback - invoked when all elements processed
- * @returns {function} - jobs terminator
- */
-function parallel(list, iterator, callback)
-{
- var state = initState(list);
-
- while (state.index < (state['keyedList'] || list).length)
- {
- iterate(list, iterator, state, function(error, result)
- {
- if (error)
- {
- callback(error, result);
- return;
- }
-
- // looks like it's the last one
- if (Object.keys(state.jobs).length === 0)
- {
- callback(null, state.results);
- return;
- }
- });
-
- state.index++;
- }
-
- return terminator.bind(state, callback);
-}
diff --git a/node_modules/asynckit/serial.js b/node_modules/asynckit/serial.js
deleted file mode 100644
index 6cd949a..0000000
--- a/node_modules/asynckit/serial.js
+++ /dev/null
@@ -1,17 +0,0 @@
-var serialOrdered = require('./serialOrdered.js');
-
-// Public API
-module.exports = serial;
-
-/**
- * Runs iterator over provided array elements in series
- *
- * @param {array|object} list - array or object (named list) to iterate over
- * @param {function} iterator - iterator to run
- * @param {function} callback - invoked when all elements processed
- * @returns {function} - jobs terminator
- */
-function serial(list, iterator, callback)
-{
- return serialOrdered(list, iterator, null, callback);
-}
diff --git a/node_modules/asynckit/serialOrdered.js b/node_modules/asynckit/serialOrdered.js
deleted file mode 100644
index 607eafe..0000000
--- a/node_modules/asynckit/serialOrdered.js
+++ /dev/null
@@ -1,75 +0,0 @@
-var iterate = require('./lib/iterate.js')
- , initState = require('./lib/state.js')
- , terminator = require('./lib/terminator.js')
- ;
-
-// Public API
-module.exports = serialOrdered;
-// sorting helpers
-module.exports.ascending = ascending;
-module.exports.descending = descending;
-
-/**
- * Runs iterator over provided sorted array elements in series
- *
- * @param {array|object} list - array or object (named list) to iterate over
- * @param {function} iterator - iterator to run
- * @param {function} sortMethod - custom sort function
- * @param {function} callback - invoked when all elements processed
- * @returns {function} - jobs terminator
- */
-function serialOrdered(list, iterator, sortMethod, callback)
-{
- var state = initState(list, sortMethod);
-
- iterate(list, iterator, state, function iteratorHandler(error, result)
- {
- if (error)
- {
- callback(error, result);
- return;
- }
-
- state.index++;
-
- // are we there yet?
- if (state.index < (state['keyedList'] || list).length)
- {
- iterate(list, iterator, state, iteratorHandler);
- return;
- }
-
- // done here
- callback(null, state.results);
- });
-
- return terminator.bind(state, callback);
-}
-
-/*
- * -- Sort methods
- */
-
-/**
- * sort helper to sort array elements in ascending order
- *
- * @param {mixed} a - an item to compare
- * @param {mixed} b - an item to compare
- * @returns {number} - comparison result
- */
-function ascending(a, b)
-{
- return a < b ? -1 : a > b ? 1 : 0;
-}
-
-/**
- * sort helper to sort array elements in descending order
- *
- * @param {mixed} a - an item to compare
- * @param {mixed} b - an item to compare
- * @returns {number} - comparison result
- */
-function descending(a, b)
-{
- return -1 * ascending(a, b);
-}
diff --git a/node_modules/asynckit/stream.js b/node_modules/asynckit/stream.js
deleted file mode 100644
index d43465f..0000000
--- a/node_modules/asynckit/stream.js
+++ /dev/null
@@ -1,21 +0,0 @@
-var inherits = require('util').inherits
- , Readable = require('stream').Readable
- , ReadableAsyncKit = require('./lib/readable_asynckit.js')
- , ReadableParallel = require('./lib/readable_parallel.js')
- , ReadableSerial = require('./lib/readable_serial.js')
- , ReadableSerialOrdered = require('./lib/readable_serial_ordered.js')
- ;
-
-// API
-module.exports =
-{
- parallel : ReadableParallel,
- serial : ReadableSerial,
- serialOrdered : ReadableSerialOrdered,
-};
-
-inherits(ReadableAsyncKit, Readable);
-
-inherits(ReadableParallel, ReadableAsyncKit);
-inherits(ReadableSerial, ReadableAsyncKit);
-inherits(ReadableSerialOrdered, ReadableAsyncKit);
diff --git a/node_modules/aws-sign2/LICENSE b/node_modules/aws-sign2/LICENSE
deleted file mode 100644
index a4a9aee..0000000
--- a/node_modules/aws-sign2/LICENSE
+++ /dev/null
@@ -1,55 +0,0 @@
-Apache License
-
-Version 2.0, January 2004
-
-http://www.apache.org/licenses/
-
-TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-1. Definitions.
-
-"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
-
-"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
-
-"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
-
-"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
-
-"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
-
-"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
-
-"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
-
-"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
-
-"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
-
-"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
-
-2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
-
-3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
-
-4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
-
-You must give any other recipients of the Work or Derivative Works a copy of this License; and
-
-You must cause any modified files to carry prominent notices stating that You changed the files; and
-
-You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
-
-If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
-
-5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
-
-6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
-
-7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
-
-8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
-
-9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
-
-END OF TERMS AND CONDITIONS
\ No newline at end of file
diff --git a/node_modules/aws-sign2/README.md b/node_modules/aws-sign2/README.md
deleted file mode 100644
index 763564e..0000000
--- a/node_modules/aws-sign2/README.md
+++ /dev/null
@@ -1,4 +0,0 @@
-aws-sign
-========
-
-AWS signing. Originally pulled from LearnBoost/knox, maintained as vendor in request, now a standalone module.
diff --git a/node_modules/aws-sign2/index.js b/node_modules/aws-sign2/index.js
deleted file mode 100644
index ac72093..0000000
--- a/node_modules/aws-sign2/index.js
+++ /dev/null
@@ -1,212 +0,0 @@
-
-/*!
- * Copyright 2010 LearnBoost
- *
- * 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.
- */
-
-/**
- * Module dependencies.
- */
-
-var crypto = require('crypto')
- , parse = require('url').parse
- ;
-
-/**
- * Valid keys.
- */
-
-var keys =
- [ 'acl'
- , 'location'
- , 'logging'
- , 'notification'
- , 'partNumber'
- , 'policy'
- , 'requestPayment'
- , 'torrent'
- , 'uploadId'
- , 'uploads'
- , 'versionId'
- , 'versioning'
- , 'versions'
- , 'website'
- ]
-
-/**
- * Return an "Authorization" header value with the given `options`
- * in the form of "AWS :"
- *
- * @param {Object} options
- * @return {String}
- * @api private
- */
-
-function authorization (options) {
- return 'AWS ' + options.key + ':' + sign(options)
-}
-
-module.exports = authorization
-module.exports.authorization = authorization
-
-/**
- * Simple HMAC-SHA1 Wrapper
- *
- * @param {Object} options
- * @return {String}
- * @api private
- */
-
-function hmacSha1 (options) {
- return crypto.createHmac('sha1', options.secret).update(options.message).digest('base64')
-}
-
-module.exports.hmacSha1 = hmacSha1
-
-/**
- * Create a base64 sha1 HMAC for `options`.
- *
- * @param {Object} options
- * @return {String}
- * @api private
- */
-
-function sign (options) {
- options.message = stringToSign(options)
- return hmacSha1(options)
-}
-module.exports.sign = sign
-
-/**
- * Create a base64 sha1 HMAC for `options`.
- *
- * Specifically to be used with S3 presigned URLs
- *
- * @param {Object} options
- * @return {String}
- * @api private
- */
-
-function signQuery (options) {
- options.message = queryStringToSign(options)
- return hmacSha1(options)
-}
-module.exports.signQuery= signQuery
-
-/**
- * Return a string for sign() with the given `options`.
- *
- * Spec:
- *
- * \n
- * \n
- * \n
- * \n
- * [headers\n]
- *
- *
- * @param {Object} options
- * @return {String}
- * @api private
- */
-
-function stringToSign (options) {
- var headers = options.amazonHeaders || ''
- if (headers) headers += '\n'
- var r =
- [ options.verb
- , options.md5
- , options.contentType
- , options.date ? options.date.toUTCString() : ''
- , headers + options.resource
- ]
- return r.join('\n')
-}
-module.exports.queryStringToSign = stringToSign
-
-/**
- * Return a string for sign() with the given `options`, but is meant exclusively
- * for S3 presigned URLs
- *
- * Spec:
- *
- * \n
- *
- *
- * @param {Object} options
- * @return {String}
- * @api private
- */
-
-function queryStringToSign (options){
- return 'GET\n\n\n' + options.date + '\n' + options.resource
-}
-module.exports.queryStringToSign = queryStringToSign
-
-/**
- * Perform the following:
- *
- * - ignore non-amazon headers
- * - lowercase fields
- * - sort lexicographically
- * - trim whitespace between ":"
- * - join with newline
- *
- * @param {Object} headers
- * @return {String}
- * @api private
- */
-
-function canonicalizeHeaders (headers) {
- var buf = []
- , fields = Object.keys(headers)
- ;
- for (var i = 0, len = fields.length; i < len; ++i) {
- var field = fields[i]
- , val = headers[field]
- , field = field.toLowerCase()
- ;
- if (0 !== field.indexOf('x-amz')) continue
- buf.push(field + ':' + val)
- }
- return buf.sort().join('\n')
-}
-module.exports.canonicalizeHeaders = canonicalizeHeaders
-
-/**
- * Perform the following:
- *
- * - ignore non sub-resources
- * - sort lexicographically
- *
- * @param {String} resource
- * @return {String}
- * @api private
- */
-
-function canonicalizeResource (resource) {
- var url = parse(resource, true)
- , path = url.pathname
- , buf = []
- ;
-
- Object.keys(url.query).forEach(function(key){
- if (!~keys.indexOf(key)) return
- var val = '' == url.query[key] ? '' : '=' + encodeURIComponent(url.query[key])
- buf.push(key + val)
- })
-
- return path + (buf.length ? '?' + buf.sort().join('&') : '')
-}
-module.exports.canonicalizeResource = canonicalizeResource
diff --git a/node_modules/aws-sign2/package.json b/node_modules/aws-sign2/package.json
deleted file mode 100644
index 3544b4c..0000000
--- a/node_modules/aws-sign2/package.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- "_from": "aws-sign2@~0.6.0",
- "_id": "aws-sign2@0.6.0",
- "_inBundle": false,
- "_integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=",
- "_location": "/aws-sign2",
- "_phantomChildren": {},
- "_requested": {
- "type": "range",
- "registry": true,
- "raw": "aws-sign2@~0.6.0",
- "name": "aws-sign2",
- "escapedName": "aws-sign2",
- "rawSpec": "~0.6.0",
- "saveSpec": null,
- "fetchSpec": "~0.6.0"
- },
- "_requiredBy": [
- "/request"
- ],
- "_resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
- "_shasum": "14342dd38dbcc94d0e5b87d763cd63612c0e794f",
- "_spec": "aws-sign2@~0.6.0",
- "_where": "C:\\Users\\Tom\\Documents\\Development\\bitsy-image-to-room\\node_modules\\request",
- "author": {
- "name": "Mikeal Rogers",
- "email": "mikeal.rogers@gmail.com",
- "url": "http://www.futurealoof.com"
- },
- "bugs": {
- "url": "https://github.com/mikeal/aws-sign/issues"
- },
- "bundleDependencies": false,
- "dependencies": {},
- "deprecated": false,
- "description": "AWS signing. Originally pulled from LearnBoost/knox, maintained as vendor in request, now a standalone module.",
- "devDependencies": {},
- "engines": {
- "node": "*"
- },
- "homepage": "https://github.com/mikeal/aws-sign#readme",
- "license": "Apache-2.0",
- "main": "index.js",
- "name": "aws-sign2",
- "optionalDependencies": {},
- "repository": {
- "url": "git+https://github.com/mikeal/aws-sign.git"
- },
- "version": "0.6.0"
-}
diff --git a/node_modules/aws4/.npmignore b/node_modules/aws4/.npmignore
deleted file mode 100644
index 6c6ade6..0000000
--- a/node_modules/aws4/.npmignore
+++ /dev/null
@@ -1,4 +0,0 @@
-test
-examples
-example.js
-browser
diff --git a/node_modules/aws4/.tern-port b/node_modules/aws4/.tern-port
deleted file mode 100644
index 7fd1b52..0000000
--- a/node_modules/aws4/.tern-port
+++ /dev/null
@@ -1 +0,0 @@
-62638
\ No newline at end of file
diff --git a/node_modules/aws4/.travis.yml b/node_modules/aws4/.travis.yml
deleted file mode 100644
index 61d0634..0000000
--- a/node_modules/aws4/.travis.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-language: node_js
-node_js:
- - "0.10"
- - "0.12"
- - "4.2"
diff --git a/node_modules/aws4/LICENSE b/node_modules/aws4/LICENSE
deleted file mode 100644
index 4f321e5..0000000
--- a/node_modules/aws4/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright 2013 Michael Hart (michael.hart.au@gmail.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.
diff --git a/node_modules/aws4/README.md b/node_modules/aws4/README.md
deleted file mode 100644
index 6b002d0..0000000
--- a/node_modules/aws4/README.md
+++ /dev/null
@@ -1,523 +0,0 @@
-aws4
-----
-
-[![Build Status](https://secure.travis-ci.org/mhart/aws4.png?branch=master)](http://travis-ci.org/mhart/aws4)
-
-A small utility to sign vanilla node.js http(s) request options using Amazon's
-[AWS Signature Version 4](http://docs.amazonwebservices.com/general/latest/gr/signature-version-4.html).
-
-Can also be used [in the browser](./browser).
-
-This signature is supported by nearly all Amazon services, including
-[S3](http://docs.aws.amazon.com/AmazonS3/latest/API/),
-[EC2](http://docs.aws.amazon.com/AWSEC2/latest/APIReference/),
-[DynamoDB](http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/API.html),
-[Kinesis](http://docs.aws.amazon.com/kinesis/latest/APIReference/),
-[Lambda](http://docs.aws.amazon.com/lambda/latest/dg/API_Reference.html),
-[SQS](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/),
-[SNS](http://docs.aws.amazon.com/sns/latest/api/),
-[IAM](http://docs.aws.amazon.com/IAM/latest/APIReference/),
-[STS](http://docs.aws.amazon.com/STS/latest/APIReference/),
-[RDS](http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/),
-[CloudWatch](http://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/),
-[CloudWatch Logs](http://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/),
-[CodeDeploy](http://docs.aws.amazon.com/codedeploy/latest/APIReference/),
-[CloudFront](http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/),
-[CloudTrail](http://docs.aws.amazon.com/awscloudtrail/latest/APIReference/),
-[ElastiCache](http://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/),
-[EMR](http://docs.aws.amazon.com/ElasticMapReduce/latest/API/),
-[Glacier](http://docs.aws.amazon.com/amazonglacier/latest/dev/amazon-glacier-api.html),
-[CloudSearch](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/APIReq.html),
-[Elastic Load Balancing](http://docs.aws.amazon.com/ElasticLoadBalancing/latest/APIReference/),
-[Elastic Transcoder](http://docs.aws.amazon.com/elastictranscoder/latest/developerguide/api-reference.html),
-[CloudFormation](http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/),
-[Elastic Beanstalk](http://docs.aws.amazon.com/elasticbeanstalk/latest/api/),
-[Storage Gateway](http://docs.aws.amazon.com/storagegateway/latest/userguide/AWSStorageGatewayAPI.html),
-[Data Pipeline](http://docs.aws.amazon.com/datapipeline/latest/APIReference/),
-[Direct Connect](http://docs.aws.amazon.com/directconnect/latest/APIReference/),
-[Redshift](http://docs.aws.amazon.com/redshift/latest/APIReference/),
-[OpsWorks](http://docs.aws.amazon.com/opsworks/latest/APIReference/),
-[SES](http://docs.aws.amazon.com/ses/latest/APIReference/),
-[SWF](http://docs.aws.amazon.com/amazonswf/latest/apireference/),
-[AutoScaling](http://docs.aws.amazon.com/AutoScaling/latest/APIReference/),
-[Mobile Analytics](http://docs.aws.amazon.com/mobileanalytics/latest/ug/server-reference.html),
-[Cognito Identity](http://docs.aws.amazon.com/cognitoidentity/latest/APIReference/),
-[Cognito Sync](http://docs.aws.amazon.com/cognitosync/latest/APIReference/),
-[Container Service](http://docs.aws.amazon.com/AmazonECS/latest/APIReference/),
-[AppStream](http://docs.aws.amazon.com/appstream/latest/developerguide/appstream-api-rest.html),
-[Key Management Service](http://docs.aws.amazon.com/kms/latest/APIReference/),
-[Config](http://docs.aws.amazon.com/config/latest/APIReference/),
-[CloudHSM](http://docs.aws.amazon.com/cloudhsm/latest/dg/api-ref.html),
-[Route53](http://docs.aws.amazon.com/Route53/latest/APIReference/requests-rest.html) and
-[Route53 Domains](http://docs.aws.amazon.com/Route53/latest/APIReference/requests-rpc.html).
-
-Indeed, the only AWS services that *don't* support v4 as of 2014-12-30 are
-[Import/Export](http://docs.aws.amazon.com/AWSImportExport/latest/DG/api-reference.html) and
-[SimpleDB](http://docs.aws.amazon.com/AmazonSimpleDB/latest/DeveloperGuide/SDB_API.html)
-(they only support [AWS Signature Version 2](https://github.com/mhart/aws2)).
-
-It also provides defaults for a number of core AWS headers and
-request parameters, making it very easy to query AWS services, or
-build out a fully-featured AWS library.
-
-Example
--------
-
-```javascript
-var http = require('http'),
- https = require('https'),
- aws4 = require('aws4')
-
-// given an options object you could pass to http.request
-var opts = {host: 'sqs.us-east-1.amazonaws.com', path: '/?Action=ListQueues'}
-
-// alternatively (as aws4 can infer the host):
-opts = {service: 'sqs', region: 'us-east-1', path: '/?Action=ListQueues'}
-
-// alternatively (as us-east-1 is default):
-opts = {service: 'sqs', path: '/?Action=ListQueues'}
-
-aws4.sign(opts) // assumes AWS credentials are available in process.env
-
-console.log(opts)
-/*
-{
- host: 'sqs.us-east-1.amazonaws.com',
- path: '/?Action=ListQueues',
- headers: {
- Host: 'sqs.us-east-1.amazonaws.com',
- 'X-Amz-Date': '20121226T061030Z',
- Authorization: 'AWS4-HMAC-SHA256 Credential=ABCDEF/20121226/us-east-1/sqs/aws4_request, ...'
- }
-}
-*/
-
-// we can now use this to query AWS using the standard node.js http API
-http.request(opts, function(res) { res.pipe(process.stdout) }).end()
-/*
-
-
-...
-*/
-```
-
-More options
-------------
-
-```javascript
-// you can also pass AWS credentials in explicitly (otherwise taken from process.env)
-aws4.sign(opts, {accessKeyId: '', secretAccessKey: ''})
-
-// can also add the signature to query strings
-aws4.sign({service: 's3', path: '/my-bucket?X-Amz-Expires=12345', signQuery: true})
-
-// create a utility function to pipe to stdout (with https this time)
-function request(o) { https.request(o, function(res) { res.pipe(process.stdout) }).end(o.body || '') }
-
-// aws4 can infer the HTTP method if a body is passed in
-// method will be POST and Content-Type: 'application/x-www-form-urlencoded; charset=utf-8'
-request(aws4.sign({service: 'iam', body: 'Action=ListGroups&Version=2010-05-08'}))
-/*
-
-...
-*/
-
-// can specify any custom option or header as per usual
-request(aws4.sign({
- service: 'dynamodb',
- region: 'ap-southeast-2',
- method: 'POST',
- path: '/',
- headers: {
- 'Content-Type': 'application/x-amz-json-1.0',
- 'X-Amz-Target': 'DynamoDB_20120810.ListTables'
- },
- body: '{}'
-}))
-/*
-{"TableNames":[]}
-...
-*/
-
-// works with all other services that support Signature Version 4
-
-request(aws4.sign({service: 's3', path: '/', signQuery: true}))
-/*
-
-...
-*/
-
-request(aws4.sign({service: 'ec2', path: '/?Action=DescribeRegions&Version=2014-06-15'}))
-/*
-
-...
-*/
-
-request(aws4.sign({service: 'sns', path: '/?Action=ListTopics&Version=2010-03-31'}))
-/*
-
-...
-*/
-
-request(aws4.sign({service: 'sts', path: '/?Action=GetSessionToken&Version=2011-06-15'}))
-/*
-
-...
-*/
-
-request(aws4.sign({service: 'cloudsearch', path: '/?Action=ListDomainNames&Version=2013-01-01'}))
-/*
-
-...
-*/
-
-request(aws4.sign({service: 'ses', path: '/?Action=ListIdentities&Version=2010-12-01'}))
-/*
-
-...
-*/
-
-request(aws4.sign({service: 'autoscaling', path: '/?Action=DescribeAutoScalingInstances&Version=2011-01-01'}))
-/*
-
-...
-*/
-
-request(aws4.sign({service: 'elasticloadbalancing', path: '/?Action=DescribeLoadBalancers&Version=2012-06-01'}))
-/*
-
-...
-*/
-
-request(aws4.sign({service: 'cloudformation', path: '/?Action=ListStacks&Version=2010-05-15'}))
-/*
-
-...
-*/
-
-request(aws4.sign({service: 'elasticbeanstalk', path: '/?Action=ListAvailableSolutionStacks&Version=2010-12-01'}))
-/*
-
-...
-*/
-
-request(aws4.sign({service: 'rds', path: '/?Action=DescribeDBInstances&Version=2012-09-17'}))
-/*
-
-...
-*/
-
-request(aws4.sign({service: 'monitoring', path: '/?Action=ListMetrics&Version=2010-08-01'}))
-/*
-
-...
-*/
-
-request(aws4.sign({service: 'redshift', path: '/?Action=DescribeClusters&Version=2012-12-01'}))
-/*
-
-...
-*/
-
-request(aws4.sign({service: 'cloudfront', path: '/2014-05-31/distribution'}))
-/*
-
-...
-*/
-
-request(aws4.sign({service: 'elasticache', path: '/?Action=DescribeCacheClusters&Version=2014-07-15'}))
-/*
-
-...
-*/
-
-request(aws4.sign({service: 'elasticmapreduce', path: '/?Action=DescribeJobFlows&Version=2009-03-31'}))
-/*
-
-...
-*/
-
-request(aws4.sign({service: 'route53', path: '/2013-04-01/hostedzone'}))
-/*
-
-...
-*/
-
-request(aws4.sign({service: 'appstream', path: '/applications'}))
-/*
-{"_links":{"curie":[{"href":"http://docs.aws.amazon.com/appstream/latest/...
-...
-*/
-
-request(aws4.sign({service: 'cognito-sync', path: '/identitypools'}))
-/*
-{"Count":0,"IdentityPoolUsages":[],"MaxResults":16,"NextToken":null}
-...
-*/
-
-request(aws4.sign({service: 'elastictranscoder', path: '/2012-09-25/pipelines'}))
-/*
-{"NextPageToken":null,"Pipelines":[]}
-...
-*/
-
-request(aws4.sign({service: 'lambda', path: '/2014-11-13/functions/'}))
-/*
-{"Functions":[],"NextMarker":null}
-...
-*/
-
-request(aws4.sign({service: 'ecs', path: '/?Action=ListClusters&Version=2014-11-13'}))
-/*
-
-...
-*/
-
-request(aws4.sign({service: 'glacier', path: '/-/vaults', headers: {'X-Amz-Glacier-Version': '2012-06-01'}}))
-/*
-{"Marker":null,"VaultList":[]}
-...
-*/
-
-request(aws4.sign({service: 'storagegateway', body: '{}', headers: {
- 'Content-Type': 'application/x-amz-json-1.1',
- 'X-Amz-Target': 'StorageGateway_20120630.ListGateways'
-}}))
-/*
-{"Gateways":[]}
-...
-*/
-
-request(aws4.sign({service: 'datapipeline', body: '{}', headers: {
- 'Content-Type': 'application/x-amz-json-1.1',
- 'X-Amz-Target': 'DataPipeline.ListPipelines'
-}}))
-/*
-{"hasMoreResults":false,"pipelineIdList":[]}
-...
-*/
-
-request(aws4.sign({service: 'opsworks', body: '{}', headers: {
- 'Content-Type': 'application/x-amz-json-1.1',
- 'X-Amz-Target': 'OpsWorks_20130218.DescribeStacks'
-}}))
-/*
-{"Stacks":[]}
-...
-*/
-
-request(aws4.sign({service: 'route53domains', body: '{}', headers: {
- 'Content-Type': 'application/x-amz-json-1.1',
- 'X-Amz-Target': 'Route53Domains_v20140515.ListDomains'
-}}))
-/*
-{"Domains":[]}
-...
-*/
-
-request(aws4.sign({service: 'kinesis', body: '{}', headers: {
- 'Content-Type': 'application/x-amz-json-1.1',
- 'X-Amz-Target': 'Kinesis_20131202.ListStreams'
-}}))
-/*
-{"HasMoreStreams":false,"StreamNames":[]}
-...
-*/
-
-request(aws4.sign({service: 'cloudtrail', body: '{}', headers: {
- 'Content-Type': 'application/x-amz-json-1.1',
- 'X-Amz-Target': 'CloudTrail_20131101.DescribeTrails'
-}}))
-/*
-{"trailList":[]}
-...
-*/
-
-request(aws4.sign({service: 'logs', body: '{}', headers: {
- 'Content-Type': 'application/x-amz-json-1.1',
- 'X-Amz-Target': 'Logs_20140328.DescribeLogGroups'
-}}))
-/*
-{"logGroups":[]}
-...
-*/
-
-request(aws4.sign({service: 'codedeploy', body: '{}', headers: {
- 'Content-Type': 'application/x-amz-json-1.1',
- 'X-Amz-Target': 'CodeDeploy_20141006.ListApplications'
-}}))
-/*
-{"applications":[]}
-...
-*/
-
-request(aws4.sign({service: 'directconnect', body: '{}', headers: {
- 'Content-Type': 'application/x-amz-json-1.1',
- 'X-Amz-Target': 'OvertureService.DescribeConnections'
-}}))
-/*
-{"connections":[]}
-...
-*/
-
-request(aws4.sign({service: 'kms', body: '{}', headers: {
- 'Content-Type': 'application/x-amz-json-1.1',
- 'X-Amz-Target': 'TrentService.ListKeys'
-}}))
-/*
-{"Keys":[],"Truncated":false}
-...
-*/
-
-request(aws4.sign({service: 'config', body: '{}', headers: {
- 'Content-Type': 'application/x-amz-json-1.1',
- 'X-Amz-Target': 'StarlingDoveService.DescribeDeliveryChannels'
-}}))
-/*
-{"DeliveryChannels":[]}
-...
-*/
-
-request(aws4.sign({service: 'cloudhsm', body: '{}', headers: {
- 'Content-Type': 'application/x-amz-json-1.1',
- 'X-Amz-Target': 'CloudHsmFrontendService.ListAvailableZones'
-}}))
-/*
-{"AZList":["us-east-1a","us-east-1b","us-east-1c"]}
-...
-*/
-
-request(aws4.sign({
- service: 'swf',
- body: '{"registrationStatus":"REGISTERED"}',
- headers: {
- 'Content-Type': 'application/x-amz-json-1.0',
- 'X-Amz-Target': 'SimpleWorkflowService.ListDomains'
- }
-}))
-/*
-{"domainInfos":[]}
-...
-*/
-
-request(aws4.sign({
- service: 'cognito-identity',
- body: '{"MaxResults": 1}',
- headers: {
- 'Content-Type': 'application/x-amz-json-1.1',
- 'X-Amz-Target': 'AWSCognitoIdentityService.ListIdentityPools'
- }
-}))
-/*
-{"IdentityPools":[]}
-...
-*/
-
-request(aws4.sign({
- service: 'mobileanalytics',
- path: '/2014-06-05/events',
- body: JSON.stringify({events:[{
- eventType: 'a',
- timestamp: new Date().toISOString(),
- session: {},
- }]}),
- headers: {
- 'Content-Type': 'application/json',
- 'X-Amz-Client-Context': JSON.stringify({
- client: {client_id: 'a', app_title: 'a'},
- custom: {},
- env: {platform: 'a'},
- services: {},
- }),
- }
-}))
-/*
-(HTTP 202, empty response)
-*/
-
-// Generate CodeCommit Git access password
-var signer = new aws4.RequestSigner({
- service: 'codecommit',
- host: 'git-codecommit.us-east-1.amazonaws.com',
- method: 'GIT',
- path: '/v1/repos/MyAwesomeRepo',
-})
-var password = signer.getDateTime() + 'Z' + signer.signature()
-```
-
-API
----
-
-### aws4.sign(requestOptions, [credentials])
-
-This calculates and populates the `Authorization` header of
-`requestOptions`, and any other necessary AWS headers and/or request
-options. Returns `requestOptions` as a convenience for chaining.
-
-`requestOptions` is an object holding the same options that the node.js
-[http.request](http://nodejs.org/docs/latest/api/http.html#http_http_request_options_callback)
-function takes.
-
-The following properties of `requestOptions` are used in the signing or
-populated if they don't already exist:
-
-- `hostname` or `host` (will be determined from `service` and `region` if not given)
-- `method` (will use `'GET'` if not given or `'POST'` if there is a `body`)
-- `path` (will use `'/'` if not given)
-- `body` (will use `''` if not given)
-- `service` (will be calculated from `hostname` or `host` if not given)
-- `region` (will be calculated from `hostname` or `host` or use `'us-east-1'` if not given)
-- `headers['Host']` (will use `hostname` or `host` or be calculated if not given)
-- `headers['Content-Type']` (will use `'application/x-www-form-urlencoded; charset=utf-8'`
- if not given and there is a `body`)
-- `headers['Date']` (used to calculate the signature date if given, otherwise `new Date` is used)
-
-Your AWS credentials (which can be found in your
-[AWS console](https://portal.aws.amazon.com/gp/aws/securityCredentials))
-can be specified in one of two ways:
-
-- As the second argument, like this:
-
-```javascript
-aws4.sign(requestOptions, {
- secretAccessKey: "",
- accessKeyId: "",
- sessionToken: ""
-})
-```
-
-- From `process.env`, such as this:
-
-```
-export AWS_SECRET_ACCESS_KEY=""
-export AWS_ACCESS_KEY_ID=""
-export AWS_SESSION_TOKEN=""
-```
-
-(will also use `AWS_ACCESS_KEY` and `AWS_SECRET_KEY` if available)
-
-The `sessionToken` property and `AWS_SESSION_TOKEN` environment variable are optional for signing
-with [IAM STS temporary credentials](http://docs.aws.amazon.com/STS/latest/UsingSTS/using-temp-creds.html).
-
-Installation
-------------
-
-With [npm](http://npmjs.org/) do:
-
-```
-npm install aws4
-```
-
-Can also be used [in the browser](./browser).
-
-Thanks
-------
-
-Thanks to [@jed](https://github.com/jed) for his
-[dynamo-client](https://github.com/jed/dynamo-client) lib where I first
-committed and subsequently extracted this code.
-
-Also thanks to the
-[official node.js AWS SDK](https://github.com/aws/aws-sdk-js) for giving
-me a start on implementing the v4 signature.
-
diff --git a/node_modules/aws4/aws4.js b/node_modules/aws4/aws4.js
deleted file mode 100644
index 0cff0f0..0000000
--- a/node_modules/aws4/aws4.js
+++ /dev/null
@@ -1,332 +0,0 @@
-var aws4 = exports,
- url = require('url'),
- querystring = require('querystring'),
- crypto = require('crypto'),
- lru = require('./lru'),
- credentialsCache = lru(1000)
-
-// http://docs.amazonwebservices.com/general/latest/gr/signature-version-4.html
-
-function hmac(key, string, encoding) {
- return crypto.createHmac('sha256', key).update(string, 'utf8').digest(encoding)
-}
-
-function hash(string, encoding) {
- return crypto.createHash('sha256').update(string, 'utf8').digest(encoding)
-}
-
-// This function assumes the string has already been percent encoded
-function encodeRfc3986(urlEncodedString) {
- return urlEncodedString.replace(/[!'()*]/g, function(c) {
- return '%' + c.charCodeAt(0).toString(16).toUpperCase()
- })
-}
-
-// request: { path | body, [host], [method], [headers], [service], [region] }
-// credentials: { accessKeyId, secretAccessKey, [sessionToken] }
-function RequestSigner(request, credentials) {
-
- if (typeof request === 'string') request = url.parse(request)
-
- var headers = request.headers = (request.headers || {}),
- hostParts = this.matchHost(request.hostname || request.host || headers.Host || headers.host)
-
- this.request = request
- this.credentials = credentials || this.defaultCredentials()
-
- this.service = request.service || hostParts[0] || ''
- this.region = request.region || hostParts[1] || 'us-east-1'
-
- // SES uses a different domain from the service name
- if (this.service === 'email') this.service = 'ses'
-
- if (!request.method && request.body)
- request.method = 'POST'
-
- if (!headers.Host && !headers.host) {
- headers.Host = request.hostname || request.host || this.createHost()
-
- // If a port is specified explicitly, use it as is
- if (request.port)
- headers.Host += ':' + request.port
- }
- if (!request.hostname && !request.host)
- request.hostname = headers.Host || headers.host
-
- this.isCodeCommitGit = this.service === 'codecommit' && request.method === 'GIT'
-}
-
-RequestSigner.prototype.matchHost = function(host) {
- var match = (host || '').match(/([^\.]+)\.(?:([^\.]*)\.)?amazonaws\.com$/)
- var hostParts = (match || []).slice(1, 3)
-
- // ES's hostParts are sometimes the other way round, if the value that is expected
- // to be region equals ‘es’ switch them back
- // e.g. search-cluster-name-aaaa00aaaa0aaa0aaaaaaa0aaa.us-east-1.es.amazonaws.com
- if (hostParts[1] === 'es')
- hostParts = hostParts.reverse()
-
- return hostParts
-}
-
-// http://docs.aws.amazon.com/general/latest/gr/rande.html
-RequestSigner.prototype.isSingleRegion = function() {
- // Special case for S3 and SimpleDB in us-east-1
- if (['s3', 'sdb'].indexOf(this.service) >= 0 && this.region === 'us-east-1') return true
-
- return ['cloudfront', 'ls', 'route53', 'iam', 'importexport', 'sts']
- .indexOf(this.service) >= 0
-}
-
-RequestSigner.prototype.createHost = function() {
- var region = this.isSingleRegion() ? '' :
- (this.service === 's3' && this.region !== 'us-east-1' ? '-' : '.') + this.region,
- service = this.service === 'ses' ? 'email' : this.service
- return service + region + '.amazonaws.com'
-}
-
-RequestSigner.prototype.prepareRequest = function() {
- this.parsePath()
-
- var request = this.request, headers = request.headers, query
-
- if (request.signQuery) {
-
- this.parsedPath.query = query = this.parsedPath.query || {}
-
- if (this.credentials.sessionToken)
- query['X-Amz-Security-Token'] = this.credentials.sessionToken
-
- if (this.service === 's3' && !query['X-Amz-Expires'])
- query['X-Amz-Expires'] = 86400
-
- if (query['X-Amz-Date'])
- this.datetime = query['X-Amz-Date']
- else
- query['X-Amz-Date'] = this.getDateTime()
-
- query['X-Amz-Algorithm'] = 'AWS4-HMAC-SHA256'
- query['X-Amz-Credential'] = this.credentials.accessKeyId + '/' + this.credentialString()
- query['X-Amz-SignedHeaders'] = this.signedHeaders()
-
- } else {
-
- if (!request.doNotModifyHeaders && !this.isCodeCommitGit) {
- if (request.body && !headers['Content-Type'] && !headers['content-type'])
- headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=utf-8'
-
- if (request.body && !headers['Content-Length'] && !headers['content-length'])
- headers['Content-Length'] = Buffer.byteLength(request.body)
-
- if (this.credentials.sessionToken && !headers['X-Amz-Security-Token'] && !headers['x-amz-security-token'])
- headers['X-Amz-Security-Token'] = this.credentials.sessionToken
-
- if (this.service === 's3' && !headers['X-Amz-Content-Sha256'] && !headers['x-amz-content-sha256'])
- headers['X-Amz-Content-Sha256'] = hash(this.request.body || '', 'hex')
-
- if (headers['X-Amz-Date'] || headers['x-amz-date'])
- this.datetime = headers['X-Amz-Date'] || headers['x-amz-date']
- else
- headers['X-Amz-Date'] = this.getDateTime()
- }
-
- delete headers.Authorization
- delete headers.authorization
- }
-}
-
-RequestSigner.prototype.sign = function() {
- if (!this.parsedPath) this.prepareRequest()
-
- if (this.request.signQuery) {
- this.parsedPath.query['X-Amz-Signature'] = this.signature()
- } else {
- this.request.headers.Authorization = this.authHeader()
- }
-
- this.request.path = this.formatPath()
-
- return this.request
-}
-
-RequestSigner.prototype.getDateTime = function() {
- if (!this.datetime) {
- var headers = this.request.headers,
- date = new Date(headers.Date || headers.date || new Date)
-
- this.datetime = date.toISOString().replace(/[:\-]|\.\d{3}/g, '')
-
- // Remove the trailing 'Z' on the timestamp string for CodeCommit git access
- if (this.isCodeCommitGit) this.datetime = this.datetime.slice(0, -1)
- }
- return this.datetime
-}
-
-RequestSigner.prototype.getDate = function() {
- return this.getDateTime().substr(0, 8)
-}
-
-RequestSigner.prototype.authHeader = function() {
- return [
- 'AWS4-HMAC-SHA256 Credential=' + this.credentials.accessKeyId + '/' + this.credentialString(),
- 'SignedHeaders=' + this.signedHeaders(),
- 'Signature=' + this.signature(),
- ].join(', ')
-}
-
-RequestSigner.prototype.signature = function() {
- var date = this.getDate(),
- cacheKey = [this.credentials.secretAccessKey, date, this.region, this.service].join(),
- kDate, kRegion, kService, kCredentials = credentialsCache.get(cacheKey)
- if (!kCredentials) {
- kDate = hmac('AWS4' + this.credentials.secretAccessKey, date)
- kRegion = hmac(kDate, this.region)
- kService = hmac(kRegion, this.service)
- kCredentials = hmac(kService, 'aws4_request')
- credentialsCache.set(cacheKey, kCredentials)
- }
- return hmac(kCredentials, this.stringToSign(), 'hex')
-}
-
-RequestSigner.prototype.stringToSign = function() {
- return [
- 'AWS4-HMAC-SHA256',
- this.getDateTime(),
- this.credentialString(),
- hash(this.canonicalString(), 'hex'),
- ].join('\n')
-}
-
-RequestSigner.prototype.canonicalString = function() {
- if (!this.parsedPath) this.prepareRequest()
-
- var pathStr = this.parsedPath.path,
- query = this.parsedPath.query,
- headers = this.request.headers,
- queryStr = '',
- normalizePath = this.service !== 's3',
- decodePath = this.service === 's3' || this.request.doNotEncodePath,
- decodeSlashesInPath = this.service === 's3',
- firstValOnly = this.service === 's3',
- bodyHash
-
- if (this.service === 's3' && this.request.signQuery) {
- bodyHash = 'UNSIGNED-PAYLOAD'
- } else if (this.isCodeCommitGit) {
- bodyHash = ''
- } else {
- bodyHash = headers['X-Amz-Content-Sha256'] || headers['x-amz-content-sha256'] ||
- hash(this.request.body || '', 'hex')
- }
-
- if (query) {
- queryStr = encodeRfc3986(querystring.stringify(Object.keys(query).sort().reduce(function(obj, key) {
- if (!key) return obj
- obj[key] = !Array.isArray(query[key]) ? query[key] :
- (firstValOnly ? query[key][0] : query[key].slice().sort())
- return obj
- }, {})))
- }
- if (pathStr !== '/') {
- if (normalizePath) pathStr = pathStr.replace(/\/{2,}/g, '/')
- pathStr = pathStr.split('/').reduce(function(path, piece) {
- if (normalizePath && piece === '..') {
- path.pop()
- } else if (!normalizePath || piece !== '.') {
- if (decodePath) piece = querystring.unescape(piece)
- path.push(encodeRfc3986(querystring.escape(piece)))
- }
- return path
- }, []).join('/')
- if (pathStr[0] !== '/') pathStr = '/' + pathStr
- if (decodeSlashesInPath) pathStr = pathStr.replace(/%2F/g, '/')
- }
-
- return [
- this.request.method || 'GET',
- pathStr,
- queryStr,
- this.canonicalHeaders() + '\n',
- this.signedHeaders(),
- bodyHash,
- ].join('\n')
-}
-
-RequestSigner.prototype.canonicalHeaders = function() {
- var headers = this.request.headers
- function trimAll(header) {
- return header.toString().trim().replace(/\s+/g, ' ')
- }
- return Object.keys(headers)
- .sort(function(a, b) { return a.toLowerCase() < b.toLowerCase() ? -1 : 1 })
- .map(function(key) { return key.toLowerCase() + ':' + trimAll(headers[key]) })
- .join('\n')
-}
-
-RequestSigner.prototype.signedHeaders = function() {
- return Object.keys(this.request.headers)
- .map(function(key) { return key.toLowerCase() })
- .sort()
- .join(';')
-}
-
-RequestSigner.prototype.credentialString = function() {
- return [
- this.getDate(),
- this.region,
- this.service,
- 'aws4_request',
- ].join('/')
-}
-
-RequestSigner.prototype.defaultCredentials = function() {
- var env = process.env
- return {
- accessKeyId: env.AWS_ACCESS_KEY_ID || env.AWS_ACCESS_KEY,
- secretAccessKey: env.AWS_SECRET_ACCESS_KEY || env.AWS_SECRET_KEY,
- sessionToken: env.AWS_SESSION_TOKEN,
- }
-}
-
-RequestSigner.prototype.parsePath = function() {
- var path = this.request.path || '/',
- queryIx = path.indexOf('?'),
- query = null
-
- if (queryIx >= 0) {
- query = querystring.parse(path.slice(queryIx + 1))
- path = path.slice(0, queryIx)
- }
-
- // S3 doesn't always encode characters > 127 correctly and
- // all services don't encode characters > 255 correctly
- // So if there are non-reserved chars (and it's not already all % encoded), just encode them all
- if (/[^0-9A-Za-z!'()*\-._~%/]/.test(path)) {
- path = path.split('/').map(function(piece) {
- return querystring.escape(querystring.unescape(piece))
- }).join('/')
- }
-
- this.parsedPath = {
- path: path,
- query: query,
- }
-}
-
-RequestSigner.prototype.formatPath = function() {
- var path = this.parsedPath.path,
- query = this.parsedPath.query
-
- if (!query) return path
-
- // Services don't support empty query string keys
- if (query[''] != null) delete query['']
-
- return path + '?' + encodeRfc3986(querystring.stringify(query))
-}
-
-aws4.RequestSigner = RequestSigner
-
-aws4.sign = function(request, credentials) {
- return new RequestSigner(request, credentials).sign()
-}
diff --git a/node_modules/aws4/lru.js b/node_modules/aws4/lru.js
deleted file mode 100644
index 333f66a..0000000
--- a/node_modules/aws4/lru.js
+++ /dev/null
@@ -1,96 +0,0 @@
-module.exports = function(size) {
- return new LruCache(size)
-}
-
-function LruCache(size) {
- this.capacity = size | 0
- this.map = Object.create(null)
- this.list = new DoublyLinkedList()
-}
-
-LruCache.prototype.get = function(key) {
- var node = this.map[key]
- if (node == null) return undefined
- this.used(node)
- return node.val
-}
-
-LruCache.prototype.set = function(key, val) {
- var node = this.map[key]
- if (node != null) {
- node.val = val
- } else {
- if (!this.capacity) this.prune()
- if (!this.capacity) return false
- node = new DoublyLinkedNode(key, val)
- this.map[key] = node
- this.capacity--
- }
- this.used(node)
- return true
-}
-
-LruCache.prototype.used = function(node) {
- this.list.moveToFront(node)
-}
-
-LruCache.prototype.prune = function() {
- var node = this.list.pop()
- if (node != null) {
- delete this.map[node.key]
- this.capacity++
- }
-}
-
-
-function DoublyLinkedList() {
- this.firstNode = null
- this.lastNode = null
-}
-
-DoublyLinkedList.prototype.moveToFront = function(node) {
- if (this.firstNode == node) return
-
- this.remove(node)
-
- if (this.firstNode == null) {
- this.firstNode = node
- this.lastNode = node
- node.prev = null
- node.next = null
- } else {
- node.prev = null
- node.next = this.firstNode
- node.next.prev = node
- this.firstNode = node
- }
-}
-
-DoublyLinkedList.prototype.pop = function() {
- var lastNode = this.lastNode
- if (lastNode != null) {
- this.remove(lastNode)
- }
- return lastNode
-}
-
-DoublyLinkedList.prototype.remove = function(node) {
- if (this.firstNode == node) {
- this.firstNode = node.next
- } else if (node.prev != null) {
- node.prev.next = node.next
- }
- if (this.lastNode == node) {
- this.lastNode = node.prev
- } else if (node.next != null) {
- node.next.prev = node.prev
- }
-}
-
-
-function DoublyLinkedNode(key, val) {
- this.key = key
- this.val = val
- this.prev = null
- this.next = null
-}
diff --git a/node_modules/aws4/package.json b/node_modules/aws4/package.json
deleted file mode 100644
index e278370..0000000
--- a/node_modules/aws4/package.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "_from": "aws4@^1.2.1",
- "_id": "aws4@1.6.0",
- "_inBundle": false,
- "_integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=",
- "_location": "/aws4",
- "_phantomChildren": {},
- "_requested": {
- "type": "range",
- "registry": true,
- "raw": "aws4@^1.2.1",
- "name": "aws4",
- "escapedName": "aws4",
- "rawSpec": "^1.2.1",
- "saveSpec": null,
- "fetchSpec": "^1.2.1"
- },
- "_requiredBy": [
- "/request"
- ],
- "_resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
- "_shasum": "83ef5ca860b2b32e4a0deedee8c771b9db57471e",
- "_spec": "aws4@^1.2.1",
- "_where": "C:\\Users\\Tom\\Documents\\Development\\bitsy-image-to-room\\node_modules\\request",
- "author": {
- "name": "Michael Hart",
- "email": "michael.hart.au@gmail.com",
- "url": "http://github.com/mhart"
- },
- "bugs": {
- "url": "https://github.com/mhart/aws4/issues"
- },
- "bundleDependencies": false,
- "deprecated": false,
- "description": "Signs and prepares requests using AWS Signature Version 4",
- "devDependencies": {
- "mocha": "^2.4.5",
- "should": "^8.2.2"
- },
- "homepage": "https://github.com/mhart/aws4#readme",
- "keywords": [
- "amazon",
- "aws",
- "signature",
- "s3",
- "ec2",
- "autoscaling",
- "cloudformation",
- "elasticloadbalancing",
- "elb",
- "elasticbeanstalk",
- "cloudsearch",
- "dynamodb",
- "kinesis",
- "lambda",
- "glacier",
- "sqs",
- "sns",
- "iam",
- "sts",
- "ses",
- "swf",
- "storagegateway",
- "datapipeline",
- "directconnect",
- "redshift",
- "opsworks",
- "rds",
- "monitoring",
- "cloudtrail",
- "cloudfront",
- "codedeploy",
- "elasticache",
- "elasticmapreduce",
- "elastictranscoder",
- "emr",
- "cloudwatch",
- "mobileanalytics",
- "cognitoidentity",
- "cognitosync",
- "cognito",
- "containerservice",
- "ecs",
- "appstream",
- "keymanagementservice",
- "kms",
- "config",
- "cloudhsm",
- "route53",
- "route53domains",
- "logs"
- ],
- "license": "MIT",
- "main": "aws4.js",
- "name": "aws4",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/mhart/aws4.git"
- },
- "scripts": {
- "test": "mocha ./test/fast.js ./test/slow.js -b -t 100s -R list"
- },
- "version": "1.6.0"
-}
diff --git a/node_modules/bcrypt-pbkdf/README.md b/node_modules/bcrypt-pbkdf/README.md
deleted file mode 100644
index 1201809..0000000
--- a/node_modules/bcrypt-pbkdf/README.md
+++ /dev/null
@@ -1,39 +0,0 @@
-Port of the OpenBSD `bcrypt_pbkdf` function to pure Javascript. `npm`-ified
-version of [Devi Mandiri's port]
-(https://github.com/devi/tmp/blob/master/js/bcrypt_pbkdf.js),
-with some minor performance improvements. The code is copied verbatim (and
-un-styled) from Devi's work.
-
-This product includes software developed by Niels Provos.
-
-## API
-
-### `bcrypt_pbkdf.pbkdf(pass, passlen, salt, saltlen, key, keylen, rounds)`
-
-Derive a cryptographic key of arbitrary length from a given password and salt,
-using the OpenBSD `bcrypt_pbkdf` function. This is a combination of Blowfish and
-SHA-512.
-
-See [this article](http://www.tedunangst.com/flak/post/bcrypt-pbkdf) for
-further information.
-
-Parameters:
-
- * `pass`, a Uint8Array of length `passlen`
- * `passlen`, an integer Number
- * `salt`, a Uint8Array of length `saltlen`
- * `saltlen`, an integer Number
- * `key`, a Uint8Array of length `keylen`, will be filled with output
- * `keylen`, an integer Number
- * `rounds`, an integer Number, number of rounds of the PBKDF to run
-
-### `bcrypt_pbkdf.hash(sha2pass, sha2salt, out)`
-
-Calculate a Blowfish hash, given SHA2-512 output of a password and salt. Used as
-part of the inner round function in the PBKDF.
-
-Parameters:
-
- * `sha2pass`, a Uint8Array of length 64
- * `sha2salt`, a Uint8Array of length 64
- * `out`, a Uint8Array of length 32, will be filled with output
diff --git a/node_modules/bcrypt-pbkdf/index.js b/node_modules/bcrypt-pbkdf/index.js
deleted file mode 100644
index b1b5ad4..0000000
--- a/node_modules/bcrypt-pbkdf/index.js
+++ /dev/null
@@ -1,556 +0,0 @@
-'use strict';
-
-var crypto_hash_sha512 = require('tweetnacl').lowlevel.crypto_hash;
-
-/*
- * This file is a 1:1 port from the OpenBSD blowfish.c and bcrypt_pbkdf.c. As a
- * result, it retains the original copyright and license. The two files are
- * under slightly different (but compatible) licenses, and are here combined in
- * one file.
- *
- * Credit for the actual porting work goes to:
- * Devi Mandiri
- */
-
-/*
- * The Blowfish portions are under the following license:
- *
- * Blowfish block cipher for OpenBSD
- * Copyright 1997 Niels Provos
- * All rights reserved.
- *
- * Implementation advice by David Mazieres .
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/*
- * The bcrypt_pbkdf portions are under the following license:
- *
- * Copyright (c) 2013 Ted Unangst
- *
- * Permission to use, copy, modify, and 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.
- */
-
-/*
- * Performance improvements (Javascript-specific):
- *
- * Copyright 2016, Joyent Inc
- * Author: Alex Wilson
- *
- * Permission to use, copy, modify, and 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.
- */
-
-// Ported from OpenBSD bcrypt_pbkdf.c v1.9
-
-var BLF_J = 0;
-
-var Blowfish = function() {
- this.S = [
- new Uint32Array([
- 0xd1310ba6, 0x98dfb5ac, 0x2ffd72db, 0xd01adfb7,
- 0xb8e1afed, 0x6a267e96, 0xba7c9045, 0xf12c7f99,
- 0x24a19947, 0xb3916cf7, 0x0801f2e2, 0x858efc16,
- 0x636920d8, 0x71574e69, 0xa458fea3, 0xf4933d7e,
- 0x0d95748f, 0x728eb658, 0x718bcd58, 0x82154aee,
- 0x7b54a41d, 0xc25a59b5, 0x9c30d539, 0x2af26013,
- 0xc5d1b023, 0x286085f0, 0xca417918, 0xb8db38ef,
- 0x8e79dcb0, 0x603a180e, 0x6c9e0e8b, 0xb01e8a3e,
- 0xd71577c1, 0xbd314b27, 0x78af2fda, 0x55605c60,
- 0xe65525f3, 0xaa55ab94, 0x57489862, 0x63e81440,
- 0x55ca396a, 0x2aab10b6, 0xb4cc5c34, 0x1141e8ce,
- 0xa15486af, 0x7c72e993, 0xb3ee1411, 0x636fbc2a,
- 0x2ba9c55d, 0x741831f6, 0xce5c3e16, 0x9b87931e,
- 0xafd6ba33, 0x6c24cf5c, 0x7a325381, 0x28958677,
- 0x3b8f4898, 0x6b4bb9af, 0xc4bfe81b, 0x66282193,
- 0x61d809cc, 0xfb21a991, 0x487cac60, 0x5dec8032,
- 0xef845d5d, 0xe98575b1, 0xdc262302, 0xeb651b88,
- 0x23893e81, 0xd396acc5, 0x0f6d6ff3, 0x83f44239,
- 0x2e0b4482, 0xa4842004, 0x69c8f04a, 0x9e1f9b5e,
- 0x21c66842, 0xf6e96c9a, 0x670c9c61, 0xabd388f0,
- 0x6a51a0d2, 0xd8542f68, 0x960fa728, 0xab5133a3,
- 0x6eef0b6c, 0x137a3be4, 0xba3bf050, 0x7efb2a98,
- 0xa1f1651d, 0x39af0176, 0x66ca593e, 0x82430e88,
- 0x8cee8619, 0x456f9fb4, 0x7d84a5c3, 0x3b8b5ebe,
- 0xe06f75d8, 0x85c12073, 0x401a449f, 0x56c16aa6,
- 0x4ed3aa62, 0x363f7706, 0x1bfedf72, 0x429b023d,
- 0x37d0d724, 0xd00a1248, 0xdb0fead3, 0x49f1c09b,
- 0x075372c9, 0x80991b7b, 0x25d479d8, 0xf6e8def7,
- 0xe3fe501a, 0xb6794c3b, 0x976ce0bd, 0x04c006ba,
- 0xc1a94fb6, 0x409f60c4, 0x5e5c9ec2, 0x196a2463,
- 0x68fb6faf, 0x3e6c53b5, 0x1339b2eb, 0x3b52ec6f,
- 0x6dfc511f, 0x9b30952c, 0xcc814544, 0xaf5ebd09,
- 0xbee3d004, 0xde334afd, 0x660f2807, 0x192e4bb3,
- 0xc0cba857, 0x45c8740f, 0xd20b5f39, 0xb9d3fbdb,
- 0x5579c0bd, 0x1a60320a, 0xd6a100c6, 0x402c7279,
- 0x679f25fe, 0xfb1fa3cc, 0x8ea5e9f8, 0xdb3222f8,
- 0x3c7516df, 0xfd616b15, 0x2f501ec8, 0xad0552ab,
- 0x323db5fa, 0xfd238760, 0x53317b48, 0x3e00df82,
- 0x9e5c57bb, 0xca6f8ca0, 0x1a87562e, 0xdf1769db,
- 0xd542a8f6, 0x287effc3, 0xac6732c6, 0x8c4f5573,
- 0x695b27b0, 0xbbca58c8, 0xe1ffa35d, 0xb8f011a0,
- 0x10fa3d98, 0xfd2183b8, 0x4afcb56c, 0x2dd1d35b,
- 0x9a53e479, 0xb6f84565, 0xd28e49bc, 0x4bfb9790,
- 0xe1ddf2da, 0xa4cb7e33, 0x62fb1341, 0xcee4c6e8,
- 0xef20cada, 0x36774c01, 0xd07e9efe, 0x2bf11fb4,
- 0x95dbda4d, 0xae909198, 0xeaad8e71, 0x6b93d5a0,
- 0xd08ed1d0, 0xafc725e0, 0x8e3c5b2f, 0x8e7594b7,
- 0x8ff6e2fb, 0xf2122b64, 0x8888b812, 0x900df01c,
- 0x4fad5ea0, 0x688fc31c, 0xd1cff191, 0xb3a8c1ad,
- 0x2f2f2218, 0xbe0e1777, 0xea752dfe, 0x8b021fa1,
- 0xe5a0cc0f, 0xb56f74e8, 0x18acf3d6, 0xce89e299,
- 0xb4a84fe0, 0xfd13e0b7, 0x7cc43b81, 0xd2ada8d9,
- 0x165fa266, 0x80957705, 0x93cc7314, 0x211a1477,
- 0xe6ad2065, 0x77b5fa86, 0xc75442f5, 0xfb9d35cf,
- 0xebcdaf0c, 0x7b3e89a0, 0xd6411bd3, 0xae1e7e49,
- 0x00250e2d, 0x2071b35e, 0x226800bb, 0x57b8e0af,
- 0x2464369b, 0xf009b91e, 0x5563911d, 0x59dfa6aa,
- 0x78c14389, 0xd95a537f, 0x207d5ba2, 0x02e5b9c5,
- 0x83260376, 0x6295cfa9, 0x11c81968, 0x4e734a41,
- 0xb3472dca, 0x7b14a94a, 0x1b510052, 0x9a532915,
- 0xd60f573f, 0xbc9bc6e4, 0x2b60a476, 0x81e67400,
- 0x08ba6fb5, 0x571be91f, 0xf296ec6b, 0x2a0dd915,
- 0xb6636521, 0xe7b9f9b6, 0xff34052e, 0xc5855664,
- 0x53b02d5d, 0xa99f8fa1, 0x08ba4799, 0x6e85076a]),
- new Uint32Array([
- 0x4b7a70e9, 0xb5b32944, 0xdb75092e, 0xc4192623,
- 0xad6ea6b0, 0x49a7df7d, 0x9cee60b8, 0x8fedb266,
- 0xecaa8c71, 0x699a17ff, 0x5664526c, 0xc2b19ee1,
- 0x193602a5, 0x75094c29, 0xa0591340, 0xe4183a3e,
- 0x3f54989a, 0x5b429d65, 0x6b8fe4d6, 0x99f73fd6,
- 0xa1d29c07, 0xefe830f5, 0x4d2d38e6, 0xf0255dc1,
- 0x4cdd2086, 0x8470eb26, 0x6382e9c6, 0x021ecc5e,
- 0x09686b3f, 0x3ebaefc9, 0x3c971814, 0x6b6a70a1,
- 0x687f3584, 0x52a0e286, 0xb79c5305, 0xaa500737,
- 0x3e07841c, 0x7fdeae5c, 0x8e7d44ec, 0x5716f2b8,
- 0xb03ada37, 0xf0500c0d, 0xf01c1f04, 0x0200b3ff,
- 0xae0cf51a, 0x3cb574b2, 0x25837a58, 0xdc0921bd,
- 0xd19113f9, 0x7ca92ff6, 0x94324773, 0x22f54701,
- 0x3ae5e581, 0x37c2dadc, 0xc8b57634, 0x9af3dda7,
- 0xa9446146, 0x0fd0030e, 0xecc8c73e, 0xa4751e41,
- 0xe238cd99, 0x3bea0e2f, 0x3280bba1, 0x183eb331,
- 0x4e548b38, 0x4f6db908, 0x6f420d03, 0xf60a04bf,
- 0x2cb81290, 0x24977c79, 0x5679b072, 0xbcaf89af,
- 0xde9a771f, 0xd9930810, 0xb38bae12, 0xdccf3f2e,
- 0x5512721f, 0x2e6b7124, 0x501adde6, 0x9f84cd87,
- 0x7a584718, 0x7408da17, 0xbc9f9abc, 0xe94b7d8c,
- 0xec7aec3a, 0xdb851dfa, 0x63094366, 0xc464c3d2,
- 0xef1c1847, 0x3215d908, 0xdd433b37, 0x24c2ba16,
- 0x12a14d43, 0x2a65c451, 0x50940002, 0x133ae4dd,
- 0x71dff89e, 0x10314e55, 0x81ac77d6, 0x5f11199b,
- 0x043556f1, 0xd7a3c76b, 0x3c11183b, 0x5924a509,
- 0xf28fe6ed, 0x97f1fbfa, 0x9ebabf2c, 0x1e153c6e,
- 0x86e34570, 0xeae96fb1, 0x860e5e0a, 0x5a3e2ab3,
- 0x771fe71c, 0x4e3d06fa, 0x2965dcb9, 0x99e71d0f,
- 0x803e89d6, 0x5266c825, 0x2e4cc978, 0x9c10b36a,
- 0xc6150eba, 0x94e2ea78, 0xa5fc3c53, 0x1e0a2df4,
- 0xf2f74ea7, 0x361d2b3d, 0x1939260f, 0x19c27960,
- 0x5223a708, 0xf71312b6, 0xebadfe6e, 0xeac31f66,
- 0xe3bc4595, 0xa67bc883, 0xb17f37d1, 0x018cff28,
- 0xc332ddef, 0xbe6c5aa5, 0x65582185, 0x68ab9802,
- 0xeecea50f, 0xdb2f953b, 0x2aef7dad, 0x5b6e2f84,
- 0x1521b628, 0x29076170, 0xecdd4775, 0x619f1510,
- 0x13cca830, 0xeb61bd96, 0x0334fe1e, 0xaa0363cf,
- 0xb5735c90, 0x4c70a239, 0xd59e9e0b, 0xcbaade14,
- 0xeecc86bc, 0x60622ca7, 0x9cab5cab, 0xb2f3846e,
- 0x648b1eaf, 0x19bdf0ca, 0xa02369b9, 0x655abb50,
- 0x40685a32, 0x3c2ab4b3, 0x319ee9d5, 0xc021b8f7,
- 0x9b540b19, 0x875fa099, 0x95f7997e, 0x623d7da8,
- 0xf837889a, 0x97e32d77, 0x11ed935f, 0x16681281,
- 0x0e358829, 0xc7e61fd6, 0x96dedfa1, 0x7858ba99,
- 0x57f584a5, 0x1b227263, 0x9b83c3ff, 0x1ac24696,
- 0xcdb30aeb, 0x532e3054, 0x8fd948e4, 0x6dbc3128,
- 0x58ebf2ef, 0x34c6ffea, 0xfe28ed61, 0xee7c3c73,
- 0x5d4a14d9, 0xe864b7e3, 0x42105d14, 0x203e13e0,
- 0x45eee2b6, 0xa3aaabea, 0xdb6c4f15, 0xfacb4fd0,
- 0xc742f442, 0xef6abbb5, 0x654f3b1d, 0x41cd2105,
- 0xd81e799e, 0x86854dc7, 0xe44b476a, 0x3d816250,
- 0xcf62a1f2, 0x5b8d2646, 0xfc8883a0, 0xc1c7b6a3,
- 0x7f1524c3, 0x69cb7492, 0x47848a0b, 0x5692b285,
- 0x095bbf00, 0xad19489d, 0x1462b174, 0x23820e00,
- 0x58428d2a, 0x0c55f5ea, 0x1dadf43e, 0x233f7061,
- 0x3372f092, 0x8d937e41, 0xd65fecf1, 0x6c223bdb,
- 0x7cde3759, 0xcbee7460, 0x4085f2a7, 0xce77326e,
- 0xa6078084, 0x19f8509e, 0xe8efd855, 0x61d99735,
- 0xa969a7aa, 0xc50c06c2, 0x5a04abfc, 0x800bcadc,
- 0x9e447a2e, 0xc3453484, 0xfdd56705, 0x0e1e9ec9,
- 0xdb73dbd3, 0x105588cd, 0x675fda79, 0xe3674340,
- 0xc5c43465, 0x713e38d8, 0x3d28f89e, 0xf16dff20,
- 0x153e21e7, 0x8fb03d4a, 0xe6e39f2b, 0xdb83adf7]),
- new Uint32Array([
- 0xe93d5a68, 0x948140f7, 0xf64c261c, 0x94692934,
- 0x411520f7, 0x7602d4f7, 0xbcf46b2e, 0xd4a20068,
- 0xd4082471, 0x3320f46a, 0x43b7d4b7, 0x500061af,
- 0x1e39f62e, 0x97244546, 0x14214f74, 0xbf8b8840,
- 0x4d95fc1d, 0x96b591af, 0x70f4ddd3, 0x66a02f45,
- 0xbfbc09ec, 0x03bd9785, 0x7fac6dd0, 0x31cb8504,
- 0x96eb27b3, 0x55fd3941, 0xda2547e6, 0xabca0a9a,
- 0x28507825, 0x530429f4, 0x0a2c86da, 0xe9b66dfb,
- 0x68dc1462, 0xd7486900, 0x680ec0a4, 0x27a18dee,
- 0x4f3ffea2, 0xe887ad8c, 0xb58ce006, 0x7af4d6b6,
- 0xaace1e7c, 0xd3375fec, 0xce78a399, 0x406b2a42,
- 0x20fe9e35, 0xd9f385b9, 0xee39d7ab, 0x3b124e8b,
- 0x1dc9faf7, 0x4b6d1856, 0x26a36631, 0xeae397b2,
- 0x3a6efa74, 0xdd5b4332, 0x6841e7f7, 0xca7820fb,
- 0xfb0af54e, 0xd8feb397, 0x454056ac, 0xba489527,
- 0x55533a3a, 0x20838d87, 0xfe6ba9b7, 0xd096954b,
- 0x55a867bc, 0xa1159a58, 0xcca92963, 0x99e1db33,
- 0xa62a4a56, 0x3f3125f9, 0x5ef47e1c, 0x9029317c,
- 0xfdf8e802, 0x04272f70, 0x80bb155c, 0x05282ce3,
- 0x95c11548, 0xe4c66d22, 0x48c1133f, 0xc70f86dc,
- 0x07f9c9ee, 0x41041f0f, 0x404779a4, 0x5d886e17,
- 0x325f51eb, 0xd59bc0d1, 0xf2bcc18f, 0x41113564,
- 0x257b7834, 0x602a9c60, 0xdff8e8a3, 0x1f636c1b,
- 0x0e12b4c2, 0x02e1329e, 0xaf664fd1, 0xcad18115,
- 0x6b2395e0, 0x333e92e1, 0x3b240b62, 0xeebeb922,
- 0x85b2a20e, 0xe6ba0d99, 0xde720c8c, 0x2da2f728,
- 0xd0127845, 0x95b794fd, 0x647d0862, 0xe7ccf5f0,
- 0x5449a36f, 0x877d48fa, 0xc39dfd27, 0xf33e8d1e,
- 0x0a476341, 0x992eff74, 0x3a6f6eab, 0xf4f8fd37,
- 0xa812dc60, 0xa1ebddf8, 0x991be14c, 0xdb6e6b0d,
- 0xc67b5510, 0x6d672c37, 0x2765d43b, 0xdcd0e804,
- 0xf1290dc7, 0xcc00ffa3, 0xb5390f92, 0x690fed0b,
- 0x667b9ffb, 0xcedb7d9c, 0xa091cf0b, 0xd9155ea3,
- 0xbb132f88, 0x515bad24, 0x7b9479bf, 0x763bd6eb,
- 0x37392eb3, 0xcc115979, 0x8026e297, 0xf42e312d,
- 0x6842ada7, 0xc66a2b3b, 0x12754ccc, 0x782ef11c,
- 0x6a124237, 0xb79251e7, 0x06a1bbe6, 0x4bfb6350,
- 0x1a6b1018, 0x11caedfa, 0x3d25bdd8, 0xe2e1c3c9,
- 0x44421659, 0x0a121386, 0xd90cec6e, 0xd5abea2a,
- 0x64af674e, 0xda86a85f, 0xbebfe988, 0x64e4c3fe,
- 0x9dbc8057, 0xf0f7c086, 0x60787bf8, 0x6003604d,
- 0xd1fd8346, 0xf6381fb0, 0x7745ae04, 0xd736fccc,
- 0x83426b33, 0xf01eab71, 0xb0804187, 0x3c005e5f,
- 0x77a057be, 0xbde8ae24, 0x55464299, 0xbf582e61,
- 0x4e58f48f, 0xf2ddfda2, 0xf474ef38, 0x8789bdc2,
- 0x5366f9c3, 0xc8b38e74, 0xb475f255, 0x46fcd9b9,
- 0x7aeb2661, 0x8b1ddf84, 0x846a0e79, 0x915f95e2,
- 0x466e598e, 0x20b45770, 0x8cd55591, 0xc902de4c,
- 0xb90bace1, 0xbb8205d0, 0x11a86248, 0x7574a99e,
- 0xb77f19b6, 0xe0a9dc09, 0x662d09a1, 0xc4324633,
- 0xe85a1f02, 0x09f0be8c, 0x4a99a025, 0x1d6efe10,
- 0x1ab93d1d, 0x0ba5a4df, 0xa186f20f, 0x2868f169,
- 0xdcb7da83, 0x573906fe, 0xa1e2ce9b, 0x4fcd7f52,
- 0x50115e01, 0xa70683fa, 0xa002b5c4, 0x0de6d027,
- 0x9af88c27, 0x773f8641, 0xc3604c06, 0x61a806b5,
- 0xf0177a28, 0xc0f586e0, 0x006058aa, 0x30dc7d62,
- 0x11e69ed7, 0x2338ea63, 0x53c2dd94, 0xc2c21634,
- 0xbbcbee56, 0x90bcb6de, 0xebfc7da1, 0xce591d76,
- 0x6f05e409, 0x4b7c0188, 0x39720a3d, 0x7c927c24,
- 0x86e3725f, 0x724d9db9, 0x1ac15bb4, 0xd39eb8fc,
- 0xed545578, 0x08fca5b5, 0xd83d7cd3, 0x4dad0fc4,
- 0x1e50ef5e, 0xb161e6f8, 0xa28514d9, 0x6c51133c,
- 0x6fd5c7e7, 0x56e14ec4, 0x362abfce, 0xddc6c837,
- 0xd79a3234, 0x92638212, 0x670efa8e, 0x406000e0]),
- new Uint32Array([
- 0x3a39ce37, 0xd3faf5cf, 0xabc27737, 0x5ac52d1b,
- 0x5cb0679e, 0x4fa33742, 0xd3822740, 0x99bc9bbe,
- 0xd5118e9d, 0xbf0f7315, 0xd62d1c7e, 0xc700c47b,
- 0xb78c1b6b, 0x21a19045, 0xb26eb1be, 0x6a366eb4,
- 0x5748ab2f, 0xbc946e79, 0xc6a376d2, 0x6549c2c8,
- 0x530ff8ee, 0x468dde7d, 0xd5730a1d, 0x4cd04dc6,
- 0x2939bbdb, 0xa9ba4650, 0xac9526e8, 0xbe5ee304,
- 0xa1fad5f0, 0x6a2d519a, 0x63ef8ce2, 0x9a86ee22,
- 0xc089c2b8, 0x43242ef6, 0xa51e03aa, 0x9cf2d0a4,
- 0x83c061ba, 0x9be96a4d, 0x8fe51550, 0xba645bd6,
- 0x2826a2f9, 0xa73a3ae1, 0x4ba99586, 0xef5562e9,
- 0xc72fefd3, 0xf752f7da, 0x3f046f69, 0x77fa0a59,
- 0x80e4a915, 0x87b08601, 0x9b09e6ad, 0x3b3ee593,
- 0xe990fd5a, 0x9e34d797, 0x2cf0b7d9, 0x022b8b51,
- 0x96d5ac3a, 0x017da67d, 0xd1cf3ed6, 0x7c7d2d28,
- 0x1f9f25cf, 0xadf2b89b, 0x5ad6b472, 0x5a88f54c,
- 0xe029ac71, 0xe019a5e6, 0x47b0acfd, 0xed93fa9b,
- 0xe8d3c48d, 0x283b57cc, 0xf8d56629, 0x79132e28,
- 0x785f0191, 0xed756055, 0xf7960e44, 0xe3d35e8c,
- 0x15056dd4, 0x88f46dba, 0x03a16125, 0x0564f0bd,
- 0xc3eb9e15, 0x3c9057a2, 0x97271aec, 0xa93a072a,
- 0x1b3f6d9b, 0x1e6321f5, 0xf59c66fb, 0x26dcf319,
- 0x7533d928, 0xb155fdf5, 0x03563482, 0x8aba3cbb,
- 0x28517711, 0xc20ad9f8, 0xabcc5167, 0xccad925f,
- 0x4de81751, 0x3830dc8e, 0x379d5862, 0x9320f991,
- 0xea7a90c2, 0xfb3e7bce, 0x5121ce64, 0x774fbe32,
- 0xa8b6e37e, 0xc3293d46, 0x48de5369, 0x6413e680,
- 0xa2ae0810, 0xdd6db224, 0x69852dfd, 0x09072166,
- 0xb39a460a, 0x6445c0dd, 0x586cdecf, 0x1c20c8ae,
- 0x5bbef7dd, 0x1b588d40, 0xccd2017f, 0x6bb4e3bb,
- 0xdda26a7e, 0x3a59ff45, 0x3e350a44, 0xbcb4cdd5,
- 0x72eacea8, 0xfa6484bb, 0x8d6612ae, 0xbf3c6f47,
- 0xd29be463, 0x542f5d9e, 0xaec2771b, 0xf64e6370,
- 0x740e0d8d, 0xe75b1357, 0xf8721671, 0xaf537d5d,
- 0x4040cb08, 0x4eb4e2cc, 0x34d2466a, 0x0115af84,
- 0xe1b00428, 0x95983a1d, 0x06b89fb4, 0xce6ea048,
- 0x6f3f3b82, 0x3520ab82, 0x011a1d4b, 0x277227f8,
- 0x611560b1, 0xe7933fdc, 0xbb3a792b, 0x344525bd,
- 0xa08839e1, 0x51ce794b, 0x2f32c9b7, 0xa01fbac9,
- 0xe01cc87e, 0xbcc7d1f6, 0xcf0111c3, 0xa1e8aac7,
- 0x1a908749, 0xd44fbd9a, 0xd0dadecb, 0xd50ada38,
- 0x0339c32a, 0xc6913667, 0x8df9317c, 0xe0b12b4f,
- 0xf79e59b7, 0x43f5bb3a, 0xf2d519ff, 0x27d9459c,
- 0xbf97222c, 0x15e6fc2a, 0x0f91fc71, 0x9b941525,
- 0xfae59361, 0xceb69ceb, 0xc2a86459, 0x12baa8d1,
- 0xb6c1075e, 0xe3056a0c, 0x10d25065, 0xcb03a442,
- 0xe0ec6e0e, 0x1698db3b, 0x4c98a0be, 0x3278e964,
- 0x9f1f9532, 0xe0d392df, 0xd3a0342b, 0x8971f21e,
- 0x1b0a7441, 0x4ba3348c, 0xc5be7120, 0xc37632d8,
- 0xdf359f8d, 0x9b992f2e, 0xe60b6f47, 0x0fe3f11d,
- 0xe54cda54, 0x1edad891, 0xce6279cf, 0xcd3e7e6f,
- 0x1618b166, 0xfd2c1d05, 0x848fd2c5, 0xf6fb2299,
- 0xf523f357, 0xa6327623, 0x93a83531, 0x56cccd02,
- 0xacf08162, 0x5a75ebb5, 0x6e163697, 0x88d273cc,
- 0xde966292, 0x81b949d0, 0x4c50901b, 0x71c65614,
- 0xe6c6c7bd, 0x327a140a, 0x45e1d006, 0xc3f27b9a,
- 0xc9aa53fd, 0x62a80f00, 0xbb25bfe2, 0x35bdd2f6,
- 0x71126905, 0xb2040222, 0xb6cbcf7c, 0xcd769c2b,
- 0x53113ec0, 0x1640e3d3, 0x38abbd60, 0x2547adf0,
- 0xba38209c, 0xf746ce76, 0x77afa1c5, 0x20756060,
- 0x85cbfe4e, 0x8ae88dd8, 0x7aaaf9b0, 0x4cf9aa7e,
- 0x1948c25c, 0x02fb8a8c, 0x01c36ae4, 0xd6ebe1f9,
- 0x90d4f869, 0xa65cdea0, 0x3f09252d, 0xc208e69f,
- 0xb74e6132, 0xce77e25b, 0x578fdfe3, 0x3ac372e6])
- ];
- this.P = new Uint32Array([
- 0x243f6a88, 0x85a308d3, 0x13198a2e, 0x03707344,
- 0xa4093822, 0x299f31d0, 0x082efa98, 0xec4e6c89,
- 0x452821e6, 0x38d01377, 0xbe5466cf, 0x34e90c6c,
- 0xc0ac29b7, 0xc97c50dd, 0x3f84d5b5, 0xb5470917,
- 0x9216d5d9, 0x8979fb1b]);
-};
-
-function F(S, x8, i) {
- return (((S[0][x8[i+3]] +
- S[1][x8[i+2]]) ^
- S[2][x8[i+1]]) +
- S[3][x8[i]]);
-};
-
-Blowfish.prototype.encipher = function(x, x8) {
- if (x8 === undefined) {
- x8 = new Uint8Array(x.buffer);
- if (x.byteOffset !== 0)
- x8 = x8.subarray(x.byteOffset);
- }
- x[0] ^= this.P[0];
- for (var i = 1; i < 16; i += 2) {
- x[1] ^= F(this.S, x8, 0) ^ this.P[i];
- x[0] ^= F(this.S, x8, 4) ^ this.P[i+1];
- }
- var t = x[0];
- x[0] = x[1] ^ this.P[17];
- x[1] = t;
-};
-
-Blowfish.prototype.decipher = function(x) {
- var x8 = new Uint8Array(x.buffer);
- if (x.byteOffset !== 0)
- x8 = x8.subarray(x.byteOffset);
- x[0] ^= this.P[17];
- for (var i = 16; i > 0; i -= 2) {
- x[1] ^= F(this.S, x8, 0) ^ this.P[i];
- x[0] ^= F(this.S, x8, 4) ^ this.P[i-1];
- }
- var t = x[0];
- x[0] = x[1] ^ this.P[0];
- x[1] = t;
-};
-
-function stream2word(data, databytes){
- var i, temp = 0;
- for (i = 0; i < 4; i++, BLF_J++) {
- if (BLF_J >= databytes) BLF_J = 0;
- temp = (temp << 8) | data[BLF_J];
- }
- return temp;
-};
-
-Blowfish.prototype.expand0state = function(key, keybytes) {
- var d = new Uint32Array(2), i, k;
- var d8 = new Uint8Array(d.buffer);
-
- for (i = 0, BLF_J = 0; i < 18; i++) {
- this.P[i] ^= stream2word(key, keybytes);
- }
- BLF_J = 0;
-
- for (i = 0; i < 18; i += 2) {
- this.encipher(d, d8);
- this.P[i] = d[0];
- this.P[i+1] = d[1];
- }
-
- for (i = 0; i < 4; i++) {
- for (k = 0; k < 256; k += 2) {
- this.encipher(d, d8);
- this.S[i][k] = d[0];
- this.S[i][k+1] = d[1];
- }
- }
-};
-
-Blowfish.prototype.expandstate = function(data, databytes, key, keybytes) {
- var d = new Uint32Array(2), i, k;
-
- for (i = 0, BLF_J = 0; i < 18; i++) {
- this.P[i] ^= stream2word(key, keybytes);
- }
-
- for (i = 0, BLF_J = 0; i < 18; i += 2) {
- d[0] ^= stream2word(data, databytes);
- d[1] ^= stream2word(data, databytes);
- this.encipher(d);
- this.P[i] = d[0];
- this.P[i+1] = d[1];
- }
-
- for (i = 0; i < 4; i++) {
- for (k = 0; k < 256; k += 2) {
- d[0] ^= stream2word(data, databytes);
- d[1] ^= stream2word(data, databytes);
- this.encipher(d);
- this.S[i][k] = d[0];
- this.S[i][k+1] = d[1];
- }
- }
- BLF_J = 0;
-};
-
-Blowfish.prototype.enc = function(data, blocks) {
- for (var i = 0; i < blocks; i++) {
- this.encipher(data.subarray(i*2));
- }
-};
-
-Blowfish.prototype.dec = function(data, blocks) {
- for (var i = 0; i < blocks; i++) {
- this.decipher(data.subarray(i*2));
- }
-};
-
-var BCRYPT_BLOCKS = 8,
- BCRYPT_HASHSIZE = 32;
-
-function bcrypt_hash(sha2pass, sha2salt, out) {
- var state = new Blowfish(),
- cdata = new Uint32Array(BCRYPT_BLOCKS), i,
- ciphertext = new Uint8Array([79,120,121,99,104,114,111,109,97,116,105,
- 99,66,108,111,119,102,105,115,104,83,119,97,116,68,121,110,97,109,
- 105,116,101]); //"OxychromaticBlowfishSwatDynamite"
-
- state.expandstate(sha2salt, 64, sha2pass, 64);
- for (i = 0; i < 64; i++) {
- state.expand0state(sha2salt, 64);
- state.expand0state(sha2pass, 64);
- }
-
- for (i = 0; i < BCRYPT_BLOCKS; i++)
- cdata[i] = stream2word(ciphertext, ciphertext.byteLength);
- for (i = 0; i < 64; i++)
- state.enc(cdata, cdata.byteLength / 8);
-
- for (i = 0; i < BCRYPT_BLOCKS; i++) {
- out[4*i+3] = cdata[i] >>> 24;
- out[4*i+2] = cdata[i] >>> 16;
- out[4*i+1] = cdata[i] >>> 8;
- out[4*i+0] = cdata[i];
- }
-};
-
-function bcrypt_pbkdf(pass, passlen, salt, saltlen, key, keylen, rounds) {
- var sha2pass = new Uint8Array(64),
- sha2salt = new Uint8Array(64),
- out = new Uint8Array(BCRYPT_HASHSIZE),
- tmpout = new Uint8Array(BCRYPT_HASHSIZE),
- countsalt = new Uint8Array(saltlen+4),
- i, j, amt, stride, dest, count,
- origkeylen = keylen;
-
- if (rounds < 1)
- return -1;
- if (passlen === 0 || saltlen === 0 || keylen === 0 ||
- keylen > (out.byteLength * out.byteLength) || saltlen > (1<<20))
- return -1;
-
- stride = Math.floor((keylen + out.byteLength - 1) / out.byteLength);
- amt = Math.floor((keylen + stride - 1) / stride);
-
- for (i = 0; i < saltlen; i++)
- countsalt[i] = salt[i];
-
- crypto_hash_sha512(sha2pass, pass, passlen);
-
- for (count = 1; keylen > 0; count++) {
- countsalt[saltlen+0] = count >>> 24;
- countsalt[saltlen+1] = count >>> 16;
- countsalt[saltlen+2] = count >>> 8;
- countsalt[saltlen+3] = count;
-
- crypto_hash_sha512(sha2salt, countsalt, saltlen + 4);
- bcrypt_hash(sha2pass, sha2salt, tmpout);
- for (i = out.byteLength; i--;)
- out[i] = tmpout[i];
-
- for (i = 1; i < rounds; i++) {
- crypto_hash_sha512(sha2salt, tmpout, tmpout.byteLength);
- bcrypt_hash(sha2pass, sha2salt, tmpout);
- for (j = 0; j < out.byteLength; j++)
- out[j] ^= tmpout[j];
- }
-
- amt = Math.min(amt, keylen);
- for (i = 0; i < amt; i++) {
- dest = i * stride + (count - 1);
- if (dest >= origkeylen)
- break;
- key[dest] = out[i];
- }
- keylen -= i;
- }
-
- return 0;
-};
-
-module.exports = {
- BLOCKS: BCRYPT_BLOCKS,
- HASHSIZE: BCRYPT_HASHSIZE,
- hash: bcrypt_hash,
- pbkdf: bcrypt_pbkdf
-};
diff --git a/node_modules/bcrypt-pbkdf/package.json b/node_modules/bcrypt-pbkdf/package.json
deleted file mode 100644
index 40a2a96..0000000
--- a/node_modules/bcrypt-pbkdf/package.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "_from": "bcrypt-pbkdf@^1.0.0",
- "_id": "bcrypt-pbkdf@1.0.1",
- "_inBundle": false,
- "_integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
- "_location": "/bcrypt-pbkdf",
- "_phantomChildren": {},
- "_requested": {
- "type": "range",
- "registry": true,
- "raw": "bcrypt-pbkdf@^1.0.0",
- "name": "bcrypt-pbkdf",
- "escapedName": "bcrypt-pbkdf",
- "rawSpec": "^1.0.0",
- "saveSpec": null,
- "fetchSpec": "^1.0.0"
- },
- "_requiredBy": [
- "/sshpk"
- ],
- "_resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
- "_shasum": "63bc5dcb61331b92bc05fd528953c33462a06f8d",
- "_spec": "bcrypt-pbkdf@^1.0.0",
- "_where": "C:\\Users\\Tom\\Documents\\Development\\bitsy-image-to-room\\node_modules\\sshpk",
- "bundleDependencies": false,
- "dependencies": {
- "tweetnacl": "^0.14.3"
- },
- "deprecated": false,
- "description": "Port of the OpenBSD bcrypt_pbkdf function to pure JS",
- "devDependencies": {},
- "license": "BSD-3-Clause",
- "main": "index.js",
- "name": "bcrypt-pbkdf",
- "version": "1.0.1"
-}
diff --git a/node_modules/boom/.npmignore b/node_modules/boom/.npmignore
deleted file mode 100644
index 77ba16c..0000000
--- a/node_modules/boom/.npmignore
+++ /dev/null
@@ -1,18 +0,0 @@
-.idea
-*.iml
-npm-debug.log
-dump.rdb
-node_modules
-results.tap
-results.xml
-npm-shrinkwrap.json
-config.json
-.DS_Store
-*/.DS_Store
-*/*/.DS_Store
-._*
-*/._*
-*/*/._*
-coverage.*
-lib-cov
-
diff --git a/node_modules/boom/.travis.yml b/node_modules/boom/.travis.yml
deleted file mode 100644
index dd1b24f..0000000
--- a/node_modules/boom/.travis.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-language: node_js
-
-node_js:
- - 0.10
- - 4.0
-
-sudo: false
-
diff --git a/node_modules/boom/CONTRIBUTING.md b/node_modules/boom/CONTRIBUTING.md
deleted file mode 100644
index 8928361..0000000
--- a/node_modules/boom/CONTRIBUTING.md
+++ /dev/null
@@ -1 +0,0 @@
-Please view our [hapijs contributing guide](https://github.com/hapijs/hapi/blob/master/CONTRIBUTING.md).
diff --git a/node_modules/boom/LICENSE b/node_modules/boom/LICENSE
deleted file mode 100644
index 3946889..0000000
--- a/node_modules/boom/LICENSE
+++ /dev/null
@@ -1,28 +0,0 @@
-Copyright (c) 2012-2014, Walmart and other contributors.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- * The names of any contributors may not be used to endorse or promote
- products derived from this software without specific prior written
- permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- * * *
-
-The complete list of contributors can be found at: https://github.com/hapijs/boom/graphs/contributors
\ No newline at end of file
diff --git a/node_modules/boom/README.md b/node_modules/boom/README.md
deleted file mode 100644
index cbd91c9..0000000
--- a/node_modules/boom/README.md
+++ /dev/null
@@ -1,652 +0,0 @@
-![boom Logo](https://raw.github.com/hapijs/boom/master/images/boom.png)
-
-HTTP-friendly error objects
-
-[![Build Status](https://secure.travis-ci.org/hapijs/boom.png)](http://travis-ci.org/hapijs/boom)
-[![Current Version](https://img.shields.io/npm/v/boom.svg)](https://www.npmjs.com/package/boom)
-
-Lead Maintainer: [Adam Bretz](https://github.com/arb)
-
-**boom** provides a set of utilities for returning HTTP errors. Each utility returns a `Boom` error response
-object (instance of `Error`) which includes the following properties:
-- `isBoom` - if `true`, indicates this is a `Boom` object instance.
-- `isServer` - convenience bool indicating status code >= 500.
-- `message` - the error message.
-- `output` - the formatted response. Can be directly manipulated after object construction to return a custom
- error response. Allowed root keys:
- - `statusCode` - the HTTP status code (typically 4xx or 5xx).
- - `headers` - an object containing any HTTP headers where each key is a header name and value is the header content.
- - `payload` - the formatted object used as the response payload (stringified). Can be directly manipulated but any
- changes will be lost
- if `reformat()` is called. Any content allowed and by default includes the following content:
- - `statusCode` - the HTTP status code, derived from `error.output.statusCode`.
- - `error` - the HTTP status message (e.g. 'Bad Request', 'Internal Server Error') derived from `statusCode`.
- - `message` - the error message derived from `error.message`.
-- inherited `Error` properties.
-
-The `Boom` object also supports the following method:
-- `reformat()` - rebuilds `error.output` using the other object properties.
-
-## Overview
-
-- Helper methods
- - [`wrap(error, [statusCode], [message])`](#wraperror-statuscode-message)
- - [`create(statusCode, [message], [data])`](#createstatuscode-message-data)
-- HTTP 4xx Errors
- - 400: [`Boom.badRequest([message], [data])`](#boombadrequestmessage-data)
- - 401: [`Boom.unauthorized([message], [scheme], [attributes])`](#boomunauthorizedmessage-scheme-attributes)
- - 403: [`Boom.forbidden([message], [data])`](#boomforbiddenmessage-data)
- - 404: [`Boom.notFound([message], [data])`](#boomnotfoundmessage-data)
- - 405: [`Boom.methodNotAllowed([message], [data])`](#boommethodnotallowedmessage-data)
- - 406: [`Boom.notAcceptable([message], [data])`](#boomnotacceptablemessage-data)
- - 407: [`Boom.proxyAuthRequired([message], [data])`](#boomproxyauthrequiredmessage-data)
- - 408: [`Boom.clientTimeout([message], [data])`](#boomclienttimeoutmessage-data)
- - 409: [`Boom.conflict([message], [data])`](#boomconflictmessage-data)
- - 410: [`Boom.resourceGone([message], [data])`](#boomresourcegonemessage-data)
- - 411: [`Boom.lengthRequired([message], [data])`](#boomlengthrequiredmessage-data)
- - 412: [`Boom.preconditionFailed([message], [data])`](#boompreconditionfailedmessage-data)
- - 413: [`Boom.entityTooLarge([message], [data])`](#boomentitytoolargemessage-data)
- - 414: [`Boom.uriTooLong([message], [data])`](#boomuritoolongmessage-data)
- - 415: [`Boom.unsupportedMediaType([message], [data])`](#boomunsupportedmediatypemessage-data)
- - 416: [`Boom.rangeNotSatisfiable([message], [data])`](#boomrangenotsatisfiablemessage-data)
- - 417: [`Boom.expectationFailed([message], [data])`](#boomexpectationfailedmessage-data)
- - 422: [`Boom.badData([message], [data])`](#boombaddatamessage-data)
- - 428: [`Boom.preconditionRequired([message], [data])`](#boompreconditionrequiredmessage-data)
- - 429: [`Boom.tooManyRequests([message], [data])`](#boomtoomanyrequestsmessage-data)
-- HTTP 5xx Errors
- - 500: [`Boom.badImplementation([message], [data])`](#boombadimplementationmessage-data)
- - 501: [`Boom.notImplemented([message], [data])`](#boomnotimplementedmessage-data)
- - 502: [`Boom.badGateway([message], [data])`](#boombadgatewaymessage-data)
- - 503: [`Boom.serverTimeout([message], [data])`](#boomservertimeoutmessage-data)
- - 504: [`Boom.gatewayTimeout([message], [data])`](#boomgatewaytimeoutmessage-data)
-- [FAQ](#faq)
-
-
-## Helper Methods
-
-### `wrap(error, [statusCode], [message])`
-
-Decorates an error with the **boom** properties where:
-- `error` - the error object to wrap. If `error` is already a **boom** object, returns back the same object.
-- `statusCode` - optional HTTP status code. Defaults to `500`.
-- `message` - optional message string. If the error already has a message, it adds the message as a prefix.
- Defaults to no message.
-
-```js
-var error = new Error('Unexpected input');
-Boom.wrap(error, 400);
-```
-
-### `create(statusCode, [message], [data])`
-
-Generates an `Error` object with the **boom** decorations where:
-- `statusCode` - an HTTP error code number. Must be greater or equal 400.
-- `message` - optional message string.
-- `data` - additional error data set to `error.data` property.
-
-```js
-var error = Boom.create(400, 'Bad request', { timestamp: Date.now() });
-```
-
-## HTTP 4xx Errors
-
-### `Boom.badRequest([message], [data])`
-
-Returns a 400 Bad Request error where:
-- `message` - optional message.
-- `data` - optional additional error data.
-
-```js
-Boom.badRequest('invalid query');
-```
-
-Generates the following response payload:
-
-```json
-{
- "statusCode": 400,
- "error": "Bad Request",
- "message": "invalid query"
-}
-```
-
-### `Boom.unauthorized([message], [scheme], [attributes])`
-
-Returns a 401 Unauthorized error where:
-- `message` - optional message.
-- `scheme` can be one of the following:
- - an authentication scheme name
- - an array of string values. These values will be separated by ', ' and set to the 'WWW-Authenticate' header.
-- `attributes` - an object of values to use while setting the 'WWW-Authenticate' header. This value is only used
- when `schema` is a string, otherwise it is ignored. Every key/value pair will be included in the
- 'WWW-Authenticate' in the format of 'key="value"' as well as in the response payload under the `attributes` key.
- `null` and `undefined` will be replaced with an empty string. If `attributes` is set, `message` will be used as
- the 'error' segment of the 'WWW-Authenticate' header. If `message` is unset, the 'error' segment of the header
- will not be present and `isMissing` will be true on the error object.
-
-If either `scheme` or `attributes` are set, the resultant `Boom` object will have the 'WWW-Authenticate' header set for the response.
-
-```js
-Boom.unauthorized('invalid password');
-```
-
-Generates the following response:
-
-```json
-"payload": {
- "statusCode": 401,
- "error": "Unauthorized",
- "message": "invalid password"
-},
-"headers" {}
-```
-
-```js
-Boom.unauthorized('invalid password', 'sample');
-```
-
-Generates the following response:
-
-```json
-"payload": {
- "statusCode": 401,
- "error": "Unauthorized",
- "message": "invalid password",
- "attributes": {
- "error": "invalid password"
- }
-},
-"headers" {
- "WWW-Authenticate": "sample error=\"invalid password\""
-}
-```
-
-```js
-Boom.unauthorized('invalid password', 'sample', { ttl: 0, cache: null, foo: 'bar' });
-```
-
-Generates the following response:
-
-```json
-"payload": {
- "statusCode": 401,
- "error": "Unauthorized",
- "message": "invalid password",
- "attributes": {
- "error": "invalid password",
- "ttl": 0,
- "cache": "",
- "foo": "bar"
- }
-},
-"headers" {
- "WWW-Authenticate": "sample ttl=\"0\", cache=\"\", foo=\"bar\", error=\"invalid password\""
-}
-```
-
-### `Boom.forbidden([message], [data])`
-
-Returns a 403 Forbidden error where:
-- `message` - optional message.
-- `data` - optional additional error data.
-
-```js
-Boom.forbidden('try again some time');
-```
-
-Generates the following response payload:
-
-```json
-{
- "statusCode": 403,
- "error": "Forbidden",
- "message": "try again some time"
-}
-```
-
-### `Boom.notFound([message], [data])`
-
-Returns a 404 Not Found error where:
-- `message` - optional message.
-- `data` - optional additional error data.
-
-```js
-Boom.notFound('missing');
-```
-
-Generates the following response payload:
-
-```json
-{
- "statusCode": 404,
- "error": "Not Found",
- "message": "missing"
-}
-```
-
-### `Boom.methodNotAllowed([message], [data])`
-
-Returns a 405 Method Not Allowed error where:
-- `message` - optional message.
-- `data` - optional additional error data.
-
-```js
-Boom.methodNotAllowed('that method is not allowed');
-```
-
-Generates the following response payload:
-
-```json
-{
- "statusCode": 405,
- "error": "Method Not Allowed",
- "message": "that method is not allowed"
-}
-```
-
-### `Boom.notAcceptable([message], [data])`
-
-Returns a 406 Not Acceptable error where:
-- `message` - optional message.
-- `data` - optional additional error data.
-
-```js
-Boom.notAcceptable('unacceptable');
-```
-
-Generates the following response payload:
-
-```json
-{
- "statusCode": 406,
- "error": "Not Acceptable",
- "message": "unacceptable"
-}
-```
-
-### `Boom.proxyAuthRequired([message], [data])`
-
-Returns a 407 Proxy Authentication Required error where:
-- `message` - optional message.
-- `data` - optional additional error data.
-
-```js
-Boom.proxyAuthRequired('auth missing');
-```
-
-Generates the following response payload:
-
-```json
-{
- "statusCode": 407,
- "error": "Proxy Authentication Required",
- "message": "auth missing"
-}
-```
-
-### `Boom.clientTimeout([message], [data])`
-
-Returns a 408 Request Time-out error where:
-- `message` - optional message.
-- `data` - optional additional error data.
-
-```js
-Boom.clientTimeout('timed out');
-```
-
-Generates the following response payload:
-
-```json
-{
- "statusCode": 408,
- "error": "Request Time-out",
- "message": "timed out"
-}
-```
-
-### `Boom.conflict([message], [data])`
-
-Returns a 409 Conflict error where:
-- `message` - optional message.
-- `data` - optional additional error data.
-
-```js
-Boom.conflict('there was a conflict');
-```
-
-Generates the following response payload:
-
-```json
-{
- "statusCode": 409,
- "error": "Conflict",
- "message": "there was a conflict"
-}
-```
-
-### `Boom.resourceGone([message], [data])`
-
-Returns a 410 Gone error where:
-- `message` - optional message.
-- `data` - optional additional error data.
-
-```js
-Boom.resourceGone('it is gone');
-```
-
-Generates the following response payload:
-
-```json
-{
- "statusCode": 410,
- "error": "Gone",
- "message": "it is gone"
-}
-```
-
-### `Boom.lengthRequired([message], [data])`
-
-Returns a 411 Length Required error where:
-- `message` - optional message.
-- `data` - optional additional error data.
-
-```js
-Boom.lengthRequired('length needed');
-```
-
-Generates the following response payload:
-
-```json
-{
- "statusCode": 411,
- "error": "Length Required",
- "message": "length needed"
-}
-```
-
-### `Boom.preconditionFailed([message], [data])`
-
-Returns a 412 Precondition Failed error where:
-- `message` - optional message.
-- `data` - optional additional error data.
-
-```js
-Boom.preconditionFailed();
-```
-
-Generates the following response payload:
-
-```json
-{
- "statusCode": 412,
- "error": "Precondition Failed"
-}
-```
-
-### `Boom.entityTooLarge([message], [data])`
-
-Returns a 413 Request Entity Too Large error where:
-- `message` - optional message.
-- `data` - optional additional error data.
-
-```js
-Boom.entityTooLarge('too big');
-```
-
-Generates the following response payload:
-
-```json
-{
- "statusCode": 413,
- "error": "Request Entity Too Large",
- "message": "too big"
-}
-```
-
-### `Boom.uriTooLong([message], [data])`
-
-Returns a 414 Request-URI Too Large error where:
-- `message` - optional message.
-- `data` - optional additional error data.
-
-```js
-Boom.uriTooLong('uri is too long');
-```
-
-Generates the following response payload:
-
-```json
-{
- "statusCode": 414,
- "error": "Request-URI Too Large",
- "message": "uri is too long"
-}
-```
-
-### `Boom.unsupportedMediaType([message], [data])`
-
-Returns a 415 Unsupported Media Type error where:
-- `message` - optional message.
-- `data` - optional additional error data.
-
-```js
-Boom.unsupportedMediaType('that media is not supported');
-```
-
-Generates the following response payload:
-
-```json
-{
- "statusCode": 415,
- "error": "Unsupported Media Type",
- "message": "that media is not supported"
-}
-```
-
-### `Boom.rangeNotSatisfiable([message], [data])`
-
-Returns a 416 Requested Range Not Satisfiable error where:
-- `message` - optional message.
-- `data` - optional additional error data.
-
-```js
-Boom.rangeNotSatisfiable();
-```
-
-Generates the following response payload:
-
-```json
-{
- "statusCode": 416,
- "error": "Requested Range Not Satisfiable"
-}
-```
-
-### `Boom.expectationFailed([message], [data])`
-
-Returns a 417 Expectation Failed error where:
-- `message` - optional message.
-- `data` - optional additional error data.
-
-```js
-Boom.expectationFailed('expected this to work');
-```
-
-Generates the following response payload:
-
-```json
-{
- "statusCode": 417,
- "error": "Expectation Failed",
- "message": "expected this to work"
-}
-```
-
-### `Boom.badData([message], [data])`
-
-Returns a 422 Unprocessable Entity error where:
-- `message` - optional message.
-- `data` - optional additional error data.
-
-```js
-Boom.badData('your data is bad and you should feel bad');
-```
-
-Generates the following response payload:
-
-```json
-{
- "statusCode": 422,
- "error": "Unprocessable Entity",
- "message": "your data is bad and you should feel bad"
-}
-```
-
-### `Boom.preconditionRequired([message], [data])`
-
-Returns a 428 Precondition Required error where:
-- `message` - optional message.
-- `data` - optional additional error data.
-
-```js
-Boom.preconditionRequired('you must supply an If-Match header');
-```
-
-Generates the following response payload:
-
-```json
-{
- "statusCode": 428,
- "error": "Precondition Required",
- "message": "you must supply an If-Match header"
-}
-```
-
-### `Boom.tooManyRequests([message], [data])`
-
-Returns a 429 Too Many Requests error where:
-- `message` - optional message.
-- `data` - optional additional error data.
-
-```js
-Boom.tooManyRequests('you have exceeded your request limit');
-```
-
-Generates the following response payload:
-
-```json
-{
- "statusCode": 429,
- "error": "Too Many Requests",
- "message": "you have exceeded your request limit"
-}
-```
-
-## HTTP 5xx Errors
-
-All 500 errors hide your message from the end user. Your message is recorded in the server log.
-
-### `Boom.badImplementation([message], [data])`
-
-Returns a 500 Internal Server Error error where:
-- `message` - optional message.
-- `data` - optional additional error data.
-
-```js
-Boom.badImplementation('terrible implementation');
-```
-
-Generates the following response payload:
-
-```json
-{
- "statusCode": 500,
- "error": "Internal Server Error",
- "message": "An internal server error occurred"
-}
-```
-
-### `Boom.notImplemented([message], [data])`
-
-Returns a 501 Not Implemented error where:
-- `message` - optional message.
-- `data` - optional additional error data.
-
-```js
-Boom.notImplemented('method not implemented');
-```
-
-Generates the following response payload:
-
-```json
-{
- "statusCode": 501,
- "error": "Not Implemented",
- "message": "method not implemented"
-}
-```
-
-### `Boom.badGateway([message], [data])`
-
-Returns a 502 Bad Gateway error where:
-- `message` - optional message.
-- `data` - optional additional error data.
-
-```js
-Boom.badGateway('that is a bad gateway');
-```
-
-Generates the following response payload:
-
-```json
-{
- "statusCode": 502,
- "error": "Bad Gateway",
- "message": "that is a bad gateway"
-}
-```
-
-### `Boom.serverTimeout([message], [data])`
-
-Returns a 503 Service Unavailable error where:
-- `message` - optional message.
-- `data` - optional additional error data.
-
-```js
-Boom.serverTimeout('unavailable');
-```
-
-Generates the following response payload:
-
-```json
-{
- "statusCode": 503,
- "error": "Service Unavailable",
- "message": "unavailable"
-}
-```
-
-### `Boom.gatewayTimeout([message], [data])`
-
-Returns a 504 Gateway Time-out error where:
-- `message` - optional message.
-- `data` - optional additional error data.
-
-```js
-Boom.gatewayTimeout();
-```
-
-Generates the following response payload:
-
-```json
-{
- "statusCode": 504,
- "error": "Gateway Time-out"
-}
-```
-
-## F.A.Q.
-
-###### How do I include extra information in my responses? `output.payload` is missing `data`, what gives?
-
-There is a reason the values passed back in the response payloads are pretty locked down. It's mostly for security and to not leak any important information back to the client. This means you will need to put in a little more effort to include extra information about your custom error. Check out the ["Error transformation"](https://github.com/hapijs/hapi/blob/master/API.md#error-transformation) section in the hapi documentation.
diff --git a/node_modules/boom/images/boom.png b/node_modules/boom/images/boom.png
deleted file mode 100644
index 373bc13..0000000
Binary files a/node_modules/boom/images/boom.png and /dev/null differ
diff --git a/node_modules/boom/lib/index.js b/node_modules/boom/lib/index.js
deleted file mode 100644
index 6bdea69..0000000
--- a/node_modules/boom/lib/index.js
+++ /dev/null
@@ -1,318 +0,0 @@
-// Load modules
-
-var Http = require('http');
-var Hoek = require('hoek');
-
-
-// Declare internals
-
-var internals = {};
-
-exports.wrap = function (error, statusCode, message) {
-
- Hoek.assert(error instanceof Error, 'Cannot wrap non-Error object');
- return (error.isBoom ? error : internals.initialize(error, statusCode || 500, message));
-};
-
-
-exports.create = function (statusCode, message, data) {
-
- return internals.create(statusCode, message, data, exports.create);
-};
-
-internals.create = function (statusCode, message, data, ctor) {
-
- var error = new Error(message ? message : undefined); // Avoids settings null message
- Error.captureStackTrace(error, ctor); // Filter the stack to our external API
- error.data = data || null;
- internals.initialize(error, statusCode);
- return error;
-};
-
-internals.initialize = function (error, statusCode, message) {
-
- var numberCode = parseInt(statusCode, 10);
- Hoek.assert(!isNaN(numberCode) && numberCode >= 400, 'First argument must be a number (400+):', statusCode);
-
- error.isBoom = true;
- error.isServer = numberCode >= 500;
-
- if (!error.hasOwnProperty('data')) {
- error.data = null;
- }
-
- error.output = {
- statusCode: numberCode,
- payload: {},
- headers: {}
- };
-
- error.reformat = internals.reformat;
- error.reformat();
-
- if (!message &&
- !error.message) {
-
- message = error.output.payload.error;
- }
-
- if (message) {
- error.message = (message + (error.message ? ': ' + error.message : ''));
- }
-
- return error;
-};
-
-
-internals.reformat = function () {
-
- this.output.payload.statusCode = this.output.statusCode;
- this.output.payload.error = Http.STATUS_CODES[this.output.statusCode] || 'Unknown';
-
- if (this.output.statusCode === 500) {
- this.output.payload.message = 'An internal server error occurred'; // Hide actual error from user
- }
- else if (this.message) {
- this.output.payload.message = this.message;
- }
-};
-
-
-// 4xx Client Errors
-
-exports.badRequest = function (message, data) {
-
- return internals.create(400, message, data, exports.badRequest);
-};
-
-
-exports.unauthorized = function (message, scheme, attributes) { // Or function (message, wwwAuthenticate[])
-
- var err = internals.create(401, message, undefined, exports.unauthorized);
-
- if (!scheme) {
- return err;
- }
-
- var wwwAuthenticate = '';
- var i = 0;
- var il = 0;
-
- if (typeof scheme === 'string') {
-
- // function (message, scheme, attributes)
-
- wwwAuthenticate = scheme;
-
- if (attributes || message) {
- err.output.payload.attributes = {};
- }
-
- if (attributes) {
- var names = Object.keys(attributes);
- for (i = 0, il = names.length; i < il; ++i) {
- var name = names[i];
- if (i) {
- wwwAuthenticate += ',';
- }
-
- var value = attributes[name];
- if (value === null ||
- value === undefined) { // Value can be zero
-
- value = '';
- }
- wwwAuthenticate += ' ' + name + '="' + Hoek.escapeHeaderAttribute(value.toString()) + '"';
- err.output.payload.attributes[name] = value;
- }
- }
-
- if (message) {
- if (attributes) {
- wwwAuthenticate += ',';
- }
- wwwAuthenticate += ' error="' + Hoek.escapeHeaderAttribute(message) + '"';
- err.output.payload.attributes.error = message;
- }
- else {
- err.isMissing = true;
- }
- }
- else {
-
- // function (message, wwwAuthenticate[])
-
- var wwwArray = scheme;
- for (i = 0, il = wwwArray.length; i < il; ++i) {
- if (i) {
- wwwAuthenticate += ', ';
- }
-
- wwwAuthenticate += wwwArray[i];
- }
- }
-
- err.output.headers['WWW-Authenticate'] = wwwAuthenticate;
-
- return err;
-};
-
-
-exports.forbidden = function (message, data) {
-
- return internals.create(403, message, data, exports.forbidden);
-};
-
-
-exports.notFound = function (message, data) {
-
- return internals.create(404, message, data, exports.notFound);
-};
-
-
-exports.methodNotAllowed = function (message, data) {
-
- return internals.create(405, message, data, exports.methodNotAllowed);
-};
-
-
-exports.notAcceptable = function (message, data) {
-
- return internals.create(406, message, data, exports.notAcceptable);
-};
-
-
-exports.proxyAuthRequired = function (message, data) {
-
- return internals.create(407, message, data, exports.proxyAuthRequired);
-};
-
-
-exports.clientTimeout = function (message, data) {
-
- return internals.create(408, message, data, exports.clientTimeout);
-};
-
-
-exports.conflict = function (message, data) {
-
- return internals.create(409, message, data, exports.conflict);
-};
-
-
-exports.resourceGone = function (message, data) {
-
- return internals.create(410, message, data, exports.resourceGone);
-};
-
-
-exports.lengthRequired = function (message, data) {
-
- return internals.create(411, message, data, exports.lengthRequired);
-};
-
-
-exports.preconditionFailed = function (message, data) {
-
- return internals.create(412, message, data, exports.preconditionFailed);
-};
-
-
-exports.entityTooLarge = function (message, data) {
-
- return internals.create(413, message, data, exports.entityTooLarge);
-};
-
-
-exports.uriTooLong = function (message, data) {
-
- return internals.create(414, message, data, exports.uriTooLong);
-};
-
-
-exports.unsupportedMediaType = function (message, data) {
-
- return internals.create(415, message, data, exports.unsupportedMediaType);
-};
-
-
-exports.rangeNotSatisfiable = function (message, data) {
-
- return internals.create(416, message, data, exports.rangeNotSatisfiable);
-};
-
-
-exports.expectationFailed = function (message, data) {
-
- return internals.create(417, message, data, exports.expectationFailed);
-};
-
-exports.badData = function (message, data) {
-
- return internals.create(422, message, data, exports.badData);
-};
-
-
-exports.preconditionRequired = function (message, data) {
-
- return internals.create(428, message, data, exports.preconditionRequired);
-};
-
-
-exports.tooManyRequests = function (message, data) {
-
- return internals.create(429, message, data, exports.tooManyRequests);
-};
-
-
-// 5xx Server Errors
-
-exports.internal = function (message, data, statusCode) {
-
- return internals.serverError(message, data, statusCode, exports.internal);
-};
-
-internals.serverError = function (message, data, statusCode, ctor) {
-
- var error;
- if (data instanceof Error) {
- error = exports.wrap(data, statusCode, message);
- } else {
- error = internals.create(statusCode || 500, message, undefined, ctor);
- error.data = data;
- }
-
- return error;
-};
-
-
-exports.notImplemented = function (message, data) {
-
- return internals.serverError(message, data, 501, exports.notImplemented);
-};
-
-
-exports.badGateway = function (message, data) {
-
- return internals.serverError(message, data, 502, exports.badGateway);
-};
-
-
-exports.serverTimeout = function (message, data) {
-
- return internals.serverError(message, data, 503, exports.serverTimeout);
-};
-
-
-exports.gatewayTimeout = function (message, data) {
-
- return internals.serverError(message, data, 504, exports.gatewayTimeout);
-};
-
-
-exports.badImplementation = function (message, data) {
-
- var err = internals.serverError(message, data, 500, exports.badImplementation);
- err.isDeveloperError = true;
- return err;
-};
diff --git a/node_modules/boom/package.json b/node_modules/boom/package.json
deleted file mode 100644
index 61e5a32..0000000
--- a/node_modules/boom/package.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "_from": "boom@2.x.x",
- "_id": "boom@2.10.1",
- "_inBundle": false,
- "_integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
- "_location": "/boom",
- "_phantomChildren": {},
- "_requested": {
- "type": "range",
- "registry": true,
- "raw": "boom@2.x.x",
- "name": "boom",
- "escapedName": "boom",
- "rawSpec": "2.x.x",
- "saveSpec": null,
- "fetchSpec": "2.x.x"
- },
- "_requiredBy": [
- "/cryptiles",
- "/hawk"
- ],
- "_resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
- "_shasum": "39c8918ceff5799f83f9492a848f625add0c766f",
- "_spec": "boom@2.x.x",
- "_where": "C:\\Users\\Tom\\Documents\\Development\\bitsy-image-to-room\\node_modules\\hawk",
- "bugs": {
- "url": "https://github.com/hapijs/boom/issues"
- },
- "bundleDependencies": false,
- "dependencies": {
- "hoek": "2.x.x"
- },
- "deprecated": false,
- "description": "HTTP-friendly error objects",
- "devDependencies": {
- "code": "1.x.x",
- "lab": "7.x.x"
- },
- "engines": {
- "node": ">=0.10.40"
- },
- "homepage": "https://github.com/hapijs/boom#readme",
- "keywords": [
- "error",
- "http"
- ],
- "license": "BSD-3-Clause",
- "main": "lib/index.js",
- "name": "boom",
- "repository": {
- "type": "git",
- "url": "git://github.com/hapijs/boom.git"
- },
- "scripts": {
- "test": "lab -a code -t 100 -L",
- "test-cov-html": "lab -a code -r html -o coverage.html -L"
- },
- "version": "2.10.1"
-}
diff --git a/node_modules/boom/test/index.js b/node_modules/boom/test/index.js
deleted file mode 100644
index 79a59e9..0000000
--- a/node_modules/boom/test/index.js
+++ /dev/null
@@ -1,654 +0,0 @@
-// Load modules
-
-var Code = require('code');
-var Boom = require('../lib');
-var Lab = require('lab');
-
-
-// Declare internals
-
-var internals = {};
-
-
-// Test shortcuts
-
-var lab = exports.lab = Lab.script();
-var describe = lab.describe;
-var it = lab.it;
-var expect = Code.expect;
-
-
-it('returns the same object when already boom', function (done) {
-
- var error = Boom.badRequest();
- var wrapped = Boom.wrap(error);
- expect(error).to.equal(wrapped);
- done();
-});
-
-it('returns an error with info when constructed using another error', function (done) {
-
- var error = new Error('ka-boom');
- error.xyz = 123;
- var err = Boom.wrap(error);
- expect(err.xyz).to.equal(123);
- expect(err.message).to.equal('ka-boom');
- expect(err.output).to.deep.equal({
- statusCode: 500,
- payload: {
- statusCode: 500,
- error: 'Internal Server Error',
- message: 'An internal server error occurred'
- },
- headers: {}
- });
- expect(err.data).to.equal(null);
- done();
-});
-
-it('does not override data when constructed using another error', function (done) {
-
- var error = new Error('ka-boom');
- error.data = { useful: 'data' };
- var err = Boom.wrap(error);
- expect(err.data).to.equal(error.data);
- done();
-});
-
-it('sets new message when none exists', function (done) {
-
- var error = new Error();
- var wrapped = Boom.wrap(error, 400, 'something bad');
- expect(wrapped.message).to.equal('something bad');
- done();
-});
-
-it('throws when statusCode is not a number', function (done) {
-
- expect(function () {
-
- Boom.create('x');
- }).to.throw('First argument must be a number (400+): x');
- done();
-});
-
-it('will cast a number-string to an integer', function (done) {
-
- var codes = [
- { input: '404', result: 404 },
- { input: '404.1', result: 404 },
- { input: 400, result: 400 },
- { input: 400.123, result: 400 }];
- for (var i = 0, il = codes.length; i < il; ++i) {
- var code = codes[i];
- var err = Boom.create(code.input);
- expect(err.output.statusCode).to.equal(code.result);
- }
-
- done();
-});
-
-it('throws when statusCode is not finite', function (done) {
-
- expect(function () {
-
- Boom.create(1 / 0);
- }).to.throw('First argument must be a number (400+): null');
- done();
-});
-
-it('sets error code to unknown', function (done) {
-
- var err = Boom.create(999);
- expect(err.output.payload.error).to.equal('Unknown');
- done();
-});
-
-describe('create()', function () {
-
- it('does not sets null message', function (done) {
-
- var error = Boom.unauthorized(null);
- expect(error.output.payload.message).to.not.exist();
- expect(error.isServer).to.be.false();
- done();
- });
-
- it('sets message and data', function (done) {
-
- var error = Boom.badRequest('Missing data', { type: 'user' });
- expect(error.data.type).to.equal('user');
- expect(error.output.payload.message).to.equal('Missing data');
- done();
- });
-});
-
-describe('isBoom()', function () {
-
- it('returns true for Boom object', function (done) {
-
- expect(Boom.badRequest().isBoom).to.equal(true);
- done();
- });
-
- it('returns false for Error object', function (done) {
-
- expect((new Error()).isBoom).to.not.exist();
- done();
- });
-});
-
-describe('badRequest()', function () {
-
- it('returns a 400 error statusCode', function (done) {
-
- var error = Boom.badRequest();
-
- expect(error.output.statusCode).to.equal(400);
- expect(error.isServer).to.be.false();
- done();
- });
-
- it('sets the message with the passed in message', function (done) {
-
- expect(Boom.badRequest('my message').message).to.equal('my message');
- done();
- });
-
- it('sets the message to HTTP status if none provided', function (done) {
-
- expect(Boom.badRequest().message).to.equal('Bad Request');
- done();
- });
-});
-
-describe('unauthorized()', function () {
-
- it('returns a 401 error statusCode', function (done) {
-
- var err = Boom.unauthorized();
- expect(err.output.statusCode).to.equal(401);
- expect(err.output.headers).to.deep.equal({});
- done();
- });
-
- it('sets the message with the passed in message', function (done) {
-
- expect(Boom.unauthorized('my message').message).to.equal('my message');
- done();
- });
-
- it('returns a WWW-Authenticate header when passed a scheme', function (done) {
-
- var err = Boom.unauthorized('boom', 'Test');
- expect(err.output.statusCode).to.equal(401);
- expect(err.output.headers['WWW-Authenticate']).to.equal('Test error="boom"');
- done();
- });
-
- it('returns a WWW-Authenticate header set to the schema array value', function (done) {
-
- var err = Boom.unauthorized(null, ['Test','one','two']);
- expect(err.output.statusCode).to.equal(401);
- expect(err.output.headers['WWW-Authenticate']).to.equal('Test, one, two');
- done();
- });
-
- it('returns a WWW-Authenticate header when passed a scheme and attributes', function (done) {
-
- var err = Boom.unauthorized('boom', 'Test', { a: 1, b: 'something', c: null, d: 0 });
- expect(err.output.statusCode).to.equal(401);
- expect(err.output.headers['WWW-Authenticate']).to.equal('Test a="1", b="something", c="", d="0", error="boom"');
- expect(err.output.payload.attributes).to.deep.equal({ a: 1, b: 'something', c: '', d: 0, error: 'boom' });
- done();
- });
-
- it('returns a WWW-Authenticate header when passed attributes, missing error', function (done) {
-
- var err = Boom.unauthorized(null, 'Test', { a: 1, b: 'something', c: null, d: 0 });
- expect(err.output.statusCode).to.equal(401);
- expect(err.output.headers['WWW-Authenticate']).to.equal('Test a="1", b="something", c="", d="0"');
- expect(err.isMissing).to.equal(true);
- done();
- });
-
- it('sets the isMissing flag when error message is empty', function (done) {
-
- var err = Boom.unauthorized('', 'Basic');
- expect(err.isMissing).to.equal(true);
- done();
- });
-
- it('does not set the isMissing flag when error message is not empty', function (done) {
-
- var err = Boom.unauthorized('message', 'Basic');
- expect(err.isMissing).to.equal(undefined);
- done();
- });
-
- it('sets a WWW-Authenticate when passed as an array', function (done) {
-
- var err = Boom.unauthorized('message', ['Basic', 'Example e="1"', 'Another x="3", y="4"']);
- expect(err.output.headers['WWW-Authenticate']).to.equal('Basic, Example e="1", Another x="3", y="4"');
- done();
- });
-});
-
-
-describe('methodNotAllowed()', function () {
-
- it('returns a 405 error statusCode', function (done) {
-
- expect(Boom.methodNotAllowed().output.statusCode).to.equal(405);
- done();
- });
-
- it('sets the message with the passed in message', function (done) {
-
- expect(Boom.methodNotAllowed('my message').message).to.equal('my message');
- done();
- });
-});
-
-
-describe('notAcceptable()', function () {
-
- it('returns a 406 error statusCode', function (done) {
-
- expect(Boom.notAcceptable().output.statusCode).to.equal(406);
- done();
- });
-
- it('sets the message with the passed in message', function (done) {
-
- expect(Boom.notAcceptable('my message').message).to.equal('my message');
- done();
- });
-});
-
-
-describe('proxyAuthRequired()', function () {
-
- it('returns a 407 error statusCode', function (done) {
-
- expect(Boom.proxyAuthRequired().output.statusCode).to.equal(407);
- done();
- });
-
- it('sets the message with the passed in message', function (done) {
-
- expect(Boom.proxyAuthRequired('my message').message).to.equal('my message');
- done();
- });
-});
-
-
-describe('clientTimeout()', function () {
-
- it('returns a 408 error statusCode', function (done) {
-
- expect(Boom.clientTimeout().output.statusCode).to.equal(408);
- done();
- });
-
- it('sets the message with the passed in message', function (done) {
-
- expect(Boom.clientTimeout('my message').message).to.equal('my message');
- done();
- });
-});
-
-
-describe('conflict()', function () {
-
- it('returns a 409 error statusCode', function (done) {
-
- expect(Boom.conflict().output.statusCode).to.equal(409);
- done();
- });
-
- it('sets the message with the passed in message', function (done) {
-
- expect(Boom.conflict('my message').message).to.equal('my message');
- done();
- });
-});
-
-
-describe('resourceGone()', function () {
-
- it('returns a 410 error statusCode', function (done) {
-
- expect(Boom.resourceGone().output.statusCode).to.equal(410);
- done();
- });
-
- it('sets the message with the passed in message', function (done) {
-
- expect(Boom.resourceGone('my message').message).to.equal('my message');
- done();
- });
-});
-
-
-describe('lengthRequired()', function () {
-
- it('returns a 411 error statusCode', function (done) {
-
- expect(Boom.lengthRequired().output.statusCode).to.equal(411);
- done();
- });
-
- it('sets the message with the passed in message', function (done) {
-
- expect(Boom.lengthRequired('my message').message).to.equal('my message');
- done();
- });
-});
-
-
-describe('preconditionFailed()', function () {
-
- it('returns a 412 error statusCode', function (done) {
-
- expect(Boom.preconditionFailed().output.statusCode).to.equal(412);
- done();
- });
-
- it('sets the message with the passed in message', function (done) {
-
- expect(Boom.preconditionFailed('my message').message).to.equal('my message');
- done();
- });
-});
-
-
-describe('entityTooLarge()', function () {
-
- it('returns a 413 error statusCode', function (done) {
-
- expect(Boom.entityTooLarge().output.statusCode).to.equal(413);
- done();
- });
-
- it('sets the message with the passed in message', function (done) {
-
- expect(Boom.entityTooLarge('my message').message).to.equal('my message');
- done();
- });
-});
-
-
-describe('uriTooLong()', function () {
-
- it('returns a 414 error statusCode', function (done) {
-
- expect(Boom.uriTooLong().output.statusCode).to.equal(414);
- done();
- });
-
- it('sets the message with the passed in message', function (done) {
-
- expect(Boom.uriTooLong('my message').message).to.equal('my message');
- done();
- });
-});
-
-
-describe('unsupportedMediaType()', function () {
-
- it('returns a 415 error statusCode', function (done) {
-
- expect(Boom.unsupportedMediaType().output.statusCode).to.equal(415);
- done();
- });
-
- it('sets the message with the passed in message', function (done) {
-
- expect(Boom.unsupportedMediaType('my message').message).to.equal('my message');
- done();
- });
-});
-
-
-describe('rangeNotSatisfiable()', function () {
-
- it('returns a 416 error statusCode', function (done) {
-
- expect(Boom.rangeNotSatisfiable().output.statusCode).to.equal(416);
- done();
- });
-
- it('sets the message with the passed in message', function (done) {
-
- expect(Boom.rangeNotSatisfiable('my message').message).to.equal('my message');
- done();
- });
-});
-
-
-describe('expectationFailed()', function () {
-
- it('returns a 417 error statusCode', function (done) {
-
- expect(Boom.expectationFailed().output.statusCode).to.equal(417);
- done();
- });
-
- it('sets the message with the passed in message', function (done) {
-
- expect(Boom.expectationFailed('my message').message).to.equal('my message');
- done();
- });
-});
-
-
-describe('badData()', function () {
-
- it('returns a 422 error statusCode', function (done) {
-
- expect(Boom.badData().output.statusCode).to.equal(422);
- done();
- });
-
- it('sets the message with the passed in message', function (done) {
-
- expect(Boom.badData('my message').message).to.equal('my message');
- done();
- });
-});
-
-
-describe('preconditionRequired()', function () {
-
- it('returns a 428 error statusCode', function (done) {
-
- expect(Boom.preconditionRequired().output.statusCode).to.equal(428);
- done();
- });
-
- it('sets the message with the passed in message', function (done) {
-
- expect(Boom.preconditionRequired('my message').message).to.equal('my message');
- done();
- });
-});
-
-
-describe('tooManyRequests()', function () {
-
- it('returns a 429 error statusCode', function (done) {
-
- expect(Boom.tooManyRequests().output.statusCode).to.equal(429);
- done();
- });
-
- it('sets the message with the passed-in message', function (done) {
-
- expect(Boom.tooManyRequests('my message').message).to.equal('my message');
- done();
- });
-});
-
-describe('serverTimeout()', function () {
-
- it('returns a 503 error statusCode', function (done) {
-
- expect(Boom.serverTimeout().output.statusCode).to.equal(503);
- done();
- });
-
- it('sets the message with the passed in message', function (done) {
-
- expect(Boom.serverTimeout('my message').message).to.equal('my message');
- done();
- });
-});
-
-describe('forbidden()', function () {
-
- it('returns a 403 error statusCode', function (done) {
-
- expect(Boom.forbidden().output.statusCode).to.equal(403);
- done();
- });
-
- it('sets the message with the passed in message', function (done) {
-
- expect(Boom.forbidden('my message').message).to.equal('my message');
- done();
- });
-});
-
-describe('notFound()', function () {
-
- it('returns a 404 error statusCode', function (done) {
-
- expect(Boom.notFound().output.statusCode).to.equal(404);
- done();
- });
-
- it('sets the message with the passed in message', function (done) {
-
- expect(Boom.notFound('my message').message).to.equal('my message');
- done();
- });
-});
-
-describe('internal()', function () {
-
- it('returns a 500 error statusCode', function (done) {
-
- expect(Boom.internal().output.statusCode).to.equal(500);
- done();
- });
-
- it('sets the message with the passed in message', function (done) {
-
- var err = Boom.internal('my message');
- expect(err.message).to.equal('my message');
- expect(err.isServer).to.true();
- expect(err.output.payload.message).to.equal('An internal server error occurred');
- done();
- });
-
- it('passes data on the callback if its passed in', function (done) {
-
- expect(Boom.internal('my message', { my: 'data' }).data.my).to.equal('data');
- done();
- });
-
- it('returns an error with composite message', function (done) {
-
- try {
- JSON.parse('{');
- }
- catch (err) {
- var boom = Boom.internal('Someting bad', err);
- expect(boom.message).to.equal('Someting bad: Unexpected end of input');
- expect(boom.isServer).to.be.true();
- done();
- }
- });
-});
-
-describe('notImplemented()', function () {
-
- it('returns a 501 error statusCode', function (done) {
-
- expect(Boom.notImplemented().output.statusCode).to.equal(501);
- done();
- });
-
- it('sets the message with the passed in message', function (done) {
-
- expect(Boom.notImplemented('my message').message).to.equal('my message');
- done();
- });
-});
-
-
-describe('badGateway()', function () {
-
- it('returns a 502 error statusCode', function (done) {
-
- expect(Boom.badGateway().output.statusCode).to.equal(502);
- done();
- });
-
- it('sets the message with the passed in message', function (done) {
-
- expect(Boom.badGateway('my message').message).to.equal('my message');
- done();
- });
-});
-
-describe('gatewayTimeout()', function () {
-
- it('returns a 504 error statusCode', function (done) {
-
- expect(Boom.gatewayTimeout().output.statusCode).to.equal(504);
- done();
- });
-
- it('sets the message with the passed in message', function (done) {
-
- expect(Boom.gatewayTimeout('my message').message).to.equal('my message');
- done();
- });
-});
-
-describe('badImplementation()', function () {
-
- it('returns a 500 error statusCode', function (done) {
-
- var err = Boom.badImplementation();
- expect(err.output.statusCode).to.equal(500);
- expect(err.isDeveloperError).to.equal(true);
- expect(err.isServer).to.be.true();
- done();
- });
-});
-
-describe('stack trace', function () {
-
- it('should omit lib', function (done) {
-
- ['badRequest', 'unauthorized', 'forbidden', 'notFound', 'methodNotAllowed',
- 'notAcceptable', 'proxyAuthRequired', 'clientTimeout', 'conflict',
- 'resourceGone', 'lengthRequired', 'preconditionFailed', 'entityTooLarge',
- 'uriTooLong', 'unsupportedMediaType', 'rangeNotSatisfiable', 'expectationFailed',
- 'badData', 'preconditionRequired', 'tooManyRequests',
-
- // 500s
- 'internal', 'notImplemented', 'badGateway', 'serverTimeout', 'gatewayTimeout',
- 'badImplementation'
- ].forEach(function (name) {
-
- var err = Boom[name]();
- expect(err.stack).to.not.match(/\/lib\/index\.js/);
- });
-
- done();
- });
-});
diff --git a/node_modules/camelcase/index.js b/node_modules/camelcase/index.js
deleted file mode 100644
index b46e100..0000000
--- a/node_modules/camelcase/index.js
+++ /dev/null
@@ -1,27 +0,0 @@
-'use strict';
-module.exports = function () {
- var str = [].map.call(arguments, function (str) {
- return str.trim();
- }).filter(function (str) {
- return str.length;
- }).join('-');
-
- if (!str.length) {
- return '';
- }
-
- if (str.length === 1 || !(/[_.\- ]+/).test(str) ) {
- if (str[0] === str[0].toLowerCase() && str.slice(1) !== str.slice(1).toLowerCase()) {
- return str;
- }
-
- return str.toLowerCase();
- }
-
- return str
- .replace(/^[_.\- ]+/, '')
- .toLowerCase()
- .replace(/[_.\- ]+(\w|$)/g, function (m, p1) {
- return p1.toUpperCase();
- });
-};
diff --git a/node_modules/camelcase/license b/node_modules/camelcase/license
deleted file mode 100644
index 654d0bf..0000000
--- a/node_modules/camelcase/license
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Sindre Sorhus (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.
diff --git a/node_modules/camelcase/package.json b/node_modules/camelcase/package.json
deleted file mode 100644
index ab7ca43..0000000
--- a/node_modules/camelcase/package.json
+++ /dev/null
@@ -1,94 +0,0 @@
-{
- "_args": [
- [
- "camelcase@^1.0.2",
- "C:\\Users\\Tom\\Documents\\Development\\bitsy-image-to-room\\node_modules\\yargs"
- ]
- ],
- "_from": "camelcase@>=1.0.2 <2.0.0",
- "_id": "camelcase@1.2.1",
- "_inCache": true,
- "_installable": true,
- "_location": "/camelcase",
- "_nodeVersion": "0.12.5",
- "_npmUser": {
- "email": "sindresorhus@gmail.com",
- "name": "sindresorhus"
- },
- "_npmVersion": "2.11.2",
- "_phantomChildren": {},
- "_requested": {
- "name": "camelcase",
- "raw": "camelcase@^1.0.2",
- "rawSpec": "^1.0.2",
- "scope": null,
- "spec": ">=1.0.2 <2.0.0",
- "type": "range"
- },
- "_requiredBy": [
- "/yargs"
- ],
- "_resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
- "_shasum": "9bb5304d2e0b56698b2c758b08a3eaa9daa58a39",
- "_shrinkwrap": null,
- "_spec": "camelcase@^1.0.2",
- "_where": "C:\\Users\\Tom\\Documents\\Development\\bitsy-image-to-room\\node_modules\\yargs",
- "author": {
- "email": "sindresorhus@gmail.com",
- "name": "Sindre Sorhus",
- "url": "http://sindresorhus.com"
- },
- "bugs": {
- "url": "https://github.com/sindresorhus/camelcase/issues"
- },
- "dependencies": {},
- "description": "Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar",
- "devDependencies": {
- "ava": "0.0.4"
- },
- "directories": {},
- "dist": {
- "shasum": "9bb5304d2e0b56698b2c758b08a3eaa9daa58a39",
- "tarball": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz"
- },
- "engines": {
- "node": ">=0.10.0"
- },
- "files": [
- "index.js"
- ],
- "gitHead": "185ba12da723be9c1ee986cc2956bdc4c517a141",
- "homepage": "https://github.com/sindresorhus/camelcase",
- "keywords": [
- "camel",
- "camel-case",
- "camelcase",
- "case",
- "convert",
- "dash",
- "dot",
- "hyphen",
- "separator",
- "string",
- "text",
- "underscore"
- ],
- "license": "MIT",
- "maintainers": [
- {
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
- }
- ],
- "name": "camelcase",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sindresorhus/camelcase.git"
- },
- "scripts": {
- "test": "node test.js"
- },
- "version": "1.2.1"
-}
diff --git a/node_modules/camelcase/readme.md b/node_modules/camelcase/readme.md
deleted file mode 100644
index 516dc39..0000000
--- a/node_modules/camelcase/readme.md
+++ /dev/null
@@ -1,56 +0,0 @@
-# camelcase [![Build Status](https://travis-ci.org/sindresorhus/camelcase.svg?branch=master)](https://travis-ci.org/sindresorhus/camelcase)
-
-> Convert a dash/dot/underscore/space separated string to camelCase: `foo-bar` → `fooBar`
-
-
-## Install
-
-```sh
-$ npm install --save camelcase
-```
-
-
-## Usage
-
-```js
-var camelCase = require('camelcase');
-
-camelCase('foo-bar');
-//=> fooBar
-
-camelCase('foo_bar');
-//=> fooBar
-
-camelCase('Foo-Bar');
-//=> fooBar
-
-camelCase('--foo.bar');
-//=> fooBar
-
-camelCase('__foo__bar__');
-//=> fooBar
-
-camelCase('foo bar');
-//=> fooBar
-
-console.log(process.argv[3]);
-//=> --foo-bar
-camelCase(process.argv[3]);
-//=> fooBar
-
-camelCase('foo', 'bar');
-//=> fooBar
-
-camelCase('__foo__', '--bar');
-//=> fooBar
-```
-
-
-## Related
-
-See [`decamelize`](https://github.com/sindresorhus/decamelize) for the inverse.
-
-
-## License
-
-MIT © [Sindre Sorhus](http://sindresorhus.com)
diff --git a/node_modules/caseless/LICENSE b/node_modules/caseless/LICENSE
deleted file mode 100644
index 61789f4..0000000
--- a/node_modules/caseless/LICENSE
+++ /dev/null
@@ -1,28 +0,0 @@
-Apache License
-Version 2.0, January 2004
-http://www.apache.org/licenses/
-TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-1. Definitions.
-"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
-"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
-"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
-"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
-"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
-"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
-"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
-"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
-"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
-"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
-2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
-3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
-4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
-You must give any other recipients of the Work or Derivative Works a copy of this License; and
-You must cause any modified files to carry prominent notices stating that You changed the files; and
-You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
-If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
-5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
-6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
-7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
-8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
-9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
-END OF TERMS AND CONDITIONS
\ No newline at end of file
diff --git a/node_modules/caseless/README.md b/node_modules/caseless/README.md
deleted file mode 100644
index e5077a2..0000000
--- a/node_modules/caseless/README.md
+++ /dev/null
@@ -1,45 +0,0 @@
-## Caseless -- wrap an object to set and get property with caseless semantics but also preserve caseing.
-
-This library is incredibly useful when working with HTTP headers. It allows you to get/set/check for headers in a caseless manner while also preserving the caseing of headers the first time they are set.
-
-## Usage
-
-```javascript
-var headers = {}
- , c = caseless(headers)
- ;
-c.set('a-Header', 'asdf')
-c.get('a-header') === 'asdf'
-```
-
-## has(key)
-
-Has takes a name and if it finds a matching header will return that header name with the preserved caseing it was set with.
-
-```javascript
-c.has('a-header') === 'a-Header'
-```
-
-## set(key, value[, clobber=true])
-
-Set is fairly straight forward except that if the header exists and clobber is disabled it will add `','+value` to the existing header.
-
-```javascript
-c.set('a-Header', 'fdas')
-c.set('a-HEADER', 'more', false)
-c.get('a-header') === 'fdsa,more'
-```
-
-## swap(key)
-
-Swaps the casing of a header with the new one that is passed in.
-
-```javascript
-var headers = {}
- , c = caseless(headers)
- ;
-c.set('a-Header', 'fdas')
-c.swap('a-HEADER')
-c.has('a-header') === 'a-HEADER'
-headers === {'a-HEADER': 'fdas'}
-```
diff --git a/node_modules/caseless/index.js b/node_modules/caseless/index.js
deleted file mode 100644
index b194734..0000000
--- a/node_modules/caseless/index.js
+++ /dev/null
@@ -1,67 +0,0 @@
-function Caseless (dict) {
- this.dict = dict || {}
-}
-Caseless.prototype.set = function (name, value, clobber) {
- if (typeof name === 'object') {
- for (var i in name) {
- this.set(i, name[i], value)
- }
- } else {
- if (typeof clobber === 'undefined') clobber = true
- var has = this.has(name)
-
- if (!clobber && has) this.dict[has] = this.dict[has] + ',' + value
- else this.dict[has || name] = value
- return has
- }
-}
-Caseless.prototype.has = function (name) {
- var keys = Object.keys(this.dict)
- , name = name.toLowerCase()
- ;
- for (var i=0;i Center-align the text in a string.
-
-Install with [npm](https://www.npmjs.com/)
-
-```sh
-$ npm i center-align --save
-```
-
-## Usage
-
-```js
-var centerAlign = require('center-align');
-```
-
-**Example**
-
-If used on the following:
-
-```
-Lorem ipsum dolor sit amet,
-consectetur adipiscing
-elit, sed do eiusmod tempor incididunt
-ut labore et dolore
-magna aliqua. Ut enim ad minim
-veniam, quis
-```
-
-The result would be:
-
-```
- Lorem ipsum dolor sit amet,
- consectetur adipiscing
-elit, sed do eiusmod tempor incididunt
- ut labore et dolore
- magna aliqua. Ut enim ad minim
- veniam, quis
-```
-
-## Related projects
-
-* [align-text](https://www.npmjs.com/package/align-text): Align the text in a string. | [homepage](https://github.com/jonschlinkert/align-text)
-* [justified](https://www.npmjs.com/package/justified): Wrap words to a specified length and justified the text. | [homepage](https://github.com/jonschlinkert/justified)
-* [right-align](https://www.npmjs.com/package/right-align): Right-align the text in a string. | [homepage](https://github.com/jonschlinkert/right-align)
-* [word-wrap](https://www.npmjs.com/package/word-wrap): Wrap words to a specified length. | [homepage](https://github.com/jonschlinkert/word-wrap)
-
-## Running tests
-
-Install dev dependencies:
-
-```sh
-$ npm i -d && npm test
-```
-
-## Contributing
-
-Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/center-align/issues/new).
-
-## Author
-
-**Jon Schlinkert**
-
-+ [github/jonschlinkert](https://github.com/jonschlinkert)
-+ [twitter/jonschlinkert](http://twitter.com/jonschlinkert)
-
-## License
-
-Copyright © 2015 Jon Schlinkert
-Released under the MIT license.
-
-***
-
-_This file was generated by [verb-cli](https://github.com/assemble/verb-cli) on October 27, 2015._
\ No newline at end of file
diff --git a/node_modules/center-align/index.js b/node_modules/center-align/index.js
deleted file mode 100644
index c6ed54a..0000000
--- a/node_modules/center-align/index.js
+++ /dev/null
@@ -1,16 +0,0 @@
-/*!
- * center-align
- *
- * Copycenter (c) 2015, Jon Schlinkert.
- * Licensed under the MIT License.
- */
-
-'use strict';
-
-var utils = require('./utils');
-
-module.exports = function centerAlign(val) {
- return utils.align(val, function (len, longest) {
- return Math.floor((longest - len) / 2);
- });
-};
diff --git a/node_modules/center-align/package.json b/node_modules/center-align/package.json
deleted file mode 100644
index 4970451..0000000
--- a/node_modules/center-align/package.json
+++ /dev/null
@@ -1,113 +0,0 @@
-{
- "_args": [
- [
- "center-align@^0.1.1",
- "C:\\Users\\Tom\\Documents\\Development\\bitsy-image-to-room\\node_modules\\cliui"
- ]
- ],
- "_from": "center-align@>=0.1.1 <0.2.0",
- "_id": "center-align@0.1.3",
- "_inCache": true,
- "_installable": true,
- "_location": "/center-align",
- "_nodeVersion": "5.3.0",
- "_npmOperationalInternal": {
- "host": "packages-9-west.internal.npmjs.com",
- "tmp": "tmp/center-align-0.1.3.tgz_1454366538829_0.9471865000668913"
- },
- "_npmUser": {
- "email": "github@sellside.com",
- "name": "jonschlinkert"
- },
- "_npmVersion": "3.3.12",
- "_phantomChildren": {},
- "_requested": {
- "name": "center-align",
- "raw": "center-align@^0.1.1",
- "rawSpec": "^0.1.1",
- "scope": null,
- "spec": ">=0.1.1 <0.2.0",
- "type": "range"
- },
- "_requiredBy": [
- "/cliui"
- ],
- "_resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
- "_shasum": "aa0d32629b6ee972200411cbd4461c907bc2b7ad",
- "_shrinkwrap": null,
- "_spec": "center-align@^0.1.1",
- "_where": "C:\\Users\\Tom\\Documents\\Development\\bitsy-image-to-room\\node_modules\\cliui",
- "author": {
- "name": "Jon Schlinkert",
- "url": "https://github.com/jonschlinkert"
- },
- "bugs": {
- "url": "https://github.com/jonschlinkert/center-align/issues"
- },
- "dependencies": {
- "align-text": "^0.1.3",
- "lazy-cache": "^1.0.3"
- },
- "description": "Center-align the text in a string.",
- "devDependencies": {
- "mocha": "^2.2.0"
- },
- "directories": {},
- "dist": {
- "shasum": "aa0d32629b6ee972200411cbd4461c907bc2b7ad",
- "tarball": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz"
- },
- "engines": {
- "node": ">=0.10.0"
- },
- "files": [
- "index.js",
- "utils.js"
- ],
- "gitHead": "5c5fab5012fceaa3e21a00162958c0ed11109419",
- "homepage": "https://github.com/jonschlinkert/center-align",
- "keywords": [
- "align",
- "align-center",
- "center",
- "center-align",
- "right",
- "right-align",
- "text",
- "typography"
- ],
- "license": "MIT",
- "main": "index.js",
- "maintainers": [
- {
- "name": "doowb",
- "email": "brian.woodward@gmail.com"
- },
- {
- "name": "jonschlinkert",
- "email": "github@sellside.com"
- }
- ],
- "name": "center-align",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/jonschlinkert/center-align.git"
- },
- "scripts": {
- "test": "mocha"
- },
- "verb": {
- "related": {
- "description": "",
- "list": [
- "align-text",
- "justified",
- "right-align",
- "word-wrap"
- ]
- }
- },
- "version": "0.1.3"
-}
diff --git a/node_modules/center-align/utils.js b/node_modules/center-align/utils.js
deleted file mode 100644
index aead6d2..0000000
--- a/node_modules/center-align/utils.js
+++ /dev/null
@@ -1,40 +0,0 @@
-'use strict';
-
-/**
- * Lazily-required module dependencies (makes the application
- * faster)
- */
-
-var utils = require('lazy-cache')(require);
-
-/**
- * Temporarily re-assign `require` to trick browserify and
- * webpack into reconizing lazy dependencies.
- *
- * This tiny bit of ugliness has the huge dual advantage of
- * only loading modules that are actually called at some
- * point in the lifecycle of the application, whilst also
- * allowing browserify and webpack to find modules that
- * are depended on but never actually called.
- */
-
-var fn = require;
-require = utils;
-
-/**
- * Lazily required module dependencies
- */
-
-require('align-text', 'align');
-
-/**
- * Restore `require`
- */
-
-require = fn;
-
-/**
- * Expose `utils` modules
- */
-
-module.exports = utils;
diff --git a/node_modules/chalk/index.js b/node_modules/chalk/index.js
deleted file mode 100644
index 2d85a91..0000000
--- a/node_modules/chalk/index.js
+++ /dev/null
@@ -1,116 +0,0 @@
-'use strict';
-var escapeStringRegexp = require('escape-string-regexp');
-var ansiStyles = require('ansi-styles');
-var stripAnsi = require('strip-ansi');
-var hasAnsi = require('has-ansi');
-var supportsColor = require('supports-color');
-var defineProps = Object.defineProperties;
-var isSimpleWindowsTerm = process.platform === 'win32' && !/^xterm/i.test(process.env.TERM);
-
-function Chalk(options) {
- // detect mode if not set manually
- this.enabled = !options || options.enabled === undefined ? supportsColor : options.enabled;
-}
-
-// use bright blue on Windows as the normal blue color is illegible
-if (isSimpleWindowsTerm) {
- ansiStyles.blue.open = '\u001b[94m';
-}
-
-var styles = (function () {
- var ret = {};
-
- Object.keys(ansiStyles).forEach(function (key) {
- ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g');
-
- ret[key] = {
- get: function () {
- return build.call(this, this._styles.concat(key));
- }
- };
- });
-
- return ret;
-})();
-
-var proto = defineProps(function chalk() {}, styles);
-
-function build(_styles) {
- var builder = function () {
- return applyStyle.apply(builder, arguments);
- };
-
- builder._styles = _styles;
- builder.enabled = this.enabled;
- // __proto__ is used because we must return a function, but there is
- // no way to create a function with a different prototype.
- /* eslint-disable no-proto */
- builder.__proto__ = proto;
-
- return builder;
-}
-
-function applyStyle() {
- // support varags, but simply cast to string in case there's only one arg
- var args = arguments;
- var argsLen = args.length;
- var str = argsLen !== 0 && String(arguments[0]);
-
- if (argsLen > 1) {
- // don't slice `arguments`, it prevents v8 optimizations
- for (var a = 1; a < argsLen; a++) {
- str += ' ' + args[a];
- }
- }
-
- if (!this.enabled || !str) {
- return str;
- }
-
- var nestedStyles = this._styles;
- var i = nestedStyles.length;
-
- // Turns out that on Windows dimmed gray text becomes invisible in cmd.exe,
- // see https://github.com/chalk/chalk/issues/58
- // If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop.
- var originalDim = ansiStyles.dim.open;
- if (isSimpleWindowsTerm && (nestedStyles.indexOf('gray') !== -1 || nestedStyles.indexOf('grey') !== -1)) {
- ansiStyles.dim.open = '';
- }
-
- while (i--) {
- var code = ansiStyles[nestedStyles[i]];
-
- // Replace any instances already present with a re-opening code
- // otherwise only the part of the string until said closing code
- // will be colored, and the rest will simply be 'plain'.
- str = code.open + str.replace(code.closeRe, code.open) + code.close;
- }
-
- // Reset the original 'dim' if we changed it to work around the Windows dimmed gray issue.
- ansiStyles.dim.open = originalDim;
-
- return str;
-}
-
-function init() {
- var ret = {};
-
- Object.keys(styles).forEach(function (name) {
- ret[name] = {
- get: function () {
- return build.call(this, [name]);
- }
- };
- });
-
- return ret;
-}
-
-defineProps(Chalk.prototype, init());
-
-module.exports = new Chalk();
-module.exports.styles = ansiStyles;
-module.exports.hasColor = hasAnsi;
-module.exports.stripColor = stripAnsi;
-module.exports.supportsColor = supportsColor;
diff --git a/node_modules/chalk/license b/node_modules/chalk/license
deleted file mode 100644
index 654d0bf..0000000
--- a/node_modules/chalk/license
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Sindre Sorhus (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.
diff --git a/node_modules/chalk/package.json b/node_modules/chalk/package.json
deleted file mode 100644
index 244fd97..0000000
--- a/node_modules/chalk/package.json
+++ /dev/null
@@ -1,132 +0,0 @@
-{
- "_args": [
- [
- "chalk@^1.0.0",
- "C:\\Users\\Tom\\Documents\\Development\\bitsy-image-to-room\\node_modules\\pug-cli"
- ]
- ],
- "_from": "chalk@>=1.0.0 <2.0.0",
- "_id": "chalk@1.1.3",
- "_inCache": true,
- "_installable": true,
- "_location": "/chalk",
- "_nodeVersion": "0.10.32",
- "_npmOperationalInternal": {
- "host": "packages-12-west.internal.npmjs.com",
- "tmp": "tmp/chalk-1.1.3.tgz_1459210604109_0.3892582862172276"
- },
- "_npmUser": {
- "email": "i.am.qix@gmail.com",
- "name": "qix"
- },
- "_npmVersion": "2.14.2",
- "_phantomChildren": {},
- "_requested": {
- "name": "chalk",
- "raw": "chalk@^1.0.0",
- "rawSpec": "^1.0.0",
- "scope": null,
- "spec": ">=1.0.0 <2.0.0",
- "type": "range"
- },
- "_requiredBy": [
- "/pug-cli"
- ],
- "_resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "_shasum": "a8115c55e4a702fe4d150abd3872822a7e09fc98",
- "_shrinkwrap": null,
- "_spec": "chalk@^1.0.0",
- "_where": "C:\\Users\\Tom\\Documents\\Development\\bitsy-image-to-room\\node_modules\\pug-cli",
- "bugs": {
- "url": "https://github.com/chalk/chalk/issues"
- },
- "dependencies": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "description": "Terminal string styling done right. Much color.",
- "devDependencies": {
- "coveralls": "^2.11.2",
- "matcha": "^0.6.0",
- "mocha": "*",
- "nyc": "^3.0.0",
- "require-uncached": "^1.0.2",
- "resolve-from": "^1.0.0",
- "semver": "^4.3.3",
- "xo": "*"
- },
- "directories": {},
- "dist": {
- "shasum": "a8115c55e4a702fe4d150abd3872822a7e09fc98",
- "tarball": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz"
- },
- "engines": {
- "node": ">=0.10.0"
- },
- "files": [
- "index.js"
- ],
- "gitHead": "0d8d8c204eb87a4038219131ad4d8369c9f59d24",
- "homepage": "https://github.com/chalk/chalk#readme",
- "keywords": [
- "256",
- "ansi",
- "cli",
- "color",
- "colors",
- "colour",
- "command-line",
- "console",
- "formatting",
- "log",
- "logging",
- "rgb",
- "shell",
- "str",
- "string",
- "style",
- "styles",
- "terminal",
- "text",
- "tty",
- "xterm"
- ],
- "license": "MIT",
- "maintainers": [
- {
- "name": "qix",
- "email": "i.am.qix@gmail.com"
- },
- {
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
- },
- {
- "name": "unicorn",
- "email": "sindresorhus+unicorn@gmail.com"
- }
- ],
- "name": "chalk",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/chalk/chalk.git"
- },
- "scripts": {
- "bench": "matcha benchmark.js",
- "coverage": "nyc npm test && nyc report",
- "coveralls": "nyc npm test && nyc report --reporter=text-lcov | coveralls",
- "test": "xo && mocha"
- },
- "version": "1.1.3",
- "xo": {
- "envs": [
- "mocha",
- "node"
- ]
- }
-}
diff --git a/node_modules/chalk/readme.md b/node_modules/chalk/readme.md
deleted file mode 100644
index 5cf111e..0000000
--- a/node_modules/chalk/readme.md
+++ /dev/null
@@ -1,213 +0,0 @@
-
-
-
-
-
-
-
-
-
-> Terminal string styling done right
-
-[![Build Status](https://travis-ci.org/chalk/chalk.svg?branch=master)](https://travis-ci.org/chalk/chalk)
-[![Coverage Status](https://coveralls.io/repos/chalk/chalk/badge.svg?branch=master)](https://coveralls.io/r/chalk/chalk?branch=master)
-[![](http://img.shields.io/badge/unicorn-approved-ff69b4.svg)](https://www.youtube.com/watch?v=9auOCbH5Ns4)
-
-
-[colors.js](https://github.com/Marak/colors.js) used to be the most popular string styling module, but it has serious deficiencies like extending `String.prototype` which causes all kinds of [problems](https://github.com/yeoman/yo/issues/68). Although there are other ones, they either do too much or not enough.
-
-**Chalk is a clean and focused alternative.**
-
-![](https://github.com/chalk/ansi-styles/raw/master/screenshot.png)
-
-
-## Why
-
-- Highly performant
-- Doesn't extend `String.prototype`
-- Expressive API
-- Ability to nest styles
-- Clean and focused
-- Auto-detects color support
-- Actively maintained
-- [Used by ~4500 modules](https://www.npmjs.com/browse/depended/chalk) as of July 15, 2015
-
-
-## Install
-
-```
-$ npm install --save chalk
-```
-
-
-## Usage
-
-Chalk comes with an easy to use composable API where you just chain and nest the styles you want.
-
-```js
-var chalk = require('chalk');
-
-// style a string
-chalk.blue('Hello world!');
-
-// combine styled and normal strings
-chalk.blue('Hello') + 'World' + chalk.red('!');
-
-// compose multiple styles using the chainable API
-chalk.blue.bgRed.bold('Hello world!');
-
-// pass in multiple arguments
-chalk.blue('Hello', 'World!', 'Foo', 'bar', 'biz', 'baz');
-
-// nest styles
-chalk.red('Hello', chalk.underline.bgBlue('world') + '!');
-
-// nest styles of the same type even (color, underline, background)
-chalk.green(
- 'I am a green line ' +
- chalk.blue.underline.bold('with a blue substring') +
- ' that becomes green again!'
-);
-```
-
-Easily define your own themes.
-
-```js
-var chalk = require('chalk');
-var error = chalk.bold.red;
-console.log(error('Error!'));
-```
-
-Take advantage of console.log [string substitution](http://nodejs.org/docs/latest/api/console.html#console_console_log_data).
-
-```js
-var name = 'Sindre';
-console.log(chalk.green('Hello %s'), name);
-//=> Hello Sindre
-```
-
-
-## API
-
-### chalk.`
\ No newline at end of file
diff --git a/node_modules/pug/examples/layout-debug.js b/node_modules/pug/examples/layout-debug.js
deleted file mode 100644
index 1a3d619..0000000
--- a/node_modules/pug/examples/layout-debug.js
+++ /dev/null
@@ -1,11 +0,0 @@
-
-/**
- * Module dependencies.
- */
-
-var pug = require('../');
-
-pug.renderFile(__dirname + '/layout.pug', { debug: true }, function(err, html){
- if (err) throw err;
- console.log(html);
-});
diff --git a/node_modules/pug/examples/layout.js b/node_modules/pug/examples/layout.js
deleted file mode 100644
index 347b4c8..0000000
--- a/node_modules/pug/examples/layout.js
+++ /dev/null
@@ -1,11 +0,0 @@
-
-/**
- * Module dependencies.
- */
-
-var pug = require('../')
- , path = __dirname + '/layout.pug'
- , str = require('fs').readFileSync(path, 'utf8')
- , fn = pug.compile(str, { filename: path, pretty: true });
-
-console.log(fn());
\ No newline at end of file
diff --git a/node_modules/pug/examples/layout.pug b/node_modules/pug/examples/layout.pug
deleted file mode 100644
index 767f99a..0000000
--- a/node_modules/pug/examples/layout.pug
+++ /dev/null
@@ -1,14 +0,0 @@
-doctype html
-html(lang="en")
- head
- title Example
- script.
- if (foo) {
- bar();
- }
- body
- h1 Pug - node template engine
- #container
- :markdown-it
- Pug is a _high performance_ template engine for [node](http://nodejs.org),
- inspired by [haml](http://haml-lang.com/), and written by [TJ Holowaychuk](http://github.com/visionmedia).
diff --git a/node_modules/pug/examples/mixins.js b/node_modules/pug/examples/mixins.js
deleted file mode 100644
index e6f2904..0000000
--- a/node_modules/pug/examples/mixins.js
+++ /dev/null
@@ -1,16 +0,0 @@
-
-/**
- * Module dependencies.
- */
-
-var pug = require('../')
- , path = __dirname + '/mixins.pug'
- , str = require('fs').readFileSync(path, 'utf8')
- , fn = pug.compile(str, { filename: path, pretty: true });
-
-var user = {
- name: 'tj'
- , pets: ['tobi', 'loki', 'jane', 'manny']
-};
-
-console.log(fn({ user: user }));
\ No newline at end of file
diff --git a/node_modules/pug/examples/mixins.pug b/node_modules/pug/examples/mixins.pug
deleted file mode 100644
index 09f00fd..0000000
--- a/node_modules/pug/examples/mixins.pug
+++ /dev/null
@@ -1,14 +0,0 @@
-include mixins/dialog.pug
-include mixins/profile.pug
-
-.one
- +dialog
-
-.two
- +dialog-title('Whoop')
-
-.three
- +dialog-title-desc('Whoop', 'Just a mixin')
-
-#profile
- +profile(user)
diff --git a/node_modules/pug/examples/mixins/dialog.pug b/node_modules/pug/examples/mixins/dialog.pug
deleted file mode 100644
index ba2ec93..0000000
--- a/node_modules/pug/examples/mixins/dialog.pug
+++ /dev/null
@@ -1,15 +0,0 @@
-
-mixin dialog
- .dialog
- h1 Whoop
- p stuff
-
-mixin dialog-title(title)
- .dialog
- h1= title
- p stuff
-
-mixin dialog-title-desc(title, desc)
- .dialog
- h1= title
- p= desc
diff --git a/node_modules/pug/examples/mixins/profile.pug b/node_modules/pug/examples/mixins/profile.pug
deleted file mode 100644
index bbac037..0000000
--- a/node_modules/pug/examples/mixins/profile.pug
+++ /dev/null
@@ -1,10 +0,0 @@
-
-mixin pets(pets)
- ul.pets
- each pet in pets
- li= pet
-
-mixin profile(user)
- .user
- h2= user.name
- +pets(user.pets)
diff --git a/node_modules/pug/examples/pet.pug b/node_modules/pug/examples/pet.pug
deleted file mode 100644
index e5dbab9..0000000
--- a/node_modules/pug/examples/pet.pug
+++ /dev/null
@@ -1,3 +0,0 @@
-.pet
- h2= pet.name
- p #{pet.name} is #{pet.age} year(s) old.
\ No newline at end of file
diff --git a/node_modules/pug/examples/rss.js b/node_modules/pug/examples/rss.js
deleted file mode 100644
index 6b34fc8..0000000
--- a/node_modules/pug/examples/rss.js
+++ /dev/null
@@ -1,17 +0,0 @@
-
-/**
- * Module dependencies.
- */
-
-var pug = require('../')
- , path = __dirname + '/rss.pug'
- , str = require('fs').readFileSync(path, 'utf8')
- , fn = pug.compile(str, { filename: path, pretty: true });
-
-var items = [];
-
-items.push({ title: 'Example', description: 'Something', link: 'http://google.com' });
-items.push({ title: 'LearnBoost', description: 'Cool', link: 'http://learnboost.com' });
-items.push({ title: 'Express', description: 'Cool', link: 'http://expressjs.com' });
-
-console.log(fn({ items: items }));
\ No newline at end of file
diff --git a/node_modules/pug/examples/rss.pug b/node_modules/pug/examples/rss.pug
deleted file mode 100644
index 165dffb..0000000
--- a/node_modules/pug/examples/rss.pug
+++ /dev/null
@@ -1,14 +0,0 @@
-doctype xml
-rss(version='2.0')
-channel
- title RSS Title
- description Some description here
- link http://google.com
- lastBuildDate Mon, 06 Sep 2010 00:01:00 +0000
- pubDate Mon, 06 Sep 2009 16:45:00 +0000
-
- each item in items
- item
- title= item.title
- description= item.description
- link= item.link
diff --git a/node_modules/pug/examples/text.js b/node_modules/pug/examples/text.js
deleted file mode 100644
index 5634861..0000000
--- a/node_modules/pug/examples/text.js
+++ /dev/null
@@ -1,11 +0,0 @@
-
-/**
- * Module dependencies.
- */
-
-var pug = require('../')
- , path = __dirname + '/text.pug'
- , str = require('fs').readFileSync(path, 'utf8')
- , fn = pug.compile(str, { filename: path, pretty: true });
-
-console.log(fn({ name: 'tj', email: 'tj@vision-media.ca' }));
\ No newline at end of file
diff --git a/node_modules/pug/examples/text.pug b/node_modules/pug/examples/text.pug
deleted file mode 100644
index 6e99a89..0000000
--- a/node_modules/pug/examples/text.pug
+++ /dev/null
@@ -1,36 +0,0 @@
-| An example of an
-a(href='#') inline
-| link.
-
-form
- label Username:
- input(type='text', name='user[name]')
- p
- | Just an example of some text usage.
- | You can have inline html,
- | as well as
- strong tags
- | .
-
- | Interpolation is also supported. The
- | username is currently "#{name}".
-
- label Email:
- input(type='text', name='user[email]')
- p
- | Email is currently
- em= email
- | .
-
- // alternatively, if we plan on having only
- // text or inline-html, we can use a trailing
- // "." to let pug know we want to omit pipes
-
- label Username:
- input(type='text')
- p.
- Just an example, like before
- however now we can omit those
- annoying pipes!.
-
- Wahoo.
\ No newline at end of file
diff --git a/node_modules/pug/examples/whitespace.js b/node_modules/pug/examples/whitespace.js
deleted file mode 100644
index 54a2ea2..0000000
--- a/node_modules/pug/examples/whitespace.js
+++ /dev/null
@@ -1,11 +0,0 @@
-
-/**
- * Module dependencies.
- */
-
-var pug = require('../')
- , path = __dirname + '/whitespace.pug'
- , str = require('fs').readFileSync(path, 'utf8')
- , fn = pug.compile(str, { filename: path, pretty: true });
-
-console.log(fn());
\ No newline at end of file
diff --git a/node_modules/pug/examples/whitespace.pug b/node_modules/pug/examples/whitespace.pug
deleted file mode 100644
index ae7ebd9..0000000
--- a/node_modules/pug/examples/whitespace.pug
+++ /dev/null
@@ -1,11 +0,0 @@
-- var js = ''
-doctype html
-html
-
- head
- title= "Some " + "JavaScript"
- != js
-
-
-
- body
\ No newline at end of file
diff --git a/node_modules/pug/lib/index.js b/node_modules/pug/lib/index.js
deleted file mode 100644
index a3c8968..0000000
--- a/node_modules/pug/lib/index.js
+++ /dev/null
@@ -1,466 +0,0 @@
-'use strict';
-
-/*!
- * Pug
- * Copyright(c) 2010 TJ Holowaychuk
- * MIT Licensed
- */
-
-/**
- * Module dependencies.
- */
-
-var fs = require('fs');
-var path = require('path');
-var lex = require('pug-lexer');
-var stripComments = require('pug-strip-comments');
-var parse = require('pug-parser');
-var load = require('pug-load');
-var filters = require('pug-filters');
-var link = require('pug-linker');
-var generateCode = require('pug-code-gen');
-var runtime = require('pug-runtime');
-var runtimeWrap = require('pug-runtime/wrap');
-
-/**
- * Name for detection
- */
-
-exports.name = 'Pug';
-
-/**
- * Pug runtime helpers.
- */
-
-exports.runtime = runtime;
-
-/**
- * Template function cache.
- */
-
-exports.cache = {};
-
-function applyPlugins(value, options, plugins, name) {
- return plugins.reduce(function (value, plugin) {
- return (
- plugin[name]
- ? plugin[name](value, options)
- : value
- );
- }, value);
-}
-
-function findReplacementFunc(plugins, name) {
- var eligiblePlugins = plugins.filter(function (plugin) {
- return plugin[name];
- });
-
- if (eligiblePlugins.length > 1) {
- throw new Error('Two or more plugins all implement ' + name + ' method.');
- } else if (eligiblePlugins.length) {
- return eligiblePlugins[0][name].bind(eligiblePlugins[0]);
- }
- return null;
-}
-
-/**
- * Object for global custom filters. Note that you can also just pass a `filters`
- * option to any other method.
- */
-exports.filters = {};
-
-/**
- * Compile the given `str` of pug and return a function body.
- *
- * @param {String} str
- * @param {Object} options
- * @return {Object}
- * @api private
- */
-
-function compileBody(str, options){
- var debug_sources = {};
- debug_sources[options.filename] = str;
- var dependencies = [];
- var plugins = options.plugins || [];
- var ast = load.string(str, {
- filename: options.filename,
- basedir: options.basedir,
- lex: function (str, options) {
- var lexOptions = {};
- Object.keys(options).forEach(function (key) {
- lexOptions[key] = options[key];
- });
- lexOptions.plugins = plugins.filter(function (plugin) {
- return !!plugin.lex;
- }).map(function (plugin) {
- return plugin.lex;
- });
- return applyPlugins(lex(str, lexOptions), options, plugins, 'postLex');
- },
- parse: function (tokens, options) {
- tokens = tokens.map(function (token) {
- if (token.type === 'path' && path.extname(token.val) === '') {
- return {
- type: 'path',
- line: token.line,
- col: token.col,
- val: token.val + '.pug'
- };
- }
- return token;
- });
- tokens = stripComments(tokens, options);
- tokens = applyPlugins(tokens, options, plugins, 'preParse');
- var parseOptions = {};
- Object.keys(options).forEach(function (key) {
- parseOptions[key] = options[key];
- });
- parseOptions.plugins = plugins.filter(function (plugin) {
- return !!plugin.parse;
- }).map(function (plugin) {
- return plugin.parse;
- });
-
- return applyPlugins(
- applyPlugins(parse(tokens, parseOptions), options, plugins, 'postParse'),
- options, plugins, 'preLoad'
- );
- },
- resolve: function (filename, source, loadOptions) {
- var replacementFunc = findReplacementFunc(plugins, 'resolve');
- if (replacementFunc) {
- return replacementFunc(filename, source, options);
- }
-
- return load.resolve(filename, source, loadOptions);
- },
- read: function (filename, loadOptions) {
- dependencies.push(filename);
-
- var contents;
-
- var replacementFunc = findReplacementFunc(plugins, 'read');
- if (replacementFunc) {
- contents = replacementFunc(filename, options);
- } else {
- contents = load.read(filename, loadOptions);
- }
-
- var str = applyPlugins(contents, {filename: filename}, plugins, 'preLex');
- debug_sources[filename] = str;
- return str;
- }
- });
- ast = applyPlugins(ast, options, plugins, 'postLoad');
- ast = applyPlugins(ast, options, plugins, 'preFilters');
-
- var filtersSet = {};
- Object.keys(exports.filters).forEach(function (key) {
- filtersSet[key] = exports.filters[key];
- });
- if (options.filters) {
- Object.keys(options.filters).forEach(function (key) {
- filtersSet[key] = options.filters[key];
- });
- }
- ast = filters.handleFilters(ast, filtersSet, options.filterOptions, options.filterAliases);
-
- ast = applyPlugins(ast, options, plugins, 'postFilters');
- ast = applyPlugins(ast, options, plugins, 'preLink');
- ast = link(ast);
- ast = applyPlugins(ast, options, plugins, 'postLink');
-
- // Compile
- ast = applyPlugins(ast, options, plugins, 'preCodeGen');
- var js = generateCode(ast, {
- pretty: options.pretty,
- compileDebug: options.compileDebug,
- doctype: options.doctype,
- inlineRuntimeFunctions: options.inlineRuntimeFunctions,
- globals: options.globals,
- self: options.self,
- includeSources: options.includeSources ? debug_sources : false,
- templateName: options.templateName
- });
- js = applyPlugins(js, options, plugins, 'postCodeGen');
-
- // Debug compiler
- if (options.debug) {
- console.error('\nCompiled Function:\n\n\u001b[90m%s\u001b[0m', js.replace(/^/gm, ' '));
- }
-
- return {body: js, dependencies: dependencies};
-}
-
-/**
- * Get the template from a string or a file, either compiled on-the-fly or
- * read from cache (if enabled), and cache the template if needed.
- *
- * If `str` is not set, the file specified in `options.filename` will be read.
- *
- * If `options.cache` is true, this function reads the file from
- * `options.filename` so it must be set prior to calling this function.
- *
- * @param {Object} options
- * @param {String=} str
- * @return {Function}
- * @api private
- */
-function handleTemplateCache (options, str) {
- var key = options.filename;
- if (options.cache && exports.cache[key]) {
- return exports.cache[key];
- } else {
- if (str === undefined) str = fs.readFileSync(options.filename, 'utf8');
- var templ = exports.compile(str, options);
- if (options.cache) exports.cache[key] = templ;
- return templ;
- }
-}
-
-/**
- * Compile a `Function` representation of the given pug `str`.
- *
- * Options:
- *
- * - `compileDebug` when `false` debugging code is stripped from the compiled
- template, when it is explicitly `true`, the source code is included in
- the compiled template for better accuracy.
- * - `filename` used to improve errors when `compileDebug` is not `false` and to resolve imports/extends
- *
- * @param {String} str
- * @param {Options} options
- * @return {Function}
- * @api public
- */
-
-exports.compile = function(str, options){
- var options = options || {}
-
- str = String(str);
-
- var parsed = compileBody(str, {
- compileDebug: options.compileDebug !== false,
- filename: options.filename,
- basedir: options.basedir,
- pretty: options.pretty,
- doctype: options.doctype,
- inlineRuntimeFunctions: options.inlineRuntimeFunctions,
- globals: options.globals,
- self: options.self,
- includeSources: options.compileDebug === true,
- debug: options.debug,
- templateName: 'template',
- filters: options.filters,
- filterOptions: options.filterOptions,
- filterAliases: options.filterAliases,
- plugins: options.plugins,
- });
-
- var res = options.inlineRuntimeFunctions
- ? new Function('', parsed.body + ';return template;')()
- : runtimeWrap(parsed.body);
-
- res.dependencies = parsed.dependencies;
-
- return res;
-};
-
-/**
- * Compile a JavaScript source representation of the given pug `str`.
- *
- * Options:
- *
- * - `compileDebug` When it is `true`, the source code is included in
- * the compiled template for better error messages.
- * - `filename` used to improve errors when `compileDebug` is not `true` and to resolve imports/extends
- * - `name` the name of the resulting function (defaults to "template")
- * - `module` when it is explicitly `true`, the source code include export module syntax
- *
- * @param {String} str
- * @param {Options} options
- * @return {Object}
- * @api public
- */
-
-exports.compileClientWithDependenciesTracked = function(str, options){
- var options = options || {};
-
- str = String(str);
- var parsed = compileBody(str, {
- compileDebug: options.compileDebug,
- filename: options.filename,
- basedir: options.basedir,
- pretty: options.pretty,
- doctype: options.doctype,
- inlineRuntimeFunctions: options.inlineRuntimeFunctions !== false,
- globals: options.globals,
- self: options.self,
- includeSources: options.compileDebug,
- debug: options.debug,
- templateName: options.name || 'template',
- filters: options.filters,
- filterOptions: options.filterOptions,
- filterAliases: options.filterAliases,
- plugins: options.plugins
- });
-
- var body = parsed.body;
-
- if(options.module) {
- if(options.inlineRuntimeFunctions === false) {
- body = 'var pug = require("pug-runtime");' + body;
- }
- body += ' module.exports = ' + (options.name || 'template') + ';';
- }
-
- return {body: body, dependencies: parsed.dependencies};
-};
-
-/**
- * Compile a JavaScript source representation of the given pug `str`.
- *
- * Options:
- *
- * - `compileDebug` When it is `true`, the source code is included in
- * the compiled template for better error messages.
- * - `filename` used to improve errors when `compileDebug` is not `true` and to resolve imports/extends
- * - `name` the name of the resulting function (defaults to "template")
- *
- * @param {String} str
- * @param {Options} options
- * @return {String}
- * @api public
- */
-exports.compileClient = function (str, options) {
- return exports.compileClientWithDependenciesTracked(str, options).body;
-};
-
-/**
- * Compile a `Function` representation of the given pug file.
- *
- * Options:
- *
- * - `compileDebug` when `false` debugging code is stripped from the compiled
- template, when it is explicitly `true`, the source code is included in
- the compiled template for better accuracy.
- *
- * @param {String} path
- * @param {Options} options
- * @return {Function}
- * @api public
- */
-exports.compileFile = function (path, options) {
- options = options || {};
- options.filename = path;
- return handleTemplateCache(options);
-};
-
-/**
- * Render the given `str` of pug.
- *
- * Options:
- *
- * - `cache` enable template caching
- * - `filename` filename required for `include` / `extends` and caching
- *
- * @param {String} str
- * @param {Object|Function} options or fn
- * @param {Function|undefined} fn
- * @returns {String}
- * @api public
- */
-
-exports.render = function(str, options, fn){
- // support callback API
- if ('function' == typeof options) {
- fn = options, options = undefined;
- }
- if (typeof fn === 'function') {
- var res;
- try {
- res = exports.render(str, options);
- } catch (ex) {
- return fn(ex);
- }
- return fn(null, res);
- }
-
- options = options || {};
-
- // cache requires .filename
- if (options.cache && !options.filename) {
- throw new Error('the "filename" option is required for caching');
- }
-
- return handleTemplateCache(options, str)(options);
-};
-
-/**
- * Render a Pug file at the given `path`.
- *
- * @param {String} path
- * @param {Object|Function} options or callback
- * @param {Function|undefined} fn
- * @returns {String}
- * @api public
- */
-
-exports.renderFile = function(path, options, fn){
- // support callback API
- if ('function' == typeof options) {
- fn = options, options = undefined;
- }
- if (typeof fn === 'function') {
- var res;
- try {
- res = exports.renderFile(path, options);
- } catch (ex) {
- return fn(ex);
- }
- return fn(null, res);
- }
-
- options = options || {};
-
- options.filename = path;
- return handleTemplateCache(options)(options);
-};
-
-
-/**
- * Compile a Pug file at the given `path` for use on the client.
- *
- * @param {String} path
- * @param {Object} options
- * @returns {String}
- * @api public
- */
-
-exports.compileFileClient = function(path, options){
- var key = path + ':client';
- options = options || {};
-
- options.filename = path;
-
- if (options.cache && exports.cache[key]) {
- return exports.cache[key];
- }
-
- var str = fs.readFileSync(options.filename, 'utf8');
- var out = exports.compileClient(str, options);
- if (options.cache) exports.cache[key] = out;
- return out;
-};
-
-/**
- * Express support.
- */
-
-exports.__express = function(path, options, fn) {
- if(options.compileDebug == undefined && process.env.NODE_ENV === 'production') {
- options.compileDebug = false;
- }
- exports.renderFile(path, options, fn);
-}
diff --git a/node_modules/pug/package.json b/node_modules/pug/package.json
deleted file mode 100644
index 3f7205b..0000000
--- a/node_modules/pug/package.json
+++ /dev/null
@@ -1,101 +0,0 @@
-{
- "_args": [
- [
- "pug@latest",
- "C:\\Users\\Tom\\Documents\\Development\\bitsy-image-to-room"
- ]
- ],
- "_from": "pug@latest",
- "_id": "pug@2.0.0-rc.4",
- "_inCache": true,
- "_installable": true,
- "_location": "/pug",
- "_nodeVersion": "8.4.0",
- "_npmOperationalInternal": {
- "host": "s3://npm-registry-packages",
- "tmp": "tmp/pug-2.0.0-rc.4.tgz_1504711693405_0.9116799344774336"
- },
- "_npmUser": {
- "email": "forbes@lindesay.co.uk",
- "name": "forbeslindesay"
- },
- "_npmVersion": "5.3.0",
- "_phantomChildren": {},
- "_requested": {
- "name": "pug",
- "raw": "pug@latest",
- "rawSpec": "latest",
- "scope": null,
- "spec": "latest",
- "type": "tag"
- },
- "_requiredBy": [
- "/",
- "/pug-cli"
- ],
- "_resolved": "https://registry.npmjs.org/pug/-/pug-2.0.0-rc.4.tgz",
- "_shasum": "b7b08f6599bd5302568042b7436984fb28c80a13",
- "_shrinkwrap": null,
- "_spec": "pug@latest",
- "_where": "C:\\Users\\Tom\\Documents\\Development\\bitsy-image-to-room",
- "author": {
- "email": "tj@vision-media.ca",
- "name": "TJ Holowaychuk"
- },
- "browser": {
- "fs": false
- },
- "bugs": {
- "url": "https://github.com/pugjs/pug/issues"
- },
- "dependencies": {
- "pug-code-gen": "^2.0.0",
- "pug-filters": "^2.1.5",
- "pug-lexer": "^3.1.0",
- "pug-linker": "^3.0.3",
- "pug-load": "^2.0.9",
- "pug-parser": "^4.0.0",
- "pug-runtime": "^2.0.3",
- "pug-strip-comments": "^1.0.2"
- },
- "description": "A clean, whitespace-sensitive template language for writing HTML",
- "devDependencies": {
- "jstransformer-cdata": "^1.0.0",
- "jstransformer-coffee-script": "^1.0.0",
- "jstransformer-less": "^2.1.0",
- "jstransformer-markdown-it": "^1.0.0",
- "jstransformer-stylus": "^1.0.0",
- "jstransformer-uglify-js": "^1.1.1",
- "jstransformer-verbatim": "^1.0.0",
- "mkdirp": "^0.5.1",
- "rimraf": "^2.2.8",
- "uglify-js": "github:mishoo/UglifyJS2#1c15d0db456ce32f1b9b507aad97e5ee5c8285f7"
- },
- "directories": {},
- "dist": {
- "integrity": "sha512-SL7xovj6E2Loq9N0UgV6ynjMLW4urTFY/L/Fprhvz13Xc5vjzkjZjI1QHKq31200+6PSD8PyU6MqrtCTJj6/XA==",
- "shasum": "b7b08f6599bd5302568042b7436984fb28c80a13",
- "tarball": "https://registry.npmjs.org/pug/-/pug-2.0.0-rc.4.tgz"
- },
- "homepage": "https://pugjs.org",
- "license": "MIT",
- "main": "lib",
- "maintainers": [
- {
- "name": "forbeslindesay",
- "email": "forbes@lindesay.co.uk"
- },
- {
- "name": "timothygu",
- "email": "timothygu99@gmail.com"
- }
- ],
- "name": "pug",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git://github.com/pugjs/pug.git"
- },
- "version": "2.0.0-rc.4"
-}
diff --git a/node_modules/pug/register.js b/node_modules/pug/register.js
deleted file mode 100644
index 02f218d..0000000
--- a/node_modules/pug/register.js
+++ /dev/null
@@ -1,13 +0,0 @@
-var pug = require('./');
-var resolvedPug = JSON.stringify(require.resolve('./'));
-
-function compileTemplate(module, filename) {
- var template = pug.compileFileClient(filename, {inlineRuntimeFunctions: false});
- var body = "var pug = require(" + resolvedPug + ").runtime;\n\n" +
- "module.exports = " + template + ";";
- module._compile(body, filename);
-}
-
-if (require.extensions) {
- require.extensions['.pug'] = compileTemplate
-};
diff --git a/node_modules/pug/support/benchmark.js b/node_modules/pug/support/benchmark.js
deleted file mode 100644
index 4782f43..0000000
--- a/node_modules/pug/support/benchmark.js
+++ /dev/null
@@ -1,121 +0,0 @@
-
-/**
- * Module dependencies.
- */
-
-var uubench = require('uubench')
- , pug = require('../');
-
-
-var suite = new uubench.Suite({
- min: 200,
- result: function(name, stats){
- var persec = 1000 / stats.elapsed
- , ops = stats.iterations * persec;
- console.log('%s: %d', name, ops | 0);
- }
-});
-
-function setup(self) {
- var suffix = self ? ' (self)' : ''
- , options = { self: self };
-
- var str = 'html\n body\n h1 Title'
- , fn = pug.compile(str, options);
-
- suite.bench('tiny' + suffix, function(next){
- fn();
- next();
- });
-
-str = '\
-html\n\
- body\n\
- h1 Title\n\
- ul#menu\n\
- li: a(href="#") Home\n\
- li: a(href="#") About Us\n\
- li: a(href="#") Store\n\
- li: a(href="#") FAQ\n\
- li: a(href="#") Contact\n\
-';
-
- var fn2 = pug.compile(str, options);
-
- suite.bench('small' + suffix, function(next){
- fn2();
- next();
- });
-
-str = '\
-html\n\
- body\n\
- h1 #{title}\n\
- ul#menu\n\
- - each link in links\r\n\
- li: a(href="#")= link\r\n\
-';
-
- if (self) {
-str = '\
-html\n\
- body\n\
- h1 #{self.title}\n\
- ul#menu\n\
- - each link in self.links\r\n\
- li: a(href="#")= link\r\n\
-';
- }
-
- var fn3 = pug.compile(str, options);
-
- suite.bench('small locals' + suffix, function(next){
- fn3({ title: 'Title', links: ['Home', 'About Us', 'Store', 'FAQ', 'Contact'] });
- next();
- });
-
-str = '\
-html\n\
- body\n\
- h1 Title\n\
- ul#menu\n\
- li: a(href="#") Home\n\
- li: a(href="#") About Us\n\
- li: a(href="#") Store\n\
- li: a(href="#") FAQ\n\
- li: a(href="#") Contact\n\
-';
-
- str = Array(30).join(str);
- var fn4 = pug.compile(str, options);
-
- suite.bench('medium' + suffix, function(next){
- fn4();
- next();
- });
-
-str = '\
-html\n\
- body\n\
- h1 Title\n\
- ul#menu\n\
- li: a(href="#") Home\n\
- li: a(href="#") About Us\n\
- li: a(href="#") Store\n\
- li: a(href="#") FAQ\n\
- li: a(href="#") Contact\n\
-';
-
- str = Array(100).join(str);
- var fn5 = pug.compile(str, options);
-
- suite.bench('large' + suffix, function(next){
- fn5();
- next();
- });
-}
-
-setup();
-setup(true);
-
-suite.run();
\ No newline at end of file
diff --git a/node_modules/pug/test/README.md b/node_modules/pug/test/README.md
deleted file mode 100644
index 0989992..0000000
--- a/node_modules/pug/test/README.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# Running Tests
-
-To run tests (with node.js installed) you must complete 2 steps.
-
-## 1 Install dependencies
-
-```
-npm install
-```
-
-## 2 Run tests
-
-```
-npm test
-```
diff --git a/node_modules/pug/test/__snapshots__/pug.test.js.snap b/node_modules/pug/test/__snapshots__/pug.test.js.snap
deleted file mode 100644
index 1d90c35..0000000
--- a/node_modules/pug/test/__snapshots__/pug.test.js.snap
+++ /dev/null
@@ -1,104 +0,0 @@
-exports[`pug .compileClient() should support module syntax in pug.compileClient(str, options) when inlineRuntimeFunctions it false 1`] = `
-"var pug = require(\"pug-runtime\");
-function template(locals) {
- var pug_html = \"\",
- pug_mixins = {},
- pug_interp;
- var pug_debug_filename, pug_debug_line;
- try {
- var self = locals || {};
- pug_debug_line = 1;
- pug_html = pug_html + \'\\u003Cdiv class=\"bar\"\\u003E\';
- pug_debug_line = 1;
- pug_html =
- pug_html +
- pug.escape(null == (pug_interp = self.foo) ? \"\" : pug_interp) +
- \"\\u003C\\u002Fdiv\\u003E\";
- } catch (err) {
- pug.rethrow(err, pug_debug_filename, pug_debug_line);
- }
- return pug_html;
-}
-module.exports = template;
-"
-`;
-
-exports[`pug .compileClient() should support module syntax in pug.compileClient(str, options) when inlineRuntimeFunctions it true 1`] = `
-"function pug_escape(e) {
- var a = \"\" + e,
- t = pug_match_html.exec(a);
- if (!t) return e;
- var r,
- c,
- n,
- s = \"\";
- for (r = t.index, c = 0; r < a.length; r++) {
- switch (a.charCodeAt(r)) {
- case 34:
- n = \""\";
- break;
- case 38:
- n = \"&\";
- break;
- case 60:
- n = \"<\";
- break;
- case 62:
- n = \">\";
- break;
- default:
- continue;
- }
- c !== r && (s += a.substring(c, r)), (c = r + 1), (s += n);
- }
- return c !== r ? s + a.substring(c, r) : s;
-}
-var pug_match_html = /[\"&<>]/;
-function pug_rethrow(n, e, r, t) {
- if (!(n instanceof Error)) throw n;
- if (!((\"undefined\" == typeof window && e) || t))
- throw ((n.message += \" on line \" + r), n);
- try {
- t = t || require(\"fs\").readFileSync(e, \"utf8\");
- } catch (e) {
- pug_rethrow(n, null, r);
- }
- var i = 3,
- a = t.split(\"\\n\"),
- o = Math.max(r - i, 0),
- h = Math.min(a.length, r + i),
- i = a
- .slice(o, h)
- .map(function(n, e) {
- var t = e + o + 1;
- return (t == r ? \" > \" : \" \") + t + \"| \" + n;
- })
- .join(\"\\n\");
- throw (
- (n.path = e),
- (n.message = (e || \"Pug\") + \":\" + r + \"\\n\" + i + \"\\n\\n\" + n.message),
- n
- );
-}
-function template(locals) {
- var pug_html = \"\",
- pug_mixins = {},
- pug_interp;
- var pug_debug_filename, pug_debug_line;
- try {
- var self = locals || {};
- pug_debug_line = 1;
- pug_html = pug_html + \'\\u003Cdiv class=\"bar\"\\u003E\';
- pug_debug_line = 1;
- pug_html =
- pug_html +
- pug_escape(null == (pug_interp = self.foo) ? \"\" : pug_interp) +
- \"\\u003C\\u002Fdiv\\u003E\";
- } catch (err) {
- pug_rethrow(err, pug_debug_filename, pug_debug_line);
- }
- return pug_html;
-}
-module.exports = template;
-"
-`;
diff --git a/node_modules/pug/test/anti-cases/attrs.unescaped.pug b/node_modules/pug/test/anti-cases/attrs.unescaped.pug
deleted file mode 100644
index ab47e09..0000000
--- a/node_modules/pug/test/anti-cases/attrs.unescaped.pug
+++ /dev/null
@@ -1,3 +0,0 @@
-script(type='text/x-template')
- #user(id!='user-<%= user.id %>')
- h1 <%= user.title %>
\ No newline at end of file
diff --git a/node_modules/pug/test/anti-cases/case-when.pug b/node_modules/pug/test/anti-cases/case-when.pug
deleted file mode 100644
index 74977d1..0000000
--- a/node_modules/pug/test/anti-cases/case-when.pug
+++ /dev/null
@@ -1,4 +0,0 @@
-when 5
- .foo
-when 6
- .bar
\ No newline at end of file
diff --git a/node_modules/pug/test/anti-cases/case-without-with.pug b/node_modules/pug/test/anti-cases/case-without-with.pug
deleted file mode 100644
index 3cbf016..0000000
--- a/node_modules/pug/test/anti-cases/case-without-with.pug
+++ /dev/null
@@ -1,2 +0,0 @@
-case foo
- .div
\ No newline at end of file
diff --git a/node_modules/pug/test/anti-cases/else-condition.pug b/node_modules/pug/test/anti-cases/else-condition.pug
deleted file mode 100644
index 93ff87e..0000000
--- a/node_modules/pug/test/anti-cases/else-condition.pug
+++ /dev/null
@@ -1,4 +0,0 @@
-if foo
- div
-else bar
- article
\ No newline at end of file
diff --git a/node_modules/pug/test/anti-cases/else-without-if.pug b/node_modules/pug/test/anti-cases/else-without-if.pug
deleted file mode 100644
index 3062364..0000000
--- a/node_modules/pug/test/anti-cases/else-without-if.pug
+++ /dev/null
@@ -1,2 +0,0 @@
-else
- .foo
\ No newline at end of file
diff --git a/node_modules/pug/test/anti-cases/inlining-a-mixin-after-a-tag.pug b/node_modules/pug/test/anti-cases/inlining-a-mixin-after-a-tag.pug
deleted file mode 100644
index 3d01493..0000000
--- a/node_modules/pug/test/anti-cases/inlining-a-mixin-after-a-tag.pug
+++ /dev/null
@@ -1 +0,0 @@
-foo()+bar()
\ No newline at end of file
diff --git a/node_modules/pug/test/anti-cases/key-char-ending-badly.pug b/node_modules/pug/test/anti-cases/key-char-ending-badly.pug
deleted file mode 100644
index 45ca24a..0000000
--- a/node_modules/pug/test/anti-cases/key-char-ending-badly.pug
+++ /dev/null
@@ -1 +0,0 @@
-div("foo"abc)
diff --git a/node_modules/pug/test/anti-cases/key-ending-badly.pug b/node_modules/pug/test/anti-cases/key-ending-badly.pug
deleted file mode 100644
index 8e3c305..0000000
--- a/node_modules/pug/test/anti-cases/key-ending-badly.pug
+++ /dev/null
@@ -1 +0,0 @@
-div(foo!~abc)
diff --git a/node_modules/pug/test/anti-cases/mismatched-inline-tag.pug b/node_modules/pug/test/anti-cases/mismatched-inline-tag.pug
deleted file mode 100644
index 35fa2aa..0000000
--- a/node_modules/pug/test/anti-cases/mismatched-inline-tag.pug
+++ /dev/null
@@ -1,2 +0,0 @@
-//- #1871
-p #[strong a}
diff --git a/node_modules/pug/test/anti-cases/mixin-args-syntax-error.pug b/node_modules/pug/test/anti-cases/mixin-args-syntax-error.pug
deleted file mode 100644
index d0b725b..0000000
--- a/node_modules/pug/test/anti-cases/mixin-args-syntax-error.pug
+++ /dev/null
@@ -1,2 +0,0 @@
-mixin foo(a, b)
-+foo('a'b'b')
diff --git a/node_modules/pug/test/anti-cases/mixins-blocks-with-bodies.pug b/node_modules/pug/test/anti-cases/mixins-blocks-with-bodies.pug
deleted file mode 100644
index e7e6281..0000000
--- a/node_modules/pug/test/anti-cases/mixins-blocks-with-bodies.pug
+++ /dev/null
@@ -1,3 +0,0 @@
-mixin foo
- block
- bar
\ No newline at end of file
diff --git a/node_modules/pug/test/anti-cases/multiple-non-nested-tags-on-a-line.pug b/node_modules/pug/test/anti-cases/multiple-non-nested-tags-on-a-line.pug
deleted file mode 100644
index fc9c884..0000000
--- a/node_modules/pug/test/anti-cases/multiple-non-nested-tags-on-a-line.pug
+++ /dev/null
@@ -1 +0,0 @@
-foo()bar
\ No newline at end of file
diff --git a/node_modules/pug/test/anti-cases/non-existant-filter.pug b/node_modules/pug/test/anti-cases/non-existant-filter.pug
deleted file mode 100644
index 8caa922..0000000
--- a/node_modules/pug/test/anti-cases/non-existant-filter.pug
+++ /dev/null
@@ -1,2 +0,0 @@
-:not-a-valid-filter
- foo bar
\ No newline at end of file
diff --git a/node_modules/pug/test/anti-cases/non-mixin-block.pug b/node_modules/pug/test/anti-cases/non-mixin-block.pug
deleted file mode 100644
index 11ff9bc..0000000
--- a/node_modules/pug/test/anti-cases/non-mixin-block.pug
+++ /dev/null
@@ -1,2 +0,0 @@
-div
- block
\ No newline at end of file
diff --git a/node_modules/pug/test/anti-cases/open-brace-in-attributes.pug b/node_modules/pug/test/anti-cases/open-brace-in-attributes.pug
deleted file mode 100644
index 7b5f21d..0000000
--- a/node_modules/pug/test/anti-cases/open-brace-in-attributes.pug
+++ /dev/null
@@ -1 +0,0 @@
-div(title=[)
\ No newline at end of file
diff --git a/node_modules/pug/test/anti-cases/readme.md b/node_modules/pug/test/anti-cases/readme.md
deleted file mode 100644
index 6dae996..0000000
--- a/node_modules/pug/test/anti-cases/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-This folder collects examples of files that are not valid `pug`, but were at some point accepted by the parser without throwing an error. The tests ensure that all these cases now throw some form of error message (hopefully a helpful one).
\ No newline at end of file
diff --git a/node_modules/pug/test/anti-cases/self-closing-tag-with-block.pug b/node_modules/pug/test/anti-cases/self-closing-tag-with-block.pug
deleted file mode 100644
index b1b0c1d..0000000
--- a/node_modules/pug/test/anti-cases/self-closing-tag-with-block.pug
+++ /dev/null
@@ -1,2 +0,0 @@
-input
- | Inputs cannot have content
diff --git a/node_modules/pug/test/anti-cases/self-closing-tag-with-body.pug b/node_modules/pug/test/anti-cases/self-closing-tag-with-body.pug
deleted file mode 100644
index 55fbed1..0000000
--- a/node_modules/pug/test/anti-cases/self-closing-tag-with-body.pug
+++ /dev/null
@@ -1 +0,0 @@
-input Input's can't have content
\ No newline at end of file
diff --git a/node_modules/pug/test/anti-cases/self-closing-tag-with-code.pug b/node_modules/pug/test/anti-cases/self-closing-tag-with-code.pug
deleted file mode 100644
index e836232..0000000
--- a/node_modules/pug/test/anti-cases/self-closing-tag-with-code.pug
+++ /dev/null
@@ -1 +0,0 @@
-input= 'Inputs cannot have code'
diff --git a/node_modules/pug/test/anti-cases/tabs-and-spaces.pug b/node_modules/pug/test/anti-cases/tabs-and-spaces.pug
deleted file mode 100644
index 07868c2..0000000
--- a/node_modules/pug/test/anti-cases/tabs-and-spaces.pug
+++ /dev/null
@@ -1,3 +0,0 @@
-div
- div
- article
\ No newline at end of file
diff --git a/node_modules/pug/test/anti-cases/unclosed-interpolated-call.pug b/node_modules/pug/test/anti-cases/unclosed-interpolated-call.pug
deleted file mode 100644
index 63d02db..0000000
--- a/node_modules/pug/test/anti-cases/unclosed-interpolated-call.pug
+++ /dev/null
@@ -1 +0,0 @@
-+#{myMixin
\ No newline at end of file
diff --git a/node_modules/pug/test/anti-cases/unclosed-interpolated-tag.pug b/node_modules/pug/test/anti-cases/unclosed-interpolated-tag.pug
deleted file mode 100644
index be66079..0000000
--- a/node_modules/pug/test/anti-cases/unclosed-interpolated-tag.pug
+++ /dev/null
@@ -1,4 +0,0 @@
-mixin item
- block
-
-+item( Contact
\ No newline at end of file
diff --git a/node_modules/pug/test/anti-cases/unclosed-interpolation.pug b/node_modules/pug/test/anti-cases/unclosed-interpolation.pug
deleted file mode 100644
index 4698dd9..0000000
--- a/node_modules/pug/test/anti-cases/unclosed-interpolation.pug
+++ /dev/null
@@ -1 +0,0 @@
-#{myMixin
\ No newline at end of file
diff --git a/node_modules/pug/test/browser/index.html b/node_modules/pug/test/browser/index.html
deleted file mode 100644
index d88e5f6..0000000
--- a/node_modules/pug/test/browser/index.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
\ No newline at end of file
diff --git a/node_modules/pug/test/browser/index.pug b/node_modules/pug/test/browser/index.pug
deleted file mode 100644
index 17e7759..0000000
--- a/node_modules/pug/test/browser/index.pug
+++ /dev/null
@@ -1,20 +0,0 @@
-!!! 5
-html
- head
- body
- textarea#input(placeholder='write pug here', style='width: 100%; min-height: 400px;').
- p
- author
- != myName
- pre(style='background: #ECECEC;width: 100%; min-height: 400px;')
- code#output
- script(src='../../pug.js')
- script.
- var input = document.getElementById('input');
- var output = document.getElementById('output');
- setInterval(function () {
- pug.render(input.value, {myName: 'Forbes Lindesay', pretty: true}, function (err, res) {
- if (err) throw err;
- output.textContent = res;
- })
- }, 500)
\ No newline at end of file
diff --git a/node_modules/pug/test/cases-es2015/attr.html b/node_modules/pug/test/cases-es2015/attr.html
deleted file mode 100644
index 5b9fbfb..0000000
--- a/node_modules/pug/test/cases-es2015/attr.html
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/node_modules/pug/test/cases-es2015/attr.pug b/node_modules/pug/test/cases-es2015/attr.pug
deleted file mode 100644
index d19080f..0000000
--- a/node_modules/pug/test/cases-es2015/attr.pug
+++ /dev/null
@@ -1,3 +0,0 @@
-- var avatar = '219b77f9d21de75e81851b6b886057c7'
-
-div.avatar-div(style=`background-image: url(https://www.gravatar.com/avatar/${avatar})`)
diff --git a/node_modules/pug/test/cases/attrs-data.html b/node_modules/pug/test/cases/attrs-data.html
deleted file mode 100644
index 71116d3..0000000
--- a/node_modules/pug/test/cases/attrs-data.html
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/node_modules/pug/test/cases/attrs-data.pug b/node_modules/pug/test/cases/attrs-data.pug
deleted file mode 100644
index 9e5b4b6..0000000
--- a/node_modules/pug/test/cases/attrs-data.pug
+++ /dev/null
@@ -1,7 +0,0 @@
-- var user = { name: 'tobi' }
-foo(data-user=user)
-foo(data-items=[1,2,3])
-foo(data-username='tobi')
-foo(data-escaped={message: "Let's rock!"})
-foo(data-ampersand={message: "a quote: " this & that"})
-foo(data-epoc=new Date(0))
diff --git a/node_modules/pug/test/cases/attrs.colon.html b/node_modules/pug/test/cases/attrs.colon.html
deleted file mode 100644
index f8e02d6..0000000
--- a/node_modules/pug/test/cases/attrs.colon.html
+++ /dev/null
@@ -1 +0,0 @@
-
Click Me!
diff --git a/node_modules/pug/test/cases/attrs.colon.pug b/node_modules/pug/test/cases/attrs.colon.pug
deleted file mode 100644
index ed7ea7c..0000000
--- a/node_modules/pug/test/cases/attrs.colon.pug
+++ /dev/null
@@ -1,9 +0,0 @@
-//- Tests for using a colon-prefexed attribute (typical when using short-cut for Vue.js `v-bind`)
-div(:my-var="model")
-span(v-for="item in items" :key="item.id" :value="item.name")
-span(
- v-for="item in items"
- :key="item.id"
- :value="item.name"
-)
-a(:link="goHere" value="static" :my-value="dynamic" @click="onClick()" :another="more") Click Me!
diff --git a/node_modules/pug/test/cases/attrs.html b/node_modules/pug/test/cases/attrs.html
deleted file mode 100644
index 9dcaee5..0000000
--- a/node_modules/pug/test/cases/attrs.html
+++ /dev/null
@@ -1,20 +0,0 @@
-contact save
-
- Foo
- Bar
-
-contact save
-
- Foo
- Bar
-
-
-
-
-
-
-
-
-
-
-
diff --git a/node_modules/pug/test/cases/attrs.js.html b/node_modules/pug/test/cases/attrs.js.html
deleted file mode 100644
index edd3813..0000000
--- a/node_modules/pug/test/cases/attrs.js.html
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/attrs.js.pug b/node_modules/pug/test/cases/attrs.js.pug
deleted file mode 100644
index 910c13a..0000000
--- a/node_modules/pug/test/cases/attrs.js.pug
+++ /dev/null
@@ -1,17 +0,0 @@
-- var id = 5
-- function answer() { return 42; }
-a(href='/user/' + id, class='button')
-a(href = '/user/' + id, class = 'button')
-meta(key='answer', value=answer())
-a(class = ['class1', 'class2'])
-a.tag-class(class = ['class1', 'class2'])
-
-a(href='/user/' + id class='button')
-a(href = '/user/' + id class = 'button')
-meta(key='answer' value=answer())
-a(class = ['class1', 'class2'])
-a.tag-class(class = ['class1', 'class2'])
-
-div(id=id)&attributes({foo: 'bar'})
-- var bar = null
-div(foo=null bar=bar)&attributes({baz: 'baz'})
diff --git a/node_modules/pug/test/cases/attrs.pug b/node_modules/pug/test/cases/attrs.pug
deleted file mode 100644
index d4420e3..0000000
--- a/node_modules/pug/test/cases/attrs.pug
+++ /dev/null
@@ -1,43 +0,0 @@
-a(href='/contact') contact
-a(href='/save').button save
-a(foo, bar, baz)
-a(foo='foo, bar, baz', bar=1)
-a(foo='((foo))', bar= (1) ? 1 : 0 )
-select
- option(value='foo', selected) Foo
- option(selected, value='bar') Bar
-a(foo="class:")
-input(pattern='\\S+')
-
-a(href='/contact') contact
-a(href='/save').button save
-a(foo bar baz)
-a(foo='foo, bar, baz' bar=1)
-a(foo='((foo))' bar= (1) ? 1 : 0 )
-select
- option(value='foo' selected) Foo
- option(selected value='bar') Bar
-a(foo="class:")
-input(pattern='\\S+')
-foo(terse="true")
-foo(date=new Date(0))
-
-foo(abc
- ,def)
-foo(abc,
- def)
-foo(abc,
- def)
-foo(abc
- ,def)
-foo(abc
- def)
-foo(abc
- def)
-
-- var attrs = {foo: 'bar', bar: ''}
-
-div&attributes(attrs)
-
-a(foo='foo' "bar"="bar")
-a(foo='foo' 'bar'='bar')
diff --git a/node_modules/pug/test/cases/attrs.unescaped.html b/node_modules/pug/test/cases/attrs.unescaped.html
deleted file mode 100644
index 2c2f3f1..0000000
--- a/node_modules/pug/test/cases/attrs.unescaped.html
+++ /dev/null
@@ -1,5 +0,0 @@
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/attrs.unescaped.pug b/node_modules/pug/test/cases/attrs.unescaped.pug
deleted file mode 100644
index 36a4e10..0000000
--- a/node_modules/pug/test/cases/attrs.unescaped.pug
+++ /dev/null
@@ -1,3 +0,0 @@
-script(type='text/x-template')
- div(id!='user-<%= user.id %>')
- h1 <%= user.title %>
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/auxiliary/1794-extends.pug b/node_modules/pug/test/cases/auxiliary/1794-extends.pug
deleted file mode 100644
index 99649d6..0000000
--- a/node_modules/pug/test/cases/auxiliary/1794-extends.pug
+++ /dev/null
@@ -1 +0,0 @@
-block content
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/auxiliary/1794-include.pug b/node_modules/pug/test/cases/auxiliary/1794-include.pug
deleted file mode 100644
index b9c03b4..0000000
--- a/node_modules/pug/test/cases/auxiliary/1794-include.pug
+++ /dev/null
@@ -1,4 +0,0 @@
-mixin test()
- .test&attributes(attributes)
-
-+test()
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/auxiliary/blocks-in-blocks-layout.pug b/node_modules/pug/test/cases/auxiliary/blocks-in-blocks-layout.pug
deleted file mode 100644
index 17ca8a0..0000000
--- a/node_modules/pug/test/cases/auxiliary/blocks-in-blocks-layout.pug
+++ /dev/null
@@ -1,8 +0,0 @@
-doctype html
-html
- head
- title Default title
- body
- block body
- .container
- block content
diff --git a/node_modules/pug/test/cases/auxiliary/dialog.pug b/node_modules/pug/test/cases/auxiliary/dialog.pug
deleted file mode 100644
index 607bdec..0000000
--- a/node_modules/pug/test/cases/auxiliary/dialog.pug
+++ /dev/null
@@ -1,6 +0,0 @@
-
-extends window.pug
-
-block window-content
- .dialog
- block content
diff --git a/node_modules/pug/test/cases/auxiliary/empty-block.pug b/node_modules/pug/test/cases/auxiliary/empty-block.pug
deleted file mode 100644
index 776e5fe..0000000
--- a/node_modules/pug/test/cases/auxiliary/empty-block.pug
+++ /dev/null
@@ -1,2 +0,0 @@
-block test
-
diff --git a/node_modules/pug/test/cases/auxiliary/escapes.html b/node_modules/pug/test/cases/auxiliary/escapes.html
deleted file mode 100644
index 3b414f2..0000000
--- a/node_modules/pug/test/cases/auxiliary/escapes.html
+++ /dev/null
@@ -1,3 +0,0 @@
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/auxiliary/extends-empty-block-1.pug b/node_modules/pug/test/cases/auxiliary/extends-empty-block-1.pug
deleted file mode 100644
index 2729803..0000000
--- a/node_modules/pug/test/cases/auxiliary/extends-empty-block-1.pug
+++ /dev/null
@@ -1,5 +0,0 @@
-extends empty-block.pug
-
-block test
- div test1
-
diff --git a/node_modules/pug/test/cases/auxiliary/extends-empty-block-2.pug b/node_modules/pug/test/cases/auxiliary/extends-empty-block-2.pug
deleted file mode 100644
index beb2e83..0000000
--- a/node_modules/pug/test/cases/auxiliary/extends-empty-block-2.pug
+++ /dev/null
@@ -1,5 +0,0 @@
-extends empty-block.pug
-
-block test
- div test2
-
diff --git a/node_modules/pug/test/cases/auxiliary/extends-from-root.pug b/node_modules/pug/test/cases/auxiliary/extends-from-root.pug
deleted file mode 100644
index da52beb..0000000
--- a/node_modules/pug/test/cases/auxiliary/extends-from-root.pug
+++ /dev/null
@@ -1,4 +0,0 @@
-extends /auxiliary/layout.pug
-
-block content
- include /auxiliary/include-from-root.pug
diff --git a/node_modules/pug/test/cases/auxiliary/extends-relative.pug b/node_modules/pug/test/cases/auxiliary/extends-relative.pug
deleted file mode 100644
index 612879a..0000000
--- a/node_modules/pug/test/cases/auxiliary/extends-relative.pug
+++ /dev/null
@@ -1,4 +0,0 @@
-extends ../../cases/auxiliary/layout
-
-block content
- include ../../cases/auxiliary/include-from-root
diff --git a/node_modules/pug/test/cases/auxiliary/filter-in-include.pug b/node_modules/pug/test/cases/auxiliary/filter-in-include.pug
deleted file mode 100644
index a3df945..0000000
--- a/node_modules/pug/test/cases/auxiliary/filter-in-include.pug
+++ /dev/null
@@ -1,8 +0,0 @@
-html
- head
- style(type="text/css")
- :less
- @pad: 15px;
- body {
- padding: @pad;
- }
diff --git a/node_modules/pug/test/cases/auxiliary/includable.js b/node_modules/pug/test/cases/auxiliary/includable.js
deleted file mode 100644
index f3efe1e..0000000
--- a/node_modules/pug/test/cases/auxiliary/includable.js
+++ /dev/null
@@ -1,7 +0,0 @@
-var STRING_SUBSTITUTIONS = { // table of character substitutions
- '\t': '\\t',
- '\r': '\\r',
- '\n': '\\n',
- '"' : '\\"',
- '\\': '\\\\'
-};
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/auxiliary/include-from-root.pug b/node_modules/pug/test/cases/auxiliary/include-from-root.pug
deleted file mode 100644
index 93c364b..0000000
--- a/node_modules/pug/test/cases/auxiliary/include-from-root.pug
+++ /dev/null
@@ -1 +0,0 @@
-h1 hello
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/auxiliary/inheritance.extend.mixin.block.pug b/node_modules/pug/test/cases/auxiliary/inheritance.extend.mixin.block.pug
deleted file mode 100644
index 890febc..0000000
--- a/node_modules/pug/test/cases/auxiliary/inheritance.extend.mixin.block.pug
+++ /dev/null
@@ -1,11 +0,0 @@
-mixin article()
- article
- block
-
-html
- head
- title My Application
- block head
- body
- +article
- block content
diff --git a/node_modules/pug/test/cases/auxiliary/inheritance.extend.recursive-grand-grandparent.pug b/node_modules/pug/test/cases/auxiliary/inheritance.extend.recursive-grand-grandparent.pug
deleted file mode 100644
index 61033fa..0000000
--- a/node_modules/pug/test/cases/auxiliary/inheritance.extend.recursive-grand-grandparent.pug
+++ /dev/null
@@ -1,2 +0,0 @@
-h1 grand-grandparent
-block grand-grandparent
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/auxiliary/inheritance.extend.recursive-grandparent.pug b/node_modules/pug/test/cases/auxiliary/inheritance.extend.recursive-grandparent.pug
deleted file mode 100644
index f8ad4b8..0000000
--- a/node_modules/pug/test/cases/auxiliary/inheritance.extend.recursive-grandparent.pug
+++ /dev/null
@@ -1,6 +0,0 @@
-extends inheritance.extend.recursive-grand-grandparent.pug
-
-block grand-grandparent
- h2 grandparent
- block grandparent
-
diff --git a/node_modules/pug/test/cases/auxiliary/inheritance.extend.recursive-parent.pug b/node_modules/pug/test/cases/auxiliary/inheritance.extend.recursive-parent.pug
deleted file mode 100644
index 72d7230..0000000
--- a/node_modules/pug/test/cases/auxiliary/inheritance.extend.recursive-parent.pug
+++ /dev/null
@@ -1,5 +0,0 @@
-extends inheritance.extend.recursive-grandparent.pug
-
-block grandparent
- h3 parent
- block parent
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/auxiliary/layout.include.pug b/node_modules/pug/test/cases/auxiliary/layout.include.pug
deleted file mode 100644
index 96734bf..0000000
--- a/node_modules/pug/test/cases/auxiliary/layout.include.pug
+++ /dev/null
@@ -1,7 +0,0 @@
-html
- head
- title My Application
- block head
- body
- block content
- include window.pug
diff --git a/node_modules/pug/test/cases/auxiliary/layout.pug b/node_modules/pug/test/cases/auxiliary/layout.pug
deleted file mode 100644
index 7d183b3..0000000
--- a/node_modules/pug/test/cases/auxiliary/layout.pug
+++ /dev/null
@@ -1,6 +0,0 @@
-html
- head
- title My Application
- block head
- body
- block content
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/auxiliary/mixin-at-end-of-file.pug b/node_modules/pug/test/cases/auxiliary/mixin-at-end-of-file.pug
deleted file mode 100644
index e51eb01..0000000
--- a/node_modules/pug/test/cases/auxiliary/mixin-at-end-of-file.pug
+++ /dev/null
@@ -1,3 +0,0 @@
-mixin slide
- section.slide
- block
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/auxiliary/mixins.pug b/node_modules/pug/test/cases/auxiliary/mixins.pug
deleted file mode 100644
index 0c14c1d..0000000
--- a/node_modules/pug/test/cases/auxiliary/mixins.pug
+++ /dev/null
@@ -1,3 +0,0 @@
-
-mixin foo()
- p bar
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/auxiliary/pet.pug b/node_modules/pug/test/cases/auxiliary/pet.pug
deleted file mode 100644
index ebee3a8..0000000
--- a/node_modules/pug/test/cases/auxiliary/pet.pug
+++ /dev/null
@@ -1,3 +0,0 @@
-.pet
- h1 {{name}}
- p {{name}} is a {{species}} that is {{age}} old
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/auxiliary/smile.html b/node_modules/pug/test/cases/auxiliary/smile.html
deleted file mode 100644
index 05a0c49..0000000
--- a/node_modules/pug/test/cases/auxiliary/smile.html
+++ /dev/null
@@ -1 +0,0 @@
-:)
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/auxiliary/window.pug b/node_modules/pug/test/cases/auxiliary/window.pug
deleted file mode 100644
index 7ab7132..0000000
--- a/node_modules/pug/test/cases/auxiliary/window.pug
+++ /dev/null
@@ -1,4 +0,0 @@
-
-.window
- a(href='#').close Close
- block window-content
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/auxiliary/yield-nested.pug b/node_modules/pug/test/cases/auxiliary/yield-nested.pug
deleted file mode 100644
index 0771c0a..0000000
--- a/node_modules/pug/test/cases/auxiliary/yield-nested.pug
+++ /dev/null
@@ -1,10 +0,0 @@
-html
- head
- title
- body
- h1 Page
- #content
- #content-wrapper
- yield
- #footer
- stuff
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/basic.html b/node_modules/pug/test/cases/basic.html
deleted file mode 100644
index a01532a..0000000
--- a/node_modules/pug/test/cases/basic.html
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
- Title
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/basic.pug b/node_modules/pug/test/cases/basic.pug
deleted file mode 100644
index 77066d1..0000000
--- a/node_modules/pug/test/cases/basic.pug
+++ /dev/null
@@ -1,3 +0,0 @@
-html
- body
- h1 Title
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/blanks.html b/node_modules/pug/test/cases/blanks.html
deleted file mode 100644
index d58268c..0000000
--- a/node_modules/pug/test/cases/blanks.html
+++ /dev/null
@@ -1,5 +0,0 @@
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/blanks.pug b/node_modules/pug/test/cases/blanks.pug
deleted file mode 100644
index 67b0697..0000000
--- a/node_modules/pug/test/cases/blanks.pug
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-ul
- li foo
-
- li bar
-
- li baz
diff --git a/node_modules/pug/test/cases/block-code.html b/node_modules/pug/test/cases/block-code.html
deleted file mode 100644
index 489fe5d..0000000
--- a/node_modules/pug/test/cases/block-code.html
+++ /dev/null
@@ -1,7 +0,0 @@
-
-Uno
-Dos
-Tres
-Cuatro
-Cinco
-Seis
diff --git a/node_modules/pug/test/cases/block-code.pug b/node_modules/pug/test/cases/block-code.pug
deleted file mode 100644
index 9ab6854..0000000
--- a/node_modules/pug/test/cases/block-code.pug
+++ /dev/null
@@ -1,12 +0,0 @@
--
- list = ["uno", "dos", "tres",
- "cuatro", "cinco", "seis"];
-//- Without a block, the element is accepted and no code is generated
--
-each item in list
- -
- string = item.charAt(0)
-
- .toUpperCase() +
- item.slice(1);
- li= string
diff --git a/node_modules/pug/test/cases/block-expansion.html b/node_modules/pug/test/cases/block-expansion.html
deleted file mode 100644
index 3c24259..0000000
--- a/node_modules/pug/test/cases/block-expansion.html
+++ /dev/null
@@ -1,5 +0,0 @@
-
-baz
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/block-expansion.pug b/node_modules/pug/test/cases/block-expansion.pug
deleted file mode 100644
index fb40f9a..0000000
--- a/node_modules/pug/test/cases/block-expansion.pug
+++ /dev/null
@@ -1,5 +0,0 @@
-ul
- li: a(href='#') foo
- li: a(href='#') bar
-
-p baz
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/block-expansion.shorthands.html b/node_modules/pug/test/cases/block-expansion.shorthands.html
deleted file mode 100644
index 96cf0e7..0000000
--- a/node_modules/pug/test/cases/block-expansion.shorthands.html
+++ /dev/null
@@ -1,7 +0,0 @@
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/block-expansion.shorthands.pug b/node_modules/pug/test/cases/block-expansion.shorthands.pug
deleted file mode 100644
index c52a126..0000000
--- a/node_modules/pug/test/cases/block-expansion.shorthands.pug
+++ /dev/null
@@ -1,2 +0,0 @@
-ul
- li.list-item: .foo: #bar baz
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/blockquote.html b/node_modules/pug/test/cases/blockquote.html
deleted file mode 100644
index 92b64de..0000000
--- a/node_modules/pug/test/cases/blockquote.html
+++ /dev/null
@@ -1,4 +0,0 @@
-
- Try to define yourself by what you do, and you’ll burnout every time. You are. That is enough. I rest in that.
- from @thefray at 1:43pm on May 10
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/blockquote.pug b/node_modules/pug/test/cases/blockquote.pug
deleted file mode 100644
index a23b70f..0000000
--- a/node_modules/pug/test/cases/blockquote.pug
+++ /dev/null
@@ -1,4 +0,0 @@
-figure
- blockquote
- | Try to define yourself by what you do, and you’ll burnout every time. You are. That is enough. I rest in that.
- figcaption from @thefray at 1:43pm on May 10
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/blocks-in-blocks.html b/node_modules/pug/test/cases/blocks-in-blocks.html
deleted file mode 100644
index d7955ab..0000000
--- a/node_modules/pug/test/cases/blocks-in-blocks.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
- Default title
-
-
- Page 2
-
-
diff --git a/node_modules/pug/test/cases/blocks-in-blocks.pug b/node_modules/pug/test/cases/blocks-in-blocks.pug
deleted file mode 100644
index 13077d9..0000000
--- a/node_modules/pug/test/cases/blocks-in-blocks.pug
+++ /dev/null
@@ -1,4 +0,0 @@
-extends ./auxiliary/blocks-in-blocks-layout.pug
-
-block body
- h1 Page 2
diff --git a/node_modules/pug/test/cases/blocks-in-if.html b/node_modules/pug/test/cases/blocks-in-if.html
deleted file mode 100644
index c3b9107..0000000
--- a/node_modules/pug/test/cases/blocks-in-if.html
+++ /dev/null
@@ -1 +0,0 @@
-ajax contents
diff --git a/node_modules/pug/test/cases/blocks-in-if.pug b/node_modules/pug/test/cases/blocks-in-if.pug
deleted file mode 100644
index e0c6361..0000000
--- a/node_modules/pug/test/cases/blocks-in-if.pug
+++ /dev/null
@@ -1,19 +0,0 @@
-//- see https://github.com/pugjs/pug/issues/1589
-
--var ajax = true
-
--if( ajax )
- //- return only contents if ajax requests
- block contents
- p ajax contents
-
--else
- //- return all html
- doctype html
- html
- head
- meta( charset='utf8' )
- title sample
- body
- block contents
- p all contetns
diff --git a/node_modules/pug/test/cases/case-blocks.html b/node_modules/pug/test/cases/case-blocks.html
deleted file mode 100644
index 893b07d..0000000
--- a/node_modules/pug/test/cases/case-blocks.html
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
- you have a friend
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/case-blocks.pug b/node_modules/pug/test/cases/case-blocks.pug
deleted file mode 100644
index 345cd41..0000000
--- a/node_modules/pug/test/cases/case-blocks.pug
+++ /dev/null
@@ -1,10 +0,0 @@
-html
- body
- - var friends = 1
- case friends
- when 0
- p you have no friends
- when 1
- p you have a friend
- default
- p you have #{friends} friends
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/case.html b/node_modules/pug/test/cases/case.html
deleted file mode 100644
index f264fb7..0000000
--- a/node_modules/pug/test/cases/case.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
- you have a friend
- you have very few friends
- Friend is a string
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/case.pug b/node_modules/pug/test/cases/case.pug
deleted file mode 100644
index 0fbe2ef..0000000
--- a/node_modules/pug/test/cases/case.pug
+++ /dev/null
@@ -1,19 +0,0 @@
-html
- body
- - var friends = 1
- case friends
- when 0: p you have no friends
- when 1: p you have a friend
- default: p you have #{friends} friends
- - var friends = 0
- case friends
- when 0
- when 1
- p you have very few friends
- default
- p you have #{friends} friends
-
- - var friend = 'Tim:G'
- case friend
- when 'Tim:G': p Friend is a string
- when {tim: 'g'}: p Friend is an object
diff --git a/node_modules/pug/test/cases/classes-empty.html b/node_modules/pug/test/cases/classes-empty.html
deleted file mode 100644
index bcc28a9..0000000
--- a/node_modules/pug/test/cases/classes-empty.html
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/classes-empty.pug b/node_modules/pug/test/cases/classes-empty.pug
deleted file mode 100644
index 5e66d84..0000000
--- a/node_modules/pug/test/cases/classes-empty.pug
+++ /dev/null
@@ -1,3 +0,0 @@
-a(class='')
-a(class=null)
-a(class=undefined)
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/classes.html b/node_modules/pug/test/cases/classes.html
deleted file mode 100644
index 07da8c5..0000000
--- a/node_modules/pug/test/cases/classes.html
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/node_modules/pug/test/cases/classes.pug b/node_modules/pug/test/cases/classes.pug
deleted file mode 100644
index 67e1a1b..0000000
--- a/node_modules/pug/test/cases/classes.pug
+++ /dev/null
@@ -1,11 +0,0 @@
-a(class=['foo', 'bar', 'baz'])
-
-
-
-a.foo(class='bar').baz
-
-
-
-a.foo-bar_baz
-
-a(class={foo: true, bar: false, baz: true})
diff --git a/node_modules/pug/test/cases/code.conditionals.html b/node_modules/pug/test/cases/code.conditionals.html
deleted file mode 100644
index 1370312..0000000
--- a/node_modules/pug/test/cases/code.conditionals.html
+++ /dev/null
@@ -1,11 +0,0 @@
-foo
-foo
-foo
-bar
-baz
-bar
-yay
-
-
-
-
diff --git a/node_modules/pug/test/cases/code.conditionals.pug b/node_modules/pug/test/cases/code.conditionals.pug
deleted file mode 100644
index aa4c715..0000000
--- a/node_modules/pug/test/cases/code.conditionals.pug
+++ /dev/null
@@ -1,43 +0,0 @@
-
-- if (true)
- p foo
-- else
- p bar
-
-- if (true) {
- p foo
-- } else {
- p bar
-- }
-
-if true
- p foo
- p bar
- p baz
-else
- p bar
-
-unless true
- p foo
-else
- p bar
-
-if 'nested'
- if 'works'
- p yay
-
-//- allow empty blocks
-if false
-else
- .bar
-if true
- .bar
-else
-.bing
-
-if false
- .bing
-else if false
- .bar
-else
- .foo
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/code.escape.html b/node_modules/pug/test/cases/code.escape.html
deleted file mode 100644
index c0e1758..0000000
--- a/node_modules/pug/test/cases/code.escape.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<script>
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/code.escape.pug b/node_modules/pug/test/cases/code.escape.pug
deleted file mode 100644
index 762c089..0000000
--- a/node_modules/pug/test/cases/code.escape.pug
+++ /dev/null
@@ -1,2 +0,0 @@
-p= '
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/escape-chars.pug b/node_modules/pug/test/cases/escape-chars.pug
deleted file mode 100644
index f7978d6..0000000
--- a/node_modules/pug/test/cases/escape-chars.pug
+++ /dev/null
@@ -1,2 +0,0 @@
-script.
- var re = /\d+/;
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/escape-test.html b/node_modules/pug/test/cases/escape-test.html
deleted file mode 100644
index 15e72d9..0000000
--- a/node_modules/pug/test/cases/escape-test.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
- escape-test
-
-
-
-
-
diff --git a/node_modules/pug/test/cases/escape-test.pug b/node_modules/pug/test/cases/escape-test.pug
deleted file mode 100644
index 168c549..0000000
--- a/node_modules/pug/test/cases/escape-test.pug
+++ /dev/null
@@ -1,8 +0,0 @@
-doctype html
-html
- head
- title escape-test
- body
- textarea
- - var txt = ' '
- | #{txt}
diff --git a/node_modules/pug/test/cases/escaping-class-attribute.html b/node_modules/pug/test/cases/escaping-class-attribute.html
deleted file mode 100644
index 9563642..0000000
--- a/node_modules/pug/test/cases/escaping-class-attribute.html
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/escaping-class-attribute.pug b/node_modules/pug/test/cases/escaping-class-attribute.pug
deleted file mode 100644
index dffbb8b..0000000
--- a/node_modules/pug/test/cases/escaping-class-attribute.pug
+++ /dev/null
@@ -1,6 +0,0 @@
-foo(attr="<%= bar %>")
-foo(class="<%= bar %>")
-foo(attr!="<%= bar %>")
-foo(class!="<%= bar %>")
-foo(class!="<%= bar %> lol rofl")
-foo(class!="<%= bar %> lol rofl <%= lmao %>")
diff --git a/node_modules/pug/test/cases/filter-in-include.html b/node_modules/pug/test/cases/filter-in-include.html
deleted file mode 100644
index b6b5636..0000000
--- a/node_modules/pug/test/cases/filter-in-include.html
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
diff --git a/node_modules/pug/test/cases/filter-in-include.pug b/node_modules/pug/test/cases/filter-in-include.pug
deleted file mode 100644
index dce48fa..0000000
--- a/node_modules/pug/test/cases/filter-in-include.pug
+++ /dev/null
@@ -1 +0,0 @@
-include ./auxiliary/filter-in-include.pug
diff --git a/node_modules/pug/test/cases/filters-empty.html b/node_modules/pug/test/cases/filters-empty.html
deleted file mode 100644
index 9ad128f..0000000
--- a/node_modules/pug/test/cases/filters-empty.html
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/node_modules/pug/test/cases/filters-empty.pug b/node_modules/pug/test/cases/filters-empty.pug
deleted file mode 100644
index 7aa64de..0000000
--- a/node_modules/pug/test/cases/filters-empty.pug
+++ /dev/null
@@ -1,6 +0,0 @@
-- var users = [{ name: 'tobi', age: 2 }]
-
-fb:users
- for user in users
- fb:user(age=user.age)
- :cdata
diff --git a/node_modules/pug/test/cases/filters.coffeescript.html b/node_modules/pug/test/cases/filters.coffeescript.html
deleted file mode 100644
index 7394061..0000000
--- a/node_modules/pug/test/cases/filters.coffeescript.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
diff --git a/node_modules/pug/test/cases/filters.coffeescript.pug b/node_modules/pug/test/cases/filters.coffeescript.pug
deleted file mode 100644
index f2be6f8..0000000
--- a/node_modules/pug/test/cases/filters.coffeescript.pug
+++ /dev/null
@@ -1,6 +0,0 @@
-script(type='text/javascript')
- :coffee-script
- regexp = /\n/
- :coffee-script(minify=true)
- math =
- square: (value) -> value * value
diff --git a/node_modules/pug/test/cases/filters.custom.html b/node_modules/pug/test/cases/filters.custom.html
deleted file mode 100644
index 811701c..0000000
--- a/node_modules/pug/test/cases/filters.custom.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
- BEGINLine 1
-Line 2
-
-Line 4END
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/filters.custom.pug b/node_modules/pug/test/cases/filters.custom.pug
deleted file mode 100644
index 16808f6..0000000
--- a/node_modules/pug/test/cases/filters.custom.pug
+++ /dev/null
@@ -1,7 +0,0 @@
-html
- body
- :custom(opt='val' num=2)
- Line 1
- Line 2
-
- Line 4
diff --git a/node_modules/pug/test/cases/filters.include.custom.html b/node_modules/pug/test/cases/filters.include.custom.html
deleted file mode 100644
index 05169e5..0000000
--- a/node_modules/pug/test/cases/filters.include.custom.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
- BEGINhtml
- body
- pre
- include:custom(opt='val' num=2) filters.include.custom.pug
-END
-
-
diff --git a/node_modules/pug/test/cases/filters.include.custom.pug b/node_modules/pug/test/cases/filters.include.custom.pug
deleted file mode 100644
index 5811147..0000000
--- a/node_modules/pug/test/cases/filters.include.custom.pug
+++ /dev/null
@@ -1,4 +0,0 @@
-html
- body
- pre
- include:custom(opt='val' num=2) filters.include.custom.pug
diff --git a/node_modules/pug/test/cases/filters.include.html b/node_modules/pug/test/cases/filters.include.html
deleted file mode 100644
index 1dc755f..0000000
--- a/node_modules/pug/test/cases/filters.include.html
+++ /dev/null
@@ -1,19 +0,0 @@
-
- Just some markdown tests .
-With new line.
-
-
-
-
-
diff --git a/node_modules/pug/test/cases/filters.include.pug b/node_modules/pug/test/cases/filters.include.pug
deleted file mode 100644
index e7ea3db..0000000
--- a/node_modules/pug/test/cases/filters.include.pug
+++ /dev/null
@@ -1,7 +0,0 @@
-html
- body
- include:markdown-it some.md
- script
- include:coffee-script(minify=true) include-filter-coffee.coffee
- script
- include:coffee-script(minify=false) include-filter-coffee.coffee
diff --git a/node_modules/pug/test/cases/filters.inline.html b/node_modules/pug/test/cases/filters.inline.html
deleted file mode 100644
index e602ebd..0000000
--- a/node_modules/pug/test/cases/filters.inline.html
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
- before after
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/filters.inline.pug b/node_modules/pug/test/cases/filters.inline.pug
deleted file mode 100644
index 7b57985..0000000
--- a/node_modules/pug/test/cases/filters.inline.pug
+++ /dev/null
@@ -1 +0,0 @@
-p before #[:cdata inside] after
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/filters.less.html b/node_modules/pug/test/cases/filters.less.html
deleted file mode 100644
index 5cdb913..0000000
--- a/node_modules/pug/test/cases/filters.less.html
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/filters.less.pug b/node_modules/pug/test/cases/filters.less.pug
deleted file mode 100644
index a3df945..0000000
--- a/node_modules/pug/test/cases/filters.less.pug
+++ /dev/null
@@ -1,8 +0,0 @@
-html
- head
- style(type="text/css")
- :less
- @pad: 15px;
- body {
- padding: @pad;
- }
diff --git a/node_modules/pug/test/cases/filters.markdown.html b/node_modules/pug/test/cases/filters.markdown.html
deleted file mode 100644
index aa3d975..0000000
--- a/node_modules/pug/test/cases/filters.markdown.html
+++ /dev/null
@@ -1,5 +0,0 @@
-
- This is some awesome markdown
-whoop.
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/filters.markdown.pug b/node_modules/pug/test/cases/filters.markdown.pug
deleted file mode 100644
index 30b1e4f..0000000
--- a/node_modules/pug/test/cases/filters.markdown.pug
+++ /dev/null
@@ -1,5 +0,0 @@
-html
- body
- :markdown
- This is _some_ awesome **markdown**
- whoop.
diff --git a/node_modules/pug/test/cases/filters.nested.html b/node_modules/pug/test/cases/filters.nested.html
deleted file mode 100644
index a5a2af3..0000000
--- a/node_modules/pug/test/cases/filters.nested.html
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/node_modules/pug/test/cases/filters.nested.pug b/node_modules/pug/test/cases/filters.nested.pug
deleted file mode 100644
index c79ccdd..0000000
--- a/node_modules/pug/test/cases/filters.nested.pug
+++ /dev/null
@@ -1,10 +0,0 @@
-script
- :cdata:uglify-js
- (function() {
- console.log('test')
- })()
-script
- :cdata:uglify-js:coffee-script
- (->
- console.log 'test'
- )()
diff --git a/node_modules/pug/test/cases/filters.stylus.html b/node_modules/pug/test/cases/filters.stylus.html
deleted file mode 100644
index d131a14..0000000
--- a/node_modules/pug/test/cases/filters.stylus.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/filters.stylus.pug b/node_modules/pug/test/cases/filters.stylus.pug
deleted file mode 100644
index 323d29c..0000000
--- a/node_modules/pug/test/cases/filters.stylus.pug
+++ /dev/null
@@ -1,7 +0,0 @@
-html
- head
- style(type="text/css")
- :stylus
- body
- padding: 50px
- body
diff --git a/node_modules/pug/test/cases/html.html b/node_modules/pug/test/cases/html.html
deleted file mode 100644
index a038efd..0000000
--- a/node_modules/pug/test/cases/html.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-You can embed html as well.
-Even as the body of a block expansion.
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/html.pug b/node_modules/pug/test/cases/html.pug
deleted file mode 100644
index 0e5422d..0000000
--- a/node_modules/pug/test/cases/html.pug
+++ /dev/null
@@ -1,13 +0,0 @@
-- var version = 1449104952939
-
-
-
-
-
-
-p You can embed html as well.
-p: Even as the body of a block expansion.
diff --git a/node_modules/pug/test/cases/html5.html b/node_modules/pug/test/cases/html5.html
deleted file mode 100644
index 83a553a..0000000
--- a/node_modules/pug/test/cases/html5.html
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/html5.pug b/node_modules/pug/test/cases/html5.pug
deleted file mode 100644
index 8dc68e2..0000000
--- a/node_modules/pug/test/cases/html5.pug
+++ /dev/null
@@ -1,4 +0,0 @@
-doctype html
-input(type='checkbox', checked)
-input(type='checkbox', checked=true)
-input(type='checkbox', checked=false)
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/include-extends-from-root.html b/node_modules/pug/test/cases/include-extends-from-root.html
deleted file mode 100644
index 3916f5d..0000000
--- a/node_modules/pug/test/cases/include-extends-from-root.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
- My Application
-
-
- hello
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/include-extends-from-root.pug b/node_modules/pug/test/cases/include-extends-from-root.pug
deleted file mode 100644
index a79a57d..0000000
--- a/node_modules/pug/test/cases/include-extends-from-root.pug
+++ /dev/null
@@ -1 +0,0 @@
-include /auxiliary/extends-from-root.pug
diff --git a/node_modules/pug/test/cases/include-extends-of-common-template.html b/node_modules/pug/test/cases/include-extends-of-common-template.html
deleted file mode 100644
index dd04738..0000000
--- a/node_modules/pug/test/cases/include-extends-of-common-template.html
+++ /dev/null
@@ -1,2 +0,0 @@
-test1
-test2
diff --git a/node_modules/pug/test/cases/include-extends-of-common-template.pug b/node_modules/pug/test/cases/include-extends-of-common-template.pug
deleted file mode 100644
index 2511f52..0000000
--- a/node_modules/pug/test/cases/include-extends-of-common-template.pug
+++ /dev/null
@@ -1,2 +0,0 @@
-include auxiliary/extends-empty-block-1.pug
-include auxiliary/extends-empty-block-2.pug
diff --git a/node_modules/pug/test/cases/include-extends-relative.html b/node_modules/pug/test/cases/include-extends-relative.html
deleted file mode 100644
index 3916f5d..0000000
--- a/node_modules/pug/test/cases/include-extends-relative.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
- My Application
-
-
- hello
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/include-extends-relative.pug b/node_modules/pug/test/cases/include-extends-relative.pug
deleted file mode 100644
index 1b5238c..0000000
--- a/node_modules/pug/test/cases/include-extends-relative.pug
+++ /dev/null
@@ -1 +0,0 @@
-include ../cases/auxiliary/extends-relative.pug
diff --git a/node_modules/pug/test/cases/include-filter-coffee.coffee b/node_modules/pug/test/cases/include-filter-coffee.coffee
deleted file mode 100644
index 9723cd7..0000000
--- a/node_modules/pug/test/cases/include-filter-coffee.coffee
+++ /dev/null
@@ -1,2 +0,0 @@
-math =
- square: (value) -> value * value
diff --git a/node_modules/pug/test/cases/include-only-text-body.html b/node_modules/pug/test/cases/include-only-text-body.html
deleted file mode 100644
index f86b593..0000000
--- a/node_modules/pug/test/cases/include-only-text-body.html
+++ /dev/null
@@ -1 +0,0 @@
-The message is ""
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/include-only-text-body.pug b/node_modules/pug/test/cases/include-only-text-body.pug
deleted file mode 100644
index fdb080c..0000000
--- a/node_modules/pug/test/cases/include-only-text-body.pug
+++ /dev/null
@@ -1,3 +0,0 @@
-| The message is "
-yield
-| "
diff --git a/node_modules/pug/test/cases/include-only-text.html b/node_modules/pug/test/cases/include-only-text.html
deleted file mode 100644
index 6936ae4..0000000
--- a/node_modules/pug/test/cases/include-only-text.html
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
- The message is "hello world "
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/include-only-text.pug b/node_modules/pug/test/cases/include-only-text.pug
deleted file mode 100644
index ede4f0f..0000000
--- a/node_modules/pug/test/cases/include-only-text.pug
+++ /dev/null
@@ -1,5 +0,0 @@
-html
- body
- p
- include include-only-text-body.pug
- em hello world
diff --git a/node_modules/pug/test/cases/include-with-text-head.html b/node_modules/pug/test/cases/include-with-text-head.html
deleted file mode 100644
index 716f359..0000000
--- a/node_modules/pug/test/cases/include-with-text-head.html
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/include-with-text-head.pug b/node_modules/pug/test/cases/include-with-text-head.pug
deleted file mode 100644
index 4e670c0..0000000
--- a/node_modules/pug/test/cases/include-with-text-head.pug
+++ /dev/null
@@ -1,3 +0,0 @@
-head
- script(type='text/javascript').
- alert('hello world');
diff --git a/node_modules/pug/test/cases/include-with-text.html b/node_modules/pug/test/cases/include-with-text.html
deleted file mode 100644
index 78386f7..0000000
--- a/node_modules/pug/test/cases/include-with-text.html
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/include-with-text.pug b/node_modules/pug/test/cases/include-with-text.pug
deleted file mode 100644
index bc83ea5..0000000
--- a/node_modules/pug/test/cases/include-with-text.pug
+++ /dev/null
@@ -1,4 +0,0 @@
-html
- include include-with-text-head.pug
- script(src='/caustic.js')
- script(src='/app.js')
diff --git a/node_modules/pug/test/cases/include.script.html b/node_modules/pug/test/cases/include.script.html
deleted file mode 100644
index cdd37c2..0000000
--- a/node_modules/pug/test/cases/include.script.html
+++ /dev/null
@@ -1,6 +0,0 @@
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/include.script.pug b/node_modules/pug/test/cases/include.script.pug
deleted file mode 100644
index f449144..0000000
--- a/node_modules/pug/test/cases/include.script.pug
+++ /dev/null
@@ -1,2 +0,0 @@
-script#pet-template(type='text/x-template')
- include auxiliary/pet.pug
diff --git a/node_modules/pug/test/cases/include.yield.nested.html b/node_modules/pug/test/cases/include.yield.nested.html
deleted file mode 100644
index 947b615..0000000
--- a/node_modules/pug/test/cases/include.yield.nested.html
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
- Page
-
-
-
some content
-
and some more
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/include.yield.nested.pug b/node_modules/pug/test/cases/include.yield.nested.pug
deleted file mode 100644
index f4a7d69..0000000
--- a/node_modules/pug/test/cases/include.yield.nested.pug
+++ /dev/null
@@ -1,4 +0,0 @@
-
-include auxiliary/yield-nested.pug
- p some content
- p and some more
diff --git a/node_modules/pug/test/cases/includes-with-ext-js.html b/node_modules/pug/test/cases/includes-with-ext-js.html
deleted file mode 100644
index c36c363..0000000
--- a/node_modules/pug/test/cases/includes-with-ext-js.html
+++ /dev/null
@@ -1,2 +0,0 @@
-var x = "\n here is some \n new lined text";
-
diff --git a/node_modules/pug/test/cases/includes-with-ext-js.pug b/node_modules/pug/test/cases/includes-with-ext-js.pug
deleted file mode 100644
index 65bfa8a..0000000
--- a/node_modules/pug/test/cases/includes-with-ext-js.pug
+++ /dev/null
@@ -1,3 +0,0 @@
-pre
- code
- include javascript-new-lines.js
diff --git a/node_modules/pug/test/cases/includes.html b/node_modules/pug/test/cases/includes.html
deleted file mode 100644
index 2c00430..0000000
--- a/node_modules/pug/test/cases/includes.html
+++ /dev/null
@@ -1,16 +0,0 @@
-bar
-
- :)
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/includes.pug b/node_modules/pug/test/cases/includes.pug
deleted file mode 100644
index 7761ce2..0000000
--- a/node_modules/pug/test/cases/includes.pug
+++ /dev/null
@@ -1,10 +0,0 @@
-
-include auxiliary/mixins.pug
-
-+foo
-
-body
- include auxiliary/smile.html
- include auxiliary/escapes.html
- script(type="text/javascript")
- include:verbatim auxiliary/includable.js
diff --git a/node_modules/pug/test/cases/inheritance.alert-dialog.html b/node_modules/pug/test/cases/inheritance.alert-dialog.html
deleted file mode 100644
index 88a5dc6..0000000
--- a/node_modules/pug/test/cases/inheritance.alert-dialog.html
+++ /dev/null
@@ -1,6 +0,0 @@
-Close
-
-
Alert!
-
I'm an alert!
-
-
diff --git a/node_modules/pug/test/cases/inheritance.alert-dialog.pug b/node_modules/pug/test/cases/inheritance.alert-dialog.pug
deleted file mode 100644
index 7afcaf0..0000000
--- a/node_modules/pug/test/cases/inheritance.alert-dialog.pug
+++ /dev/null
@@ -1,6 +0,0 @@
-
-extends auxiliary/dialog.pug
-
-block content
- h1 Alert!
- p I'm an alert!
diff --git a/node_modules/pug/test/cases/inheritance.defaults.html b/node_modules/pug/test/cases/inheritance.defaults.html
deleted file mode 100644
index e6878d1..0000000
--- a/node_modules/pug/test/cases/inheritance.defaults.html
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/inheritance.defaults.pug b/node_modules/pug/test/cases/inheritance.defaults.pug
deleted file mode 100644
index aaead83..0000000
--- a/node_modules/pug/test/cases/inheritance.defaults.pug
+++ /dev/null
@@ -1,6 +0,0 @@
-html
- head
- block head
- script(src='jquery.js')
- script(src='keymaster.js')
- script(src='caustic.js')
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/inheritance.extend.html b/node_modules/pug/test/cases/inheritance.extend.html
deleted file mode 100644
index 1f4eae4..0000000
--- a/node_modules/pug/test/cases/inheritance.extend.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
- My Application
-
-
-
- Page
- Some content
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/inheritance.extend.include.html b/node_modules/pug/test/cases/inheritance.extend.include.html
deleted file mode 100644
index 66da1cc..0000000
--- a/node_modules/pug/test/cases/inheritance.extend.include.html
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
- My Application
-
-
-
- Page
- Some content
- Close
-
Awesome
-
Now we can extend included blocks!
-
-
-
diff --git a/node_modules/pug/test/cases/inheritance.extend.include.pug b/node_modules/pug/test/cases/inheritance.extend.include.pug
deleted file mode 100644
index b67dfc3..0000000
--- a/node_modules/pug/test/cases/inheritance.extend.include.pug
+++ /dev/null
@@ -1,13 +0,0 @@
-
-extend auxiliary/layout.include.pug
-
-block head
- script(src='jquery.js')
-
-block content
- h2 Page
- p Some content
-
-block window-content
- h2 Awesome
- p Now we can extend included blocks!
diff --git a/node_modules/pug/test/cases/inheritance.extend.mixins.block.html b/node_modules/pug/test/cases/inheritance.extend.mixins.block.html
deleted file mode 100644
index 0ea5d94..0000000
--- a/node_modules/pug/test/cases/inheritance.extend.mixins.block.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
- My Application
-
-
-
- Hello World!
-
-
-
diff --git a/node_modules/pug/test/cases/inheritance.extend.mixins.block.pug b/node_modules/pug/test/cases/inheritance.extend.mixins.block.pug
deleted file mode 100644
index 775a5dc..0000000
--- a/node_modules/pug/test/cases/inheritance.extend.mixins.block.pug
+++ /dev/null
@@ -1,4 +0,0 @@
-extend auxiliary/inheritance.extend.mixin.block.pug
-
-block content
- p Hello World!
diff --git a/node_modules/pug/test/cases/inheritance.extend.mixins.html b/node_modules/pug/test/cases/inheritance.extend.mixins.html
deleted file mode 100644
index 618e2b1..0000000
--- a/node_modules/pug/test/cases/inheritance.extend.mixins.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
- My Application
-
-
- The meaning of life
- Foo bar baz!
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/inheritance.extend.mixins.pug b/node_modules/pug/test/cases/inheritance.extend.mixins.pug
deleted file mode 100644
index ceaa412..0000000
--- a/node_modules/pug/test/cases/inheritance.extend.mixins.pug
+++ /dev/null
@@ -1,11 +0,0 @@
-
-extend auxiliary/layout.pug
-
-mixin article(title)
- if title
- h1= title
- block
-
-block content
- +article("The meaning of life")
- p Foo bar baz!
diff --git a/node_modules/pug/test/cases/inheritance.extend.pug b/node_modules/pug/test/cases/inheritance.extend.pug
deleted file mode 100644
index 4ce3a6f..0000000
--- a/node_modules/pug/test/cases/inheritance.extend.pug
+++ /dev/null
@@ -1,9 +0,0 @@
-
-extend auxiliary/layout.pug
-
-block head
- script(src='jquery.js')
-
-block content
- h2 Page
- p Some content
diff --git a/node_modules/pug/test/cases/inheritance.extend.recursive.html b/node_modules/pug/test/cases/inheritance.extend.recursive.html
deleted file mode 100644
index d5d0522..0000000
--- a/node_modules/pug/test/cases/inheritance.extend.recursive.html
+++ /dev/null
@@ -1,4 +0,0 @@
-grand-grandparent
-grandparent
-parent
-child
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/inheritance.extend.recursive.pug b/node_modules/pug/test/cases/inheritance.extend.recursive.pug
deleted file mode 100644
index 5842523..0000000
--- a/node_modules/pug/test/cases/inheritance.extend.recursive.pug
+++ /dev/null
@@ -1,4 +0,0 @@
-extends /auxiliary/inheritance.extend.recursive-parent.pug
-
-block parent
- h4 child
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/inheritance.extend.whitespace.html b/node_modules/pug/test/cases/inheritance.extend.whitespace.html
deleted file mode 100644
index 1f4eae4..0000000
--- a/node_modules/pug/test/cases/inheritance.extend.whitespace.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
- My Application
-
-
-
- Page
- Some content
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/inheritance.extend.whitespace.pug b/node_modules/pug/test/cases/inheritance.extend.whitespace.pug
deleted file mode 100644
index 25ee9e0..0000000
--- a/node_modules/pug/test/cases/inheritance.extend.whitespace.pug
+++ /dev/null
@@ -1,13 +0,0 @@
-
-extend auxiliary/layout.pug
-
-block head
-
- script(src='jquery.js')
-
-block content
-
-
-
- h2 Page
- p Some content
diff --git a/node_modules/pug/test/cases/inheritance.html b/node_modules/pug/test/cases/inheritance.html
deleted file mode 100644
index 1f4eae4..0000000
--- a/node_modules/pug/test/cases/inheritance.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
- My Application
-
-
-
- Page
- Some content
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/inheritance.pug b/node_modules/pug/test/cases/inheritance.pug
deleted file mode 100644
index dd5415d..0000000
--- a/node_modules/pug/test/cases/inheritance.pug
+++ /dev/null
@@ -1,9 +0,0 @@
-
-extends auxiliary/layout.pug
-
-block head
- script(src='jquery.js')
-
-block content
- h2 Page
- p Some content
diff --git a/node_modules/pug/test/cases/inline-tag.html b/node_modules/pug/test/cases/inline-tag.html
deleted file mode 100644
index 7ea3af7..0000000
--- a/node_modules/pug/test/cases/inline-tag.html
+++ /dev/null
@@ -1,21 +0,0 @@
-
-bing foo bong
-
- bing
- foo
- [foo]
-
- bong
-
-
-
- bing
- foo
- [foo]
-
- bong
-
-
- #[strong escaped]
- #[escaped
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/inline-tag.pug b/node_modules/pug/test/cases/inline-tag.pug
deleted file mode 100644
index df7b549..0000000
--- a/node_modules/pug/test/cases/inline-tag.pug
+++ /dev/null
@@ -1,19 +0,0 @@
-p bing #[strong foo] bong
-
-p.
- bing
- #[strong foo]
- #[strong= '[foo]']
- #[- var foo = 'foo]']
- bong
-
-p
- | bing
- | #[strong foo]
- | #[strong= '[foo]']
- | #[- var foo = 'foo]']
- | bong
-
-p.
- \#[strong escaped]
- \#[#[strong escaped]
diff --git a/node_modules/pug/test/cases/intepolated-elements.html b/node_modules/pug/test/cases/intepolated-elements.html
deleted file mode 100644
index 721fa02..0000000
--- a/node_modules/pug/test/cases/intepolated-elements.html
+++ /dev/null
@@ -1,4 +0,0 @@
-
-with inline link
-Some text
-Some text with inline link
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/intepolated-elements.pug b/node_modules/pug/test/cases/intepolated-elements.pug
deleted file mode 100644
index 5fe8bcf..0000000
--- a/node_modules/pug/test/cases/intepolated-elements.pug
+++ /dev/null
@@ -1,3 +0,0 @@
-p #[a.rho(href='#', class='rho--modifier') with inline link]
-p Some text #[a.rho(href='#', class='rho--modifier')]
-p Some text #[a.rho(href='#', class='rho--modifier') with inline link]
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/interpolated-mixin.html b/node_modules/pug/test/cases/interpolated-mixin.html
deleted file mode 100644
index 101aa95..0000000
--- a/node_modules/pug/test/cases/interpolated-mixin.html
+++ /dev/null
@@ -1,3 +0,0 @@
-
-This also works http://www.bing.com so hurrah for Pug
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/interpolated-mixin.pug b/node_modules/pug/test/cases/interpolated-mixin.pug
deleted file mode 100644
index ae8fc74..0000000
--- a/node_modules/pug/test/cases/interpolated-mixin.pug
+++ /dev/null
@@ -1,4 +0,0 @@
-mixin linkit(url)
- a(href=url)= url
-
-p This also works #[+linkit('http://www.bing.com')] so hurrah for Pug
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/interpolation.escape.html b/node_modules/pug/test/cases/interpolation.escape.html
deleted file mode 100644
index 8dd546b..0000000
--- a/node_modules/pug/test/cases/interpolation.escape.html
+++ /dev/null
@@ -1,6 +0,0 @@
-
- some
- #{text}
- here
- My ID is {42}
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/interpolation.escape.pug b/node_modules/pug/test/cases/interpolation.escape.pug
deleted file mode 100644
index cff251b..0000000
--- a/node_modules/pug/test/cases/interpolation.escape.pug
+++ /dev/null
@@ -1,7 +0,0 @@
-
-- var id = 42;
-foo
- | some
- | \#{text}
- | here
- | My ID #{"is {" + id + "}"}
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/javascript-new-lines.js b/node_modules/pug/test/cases/javascript-new-lines.js
deleted file mode 100644
index 6893341..0000000
--- a/node_modules/pug/test/cases/javascript-new-lines.js
+++ /dev/null
@@ -1 +0,0 @@
-var x = "\n here is some \n new lined text";
diff --git a/node_modules/pug/test/cases/layout.append.html b/node_modules/pug/test/cases/layout.append.html
deleted file mode 100644
index bc5e126..0000000
--- a/node_modules/pug/test/cases/layout.append.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/node_modules/pug/test/cases/layout.append.pug b/node_modules/pug/test/cases/layout.append.pug
deleted file mode 100644
index d771bc9..0000000
--- a/node_modules/pug/test/cases/layout.append.pug
+++ /dev/null
@@ -1,6 +0,0 @@
-
-extends ../fixtures/append/app-layout.pug
-
-block append head
- script(src='foo.js')
- script(src='bar.js')
diff --git a/node_modules/pug/test/cases/layout.append.without-block.html b/node_modules/pug/test/cases/layout.append.without-block.html
deleted file mode 100644
index bc5e126..0000000
--- a/node_modules/pug/test/cases/layout.append.without-block.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/node_modules/pug/test/cases/layout.append.without-block.pug b/node_modules/pug/test/cases/layout.append.without-block.pug
deleted file mode 100644
index 19842fc..0000000
--- a/node_modules/pug/test/cases/layout.append.without-block.pug
+++ /dev/null
@@ -1,6 +0,0 @@
-
-extends ../fixtures/append-without-block/app-layout.pug
-
-append head
- script(src='foo.js')
- script(src='bar.js')
diff --git a/node_modules/pug/test/cases/layout.multi.append.prepend.block.html b/node_modules/pug/test/cases/layout.multi.append.prepend.block.html
deleted file mode 100644
index 314c2b3..0000000
--- a/node_modules/pug/test/cases/layout.multi.append.prepend.block.html
+++ /dev/null
@@ -1,8 +0,0 @@
-Last prepend must appear at top
-Something prepended to content
-Defined content
-Something appended to content
-Last append must be most last
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/layout.multi.append.prepend.block.pug b/node_modules/pug/test/cases/layout.multi.append.prepend.block.pug
deleted file mode 100644
index 79d15b1..0000000
--- a/node_modules/pug/test/cases/layout.multi.append.prepend.block.pug
+++ /dev/null
@@ -1,19 +0,0 @@
-extends ../fixtures/multi-append-prepend-block/redefine.pug
-
-append content
- p.first.append Something appended to content
-
-prepend content
- p.first.prepend Something prepended to content
-
-append content
- p.last.append Last append must be most last
-
-prepend content
- p.last.prepend Last prepend must appear at top
-
-append head
- script(src='jquery.js')
-
-prepend head
- script(src='foo.js')
diff --git a/node_modules/pug/test/cases/layout.prepend.html b/node_modules/pug/test/cases/layout.prepend.html
deleted file mode 100644
index 8753a42..0000000
--- a/node_modules/pug/test/cases/layout.prepend.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/node_modules/pug/test/cases/layout.prepend.pug b/node_modules/pug/test/cases/layout.prepend.pug
deleted file mode 100644
index 4659a11..0000000
--- a/node_modules/pug/test/cases/layout.prepend.pug
+++ /dev/null
@@ -1,6 +0,0 @@
-
-extends ../fixtures/prepend/app-layout.pug
-
-block prepend head
- script(src='foo.js')
- script(src='bar.js')
diff --git a/node_modules/pug/test/cases/layout.prepend.without-block.html b/node_modules/pug/test/cases/layout.prepend.without-block.html
deleted file mode 100644
index 8753a42..0000000
--- a/node_modules/pug/test/cases/layout.prepend.without-block.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/node_modules/pug/test/cases/layout.prepend.without-block.pug b/node_modules/pug/test/cases/layout.prepend.without-block.pug
deleted file mode 100644
index 516d01b..0000000
--- a/node_modules/pug/test/cases/layout.prepend.without-block.pug
+++ /dev/null
@@ -1,6 +0,0 @@
-
-extends ../fixtures/prepend-without-block/app-layout.pug
-
-prepend head
- script(src='foo.js')
- script(src='bar.js')
diff --git a/node_modules/pug/test/cases/mixin-at-end-of-file.html b/node_modules/pug/test/cases/mixin-at-end-of-file.html
deleted file mode 100644
index 495ca32..0000000
--- a/node_modules/pug/test/cases/mixin-at-end-of-file.html
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/node_modules/pug/test/cases/mixin-at-end-of-file.pug b/node_modules/pug/test/cases/mixin-at-end-of-file.pug
deleted file mode 100644
index 3d2faa1..0000000
--- a/node_modules/pug/test/cases/mixin-at-end-of-file.pug
+++ /dev/null
@@ -1,4 +0,0 @@
-include ./auxiliary/mixin-at-end-of-file.pug
-
-+slide()
- p some awesome content
diff --git a/node_modules/pug/test/cases/mixin-block-with-space.html b/node_modules/pug/test/cases/mixin-block-with-space.html
deleted file mode 100644
index 5f1fc02..0000000
--- a/node_modules/pug/test/cases/mixin-block-with-space.html
+++ /dev/null
@@ -1,3 +0,0 @@
-
-This text should appear
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/mixin-block-with-space.pug b/node_modules/pug/test/cases/mixin-block-with-space.pug
deleted file mode 100644
index 471aac8..0000000
--- a/node_modules/pug/test/cases/mixin-block-with-space.pug
+++ /dev/null
@@ -1,6 +0,0 @@
-mixin m(id)
- div
- block
-
-+m()
- | This text should appear
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/mixin-hoist.html b/node_modules/pug/test/cases/mixin-hoist.html
deleted file mode 100644
index 1755a30..0000000
--- a/node_modules/pug/test/cases/mixin-hoist.html
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
- Pug
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/mixin-hoist.pug b/node_modules/pug/test/cases/mixin-hoist.pug
deleted file mode 100644
index eb2c423..0000000
--- a/node_modules/pug/test/cases/mixin-hoist.pug
+++ /dev/null
@@ -1,7 +0,0 @@
-
-mixin foo()
- h1= title
-
-html
- body
- +foo
diff --git a/node_modules/pug/test/cases/mixin-via-include.html b/node_modules/pug/test/cases/mixin-via-include.html
deleted file mode 100644
index 8124337..0000000
--- a/node_modules/pug/test/cases/mixin-via-include.html
+++ /dev/null
@@ -1 +0,0 @@
-bar
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/mixin-via-include.pug b/node_modules/pug/test/cases/mixin-via-include.pug
deleted file mode 100644
index bb7b6d2..0000000
--- a/node_modules/pug/test/cases/mixin-via-include.pug
+++ /dev/null
@@ -1,5 +0,0 @@
-//- regression test for https://github.com/pugjs/pug/issues/1435
-
-include ../fixtures/mixin-include.pug
-
-+bang
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/mixin.attrs.html b/node_modules/pug/test/cases/mixin.attrs.html
deleted file mode 100644
index 2f2e0ef..0000000
--- a/node_modules/pug/test/cases/mixin.attrs.html
+++ /dev/null
@@ -1,32 +0,0 @@
-
- Hello World
-
-
-
Section 1
-
Some important content.
-
-
-
Section 2
-
Even more important content.
-
-
-
-
-
Section 3
-
Last content.
-
-
-
-
-
-
-
-
-work
-
-1
-2
-3
-4
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/mixin.attrs.pug b/node_modules/pug/test/cases/mixin.attrs.pug
deleted file mode 100644
index 82a46ff..0000000
--- a/node_modules/pug/test/cases/mixin.attrs.pug
+++ /dev/null
@@ -1,59 +0,0 @@
-mixin centered(title)
- div.centered(id=attributes.id)
- - if (title)
- h1(class=attributes.class)= title
- block
- - if (attributes.href)
- .footer
- a(href=attributes.href) Back
-
-mixin main(title)
- div.stretch
- +centered(title).highlight&attributes(attributes)
- block
-
-mixin bottom
- div.bottom&attributes(attributes)
- block
-
-body
- +centered#First Hello World
- +centered('Section 1')#Second
- p Some important content.
- +centered('Section 2')#Third.foo(href='menu.html', class='bar')
- p Even more important content.
- +main('Section 3')(href='#')
- p Last content.
- +bottom.foo(class='bar', name='end', id='Last', data-attr='baz')
- p Some final words.
- +bottom(class=['class1', 'class2'])
-
-mixin foo
- div.thing(attr1='foo', attr2='bar')&attributes(attributes)
-
-- var val = ''
-- var classes = ['foo', 'bar']
-+foo(attr3='baz' data-foo=val data-bar!=val class=classes).thunk
-
-//- Regression test for #1424
-mixin work_filmstrip_item(work)
- div&attributes(attributes)= work
-+work_filmstrip_item('work')("data-profile"='profile', "data-creator-name"='name')
-
-mixin my-mixin(arg1, arg2, arg3, arg4)
- p= arg1
- p= arg2
- p= arg3
- p= arg4
-
-+foo(
- attr3="qux"
- class="baz"
-)
-
-+my-mixin(
-'1',
- '2',
- '3',
- '4'
-)
diff --git a/node_modules/pug/test/cases/mixin.block-tag-behaviour.html b/node_modules/pug/test/cases/mixin.block-tag-behaviour.html
deleted file mode 100644
index 580dbe0..0000000
--- a/node_modules/pug/test/cases/mixin.block-tag-behaviour.html
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
- Foo
- I'm article foo
-
-
-
-
-
-
- Something
-
- I'm a much longer
- text-only article,
- but you can still
- inline html tags
- in me if you want.
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/mixin.block-tag-behaviour.pug b/node_modules/pug/test/cases/mixin.block-tag-behaviour.pug
deleted file mode 100644
index 1d2d2d3..0000000
--- a/node_modules/pug/test/cases/mixin.block-tag-behaviour.pug
+++ /dev/null
@@ -1,24 +0,0 @@
-
-mixin article(name)
- section.article
- h1= name
- block
-
-html
- body
- +article('Foo'): p I'm article foo
-
-mixin article(name)
- section.article
- h1= name
- p
- block
-
-html
- body
- +article('Something').
- I'm a much longer
- text-only article,
- but you can still
- inline html tags
- in me if you want.
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/mixin.blocks.html b/node_modules/pug/test/cases/mixin.blocks.html
deleted file mode 100644
index def5c6f..0000000
--- a/node_modules/pug/test/cases/mixin.blocks.html
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-123
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/mixin.blocks.pug b/node_modules/pug/test/cases/mixin.blocks.pug
deleted file mode 100644
index 30c9990..0000000
--- a/node_modules/pug/test/cases/mixin.blocks.pug
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-mixin form(method, action)
- form(method=method, action=action)
- - var csrf_token_from_somewhere = 'hey'
- input(type='hidden', name='_csrf', value=csrf_token_from_somewhere)
- block
-
-html
- body
- +form('GET', '/search')
- input(type='text', name='query', placeholder='Search')
- input(type='submit', value='Search')
-
-html
- body
- +form('POST', '/search')
- input(type='text', name='query', placeholder='Search')
- input(type='submit', value='Search')
-
-html
- body
- +form('POST', '/search')
-
-mixin bar()
- #bar
- block
-
-mixin foo()
- #foo
- +bar
- block
-
-+foo
- p one
- p two
- p three
-
-
-mixin baz
- #baz
- block
-
-+baz()= '123'
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/mixin.merge.html b/node_modules/pug/test/cases/mixin.merge.html
deleted file mode 100644
index e513d35..0000000
--- a/node_modules/pug/test/cases/mixin.merge.html
+++ /dev/null
@@ -1,34 +0,0 @@
-
- One
- Two
- Three
- Four
- One
- Two
- Three
- Four
- One
- Two
- Three
- Four
- One
- Two
- Three
- Four
- One
- Two
- Three
- Four
- One
- Two
- Three
- Four
- One
- Two
- Three
- Four
- One
- Two
- Three
- Four
-
diff --git a/node_modules/pug/test/cases/mixin.merge.pug b/node_modules/pug/test/cases/mixin.merge.pug
deleted file mode 100644
index f0d217d..0000000
--- a/node_modules/pug/test/cases/mixin.merge.pug
+++ /dev/null
@@ -1,15 +0,0 @@
-mixin foo
- p.bar&attributes(attributes) One
- p.baz.quux&attributes(attributes) Two
- p&attributes(attributes) Three
- p.bar&attributes(attributes)(class="baz") Four
-
-body
- +foo.hello
- +foo#world
- +foo.hello#world
- +foo.hello.world
- +foo(class="hello")
- +foo.hello(class="world")
- +foo
- +foo&attributes({class: "hello"})
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/mixins-unused.html b/node_modules/pug/test/cases/mixins-unused.html
deleted file mode 100644
index 5db7bc1..0000000
--- a/node_modules/pug/test/cases/mixins-unused.html
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/mixins-unused.pug b/node_modules/pug/test/cases/mixins-unused.pug
deleted file mode 100644
index b0af6cc..0000000
--- a/node_modules/pug/test/cases/mixins-unused.pug
+++ /dev/null
@@ -1,3 +0,0 @@
-mixin never-called
- .wtf This isn't something we ever want to output
-body
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/mixins.html b/node_modules/pug/test/cases/mixins.html
deleted file mode 100644
index a75b175..0000000
--- a/node_modules/pug/test/cases/mixins.html
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
Tobi
-
-
-
-
-
-
-This is interpolated
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/mixins.pug b/node_modules/pug/test/cases/mixins.pug
deleted file mode 100644
index 4e45671..0000000
--- a/node_modules/pug/test/cases/mixins.pug
+++ /dev/null
@@ -1,32 +0,0 @@
-mixin comment(title, str)
- .comment
- h2= title
- p.body= str
-
-
-mixin comment (title, str)
- .comment
- h2= title
- p.body= str
-
-#user
- h1 Tobi
- .comments
- +comment('This',
- (('is regular, javascript')))
-
-mixin list
- ul
- li foo
- li bar
- li baz
-
-body
- +list()
- + list()
-
-mixin foobar(str)
- div#interpolation= str + 'interpolated'
-
-- var suffix = "bar"
-+#{'foo' + suffix}('This is ')
diff --git a/node_modules/pug/test/cases/mixins.rest-args.html b/node_modules/pug/test/cases/mixins.rest-args.html
deleted file mode 100644
index 5b37365..0000000
--- a/node_modules/pug/test/cases/mixins.rest-args.html
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/node_modules/pug/test/cases/mixins.rest-args.pug b/node_modules/pug/test/cases/mixins.rest-args.pug
deleted file mode 100644
index 929a927..0000000
--- a/node_modules/pug/test/cases/mixins.rest-args.pug
+++ /dev/null
@@ -1,6 +0,0 @@
-mixin list(tag, ...items)
- #{tag}
- each item in items
- li= item
-
-+list('ul', 1, 2, 3, 4)
diff --git a/node_modules/pug/test/cases/namespaces.html b/node_modules/pug/test/cases/namespaces.html
deleted file mode 100644
index 90522ac..0000000
--- a/node_modules/pug/test/cases/namespaces.html
+++ /dev/null
@@ -1,2 +0,0 @@
-Something
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/namespaces.pug b/node_modules/pug/test/cases/namespaces.pug
deleted file mode 100644
index 0694677..0000000
--- a/node_modules/pug/test/cases/namespaces.pug
+++ /dev/null
@@ -1,2 +0,0 @@
-fb:user:role Something
-foo(fb:foo='bar')
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/nesting.html b/node_modules/pug/test/cases/nesting.html
deleted file mode 100644
index 56c15cb..0000000
--- a/node_modules/pug/test/cases/nesting.html
+++ /dev/null
@@ -1,11 +0,0 @@
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/nesting.pug b/node_modules/pug/test/cases/nesting.pug
deleted file mode 100644
index f8cab4d..0000000
--- a/node_modules/pug/test/cases/nesting.pug
+++ /dev/null
@@ -1,8 +0,0 @@
-ul
- li a
- li b
- li
- ul
- li c
- li d
- li e
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/pipeless-comments.html b/node_modules/pug/test/cases/pipeless-comments.html
deleted file mode 100644
index 5f9af83..0000000
--- a/node_modules/pug/test/cases/pipeless-comments.html
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/pipeless-comments.pug b/node_modules/pug/test/cases/pipeless-comments.pug
deleted file mode 100644
index 426e459..0000000
--- a/node_modules/pug/test/cases/pipeless-comments.pug
+++ /dev/null
@@ -1,4 +0,0 @@
-//
- .foo
- .bar
- .hey
diff --git a/node_modules/pug/test/cases/pipeless-filters.html b/node_modules/pug/test/cases/pipeless-filters.html
deleted file mode 100644
index 64e4cb7..0000000
--- a/node_modules/pug/test/cases/pipeless-filters.html
+++ /dev/null
@@ -1,2 +0,0 @@
-code sample
-
Heading
diff --git a/node_modules/pug/test/cases/pipeless-filters.pug b/node_modules/pug/test/cases/pipeless-filters.pug
deleted file mode 100644
index b24c25a..0000000
--- a/node_modules/pug/test/cases/pipeless-filters.pug
+++ /dev/null
@@ -1,4 +0,0 @@
-:markdown-it
- code sample
-
- # Heading
diff --git a/node_modules/pug/test/cases/pipeless-tag.html b/node_modules/pug/test/cases/pipeless-tag.html
deleted file mode 100644
index f6f8935..0000000
--- a/node_modules/pug/test/cases/pipeless-tag.html
+++ /dev/null
@@ -1,3 +0,0 @@
-
- what
-is going on
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/pipeless-tag.pug b/node_modules/pug/test/cases/pipeless-tag.pug
deleted file mode 100644
index d521da4..0000000
--- a/node_modules/pug/test/cases/pipeless-tag.pug
+++ /dev/null
@@ -1,3 +0,0 @@
-pre.
- what
- is #{'going'} #[| #{'on'}]
diff --git a/node_modules/pug/test/cases/pre.html b/node_modules/pug/test/cases/pre.html
deleted file mode 100644
index 33bab4e..0000000
--- a/node_modules/pug/test/cases/pre.html
+++ /dev/null
@@ -1,7 +0,0 @@
-foo
-bar
-baz
-
-foo
-bar
-baz
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/pre.pug b/node_modules/pug/test/cases/pre.pug
deleted file mode 100644
index 75673c5..0000000
--- a/node_modules/pug/test/cases/pre.pug
+++ /dev/null
@@ -1,10 +0,0 @@
-pre.
- foo
- bar
- baz
-
-pre
- code.
- foo
- bar
- baz
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/quotes.html b/node_modules/pug/test/cases/quotes.html
deleted file mode 100644
index 592b136..0000000
--- a/node_modules/pug/test/cases/quotes.html
+++ /dev/null
@@ -1,2 +0,0 @@
-"foo"
-'foo'
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/quotes.pug b/node_modules/pug/test/cases/quotes.pug
deleted file mode 100644
index 499c835..0000000
--- a/node_modules/pug/test/cases/quotes.pug
+++ /dev/null
@@ -1,2 +0,0 @@
-p "foo"
-p 'foo'
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/regression.1794.html b/node_modules/pug/test/cases/regression.1794.html
deleted file mode 100644
index b322cca..0000000
--- a/node_modules/pug/test/cases/regression.1794.html
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/regression.1794.pug b/node_modules/pug/test/cases/regression.1794.pug
deleted file mode 100644
index fb33c31..0000000
--- a/node_modules/pug/test/cases/regression.1794.pug
+++ /dev/null
@@ -1,4 +0,0 @@
-extends ./auxiliary/1794-extends.pug
-
-block content
- include ./auxiliary/1794-include.pug
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/regression.784.html b/node_modules/pug/test/cases/regression.784.html
deleted file mode 100644
index 933e986..0000000
--- a/node_modules/pug/test/cases/regression.784.html
+++ /dev/null
@@ -1 +0,0 @@
-google.com
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/regression.784.pug b/node_modules/pug/test/cases/regression.784.pug
deleted file mode 100644
index bab7540..0000000
--- a/node_modules/pug/test/cases/regression.784.pug
+++ /dev/null
@@ -1,2 +0,0 @@
-- var url = 'http://www.google.com'
-.url #{url.replace('http://', '').replace(/^www\./, '')}
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/script.whitespace.html b/node_modules/pug/test/cases/script.whitespace.html
deleted file mode 100644
index 45b7ced..0000000
--- a/node_modules/pug/test/cases/script.whitespace.html
+++ /dev/null
@@ -1,7 +0,0 @@
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/script.whitespace.pug b/node_modules/pug/test/cases/script.whitespace.pug
deleted file mode 100644
index e0afc3a..0000000
--- a/node_modules/pug/test/cases/script.whitespace.pug
+++ /dev/null
@@ -1,6 +0,0 @@
-script.
- if (foo) {
-
- bar();
-
- }
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/scripts.html b/node_modules/pug/test/cases/scripts.html
deleted file mode 100644
index e3dc48b..0000000
--- a/node_modules/pug/test/cases/scripts.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/scripts.non-js.html b/node_modules/pug/test/cases/scripts.non-js.html
deleted file mode 100644
index 9daff38..0000000
--- a/node_modules/pug/test/cases/scripts.non-js.html
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/scripts.non-js.pug b/node_modules/pug/test/cases/scripts.non-js.pug
deleted file mode 100644
index 9f9a408..0000000
--- a/node_modules/pug/test/cases/scripts.non-js.pug
+++ /dev/null
@@ -1,9 +0,0 @@
-script#user-template(type='text/template')
- #user
- h1 <%= user.name %>
- p <%= user.description %>
-
-script#user-template(type='text/template').
- if (foo) {
- bar();
- }
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/scripts.pug b/node_modules/pug/test/cases/scripts.pug
deleted file mode 100644
index d28887f..0000000
--- a/node_modules/pug/test/cases/scripts.pug
+++ /dev/null
@@ -1,8 +0,0 @@
-script.
- if (foo) {
- bar();
- }
-script!= 'foo()'
-script foo()
-script
-div
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/self-closing-html.html b/node_modules/pug/test/cases/self-closing-html.html
deleted file mode 100644
index 02a38d0..0000000
--- a/node_modules/pug/test/cases/self-closing-html.html
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/node_modules/pug/test/cases/self-closing-html.pug b/node_modules/pug/test/cases/self-closing-html.pug
deleted file mode 100644
index 094e42a..0000000
--- a/node_modules/pug/test/cases/self-closing-html.pug
+++ /dev/null
@@ -1,4 +0,0 @@
-doctype html
-html
- body
- br/
diff --git a/node_modules/pug/test/cases/single-period.html b/node_modules/pug/test/cases/single-period.html
deleted file mode 100644
index 430944c..0000000
--- a/node_modules/pug/test/cases/single-period.html
+++ /dev/null
@@ -1 +0,0 @@
-.
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/single-period.pug b/node_modules/pug/test/cases/single-period.pug
deleted file mode 100644
index f3d734c..0000000
--- a/node_modules/pug/test/cases/single-period.pug
+++ /dev/null
@@ -1 +0,0 @@
-span .
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/some-included.styl b/node_modules/pug/test/cases/some-included.styl
deleted file mode 100644
index 7458543..0000000
--- a/node_modules/pug/test/cases/some-included.styl
+++ /dev/null
@@ -1,2 +0,0 @@
-body
- padding 10px
diff --git a/node_modules/pug/test/cases/some.md b/node_modules/pug/test/cases/some.md
deleted file mode 100644
index 8ea3e54..0000000
--- a/node_modules/pug/test/cases/some.md
+++ /dev/null
@@ -1,3 +0,0 @@
-Just _some_ markdown **tests**.
-
-With new line.
diff --git a/node_modules/pug/test/cases/some.styl b/node_modules/pug/test/cases/some.styl
deleted file mode 100644
index f77222d..0000000
--- a/node_modules/pug/test/cases/some.styl
+++ /dev/null
@@ -1 +0,0 @@
-@import "some-included"
diff --git a/node_modules/pug/test/cases/source.html b/node_modules/pug/test/cases/source.html
deleted file mode 100644
index 1881c0f..0000000
--- a/node_modules/pug/test/cases/source.html
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/source.pug b/node_modules/pug/test/cases/source.pug
deleted file mode 100644
index db22b80..0000000
--- a/node_modules/pug/test/cases/source.pug
+++ /dev/null
@@ -1,4 +0,0 @@
-html
- audio(preload='auto', autobuffer, controls)
- source(src='foo')
- source(src='bar')
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/styles.html b/node_modules/pug/test/cases/styles.html
deleted file mode 100644
index 394953e..0000000
--- a/node_modules/pug/test/cases/styles.html
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/node_modules/pug/test/cases/styles.pug b/node_modules/pug/test/cases/styles.pug
deleted file mode 100644
index 9618353..0000000
--- a/node_modules/pug/test/cases/styles.pug
+++ /dev/null
@@ -1,19 +0,0 @@
-html
- head
- style.
- body {
- padding: 50px;
- }
- body
- div(style='color:red;background:green')
- div(style={color: 'red', background: 'green'})
- div&attributes({style: 'color:red;background:green'})
- div&attributes({style: {color: 'red', background: 'green'}})
- mixin div()
- div&attributes(attributes)
- +div(style='color:red;background:green')
- +div(style={color: 'red', background: 'green'})
- - var bg = 'green';
- div(style={color: 'red', background: bg})
- div&attributes({style: {color: 'red', background: bg}})
- +div(style={color: 'red', background: bg})
diff --git a/node_modules/pug/test/cases/tag.interpolation.html b/node_modules/pug/test/cases/tag.interpolation.html
deleted file mode 100644
index 9f2816c..0000000
--- a/node_modules/pug/test/cases/tag.interpolation.html
+++ /dev/null
@@ -1,9 +0,0 @@
-value
-value
-here
-
diff --git a/node_modules/pug/test/cases/tag.interpolation.pug b/node_modules/pug/test/cases/tag.interpolation.pug
deleted file mode 100644
index d923ddb..0000000
--- a/node_modules/pug/test/cases/tag.interpolation.pug
+++ /dev/null
@@ -1,22 +0,0 @@
-
-- var tag = 'p'
-- var foo = 'bar'
-
-#{tag} value
-#{tag}(foo='bar') value
-#{foo ? 'a' : 'li'}(something) here
-
-mixin item(icon)
- li
- if attributes.href
- a&attributes(attributes)
- img.icon(src=icon)
- block
- else
- span&attributes(attributes)
- img.icon(src=icon)
- block
-
-ul
- +item('contact') Contact
- +item(href='/contact') Contact
diff --git a/node_modules/pug/test/cases/tags.self-closing.html b/node_modules/pug/test/cases/tags.self-closing.html
deleted file mode 100644
index 4f0bc7b..0000000
--- a/node_modules/pug/test/cases/tags.self-closing.html
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
- /
- /
-
-
- /
- /
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/tags.self-closing.pug b/node_modules/pug/test/cases/tags.self-closing.pug
deleted file mode 100644
index 9207c32..0000000
--- a/node_modules/pug/test/cases/tags.self-closing.pug
+++ /dev/null
@@ -1,19 +0,0 @@
-
-body
- foo
- foo(bar='baz')
- foo/
- foo(bar='baz')/
- foo /
- foo(bar='baz') /
- #{'foo'}/
- #{'foo'}(bar='baz')/
- #{'foo'} /
- #{'foo'}(bar='baz') /
- //- can have a single space after them
- img
- //- can have lots of white space after them
- img
- #{
- 'foo'
- }/
diff --git a/node_modules/pug/test/cases/template.html b/node_modules/pug/test/cases/template.html
deleted file mode 100644
index 2054e05..0000000
--- a/node_modules/pug/test/cases/template.html
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/template.pug b/node_modules/pug/test/cases/template.pug
deleted file mode 100644
index 20e086b..0000000
--- a/node_modules/pug/test/cases/template.pug
+++ /dev/null
@@ -1,9 +0,0 @@
-script(type='text/x-template')
- article
- h2 {{title}}
- p {{description}}
-
-script(type='text/x-template').
- article
- h2 {{title}}
- p {{description}}
diff --git a/node_modules/pug/test/cases/text-block.html b/node_modules/pug/test/cases/text-block.html
deleted file mode 100644
index fae8caa..0000000
--- a/node_modules/pug/test/cases/text-block.html
+++ /dev/null
@@ -1,6 +0,0 @@
-Username:
-
-
-Password:
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/text-block.pug b/node_modules/pug/test/cases/text-block.pug
deleted file mode 100644
index a032fa7..0000000
--- a/node_modules/pug/test/cases/text-block.pug
+++ /dev/null
@@ -1,6 +0,0 @@
-
-label Username:
- input(type='text', name='user[name]')
-
-label Password:
- input(type='text', name='user[pass]')
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/text.html b/node_modules/pug/test/cases/text.html
deleted file mode 100644
index 0b0efb0..0000000
--- a/node_modules/pug/test/cases/text.html
+++ /dev/null
@@ -1,36 +0,0 @@
-
--- (selected) --
-
-
-
- foo
- bar
-
-
- baz
-
-
- foo
-
-
- bar
- baz
-
-
foo
-
-
-bar
-baz
-
-foo
- bar
- baz
-.
-foo
- bar
- baz
-.
- foo
- bar
- baz
-.
diff --git a/node_modules/pug/test/cases/text.pug b/node_modules/pug/test/cases/text.pug
deleted file mode 100644
index abb0e0b..0000000
--- a/node_modules/pug/test/cases/text.pug
+++ /dev/null
@@ -1,46 +0,0 @@
-option(value='') -- (selected) --
-
-p
-
-p.
-
-p
- | foo
- | bar
- |
- |
- | baz
-
-p.
- foo
-
-
- bar
- baz
-
-.
-
-.
- foo
-
-
- bar
- baz
-
-pre
- | foo
- | bar
- | baz
- | .
-
-pre.
- foo
- bar
- baz
- .
-
-.
- foo
- bar
- baz
- .
diff --git a/node_modules/pug/test/cases/utf8bom.html b/node_modules/pug/test/cases/utf8bom.html
deleted file mode 100644
index e3e18f0..0000000
--- a/node_modules/pug/test/cases/utf8bom.html
+++ /dev/null
@@ -1 +0,0 @@
-"foo"
diff --git a/node_modules/pug/test/cases/utf8bom.pug b/node_modules/pug/test/cases/utf8bom.pug
deleted file mode 100644
index 9a32814..0000000
--- a/node_modules/pug/test/cases/utf8bom.pug
+++ /dev/null
@@ -1 +0,0 @@
-p "foo"
diff --git a/node_modules/pug/test/cases/vars.html b/node_modules/pug/test/cases/vars.html
deleted file mode 100644
index e9b7590..0000000
--- a/node_modules/pug/test/cases/vars.html
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/vars.pug b/node_modules/pug/test/cases/vars.pug
deleted file mode 100644
index 46451a9..0000000
--- a/node_modules/pug/test/cases/vars.pug
+++ /dev/null
@@ -1,3 +0,0 @@
-- var foo = 'bar'
-- var list = [1,2,3]
-a(class=list, id=foo)
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/while.html b/node_modules/pug/test/cases/while.html
deleted file mode 100644
index dff7ff6..0000000
--- a/node_modules/pug/test/cases/while.html
+++ /dev/null
@@ -1,11 +0,0 @@
-
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
-
diff --git a/node_modules/pug/test/cases/while.pug b/node_modules/pug/test/cases/while.pug
deleted file mode 100644
index 059b54b..0000000
--- a/node_modules/pug/test/cases/while.pug
+++ /dev/null
@@ -1,5 +0,0 @@
-- var x = 1;
-ul
- while x < 10
- - x++;
- li= x
diff --git a/node_modules/pug/test/cases/xml.html b/node_modules/pug/test/cases/xml.html
deleted file mode 100644
index 5fd9f1a..0000000
--- a/node_modules/pug/test/cases/xml.html
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
- http://google.com
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/xml.pug b/node_modules/pug/test/cases/xml.pug
deleted file mode 100644
index 2b21fa4..0000000
--- a/node_modules/pug/test/cases/xml.pug
+++ /dev/null
@@ -1,3 +0,0 @@
-doctype xml
-category(term='some term')/
-link http://google.com
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/yield-before-conditional-head.html b/node_modules/pug/test/cases/yield-before-conditional-head.html
deleted file mode 100644
index 35ace64..0000000
--- a/node_modules/pug/test/cases/yield-before-conditional-head.html
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/yield-before-conditional-head.pug b/node_modules/pug/test/cases/yield-before-conditional-head.pug
deleted file mode 100644
index 8515406..0000000
--- a/node_modules/pug/test/cases/yield-before-conditional-head.pug
+++ /dev/null
@@ -1,5 +0,0 @@
-head
- script(src='/jquery.js')
- yield
- if false
- script(src='/jquery.ui.js')
diff --git a/node_modules/pug/test/cases/yield-before-conditional.html b/node_modules/pug/test/cases/yield-before-conditional.html
deleted file mode 100644
index 7a3f184..0000000
--- a/node_modules/pug/test/cases/yield-before-conditional.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/yield-before-conditional.pug b/node_modules/pug/test/cases/yield-before-conditional.pug
deleted file mode 100644
index 56b3385..0000000
--- a/node_modules/pug/test/cases/yield-before-conditional.pug
+++ /dev/null
@@ -1,5 +0,0 @@
-html
- body
- include yield-before-conditional-head.pug
- script(src='/caustic.js')
- script(src='/app.js')
diff --git a/node_modules/pug/test/cases/yield-head.html b/node_modules/pug/test/cases/yield-head.html
deleted file mode 100644
index 83f92b5..0000000
--- a/node_modules/pug/test/cases/yield-head.html
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/yield-head.pug b/node_modules/pug/test/cases/yield-head.pug
deleted file mode 100644
index 1428be6..0000000
--- a/node_modules/pug/test/cases/yield-head.pug
+++ /dev/null
@@ -1,4 +0,0 @@
-head
- script(src='/jquery.js')
- yield
- script(src='/jquery.ui.js')
diff --git a/node_modules/pug/test/cases/yield-title-head.html b/node_modules/pug/test/cases/yield-title-head.html
deleted file mode 100644
index ae62c27..0000000
--- a/node_modules/pug/test/cases/yield-title-head.html
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/yield-title-head.pug b/node_modules/pug/test/cases/yield-title-head.pug
deleted file mode 100644
index 5ec7d32..0000000
--- a/node_modules/pug/test/cases/yield-title-head.pug
+++ /dev/null
@@ -1,5 +0,0 @@
-head
- title
- yield
- script(src='/jquery.js')
- script(src='/jquery.ui.js')
diff --git a/node_modules/pug/test/cases/yield-title.html b/node_modules/pug/test/cases/yield-title.html
deleted file mode 100644
index 83ef1fb..0000000
--- a/node_modules/pug/test/cases/yield-title.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
- My Title
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/yield-title.pug b/node_modules/pug/test/cases/yield-title.pug
deleted file mode 100644
index 54b5f4d..0000000
--- a/node_modules/pug/test/cases/yield-title.pug
+++ /dev/null
@@ -1,4 +0,0 @@
-html
- body
- include yield-title-head.pug
- | My Title
diff --git a/node_modules/pug/test/cases/yield.html b/node_modules/pug/test/cases/yield.html
deleted file mode 100644
index b16459d..0000000
--- a/node_modules/pug/test/cases/yield.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/cases/yield.pug b/node_modules/pug/test/cases/yield.pug
deleted file mode 100644
index 7579241..0000000
--- a/node_modules/pug/test/cases/yield.pug
+++ /dev/null
@@ -1,5 +0,0 @@
-html
- body
- include yield-head.pug
- script(src='/caustic.js')
- script(src='/app.js')
diff --git a/node_modules/pug/test/dependencies/dependency1.pug b/node_modules/pug/test/dependencies/dependency1.pug
deleted file mode 100644
index 5c24ab5..0000000
--- a/node_modules/pug/test/dependencies/dependency1.pug
+++ /dev/null
@@ -1 +0,0 @@
-strong dependency1
diff --git a/node_modules/pug/test/dependencies/dependency2.pug b/node_modules/pug/test/dependencies/dependency2.pug
deleted file mode 100644
index 76c1170..0000000
--- a/node_modules/pug/test/dependencies/dependency2.pug
+++ /dev/null
@@ -1 +0,0 @@
-include dependency3.pug
diff --git a/node_modules/pug/test/dependencies/dependency3.pug b/node_modules/pug/test/dependencies/dependency3.pug
deleted file mode 100644
index 8cb467c..0000000
--- a/node_modules/pug/test/dependencies/dependency3.pug
+++ /dev/null
@@ -1 +0,0 @@
-strong dependency3
diff --git a/node_modules/pug/test/dependencies/extends1.pug b/node_modules/pug/test/dependencies/extends1.pug
deleted file mode 100644
index 9fe5a9e..0000000
--- a/node_modules/pug/test/dependencies/extends1.pug
+++ /dev/null
@@ -1 +0,0 @@
-extends dependency1.pug
diff --git a/node_modules/pug/test/dependencies/extends2.pug b/node_modules/pug/test/dependencies/extends2.pug
deleted file mode 100644
index 802810c..0000000
--- a/node_modules/pug/test/dependencies/extends2.pug
+++ /dev/null
@@ -1 +0,0 @@
-extends dependency2.pug
diff --git a/node_modules/pug/test/dependencies/include1.pug b/node_modules/pug/test/dependencies/include1.pug
deleted file mode 100644
index 923e9ea..0000000
--- a/node_modules/pug/test/dependencies/include1.pug
+++ /dev/null
@@ -1 +0,0 @@
-include dependency1.pug
diff --git a/node_modules/pug/test/dependencies/include2.pug b/node_modules/pug/test/dependencies/include2.pug
deleted file mode 100644
index 0f93cec..0000000
--- a/node_modules/pug/test/dependencies/include2.pug
+++ /dev/null
@@ -1 +0,0 @@
-include dependency2.pug
diff --git a/node_modules/pug/test/duplicate-block/__snapshots__/index.test.js.snap b/node_modules/pug/test/duplicate-block/__snapshots__/index.test.js.snap
deleted file mode 100644
index 3939e1e..0000000
--- a/node_modules/pug/test/duplicate-block/__snapshots__/index.test.js.snap
+++ /dev/null
@@ -1,3 +0,0 @@
-exports[`test layout with duplicate block 1`] = `"Hello World
"`;
-
-exports[`test layout with duplicate block 2`] = `"Hello World
"`;
diff --git a/node_modules/pug/test/duplicate-block/index.pug b/node_modules/pug/test/duplicate-block/index.pug
deleted file mode 100644
index 87a454b..0000000
--- a/node_modules/pug/test/duplicate-block/index.pug
+++ /dev/null
@@ -1,4 +0,0 @@
-extends ./layout-with-duplicate-block.pug
-
-block content
- div Hello World
diff --git a/node_modules/pug/test/duplicate-block/index.test.js b/node_modules/pug/test/duplicate-block/index.test.js
deleted file mode 100644
index 9916134..0000000
--- a/node_modules/pug/test/duplicate-block/index.test.js
+++ /dev/null
@@ -1,14 +0,0 @@
-const pug = require('../../');
-
-test('layout with duplicate block', () => {
- const outputWithAjax = pug.renderFile(
- __dirname + '/index.pug',
- {ajax: true}
- );
- const outputWithoutAjax = pug.renderFile(
- __dirname + '/index.pug',
- {ajax: false}
- );
- expect(outputWithAjax).toMatchSnapshot();
- expect(outputWithoutAjax).toMatchSnapshot();
-});
diff --git a/node_modules/pug/test/duplicate-block/layout-with-duplicate-block.pug b/node_modules/pug/test/duplicate-block/layout-with-duplicate-block.pug
deleted file mode 100644
index 41f1160..0000000
--- a/node_modules/pug/test/duplicate-block/layout-with-duplicate-block.pug
+++ /dev/null
@@ -1,8 +0,0 @@
-if ajax
- block content
-else
- doctype html
- html
- head
- body
- block content
diff --git a/node_modules/pug/test/error.reporting.test.js b/node_modules/pug/test/error.reporting.test.js
deleted file mode 100644
index dc6dc45..0000000
--- a/node_modules/pug/test/error.reporting.test.js
+++ /dev/null
@@ -1,193 +0,0 @@
-
-/**
- * Module dependencies.
- */
-
-var pug = require('../');
-var assert = require('assert');
-var fs = require('fs');
-
-// Shortcut
-
-function getError(str, options){
- try {
- pug.render(str, options);
- } catch (ex) {
- return ex;
- }
- throw new Error('Input was supposed to result in an error.');
-}
-function getFileError(name, options){
- try {
- pug.renderFile(name, options);
- } catch (ex) {
- return ex;
- }
- throw new Error('Input was supposed to result in an error.');
-}
-
-
-describe('error reporting', function () {
- describe('compile time errors', function () {
- describe('with no filename', function () {
- it('includes detail of where the error was thrown', function () {
- var err = getError('foo(')
- expect(err.message).toMatch(/Pug:1/);
- expect(err.message).toMatch(/foo\(/);
- });
- });
- describe('with a filename', function () {
- it('includes detail of where the error was thrown including the filename', function () {
- var err = getError('foo(', {filename: 'test.pug'})
- expect(err.message).toMatch(/test\.pug:1/);
- expect(err.message).toMatch(/foo\(/);
- });
- });
- describe('with a layout without block declaration (syntax)', function () {
- it('includes detail of where the error was thrown including the filename', function () {
- var err = getFileError(__dirname + '/fixtures/compile.with.layout.syntax.error.pug', {})
- expect(err.message).toMatch(/[\\\/]layout.syntax.error.pug:2/);
- expect(err.message).toMatch(/foo\(/);
- });
- });
- describe('with a layout without block declaration (locals)', function () {
- it('includes detail of where the error was thrown including the filename', function () {
- var err = getFileError(__dirname + '/fixtures/compile.with.layout.locals.error.pug', {})
- expect(err.message).toMatch(/[\\\/]layout.locals.error.pug:2/);
- expect(err.message).toMatch(/is not a function/);
- });
- });
- describe('with a include (syntax)', function () {
- it('includes detail of where the error was thrown including the filename', function () {
- var err = getFileError(__dirname + '/fixtures/compile.with.include.syntax.error.pug', {})
- expect(err.message).toMatch(/[\\\/]include.syntax.error.pug:2/);
- expect(err.message).toMatch(/foo\(/);
- });
- });
- describe('with a include (locals)', function () {
- it('includes detail of where the error was thrown including the filename', function () {
- var err = getFileError(__dirname + '/fixtures/compile.with.include.locals.error.pug', {})
- expect(err.message).toMatch(/[\\\/]include.locals.error.pug:2/);
- expect(err.message).toMatch(/foo\(/);
- });
- });
- describe('with a layout (without block) with an include (syntax)', function () {
- it('includes detail of where the error was thrown including the filename', function () {
- var err = getFileError(__dirname + '/fixtures/compile.with.layout.with.include.syntax.error.pug', {})
- expect(err.message).toMatch(/[\\\/]include.syntax.error.pug:2/);
- expect(err.message).toMatch(/foo\(/);
- });
- });
- describe('with a layout (without block) with an include (locals)', function () {
- it('includes detail of where the error was thrown including the filename', function () {
- var err = getFileError(__dirname + '/fixtures/compile.with.layout.with.include.locals.error.pug', {})
- expect(err.message).toMatch(/[\\\/]include.locals.error.pug:2/);
- expect(err.message).toMatch(/foo\(/);
- });
- });
- describe('block that is never actually used', function () {
- it('includes detail of where the error was thrown including the filename', function () {
- var err = getFileError(__dirname + '/fixtures/invalid-block-in-extends.pug', {});
- expect(err.message).toMatch(/invalid-block-in-extends.pug:6/);;
- expect(err.message).toMatch(/content/);;
- });
- });
- describe('Unexpected character', function () {
- it('includes details of where the error was thrown', function () {
- var err = getError('ul?', {});
- expect(err.message).toMatch(/unexpected text \"\?\"/);
- });
- });
- describe('Include filtered', function () {
- it('includes details of where the error was thrown', function () {
- var err = getError('include:verbatim()!', {});
- assert(err.message.indexOf('unexpected text "!"') !== -1);
- var err = getError('include:verbatim ', {});
- assert(err.message.indexOf('missing path for include') !== -1);
- });
- });
- describe('mixin block followed by a lot of blank lines', function () {
- it('reports the correct line number', function () {
- var err = getError('mixin test\n block\n\ndiv()Test');
- var line = /Pug\:(\d+)/.exec(err.message);
- assert(line, 'Line number must be included in error message');
- assert(line[1] === '4', 'The error should be reported on line 4, not line ' + line[1]);
- });
- });
- });
- describe('runtime errors', function () {
- describe('with no filename and `compileDebug` left undefined', function () {
- it('just reports the line number', function () {
- var sentinel = new Error('sentinel');
- var err = getError('-foo()', {foo: function () { throw sentinel; }})
- expect(err.message).toMatch(/on line 1/);
- });
- });
- describe('with no filename and `compileDebug` set to `true`', function () {
- it('includes detail of where the error was thrown', function () {
- var sentinel = new Error('sentinel');
- var err = getError('-foo()', {foo: function () { throw sentinel; }, compileDebug: true})
- expect(err.message).toMatch(/Pug:1/);
- expect(err.message).toMatch(/-foo\(\)/);
- });
- });
- describe('with a filename that does not correspond to a real file and `compileDebug` left undefined', function () {
- it('just reports the line number', function () {
- var sentinel = new Error('sentinel');
- var err = getError('-foo()', {foo: function () { throw sentinel; }, filename: 'fake.pug'})
- expect(err.message).toMatch(/on line 1/);
- });
- });
- describe('with a filename that corresponds to a real file and `compileDebug` left undefined', function () {
- it('includes detail of where the error was thrown including the filename', function () {
- var sentinel = new Error('sentinel');
- var path = __dirname + '/fixtures/runtime.error.pug'
- var err = getError(fs.readFileSync(path, 'utf8'), {foo: function () { throw sentinel; }, filename: path})
- expect(err.message).toMatch(/fixtures[\\\/]runtime\.error\.pug:1/);
- expect(err.message).toMatch(/-foo\(\)/);
- });
- });
- describe('in a mixin', function () {
- it('includes detail of where the error was thrown including the filename', function () {
- var err = getFileError(__dirname + '/fixtures/runtime.with.mixin.error.pug', {})
- expect(err.message).toMatch(/mixin.error.pug:2/);
- expect(err.message).toMatch(/Cannot read property 'length' of null/);
- });
- });
- describe('in a layout', function () {
- it('includes detail of where the error was thrown including the filename', function () {
- var err = getFileError(__dirname + '/fixtures/runtime.layout.error.pug', {})
- expect(err.message).toMatch(/layout.with.runtime.error.pug:3/);
- expect(err.message).toMatch(/Cannot read property 'length' of undefined/);
- });
- });
- });
- describe('deprecated features', function () {
- it('warns about element-with-multiple-attributes', function () {
- var consoleWarn = console.warn;
- var log = '';
- console.warn = function (str) {
- log += str;
- };
- var res = pug.renderFile(__dirname + '/fixtures/element-with-multiple-attributes.pug');
- console.warn = consoleWarn;
- expect(log).toMatch(/element-with-multiple-attributes.pug, line 1:/);;
- expect(log).toMatch(/You should not have pug tags with multiple attributes/);;
- expect(res).toBe('
');
- });
- });
- describe('if you throw something that isn\'t an error', function () {
- it('just rethrows without modification', function () {
- var err = getError('- throw "foo"');
- expect(err).toBe('foo');
- });
- });
- describe('import without a filename for a basedir', function () {
- it('throws an error', function () {
- var err = getError('include foo.pug');
- expect(err.message).toMatch(/the "filename" option is required to use/);;
- var err = getError('include /foo.pug');
- expect(err.message).toMatch(/the "basedir" option is required to use/);;
- })
- });
-});
diff --git a/node_modules/pug/test/examples.test.js b/node_modules/pug/test/examples.test.js
deleted file mode 100644
index 0537f8d..0000000
--- a/node_modules/pug/test/examples.test.js
+++ /dev/null
@@ -1,23 +0,0 @@
-'use strict';
-
-var fs = require('fs');
-var pug = require('../');
-
-describe('examples', function () {
- fs.readdirSync(__dirname + '/../examples').forEach(function (example) {
- if (/\.js$/.test(example)) {
- it(example + ' does not throw any error', function () {
- var log = console.log;
- var err = console.error;
- console.log = function () {};
- console.error = function () {};
- try {
- require('../examples/' + example);
- } finally {
- console.log = log;
- console.error = err;
- }
- });
- }
- });
-});
diff --git a/node_modules/pug/test/extends-not-top-level/default.pug b/node_modules/pug/test/extends-not-top-level/default.pug
deleted file mode 100644
index 94ae27e..0000000
--- a/node_modules/pug/test/extends-not-top-level/default.pug
+++ /dev/null
@@ -1,2 +0,0 @@
-body
- block content
diff --git a/node_modules/pug/test/extends-not-top-level/duplicate.pug b/node_modules/pug/test/extends-not-top-level/duplicate.pug
deleted file mode 100644
index 3786c4c..0000000
--- a/node_modules/pug/test/extends-not-top-level/duplicate.pug
+++ /dev/null
@@ -1,2 +0,0 @@
-extends default
-extends default
diff --git a/node_modules/pug/test/extends-not-top-level/index.pug b/node_modules/pug/test/extends-not-top-level/index.pug
deleted file mode 100644
index 8064ff4..0000000
--- a/node_modules/pug/test/extends-not-top-level/index.pug
+++ /dev/null
@@ -1,10 +0,0 @@
-mixin content
- if bar
- extends default
- block content
- block
- else
- block
-
-+content
- h1 Hello!
diff --git a/node_modules/pug/test/extends-not-top-level/index.test.js b/node_modules/pug/test/extends-not-top-level/index.test.js
deleted file mode 100644
index 43877a0..0000000
--- a/node_modules/pug/test/extends-not-top-level/index.test.js
+++ /dev/null
@@ -1,19 +0,0 @@
-const pug = require('../../');
-
-// regression test for #2404
-
-test('extends not top level should throw an error', () => {
- expect(
- () => pug.compileFile(
- __dirname + '/index.pug'
- )
- ).toThrow('Declaration of template inheritance ("extends") should be the first thing in the file. There can only be one extends statement per file.');
-});
-
-test('duplicate extends should throw an error', () => {
- expect(
- () => pug.compileFile(
- __dirname + '/duplicate.pug'
- )
- ).toThrow('Declaration of template inheritance ("extends") should be the first thing in the file. There can only be one extends statement per file.');
-});
diff --git a/node_modules/pug/test/fixtures/append-without-block/app-layout.pug b/node_modules/pug/test/fixtures/append-without-block/app-layout.pug
deleted file mode 100644
index 1b55872..0000000
--- a/node_modules/pug/test/fixtures/append-without-block/app-layout.pug
+++ /dev/null
@@ -1,5 +0,0 @@
-
-extends layout.pug
-
-append head
- script(src='app.js')
diff --git a/node_modules/pug/test/fixtures/append-without-block/layout.pug b/node_modules/pug/test/fixtures/append-without-block/layout.pug
deleted file mode 100644
index 671b3c9..0000000
--- a/node_modules/pug/test/fixtures/append-without-block/layout.pug
+++ /dev/null
@@ -1,7 +0,0 @@
-
-html
- block head
- script(src='vendor/jquery.js')
- script(src='vendor/caustic.js')
- body
- block body
\ No newline at end of file
diff --git a/node_modules/pug/test/fixtures/append-without-block/page.pug b/node_modules/pug/test/fixtures/append-without-block/page.pug
deleted file mode 100644
index e607ae7..0000000
--- a/node_modules/pug/test/fixtures/append-without-block/page.pug
+++ /dev/null
@@ -1,6 +0,0 @@
-
-extends app-layout.pug
-
-append head
- script(src='foo.js')
- script(src='bar.js')
diff --git a/node_modules/pug/test/fixtures/append/app-layout.pug b/node_modules/pug/test/fixtures/append/app-layout.pug
deleted file mode 100644
index 48bf886..0000000
--- a/node_modules/pug/test/fixtures/append/app-layout.pug
+++ /dev/null
@@ -1,5 +0,0 @@
-
-extends layout
-
-block append head
- script(src='app.js')
\ No newline at end of file
diff --git a/node_modules/pug/test/fixtures/append/layout.pug b/node_modules/pug/test/fixtures/append/layout.pug
deleted file mode 100644
index 671b3c9..0000000
--- a/node_modules/pug/test/fixtures/append/layout.pug
+++ /dev/null
@@ -1,7 +0,0 @@
-
-html
- block head
- script(src='vendor/jquery.js')
- script(src='vendor/caustic.js')
- body
- block body
\ No newline at end of file
diff --git a/node_modules/pug/test/fixtures/append/page.html b/node_modules/pug/test/fixtures/append/page.html
deleted file mode 100644
index bc5e126..0000000
--- a/node_modules/pug/test/fixtures/append/page.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/node_modules/pug/test/fixtures/append/page.pug b/node_modules/pug/test/fixtures/append/page.pug
deleted file mode 100644
index 1ae9909..0000000
--- a/node_modules/pug/test/fixtures/append/page.pug
+++ /dev/null
@@ -1,6 +0,0 @@
-
-extends app-layout
-
-block append head
- script(src='foo.js')
- script(src='bar.js')
diff --git a/node_modules/pug/test/fixtures/compile.with.include.locals.error.pug b/node_modules/pug/test/fixtures/compile.with.include.locals.error.pug
deleted file mode 100644
index 0cabc64..0000000
--- a/node_modules/pug/test/fixtures/compile.with.include.locals.error.pug
+++ /dev/null
@@ -1 +0,0 @@
-include include.locals.error.pug
\ No newline at end of file
diff --git a/node_modules/pug/test/fixtures/compile.with.include.syntax.error.pug b/node_modules/pug/test/fixtures/compile.with.include.syntax.error.pug
deleted file mode 100644
index 3ab355a..0000000
--- a/node_modules/pug/test/fixtures/compile.with.include.syntax.error.pug
+++ /dev/null
@@ -1 +0,0 @@
-include include.syntax.error.pug
\ No newline at end of file
diff --git a/node_modules/pug/test/fixtures/compile.with.layout.locals.error.pug b/node_modules/pug/test/fixtures/compile.with.layout.locals.error.pug
deleted file mode 100644
index d6df843..0000000
--- a/node_modules/pug/test/fixtures/compile.with.layout.locals.error.pug
+++ /dev/null
@@ -1 +0,0 @@
-extends layout.locals.error.pug
\ No newline at end of file
diff --git a/node_modules/pug/test/fixtures/compile.with.layout.syntax.error.pug b/node_modules/pug/test/fixtures/compile.with.layout.syntax.error.pug
deleted file mode 100644
index 616d7e8..0000000
--- a/node_modules/pug/test/fixtures/compile.with.layout.syntax.error.pug
+++ /dev/null
@@ -1 +0,0 @@
-extends layout.syntax.error.pug
\ No newline at end of file
diff --git a/node_modules/pug/test/fixtures/compile.with.layout.with.include.locals.error.pug b/node_modules/pug/test/fixtures/compile.with.layout.with.include.locals.error.pug
deleted file mode 100644
index cd5ebb1..0000000
--- a/node_modules/pug/test/fixtures/compile.with.layout.with.include.locals.error.pug
+++ /dev/null
@@ -1 +0,0 @@
-extends compile.with.include.locals.error.pug
\ No newline at end of file
diff --git a/node_modules/pug/test/fixtures/compile.with.layout.with.include.syntax.error.pug b/node_modules/pug/test/fixtures/compile.with.layout.with.include.syntax.error.pug
deleted file mode 100644
index a6221b3..0000000
--- a/node_modules/pug/test/fixtures/compile.with.layout.with.include.syntax.error.pug
+++ /dev/null
@@ -1 +0,0 @@
-extends compile.with.include.syntax.error.pug
\ No newline at end of file
diff --git a/node_modules/pug/test/fixtures/element-with-multiple-attributes.pug b/node_modules/pug/test/fixtures/element-with-multiple-attributes.pug
deleted file mode 100644
index e76f560..0000000
--- a/node_modules/pug/test/fixtures/element-with-multiple-attributes.pug
+++ /dev/null
@@ -1 +0,0 @@
-div(attr='val')(foo='bar')
\ No newline at end of file
diff --git a/node_modules/pug/test/fixtures/include.locals.error.pug b/node_modules/pug/test/fixtures/include.locals.error.pug
deleted file mode 100644
index bd604a9..0000000
--- a/node_modules/pug/test/fixtures/include.locals.error.pug
+++ /dev/null
@@ -1,2 +0,0 @@
-
-= foo()
\ No newline at end of file
diff --git a/node_modules/pug/test/fixtures/include.syntax.error.pug b/node_modules/pug/test/fixtures/include.syntax.error.pug
deleted file mode 100644
index 8b0542a..0000000
--- a/node_modules/pug/test/fixtures/include.syntax.error.pug
+++ /dev/null
@@ -1,2 +0,0 @@
-
-= foo(
\ No newline at end of file
diff --git a/node_modules/pug/test/fixtures/invalid-block-in-extends.pug b/node_modules/pug/test/fixtures/invalid-block-in-extends.pug
deleted file mode 100644
index 981321a..0000000
--- a/node_modules/pug/test/fixtures/invalid-block-in-extends.pug
+++ /dev/null
@@ -1,7 +0,0 @@
-extends ./layout.pug
-
-block title
- title My Article
-
-block contents
- // oops, that's not a block
\ No newline at end of file
diff --git a/node_modules/pug/test/fixtures/issue-1593/include-layout.pug b/node_modules/pug/test/fixtures/issue-1593/include-layout.pug
deleted file mode 100644
index 224225f..0000000
--- a/node_modules/pug/test/fixtures/issue-1593/include-layout.pug
+++ /dev/null
@@ -1,2 +0,0 @@
-.included-layout
- block include-body
diff --git a/node_modules/pug/test/fixtures/issue-1593/include.pug b/node_modules/pug/test/fixtures/issue-1593/include.pug
deleted file mode 100644
index 2e33e5b..0000000
--- a/node_modules/pug/test/fixtures/issue-1593/include.pug
+++ /dev/null
@@ -1,4 +0,0 @@
-extends ./include-layout.pug
-
-block include-body
- .include-body
diff --git a/node_modules/pug/test/fixtures/issue-1593/index.pug b/node_modules/pug/test/fixtures/issue-1593/index.pug
deleted file mode 100644
index 5346ac9..0000000
--- a/node_modules/pug/test/fixtures/issue-1593/index.pug
+++ /dev/null
@@ -1,7 +0,0 @@
-extends ./layout.pug
-
-block body-a
- .body-a
-block body-b
- .body-b
- include ./include.pug
diff --git a/node_modules/pug/test/fixtures/issue-1593/layout.pug b/node_modules/pug/test/fixtures/issue-1593/layout.pug
deleted file mode 100644
index a235db7..0000000
--- a/node_modules/pug/test/fixtures/issue-1593/layout.pug
+++ /dev/null
@@ -1,3 +0,0 @@
-.layout-body
- block body-a
- block body-b
diff --git a/node_modules/pug/test/fixtures/layout.locals.error.pug b/node_modules/pug/test/fixtures/layout.locals.error.pug
deleted file mode 100644
index bd604a9..0000000
--- a/node_modules/pug/test/fixtures/layout.locals.error.pug
+++ /dev/null
@@ -1,2 +0,0 @@
-
-= foo()
\ No newline at end of file
diff --git a/node_modules/pug/test/fixtures/layout.pug b/node_modules/pug/test/fixtures/layout.pug
deleted file mode 100644
index 87518e5..0000000
--- a/node_modules/pug/test/fixtures/layout.pug
+++ /dev/null
@@ -1,6 +0,0 @@
-doctype html
-html
- head
- block title
- body
- block body
\ No newline at end of file
diff --git a/node_modules/pug/test/fixtures/layout.syntax.error.pug b/node_modules/pug/test/fixtures/layout.syntax.error.pug
deleted file mode 100644
index 8b0542a..0000000
--- a/node_modules/pug/test/fixtures/layout.syntax.error.pug
+++ /dev/null
@@ -1,2 +0,0 @@
-
-= foo(
\ No newline at end of file
diff --git a/node_modules/pug/test/fixtures/layout.with.runtime.error.pug b/node_modules/pug/test/fixtures/layout.with.runtime.error.pug
deleted file mode 100644
index 73d3a0d..0000000
--- a/node_modules/pug/test/fixtures/layout.with.runtime.error.pug
+++ /dev/null
@@ -1,5 +0,0 @@
-html
- body
- = foo.length
- block content
-
diff --git a/node_modules/pug/test/fixtures/mixin-include.pug b/node_modules/pug/test/fixtures/mixin-include.pug
deleted file mode 100644
index 491fc70..0000000
--- a/node_modules/pug/test/fixtures/mixin-include.pug
+++ /dev/null
@@ -1,5 +0,0 @@
-mixin bang
- +foo
-
-mixin foo
- p bar
\ No newline at end of file
diff --git a/node_modules/pug/test/fixtures/mixin.error.pug b/node_modules/pug/test/fixtures/mixin.error.pug
deleted file mode 100644
index 5a4fdf4..0000000
--- a/node_modules/pug/test/fixtures/mixin.error.pug
+++ /dev/null
@@ -1,2 +0,0 @@
-mixin mixin-with-error(foo)
- - foo.length
diff --git a/node_modules/pug/test/fixtures/multi-append-prepend-block/redefine.pug b/node_modules/pug/test/fixtures/multi-append-prepend-block/redefine.pug
deleted file mode 100644
index abc178e..0000000
--- a/node_modules/pug/test/fixtures/multi-append-prepend-block/redefine.pug
+++ /dev/null
@@ -1,5 +0,0 @@
-extends root.pug
-
-block content
- .content
- | Defined content
diff --git a/node_modules/pug/test/fixtures/multi-append-prepend-block/root.pug b/node_modules/pug/test/fixtures/multi-append-prepend-block/root.pug
deleted file mode 100644
index 8e3334a..0000000
--- a/node_modules/pug/test/fixtures/multi-append-prepend-block/root.pug
+++ /dev/null
@@ -1,5 +0,0 @@
-block content
- | default content
-
-block head
- script(src='/app.js')
\ No newline at end of file
diff --git a/node_modules/pug/test/fixtures/perf.pug b/node_modules/pug/test/fixtures/perf.pug
deleted file mode 100644
index 9aa454b..0000000
--- a/node_modules/pug/test/fixtures/perf.pug
+++ /dev/null
@@ -1,32 +0,0 @@
-.data
- ol.sortable#contents
- each item in report
- if (!item.parent)
- div
- li.chapter(data-ref= item.id)
- a(href='/admin/report/detail/' + item.id)
- = item.name
- - var chp = item.id
- ol.sortable
- each item in report
- if (item.parent === chp && item.type === 'section')
- div
- li.section(data-ref= item.id)
- a(href='/admin/report/detail/' + item.id)
- = item.name
- - var sec = item.id
- ol.sortable
- each item in report
- if (item.parent === sec && item.type === 'page')
- div
- li.page(data-ref= item.id)
- a(href='/admin/report/detail/' + item.id)
- = item.name
- - var page = item.id
- ol.sortable
- each item in report
- if (item.parent === page && item.type === 'subpage')
- div
- li.subpage(data-ref= item.id)
- a(href='/admin/report/detail/' + item.id)
- = item.name
\ No newline at end of file
diff --git a/node_modules/pug/test/fixtures/prepend-without-block/app-layout.pug b/node_modules/pug/test/fixtures/prepend-without-block/app-layout.pug
deleted file mode 100644
index 53f89ba..0000000
--- a/node_modules/pug/test/fixtures/prepend-without-block/app-layout.pug
+++ /dev/null
@@ -1,5 +0,0 @@
-
-extends layout.pug
-
-prepend head
- script(src='app.js')
diff --git a/node_modules/pug/test/fixtures/prepend-without-block/layout.pug b/node_modules/pug/test/fixtures/prepend-without-block/layout.pug
deleted file mode 100644
index 671b3c9..0000000
--- a/node_modules/pug/test/fixtures/prepend-without-block/layout.pug
+++ /dev/null
@@ -1,7 +0,0 @@
-
-html
- block head
- script(src='vendor/jquery.js')
- script(src='vendor/caustic.js')
- body
- block body
\ No newline at end of file
diff --git a/node_modules/pug/test/fixtures/prepend-without-block/page.html b/node_modules/pug/test/fixtures/prepend-without-block/page.html
deleted file mode 100644
index 8753a42..0000000
--- a/node_modules/pug/test/fixtures/prepend-without-block/page.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/node_modules/pug/test/fixtures/prepend-without-block/page.pug b/node_modules/pug/test/fixtures/prepend-without-block/page.pug
deleted file mode 100644
index 6b9bb01..0000000
--- a/node_modules/pug/test/fixtures/prepend-without-block/page.pug
+++ /dev/null
@@ -1,6 +0,0 @@
-
-extends app-layout.pug
-
-prepend head
- script(src='foo.js')
- script(src='bar.js')
diff --git a/node_modules/pug/test/fixtures/prepend/app-layout.pug b/node_modules/pug/test/fixtures/prepend/app-layout.pug
deleted file mode 100644
index 7040eec..0000000
--- a/node_modules/pug/test/fixtures/prepend/app-layout.pug
+++ /dev/null
@@ -1,5 +0,0 @@
-
-extends layout.pug
-
-block prepend head
- script(src='app.js')
diff --git a/node_modules/pug/test/fixtures/prepend/layout.pug b/node_modules/pug/test/fixtures/prepend/layout.pug
deleted file mode 100644
index 671b3c9..0000000
--- a/node_modules/pug/test/fixtures/prepend/layout.pug
+++ /dev/null
@@ -1,7 +0,0 @@
-
-html
- block head
- script(src='vendor/jquery.js')
- script(src='vendor/caustic.js')
- body
- block body
\ No newline at end of file
diff --git a/node_modules/pug/test/fixtures/prepend/page.html b/node_modules/pug/test/fixtures/prepend/page.html
deleted file mode 100644
index 8753a42..0000000
--- a/node_modules/pug/test/fixtures/prepend/page.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/node_modules/pug/test/fixtures/prepend/page.pug b/node_modules/pug/test/fixtures/prepend/page.pug
deleted file mode 100644
index c2a91c9..0000000
--- a/node_modules/pug/test/fixtures/prepend/page.pug
+++ /dev/null
@@ -1,6 +0,0 @@
-
-extends app-layout.pug
-
-block prepend head
- script(src='foo.js')
- script(src='bar.js')
diff --git a/node_modules/pug/test/fixtures/runtime.error.pug b/node_modules/pug/test/fixtures/runtime.error.pug
deleted file mode 100644
index 27794a4..0000000
--- a/node_modules/pug/test/fixtures/runtime.error.pug
+++ /dev/null
@@ -1 +0,0 @@
--foo()
\ No newline at end of file
diff --git a/node_modules/pug/test/fixtures/runtime.layout.error.pug b/node_modules/pug/test/fixtures/runtime.layout.error.pug
deleted file mode 100644
index fc66a78..0000000
--- a/node_modules/pug/test/fixtures/runtime.layout.error.pug
+++ /dev/null
@@ -1,3 +0,0 @@
-extends layout.with.runtime.error.pug
-block content
- | some content
diff --git a/node_modules/pug/test/fixtures/runtime.with.mixin.error.pug b/node_modules/pug/test/fixtures/runtime.with.mixin.error.pug
deleted file mode 100644
index 4226433..0000000
--- a/node_modules/pug/test/fixtures/runtime.with.mixin.error.pug
+++ /dev/null
@@ -1,3 +0,0 @@
-include mixin.error.pug
-
-+mixin-with-error(null)
diff --git a/node_modules/pug/test/fixtures/scripts.pug b/node_modules/pug/test/fixtures/scripts.pug
deleted file mode 100644
index 30fabcf..0000000
--- a/node_modules/pug/test/fixtures/scripts.pug
+++ /dev/null
@@ -1,2 +0,0 @@
-script(src='/jquery.js')
-script(src='/caustic.js')
\ No newline at end of file
diff --git a/node_modules/pug/test/output-es2015/attr.html b/node_modules/pug/test/output-es2015/attr.html
deleted file mode 100644
index 25c479a..0000000
--- a/node_modules/pug/test/output-es2015/attr.html
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output-es2015/attr.js b/node_modules/pug/test/output-es2015/attr.js
deleted file mode 100644
index e7cace8..0000000
--- a/node_modules/pug/test/output-es2015/attr.js
+++ /dev/null
@@ -1,56 +0,0 @@
-function pug_attr(t, e, n, f) {
- return !1 !== e && null != e && (e || "class" !== t && "style" !== t) ? !0 === e ? " " + (f ? t : t + '="' + t + '"') : ("function" == typeof e.toJSON && (e = e.toJSON()),
- "string" == typeof e || (e = JSON.stringify(e), n || -1 === e.indexOf('"')) ? (n && (e = pug_escape(e)),
- " " + t + '="' + e + '"') : " " + t + "='" + e.replace(/'/g, "'") + "'") : "";
-}
-
-function pug_escape(e) {
- var a = "" + e, t = pug_match_html.exec(a);
- if (!t) return e;
- var r, c, n, s = "";
- for (r = t.index, c = 0; r < a.length; r++) {
- switch (a.charCodeAt(r)) {
- case 34:
- n = """;
- break;
-
- case 38:
- n = "&";
- break;
-
- case 60:
- n = "<";
- break;
-
- case 62:
- n = ">";
- break;
-
- default:
- continue;
- }
- c !== r && (s += a.substring(c, r)), c = r + 1, s += n;
- }
- return c !== r ? s + a.substring(c, r) : s;
-}
-
-var pug_has_own_property = Object.prototype.hasOwnProperty;
-
-var pug_match_html = /["&<>]/;
-
-function pug_style(r) {
- if (!r) return "";
- if ("object" == typeof r) {
- var t = "";
- for (var e in r) pug_has_own_property.call(r, e) && (t = t + e + ":" + r[e] + ";");
- return t;
- }
- return r += "", ";" !== r[r.length - 1] ? r + ";" : r;
-}
-
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- var avatar = "219b77f9d21de75e81851b6b886057c7";
- pug_html = pug_html + "
";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/attrs-data.html b/node_modules/pug/test/output/attrs-data.html
deleted file mode 100644
index 58f1406..0000000
--- a/node_modules/pug/test/output/attrs-data.html
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/attrs-data.js b/node_modules/pug/test/output/attrs-data.js
deleted file mode 100644
index 1e2df0d..0000000
--- a/node_modules/pug/test/output/attrs-data.js
+++ /dev/null
@@ -1,49 +0,0 @@
-function pug_attr(t, e, n, f) {
- return !1 !== e && null != e && (e || "class" !== t && "style" !== t) ? !0 === e ? " " + (f ? t : t + '="' + t + '"') : ("function" == typeof e.toJSON && (e = e.toJSON()),
- "string" == typeof e || (e = JSON.stringify(e), n || -1 === e.indexOf('"')) ? (n && (e = pug_escape(e)),
- " " + t + '="' + e + '"') : " " + t + "='" + e.replace(/'/g, "'") + "'") : "";
-}
-
-function pug_escape(e) {
- var a = "" + e, t = pug_match_html.exec(a);
- if (!t) return e;
- var r, c, n, s = "";
- for (r = t.index, c = 0; r < a.length; r++) {
- switch (a.charCodeAt(r)) {
- case 34:
- n = """;
- break;
-
- case 38:
- n = "&";
- break;
-
- case 60:
- n = "<";
- break;
-
- case 62:
- n = ">";
- break;
-
- default:
- continue;
- }
- c !== r && (s += a.substring(c, r)), c = r + 1, s += n;
- }
- return c !== r ? s + a.substring(c, r) : s;
-}
-
-var pug_match_html = /["&<>]/;
-
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- var locals_for_with = locals || {};
- (function(Date) {
- var user = {
- name: "tobi"
- };
- pug_html = pug_html + " ";
- }).call(this, "Date" in locals_for_with ? locals_for_with.Date : typeof Date !== "undefined" ? Date : undefined);
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/attrs.colon.html b/node_modules/pug/test/output/attrs.colon.html
deleted file mode 100644
index e183fda..0000000
--- a/node_modules/pug/test/output/attrs.colon.html
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
Click Me!
\ No newline at end of file
diff --git a/node_modules/pug/test/output/attrs.colon.js b/node_modules/pug/test/output/attrs.colon.js
deleted file mode 100644
index 89d1c83..0000000
--- a/node_modules/pug/test/output/attrs.colon.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + '
Click Me! ';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/attrs.html b/node_modules/pug/test/output/attrs.html
deleted file mode 100644
index 132626c..0000000
--- a/node_modules/pug/test/output/attrs.html
+++ /dev/null
@@ -1,20 +0,0 @@
-contact save
-
- Foo
- Bar
-
-contact save
-
- Foo
- Bar
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/attrs.js b/node_modules/pug/test/output/attrs.js
deleted file mode 100644
index b5d0df8..0000000
--- a/node_modules/pug/test/output/attrs.js
+++ /dev/null
@@ -1,93 +0,0 @@
-function pug_attr(t, e, n, f) {
- return !1 !== e && null != e && (e || "class" !== t && "style" !== t) ? !0 === e ? " " + (f ? t : t + '="' + t + '"') : ("function" == typeof e.toJSON && (e = e.toJSON()),
- "string" == typeof e || (e = JSON.stringify(e), n || -1 === e.indexOf('"')) ? (n && (e = pug_escape(e)),
- " " + t + '="' + e + '"') : " " + t + "='" + e.replace(/'/g, "'") + "'") : "";
-}
-
-function pug_attrs(t, r) {
- var a = "";
- for (var s in t) if (pug_has_own_property.call(t, s)) {
- var u = t[s];
- if ("class" === s) {
- u = pug_classes(u), a = pug_attr(s, u, !1, r) + a;
- continue;
- }
- "style" === s && (u = pug_style(u)), a += pug_attr(s, u, !1, r);
- }
- return a;
-}
-
-function pug_classes(s, r) {
- return Array.isArray(s) ? pug_classes_array(s, r) : s && "object" == typeof s ? pug_classes_object(s) : s || "";
-}
-
-function pug_classes_array(r, a) {
- for (var s, e = "", u = "", c = Array.isArray(a), g = 0; g < r.length; g++) (s = pug_classes(r[g])) && (c && a[g] && (s = pug_escape(s)),
- e = e + u + s, u = " ");
- return e;
-}
-
-function pug_classes_object(r) {
- var a = "", n = "";
- for (var o in r) o && r[o] && pug_has_own_property.call(r, o) && (a = a + n + o,
- n = " ");
- return a;
-}
-
-function pug_escape(e) {
- var a = "" + e, t = pug_match_html.exec(a);
- if (!t) return e;
- var r, c, n, s = "";
- for (r = t.index, c = 0; r < a.length; r++) {
- switch (a.charCodeAt(r)) {
- case 34:
- n = """;
- break;
-
- case 38:
- n = "&";
- break;
-
- case 60:
- n = "<";
- break;
-
- case 62:
- n = ">";
- break;
-
- default:
- continue;
- }
- c !== r && (s += a.substring(c, r)), c = r + 1, s += n;
- }
- return c !== r ? s + a.substring(c, r) : s;
-}
-
-var pug_has_own_property = Object.prototype.hasOwnProperty;
-
-var pug_match_html = /["&<>]/;
-
-function pug_style(r) {
- if (!r) return "";
- if ("object" == typeof r) {
- var t = "";
- for (var e in r) pug_has_own_property.call(r, e) && (t = t + e + ":" + r[e] + ";");
- return t;
- }
- return r += "", ";" !== r[r.length - 1] ? r + ";" : r;
-}
-
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- var locals_for_with = locals || {};
- (function(Date) {
- pug_html = pug_html + 'contact save Foo Bar contact save Foo Bar ';
- var attrs = {
- foo: "bar",
- bar: ""
- };
- pug_html = pug_html + "
';
- }).call(this, "Date" in locals_for_with ? locals_for_with.Date : typeof Date !== "undefined" ? Date : undefined);
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/attrs.js.html b/node_modules/pug/test/output/attrs.js.html
deleted file mode 100644
index edd3813..0000000
--- a/node_modules/pug/test/output/attrs.js.html
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/attrs.js.js b/node_modules/pug/test/output/attrs.js.js
deleted file mode 100644
index 8eee738..0000000
--- a/node_modules/pug/test/output/attrs.js.js
+++ /dev/null
@@ -1,115 +0,0 @@
-function pug_attr(t, e, n, f) {
- return !1 !== e && null != e && (e || "class" !== t && "style" !== t) ? !0 === e ? " " + (f ? t : t + '="' + t + '"') : ("function" == typeof e.toJSON && (e = e.toJSON()),
- "string" == typeof e || (e = JSON.stringify(e), n || -1 === e.indexOf('"')) ? (n && (e = pug_escape(e)),
- " " + t + '="' + e + '"') : " " + t + "='" + e.replace(/'/g, "'") + "'") : "";
-}
-
-function pug_attrs(t, r) {
- var a = "";
- for (var s in t) if (pug_has_own_property.call(t, s)) {
- var u = t[s];
- if ("class" === s) {
- u = pug_classes(u), a = pug_attr(s, u, !1, r) + a;
- continue;
- }
- "style" === s && (u = pug_style(u)), a += pug_attr(s, u, !1, r);
- }
- return a;
-}
-
-function pug_classes(s, r) {
- return Array.isArray(s) ? pug_classes_array(s, r) : s && "object" == typeof s ? pug_classes_object(s) : s || "";
-}
-
-function pug_classes_array(r, a) {
- for (var s, e = "", u = "", c = Array.isArray(a), g = 0; g < r.length; g++) (s = pug_classes(r[g])) && (c && a[g] && (s = pug_escape(s)),
- e = e + u + s, u = " ");
- return e;
-}
-
-function pug_classes_object(r) {
- var a = "", n = "";
- for (var o in r) o && r[o] && pug_has_own_property.call(r, o) && (a = a + n + o,
- n = " ");
- return a;
-}
-
-function pug_escape(e) {
- var a = "" + e, t = pug_match_html.exec(a);
- if (!t) return e;
- var r, c, n, s = "";
- for (r = t.index, c = 0; r < a.length; r++) {
- switch (a.charCodeAt(r)) {
- case 34:
- n = """;
- break;
-
- case 38:
- n = "&";
- break;
-
- case 60:
- n = "<";
- break;
-
- case 62:
- n = ">";
- break;
-
- default:
- continue;
- }
- c !== r && (s += a.substring(c, r)), c = r + 1, s += n;
- }
- return c !== r ? s + a.substring(c, r) : s;
-}
-
-var pug_has_own_property = Object.prototype.hasOwnProperty;
-
-var pug_match_html = /["&<>]/;
-
-function pug_merge(r, e) {
- if (1 === arguments.length) {
- for (var t = r[0], a = 1; a < r.length; a++) t = pug_merge(t, r[a]);
- return t;
- }
- for (var g in e) if ("class" === g) {
- var l = r[g] || [];
- r[g] = (Array.isArray(l) ? l : [ l ]).concat(e[g] || []);
- } else if ("style" === g) {
- var l = pug_style(r[g]), n = pug_style(e[g]);
- r[g] = l + n;
- } else r[g] = e[g];
- return r;
-}
-
-function pug_style(r) {
- if (!r) return "";
- if ("object" == typeof r) {
- var t = "";
- for (var e in r) pug_has_own_property.call(r, e) && (t = t + e + ":" + r[e] + ";");
- return t;
- }
- return r += "", ";" !== r[r.length - 1] ? r + ";" : r;
-}
-
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- var id = 5;
- function answer() {
- return 42;
- }
- pug_html = pug_html + "
";
- var bar = null;
- pug_html = pug_html + "
";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/attrs.unescaped.html b/node_modules/pug/test/output/attrs.unescaped.html
deleted file mode 100644
index ec71806..0000000
--- a/node_modules/pug/test/output/attrs.unescaped.html
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/attrs.unescaped.js b/node_modules/pug/test/output/attrs.unescaped.js
deleted file mode 100644
index 402574d..0000000
--- a/node_modules/pug/test/output/attrs.unescaped.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + '';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/basic.html b/node_modules/pug/test/output/basic.html
deleted file mode 100644
index 15b6870..0000000
--- a/node_modules/pug/test/output/basic.html
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
- Title
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/basic.js b/node_modules/pug/test/output/basic.js
deleted file mode 100644
index e8d0dd2..0000000
--- a/node_modules/pug/test/output/basic.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + "Title ";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/blanks.html b/node_modules/pug/test/output/blanks.html
deleted file mode 100644
index 53f3b8c..0000000
--- a/node_modules/pug/test/output/blanks.html
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/blanks.js b/node_modules/pug/test/output/blanks.js
deleted file mode 100644
index aa197b8..0000000
--- a/node_modules/pug/test/output/blanks.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + "";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/block-code.html b/node_modules/pug/test/output/block-code.html
deleted file mode 100644
index 26c9cff..0000000
--- a/node_modules/pug/test/output/block-code.html
+++ /dev/null
@@ -1,7 +0,0 @@
-
-Uno
-Dos
-Tres
-Cuatro
-Cinco
-Seis
\ No newline at end of file
diff --git a/node_modules/pug/test/output/block-code.js b/node_modules/pug/test/output/block-code.js
deleted file mode 100644
index b736246..0000000
--- a/node_modules/pug/test/output/block-code.js
+++ /dev/null
@@ -1,58 +0,0 @@
-function pug_escape(e) {
- var a = "" + e, t = pug_match_html.exec(a);
- if (!t) return e;
- var r, c, n, s = "";
- for (r = t.index, c = 0; r < a.length; r++) {
- switch (a.charCodeAt(r)) {
- case 34:
- n = """;
- break;
-
- case 38:
- n = "&";
- break;
-
- case 60:
- n = "<";
- break;
-
- case 62:
- n = ">";
- break;
-
- default:
- continue;
- }
- c !== r && (s += a.substring(c, r)), c = r + 1, s += n;
- }
- return c !== r ? s + a.substring(c, r) : s;
-}
-
-var pug_match_html = /["&<>]/;
-
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- var locals_for_with = locals || {};
- (function(list, string) {
- list = [ "uno", "dos", "tres", "cuatro", "cinco", "seis" ];
- (function() {
- var $$obj = list;
- if ("number" == typeof $$obj.length) {
- for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {
- var item = $$obj[pug_index0];
- string = item.charAt(0).toUpperCase() + item.slice(1);
- pug_html = pug_html + "" + pug_escape(null == (pug_interp = string) ? "" : pug_interp) + " ";
- }
- } else {
- var $$l = 0;
- for (var pug_index0 in $$obj) {
- $$l++;
- var item = $$obj[pug_index0];
- string = item.charAt(0).toUpperCase() + item.slice(1);
- pug_html = pug_html + "" + pug_escape(null == (pug_interp = string) ? "" : pug_interp) + " ";
- }
- }
- }).call(this);
- }).call(this, "list" in locals_for_with ? locals_for_with.list : typeof list !== "undefined" ? list : undefined, "string" in locals_for_with ? locals_for_with.string : typeof string !== "undefined" ? string : undefined);
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/block-expansion.html b/node_modules/pug/test/output/block-expansion.html
deleted file mode 100644
index b76d93d..0000000
--- a/node_modules/pug/test/output/block-expansion.html
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-baz
\ No newline at end of file
diff --git a/node_modules/pug/test/output/block-expansion.js b/node_modules/pug/test/output/block-expansion.js
deleted file mode 100644
index 001e436..0000000
--- a/node_modules/pug/test/output/block-expansion.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + 'baz
';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/block-expansion.shorthands.html b/node_modules/pug/test/output/block-expansion.shorthands.html
deleted file mode 100644
index 931d774..0000000
--- a/node_modules/pug/test/output/block-expansion.shorthands.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/block-expansion.shorthands.js b/node_modules/pug/test/output/block-expansion.shorthands.js
deleted file mode 100644
index 4a294a1..0000000
--- a/node_modules/pug/test/output/block-expansion.shorthands.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + '';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/blockquote.html b/node_modules/pug/test/output/blockquote.html
deleted file mode 100644
index 0e1777d..0000000
--- a/node_modules/pug/test/output/blockquote.html
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
- Try to define yourself by what you do, and you’ll burnout every time. You are. That is enough. I rest in that.
- from @thefray at 1:43pm on May 10
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/blockquote.js b/node_modules/pug/test/output/blockquote.js
deleted file mode 100644
index 9a591d9..0000000
--- a/node_modules/pug/test/output/blockquote.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + "Try to define yourself by what you do, and you’ll burnout every time. You are. That is enough. I rest in that. from @thefray at 1:43pm on May 10 ";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/blocks-in-blocks.html b/node_modules/pug/test/output/blocks-in-blocks.html
deleted file mode 100644
index 688d9c2..0000000
--- a/node_modules/pug/test/output/blocks-in-blocks.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
- Default title
-
-
- Page 2
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/blocks-in-blocks.js b/node_modules/pug/test/output/blocks-in-blocks.js
deleted file mode 100644
index eaa2b98..0000000
--- a/node_modules/pug/test/output/blocks-in-blocks.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + "Default title Page 2 ";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/blocks-in-if.html b/node_modules/pug/test/output/blocks-in-if.html
deleted file mode 100644
index ecdd6db..0000000
--- a/node_modules/pug/test/output/blocks-in-if.html
+++ /dev/null
@@ -1,2 +0,0 @@
-
-ajax contents
\ No newline at end of file
diff --git a/node_modules/pug/test/output/blocks-in-if.js b/node_modules/pug/test/output/blocks-in-if.js
deleted file mode 100644
index 7e13fa9..0000000
--- a/node_modules/pug/test/output/blocks-in-if.js
+++ /dev/null
@@ -1,10 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- var ajax = true;
- if (ajax) {
- pug_html = pug_html + "ajax contents
";
- } else {
- pug_html = pug_html + 'sample all contetns
';
- }
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/case-blocks.html b/node_modules/pug/test/output/case-blocks.html
deleted file mode 100644
index 44eb479..0000000
--- a/node_modules/pug/test/output/case-blocks.html
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
- you have a friend
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/case-blocks.js b/node_modules/pug/test/output/case-blocks.js
deleted file mode 100644
index 8d5cddf..0000000
--- a/node_modules/pug/test/output/case-blocks.js
+++ /dev/null
@@ -1,52 +0,0 @@
-function pug_escape(e) {
- var a = "" + e, t = pug_match_html.exec(a);
- if (!t) return e;
- var r, c, n, s = "";
- for (r = t.index, c = 0; r < a.length; r++) {
- switch (a.charCodeAt(r)) {
- case 34:
- n = """;
- break;
-
- case 38:
- n = "&";
- break;
-
- case 60:
- n = "<";
- break;
-
- case 62:
- n = ">";
- break;
-
- default:
- continue;
- }
- c !== r && (s += a.substring(c, r)), c = r + 1, s += n;
- }
- return c !== r ? s + a.substring(c, r) : s;
-}
-
-var pug_match_html = /["&<>]/;
-
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + "";
- var friends = 1;
- switch (friends) {
- case 0:
- pug_html = pug_html + "you have no friends
";
- break;
-
- case 1:
- pug_html = pug_html + "you have a friend
";
- break;
-
- default:
- pug_html = pug_html + "you have " + pug_escape(null == (pug_interp = friends) ? "" : pug_interp) + " friends
";
- break;
- }
- pug_html = pug_html + "";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/case.html b/node_modules/pug/test/output/case.html
deleted file mode 100644
index f264fb7..0000000
--- a/node_modules/pug/test/output/case.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
- you have a friend
- you have very few friends
- Friend is a string
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/case.js b/node_modules/pug/test/output/case.js
deleted file mode 100644
index 7d0b028..0000000
--- a/node_modules/pug/test/output/case.js
+++ /dev/null
@@ -1,75 +0,0 @@
-function pug_escape(e) {
- var a = "" + e, t = pug_match_html.exec(a);
- if (!t) return e;
- var r, c, n, s = "";
- for (r = t.index, c = 0; r < a.length; r++) {
- switch (a.charCodeAt(r)) {
- case 34:
- n = """;
- break;
-
- case 38:
- n = "&";
- break;
-
- case 60:
- n = "<";
- break;
-
- case 62:
- n = ">";
- break;
-
- default:
- continue;
- }
- c !== r && (s += a.substring(c, r)), c = r + 1, s += n;
- }
- return c !== r ? s + a.substring(c, r) : s;
-}
-
-var pug_match_html = /["&<>]/;
-
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + "";
- var friends = 1;
- switch (friends) {
- case 0:
- pug_html = pug_html + "you have no friends
";
- break;
-
- case 1:
- pug_html = pug_html + "you have a friend
";
- break;
-
- default:
- pug_html = pug_html + "you have " + pug_escape(null == (pug_interp = friends) ? "" : pug_interp) + " friends
";
- break;
- }
- var friends = 0;
- switch (friends) {
- case 0:
- case 1:
- pug_html = pug_html + "you have very few friends
";
- break;
-
- default:
- pug_html = pug_html + "you have " + pug_escape(null == (pug_interp = friends) ? "" : pug_interp) + " friends
";
- break;
- }
- var friend = "Tim:G";
- switch (friend) {
- case "Tim:G":
- pug_html = pug_html + "Friend is a string
";
- break;
-
- case {
- tim: "g"
- }:
- pug_html = pug_html + "Friend is an object
";
- break;
- }
- pug_html = pug_html + "";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/classes-empty.html b/node_modules/pug/test/output/classes-empty.html
deleted file mode 100644
index bcc28a9..0000000
--- a/node_modules/pug/test/output/classes-empty.html
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/classes-empty.js b/node_modules/pug/test/output/classes-empty.js
deleted file mode 100644
index 180f8c8..0000000
--- a/node_modules/pug/test/output/classes-empty.js
+++ /dev/null
@@ -1,62 +0,0 @@
-function pug_attr(t, e, n, f) {
- return !1 !== e && null != e && (e || "class" !== t && "style" !== t) ? !0 === e ? " " + (f ? t : t + '="' + t + '"') : ("function" == typeof e.toJSON && (e = e.toJSON()),
- "string" == typeof e || (e = JSON.stringify(e), n || -1 === e.indexOf('"')) ? (n && (e = pug_escape(e)),
- " " + t + '="' + e + '"') : " " + t + "='" + e.replace(/'/g, "'") + "'") : "";
-}
-
-function pug_classes(s, r) {
- return Array.isArray(s) ? pug_classes_array(s, r) : s && "object" == typeof s ? pug_classes_object(s) : s || "";
-}
-
-function pug_classes_array(r, a) {
- for (var s, e = "", u = "", c = Array.isArray(a), g = 0; g < r.length; g++) (s = pug_classes(r[g])) && (c && a[g] && (s = pug_escape(s)),
- e = e + u + s, u = " ");
- return e;
-}
-
-function pug_classes_object(r) {
- var a = "", n = "";
- for (var o in r) o && r[o] && pug_has_own_property.call(r, o) && (a = a + n + o,
- n = " ");
- return a;
-}
-
-function pug_escape(e) {
- var a = "" + e, t = pug_match_html.exec(a);
- if (!t) return e;
- var r, c, n, s = "";
- for (r = t.index, c = 0; r < a.length; r++) {
- switch (a.charCodeAt(r)) {
- case 34:
- n = """;
- break;
-
- case 38:
- n = "&";
- break;
-
- case 60:
- n = "<";
- break;
-
- case 62:
- n = ">";
- break;
-
- default:
- continue;
- }
- c !== r && (s += a.substring(c, r)), c = r + 1, s += n;
- }
- return c !== r ? s + a.substring(c, r) : s;
-}
-
-var pug_has_own_property = Object.prototype.hasOwnProperty;
-
-var pug_match_html = /["&<>]/;
-
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + " ";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/classes.html b/node_modules/pug/test/output/classes.html
deleted file mode 100644
index 21cfa19..0000000
--- a/node_modules/pug/test/output/classes.html
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/classes.js b/node_modules/pug/test/output/classes.js
deleted file mode 100644
index a25495c..0000000
--- a/node_modules/pug/test/output/classes.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + ' ';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/code.conditionals.html b/node_modules/pug/test/output/code.conditionals.html
deleted file mode 100644
index 1d7bf13..0000000
--- a/node_modules/pug/test/output/code.conditionals.html
+++ /dev/null
@@ -1,12 +0,0 @@
-
-foo
-foo
-foo
-bar
-baz
-bar
-yay
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/code.conditionals.js b/node_modules/pug/test/output/code.conditionals.js
deleted file mode 100644
index 3a26b76..0000000
--- a/node_modules/pug/test/output/code.conditionals.js
+++ /dev/null
@@ -1,47 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- if (true) {
- pug_html = pug_html + "foo
";
- } else {
- pug_html = pug_html + "bar
";
- }
- if (true) {
- {
- pug_html = pug_html + "foo
";
- }
- } else {
- {
- pug_html = pug_html + "bar
";
- }
- }
- if (true) {
- pug_html = pug_html + "foo
bar
baz
";
- } else {
- pug_html = pug_html + "bar
";
- }
- if (!true) {
- pug_html = pug_html + "foo
";
- } else {
- pug_html = pug_html + "bar
";
- }
- if ("nested") {
- if ("works") {
- pug_html = pug_html + "yay
";
- }
- }
- if (false) {} else {
- pug_html = pug_html + '
';
- }
- if (true) {
- pug_html = pug_html + '
';
- }
- pug_html = pug_html + '
';
- if (false) {
- pug_html = pug_html + '
';
- } else if (false) {
- pug_html = pug_html + '
';
- } else {
- pug_html = pug_html + '
';
- }
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/code.escape.html b/node_modules/pug/test/output/code.escape.html
deleted file mode 100644
index 9c18eba..0000000
--- a/node_modules/pug/test/output/code.escape.html
+++ /dev/null
@@ -1,3 +0,0 @@
-
-<script>
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/code.escape.js b/node_modules/pug/test/output/code.escape.js
deleted file mode 100644
index cbddcf7..0000000
--- a/node_modules/pug/test/output/code.escape.js
+++ /dev/null
@@ -1,37 +0,0 @@
-function pug_escape(e) {
- var a = "" + e, t = pug_match_html.exec(a);
- if (!t) return e;
- var r, c, n, s = "";
- for (r = t.index, c = 0; r < a.length; r++) {
- switch (a.charCodeAt(r)) {
- case 34:
- n = """;
- break;
-
- case 38:
- n = "&";
- break;
-
- case 60:
- n = "<";
- break;
-
- case 62:
- n = ">";
- break;
-
- default:
- continue;
- }
- c !== r && (s += a.substring(c, r)), c = r + 1, s += n;
- }
- return c !== r ? s + a.substring(c, r) : s;
-}
-
-var pug_match_html = /["&<>]/;
-
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + "" + pug_escape(null == (pug_interp = "
\ No newline at end of file
diff --git a/node_modules/pug/test/output/escape-chars.js b/node_modules/pug/test/output/escape-chars.js
deleted file mode 100644
index 1e451ef..0000000
--- a/node_modules/pug/test/output/escape-chars.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + "";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/escape-test.html b/node_modules/pug/test/output/escape-test.html
deleted file mode 100644
index 073134a..0000000
--- a/node_modules/pug/test/output/escape-test.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
- escape-test
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/escape-test.js b/node_modules/pug/test/output/escape-test.js
deleted file mode 100644
index ae6ae07..0000000
--- a/node_modules/pug/test/output/escape-test.js
+++ /dev/null
@@ -1,39 +0,0 @@
-function pug_escape(e) {
- var a = "" + e, t = pug_match_html.exec(a);
- if (!t) return e;
- var r, c, n, s = "";
- for (r = t.index, c = 0; r < a.length; r++) {
- switch (a.charCodeAt(r)) {
- case 34:
- n = """;
- break;
-
- case 38:
- n = "&";
- break;
-
- case 60:
- n = "<";
- break;
-
- case 62:
- n = ">";
- break;
-
- default:
- continue;
- }
- c !== r && (s += a.substring(c, r)), c = r + 1, s += n;
- }
- return c !== r ? s + a.substring(c, r) : s;
-}
-
-var pug_match_html = /["&<>]/;
-
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + "escape-test ";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/escaping-class-attribute.html b/node_modules/pug/test/output/escaping-class-attribute.html
deleted file mode 100644
index c5a9626..0000000
--- a/node_modules/pug/test/output/escaping-class-attribute.html
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/escaping-class-attribute.js b/node_modules/pug/test/output/escaping-class-attribute.js
deleted file mode 100644
index caa2c17..0000000
--- a/node_modules/pug/test/output/escaping-class-attribute.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + ' ';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/filter-in-include.html b/node_modules/pug/test/output/filter-in-include.html
deleted file mode 100644
index 244143f..0000000
--- a/node_modules/pug/test/output/filter-in-include.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/filter-in-include.js b/node_modules/pug/test/output/filter-in-include.js
deleted file mode 100644
index efb380f..0000000
--- a/node_modules/pug/test/output/filter-in-include.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + '';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/filters-empty.html b/node_modules/pug/test/output/filters-empty.html
deleted file mode 100644
index 8b919e0..0000000
--- a/node_modules/pug/test/output/filters-empty.html
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/filters-empty.js b/node_modules/pug/test/output/filters-empty.js
deleted file mode 100644
index 4523553..0000000
--- a/node_modules/pug/test/output/filters-empty.js
+++ /dev/null
@@ -1,64 +0,0 @@
-function pug_attr(t, e, n, f) {
- return !1 !== e && null != e && (e || "class" !== t && "style" !== t) ? !0 === e ? " " + (f ? t : t + '="' + t + '"') : ("function" == typeof e.toJSON && (e = e.toJSON()),
- "string" == typeof e || (e = JSON.stringify(e), n || -1 === e.indexOf('"')) ? (n && (e = pug_escape(e)),
- " " + t + '="' + e + '"') : " " + t + "='" + e.replace(/'/g, "'") + "'") : "";
-}
-
-function pug_escape(e) {
- var a = "" + e, t = pug_match_html.exec(a);
- if (!t) return e;
- var r, c, n, s = "";
- for (r = t.index, c = 0; r < a.length; r++) {
- switch (a.charCodeAt(r)) {
- case 34:
- n = """;
- break;
-
- case 38:
- n = "&";
- break;
-
- case 60:
- n = "<";
- break;
-
- case 62:
- n = ">";
- break;
-
- default:
- continue;
- }
- c !== r && (s += a.substring(c, r)), c = r + 1, s += n;
- }
- return c !== r ? s + a.substring(c, r) : s;
-}
-
-var pug_match_html = /["&<>]/;
-
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- var users = [ {
- name: "tobi",
- age: 2
- } ];
- pug_html = pug_html + "";
- (function() {
- var $$obj = users;
- if ("number" == typeof $$obj.length) {
- for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {
- var user = $$obj[pug_index0];
- pug_html = pug_html + " ";
- }
- } else {
- var $$l = 0;
- for (var pug_index0 in $$obj) {
- $$l++;
- var user = $$obj[pug_index0];
- pug_html = pug_html + " ";
- }
- }
- }).call(this);
- pug_html = pug_html + " ";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/filters.coffeescript.html b/node_modules/pug/test/output/filters.coffeescript.html
deleted file mode 100644
index d994870..0000000
--- a/node_modules/pug/test/output/filters.coffeescript.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/filters.coffeescript.js b/node_modules/pug/test/output/filters.coffeescript.js
deleted file mode 100644
index 435efbe..0000000
--- a/node_modules/pug/test/output/filters.coffeescript.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + '';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/filters.custom.html b/node_modules/pug/test/output/filters.custom.html
deleted file mode 100644
index 811701c..0000000
--- a/node_modules/pug/test/output/filters.custom.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
- BEGINLine 1
-Line 2
-
-Line 4END
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/filters.custom.js b/node_modules/pug/test/output/filters.custom.js
deleted file mode 100644
index ba8307f..0000000
--- a/node_modules/pug/test/output/filters.custom.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + "BEGINLine 1\nLine 2\n\nLine 4END";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/filters.include.custom.html b/node_modules/pug/test/output/filters.include.custom.html
deleted file mode 100644
index dee2b25..0000000
--- a/node_modules/pug/test/output/filters.include.custom.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
- BEGINhtml
- body
- pre
- include:custom(opt='val' num=2) filters.include.custom.pug
-END
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/filters.include.custom.js b/node_modules/pug/test/output/filters.include.custom.js
deleted file mode 100644
index a029438..0000000
--- a/node_modules/pug/test/output/filters.include.custom.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + "BEGINhtml\n body\n pre\n include:custom(opt='val' num=2) filters.include.custom.pug\nEND ";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/filters.include.html b/node_modules/pug/test/output/filters.include.html
deleted file mode 100644
index 6217a0d..0000000
--- a/node_modules/pug/test/output/filters.include.html
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
- Just some markdown tests .
-With new line.
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/filters.include.js b/node_modules/pug/test/output/filters.include.js
deleted file mode 100644
index 49152a4..0000000
--- a/node_modules/pug/test/output/filters.include.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + "Just some markdown tests .
\nWith new line.
\n";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/filters.inline.html b/node_modules/pug/test/output/filters.inline.html
deleted file mode 100644
index e602ebd..0000000
--- a/node_modules/pug/test/output/filters.inline.html
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
- before after
\ No newline at end of file
diff --git a/node_modules/pug/test/output/filters.inline.js b/node_modules/pug/test/output/filters.inline.js
deleted file mode 100644
index 657f16c..0000000
--- a/node_modules/pug/test/output/filters.inline.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + "before after
";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/filters.less.html b/node_modules/pug/test/output/filters.less.html
deleted file mode 100644
index 244143f..0000000
--- a/node_modules/pug/test/output/filters.less.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/filters.less.js b/node_modules/pug/test/output/filters.less.js
deleted file mode 100644
index efb380f..0000000
--- a/node_modules/pug/test/output/filters.less.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + '';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/filters.markdown.html b/node_modules/pug/test/output/filters.markdown.html
deleted file mode 100644
index 0760aef..0000000
--- a/node_modules/pug/test/output/filters.markdown.html
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
- This is some awesome markdown
-whoop.
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/filters.markdown.js b/node_modules/pug/test/output/filters.markdown.js
deleted file mode 100644
index 4ba6843..0000000
--- a/node_modules/pug/test/output/filters.markdown.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + "This is some awesome markdown \nwhoop.
\n";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/filters.nested.html b/node_modules/pug/test/output/filters.nested.html
deleted file mode 100644
index 9f62201..0000000
--- a/node_modules/pug/test/output/filters.nested.html
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/filters.nested.js b/node_modules/pug/test/output/filters.nested.js
deleted file mode 100644
index 23bbb3b..0000000
--- a/node_modules/pug/test/output/filters.nested.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + '';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/filters.stylus.html b/node_modules/pug/test/output/filters.stylus.html
deleted file mode 100644
index 747ce61..0000000
--- a/node_modules/pug/test/output/filters.stylus.html
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/filters.stylus.js b/node_modules/pug/test/output/filters.stylus.js
deleted file mode 100644
index b0c7c92..0000000
--- a/node_modules/pug/test/output/filters.stylus.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + '';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/html.html b/node_modules/pug/test/output/html.html
deleted file mode 100644
index a038efd..0000000
--- a/node_modules/pug/test/output/html.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-You can embed html as well.
-Even as the body of a block expansion.
\ No newline at end of file
diff --git a/node_modules/pug/test/output/html.js b/node_modules/pug/test/output/html.js
deleted file mode 100644
index 12a2fd2..0000000
--- a/node_modules/pug/test/output/html.js
+++ /dev/null
@@ -1,38 +0,0 @@
-function pug_escape(e) {
- var a = "" + e, t = pug_match_html.exec(a);
- if (!t) return e;
- var r, c, n, s = "";
- for (r = t.index, c = 0; r < a.length; r++) {
- switch (a.charCodeAt(r)) {
- case 34:
- n = """;
- break;
-
- case 38:
- n = "&";
- break;
-
- case 60:
- n = "<";
- break;
-
- case 62:
- n = ">";
- break;
-
- default:
- continue;
- }
- c !== r && (s += a.substring(c, r)), c = r + 1, s += n;
- }
- return c !== r ? s + a.substring(c, r) : s;
-}
-
-var pug_match_html = /["&<>]/;
-
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- var version = 1449104952939;
- pug_html = pug_html + "\n\nYou can embed html as well.
Even as the body of a block expansion.
";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/html5.html b/node_modules/pug/test/output/html5.html
deleted file mode 100644
index 83a553a..0000000
--- a/node_modules/pug/test/output/html5.html
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/html5.js b/node_modules/pug/test/output/html5.js
deleted file mode 100644
index 1f63d39..0000000
--- a/node_modules/pug/test/output/html5.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + ' ';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/include-extends-from-root.html b/node_modules/pug/test/output/include-extends-from-root.html
deleted file mode 100644
index 3cef66e..0000000
--- a/node_modules/pug/test/output/include-extends-from-root.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
- My Application
-
-
- hello
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/include-extends-from-root.js b/node_modules/pug/test/output/include-extends-from-root.js
deleted file mode 100644
index 76568c9..0000000
--- a/node_modules/pug/test/output/include-extends-from-root.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + "My Application hello ";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/include-extends-of-common-template.html b/node_modules/pug/test/output/include-extends-of-common-template.html
deleted file mode 100644
index 1fef4be..0000000
--- a/node_modules/pug/test/output/include-extends-of-common-template.html
+++ /dev/null
@@ -1,3 +0,0 @@
-
-test1
-test2
\ No newline at end of file
diff --git a/node_modules/pug/test/output/include-extends-of-common-template.js b/node_modules/pug/test/output/include-extends-of-common-template.js
deleted file mode 100644
index c54ecc4..0000000
--- a/node_modules/pug/test/output/include-extends-of-common-template.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + "test1
test2
";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/include-extends-relative.html b/node_modules/pug/test/output/include-extends-relative.html
deleted file mode 100644
index 3cef66e..0000000
--- a/node_modules/pug/test/output/include-extends-relative.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
- My Application
-
-
- hello
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/include-extends-relative.js b/node_modules/pug/test/output/include-extends-relative.js
deleted file mode 100644
index 76568c9..0000000
--- a/node_modules/pug/test/output/include-extends-relative.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + "My Application hello ";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/include-only-text-body.html b/node_modules/pug/test/output/include-only-text-body.html
deleted file mode 100644
index f86b593..0000000
--- a/node_modules/pug/test/output/include-only-text-body.html
+++ /dev/null
@@ -1 +0,0 @@
-The message is ""
\ No newline at end of file
diff --git a/node_modules/pug/test/output/include-only-text-body.js b/node_modules/pug/test/output/include-only-text-body.js
deleted file mode 100644
index add0fa4..0000000
--- a/node_modules/pug/test/output/include-only-text-body.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + 'The message is ""';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/include-only-text.html b/node_modules/pug/test/output/include-only-text.html
deleted file mode 100644
index 4e3f3b2..0000000
--- a/node_modules/pug/test/output/include-only-text.html
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
- The message is "hello world "
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/include-only-text.js b/node_modules/pug/test/output/include-only-text.js
deleted file mode 100644
index 4618b7d..0000000
--- a/node_modules/pug/test/output/include-only-text.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + 'The message is "hello world "
';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/include-with-text-head.html b/node_modules/pug/test/output/include-with-text-head.html
deleted file mode 100644
index 29fb3a0..0000000
--- a/node_modules/pug/test/output/include-with-text-head.html
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/include-with-text-head.js b/node_modules/pug/test/output/include-with-text-head.js
deleted file mode 100644
index 60b78f7..0000000
--- a/node_modules/pug/test/output/include-with-text-head.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + "";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/include-with-text.html b/node_modules/pug/test/output/include-with-text.html
deleted file mode 100644
index a9e6468..0000000
--- a/node_modules/pug/test/output/include-with-text.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/include-with-text.js b/node_modules/pug/test/output/include-with-text.js
deleted file mode 100644
index b143dc3..0000000
--- a/node_modules/pug/test/output/include-with-text.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + '';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/include.script.html b/node_modules/pug/test/output/include.script.html
deleted file mode 100644
index 4bc68bf..0000000
--- a/node_modules/pug/test/output/include.script.html
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/include.script.js b/node_modules/pug/test/output/include.script.js
deleted file mode 100644
index f9f234f..0000000
--- a/node_modules/pug/test/output/include.script.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + '';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/include.yield.nested.html b/node_modules/pug/test/output/include.yield.nested.html
deleted file mode 100644
index 58332bd..0000000
--- a/node_modules/pug/test/output/include.yield.nested.html
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
- Page
-
-
-
some content
-
and some more
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/include.yield.nested.js b/node_modules/pug/test/output/include.yield.nested.js
deleted file mode 100644
index 1e737ac..0000000
--- a/node_modules/pug/test/output/include.yield.nested.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + 'Page some content
and some more
';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/includes-with-ext-js.html b/node_modules/pug/test/output/includes-with-ext-js.html
deleted file mode 100644
index a069a38..0000000
--- a/node_modules/pug/test/output/includes-with-ext-js.html
+++ /dev/null
@@ -1,3 +0,0 @@
-
-var x = "\n here is some \n new lined text";
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/includes-with-ext-js.js b/node_modules/pug/test/output/includes-with-ext-js.js
deleted file mode 100644
index 396bf18..0000000
--- a/node_modules/pug/test/output/includes-with-ext-js.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + 'var x = "\\n here is some \\n new lined text";\n
';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/includes.html b/node_modules/pug/test/output/includes.html
deleted file mode 100644
index 22a1ea2..0000000
--- a/node_modules/pug/test/output/includes.html
+++ /dev/null
@@ -1,17 +0,0 @@
-
-bar
-
- :)
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/includes.js b/node_modules/pug/test/output/includes.js
deleted file mode 100644
index 946ac4d..0000000
--- a/node_modules/pug/test/output/includes.js
+++ /dev/null
@@ -1,10 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_mixins["foo"] = pug_interp = function() {
- var block = this && this.block, attributes = this && this.attributes || {};
- pug_html = pug_html + "bar
";
- };
- pug_mixins["foo"]();
- pug_html = pug_html + ":)
";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/inheritance.alert-dialog.html b/node_modules/pug/test/output/inheritance.alert-dialog.html
deleted file mode 100644
index dd70e2b..0000000
--- a/node_modules/pug/test/output/inheritance.alert-dialog.html
+++ /dev/null
@@ -1,7 +0,0 @@
-
-Close
-
-
Alert!
-
I'm an alert!
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/inheritance.alert-dialog.js b/node_modules/pug/test/output/inheritance.alert-dialog.js
deleted file mode 100644
index f634dc2..0000000
--- a/node_modules/pug/test/output/inheritance.alert-dialog.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + '';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/inheritance.defaults.html b/node_modules/pug/test/output/inheritance.defaults.html
deleted file mode 100644
index 5738337..0000000
--- a/node_modules/pug/test/output/inheritance.defaults.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/inheritance.defaults.js b/node_modules/pug/test/output/inheritance.defaults.js
deleted file mode 100644
index 86fff57..0000000
--- a/node_modules/pug/test/output/inheritance.defaults.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + '';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/inheritance.extend.html b/node_modules/pug/test/output/inheritance.extend.html
deleted file mode 100644
index 2c373ce..0000000
--- a/node_modules/pug/test/output/inheritance.extend.html
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
- My Application
-
-
-
- Page
- Some content
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/inheritance.extend.include.html b/node_modules/pug/test/output/inheritance.extend.include.html
deleted file mode 100644
index 3168df2..0000000
--- a/node_modules/pug/test/output/inheritance.extend.include.html
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
- My Application
-
-
-
- Page
- Some content
- Close
-
Awesome
-
Now we can extend included blocks!
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/inheritance.extend.include.js b/node_modules/pug/test/output/inheritance.extend.include.js
deleted file mode 100644
index 2b045a2..0000000
--- a/node_modules/pug/test/output/inheritance.extend.include.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + 'My Application Page Some content
Close Awesome Now we can extend included blocks!
';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/inheritance.extend.js b/node_modules/pug/test/output/inheritance.extend.js
deleted file mode 100644
index d7abcf2..0000000
--- a/node_modules/pug/test/output/inheritance.extend.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + 'My Application Page Some content
';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/inheritance.extend.mixins.block.html b/node_modules/pug/test/output/inheritance.extend.mixins.block.html
deleted file mode 100644
index 6854090..0000000
--- a/node_modules/pug/test/output/inheritance.extend.mixins.block.html
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
- My Application
-
-
-
- Hello World!
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/inheritance.extend.mixins.block.js b/node_modules/pug/test/output/inheritance.extend.mixins.block.js
deleted file mode 100644
index d46c998..0000000
--- a/node_modules/pug/test/output/inheritance.extend.mixins.block.js
+++ /dev/null
@@ -1,17 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_mixins["article"] = pug_interp = function() {
- var block = this && this.block, attributes = this && this.attributes || {};
- pug_html = pug_html + "";
- block && block();
- pug_html = pug_html + " ";
- };
- pug_html = pug_html + "My Application ";
- pug_mixins["article"].call({
- block: function() {
- pug_html = pug_html + "Hello World!
";
- }
- });
- pug_html = pug_html + "";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/inheritance.extend.mixins.html b/node_modules/pug/test/output/inheritance.extend.mixins.html
deleted file mode 100644
index 469e38e..0000000
--- a/node_modules/pug/test/output/inheritance.extend.mixins.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
- My Application
-
-
- The meaning of life
- Foo bar baz!
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/inheritance.extend.mixins.js b/node_modules/pug/test/output/inheritance.extend.mixins.js
deleted file mode 100644
index 3309c14..0000000
--- a/node_modules/pug/test/output/inheritance.extend.mixins.js
+++ /dev/null
@@ -1,50 +0,0 @@
-function pug_escape(e) {
- var a = "" + e, t = pug_match_html.exec(a);
- if (!t) return e;
- var r, c, n, s = "";
- for (r = t.index, c = 0; r < a.length; r++) {
- switch (a.charCodeAt(r)) {
- case 34:
- n = """;
- break;
-
- case 38:
- n = "&";
- break;
-
- case 60:
- n = "<";
- break;
-
- case 62:
- n = ">";
- break;
-
- default:
- continue;
- }
- c !== r && (s += a.substring(c, r)), c = r + 1, s += n;
- }
- return c !== r ? s + a.substring(c, r) : s;
-}
-
-var pug_match_html = /["&<>]/;
-
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_mixins["article"] = pug_interp = function(title) {
- var block = this && this.block, attributes = this && this.attributes || {};
- if (title) {
- pug_html = pug_html + "" + pug_escape(null == (pug_interp = title) ? "" : pug_interp) + " ";
- }
- block && block();
- };
- pug_html = pug_html + "My Application ";
- pug_mixins["article"].call({
- block: function() {
- pug_html = pug_html + "Foo bar baz!
";
- }
- }, "The meaning of life");
- pug_html = pug_html + "";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/inheritance.extend.recursive.html b/node_modules/pug/test/output/inheritance.extend.recursive.html
deleted file mode 100644
index 837172f..0000000
--- a/node_modules/pug/test/output/inheritance.extend.recursive.html
+++ /dev/null
@@ -1,5 +0,0 @@
-
-grand-grandparent
-grandparent
-parent
-child
\ No newline at end of file
diff --git a/node_modules/pug/test/output/inheritance.extend.recursive.js b/node_modules/pug/test/output/inheritance.extend.recursive.js
deleted file mode 100644
index 5e16777..0000000
--- a/node_modules/pug/test/output/inheritance.extend.recursive.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + "grand-grandparent grandparent parent child ";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/inheritance.extend.whitespace.html b/node_modules/pug/test/output/inheritance.extend.whitespace.html
deleted file mode 100644
index 2c373ce..0000000
--- a/node_modules/pug/test/output/inheritance.extend.whitespace.html
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
- My Application
-
-
-
- Page
- Some content
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/inheritance.extend.whitespace.js b/node_modules/pug/test/output/inheritance.extend.whitespace.js
deleted file mode 100644
index d7abcf2..0000000
--- a/node_modules/pug/test/output/inheritance.extend.whitespace.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + 'My Application Page Some content
';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/inheritance.html b/node_modules/pug/test/output/inheritance.html
deleted file mode 100644
index 2c373ce..0000000
--- a/node_modules/pug/test/output/inheritance.html
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
- My Application
-
-
-
- Page
- Some content
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/inheritance.js b/node_modules/pug/test/output/inheritance.js
deleted file mode 100644
index d7abcf2..0000000
--- a/node_modules/pug/test/output/inheritance.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + 'My Application Page Some content
';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/inline-tag.html b/node_modules/pug/test/output/inline-tag.html
deleted file mode 100644
index 7ea3af7..0000000
--- a/node_modules/pug/test/output/inline-tag.html
+++ /dev/null
@@ -1,21 +0,0 @@
-
-bing foo bong
-
- bing
- foo
- [foo]
-
- bong
-
-
-
- bing
- foo
- [foo]
-
- bong
-
-
- #[strong escaped]
- #[escaped
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/inline-tag.js b/node_modules/pug/test/output/inline-tag.js
deleted file mode 100644
index b4bd8f9..0000000
--- a/node_modules/pug/test/output/inline-tag.js
+++ /dev/null
@@ -1,41 +0,0 @@
-function pug_escape(e) {
- var a = "" + e, t = pug_match_html.exec(a);
- if (!t) return e;
- var r, c, n, s = "";
- for (r = t.index, c = 0; r < a.length; r++) {
- switch (a.charCodeAt(r)) {
- case 34:
- n = """;
- break;
-
- case 38:
- n = "&";
- break;
-
- case 60:
- n = "<";
- break;
-
- case 62:
- n = ">";
- break;
-
- default:
- continue;
- }
- c !== r && (s += a.substring(c, r)), c = r + 1, s += n;
- }
- return c !== r ? s + a.substring(c, r) : s;
-}
-
-var pug_match_html = /["&<>]/;
-
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + "bing foo bong
bing\nfoo \n" + pug_escape(null == (pug_interp = "[foo]") ? "" : pug_interp) + " \n";
- var foo = "foo]";
- pug_html = pug_html + "\nbong\n
bing\nfoo \n" + pug_escape(null == (pug_interp = "[foo]") ? "" : pug_interp) + " \n";
- var foo = "foo]";
- pug_html = pug_html + "\nbong
#[strong escaped]\n#[escaped
";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/intepolated-elements.html b/node_modules/pug/test/output/intepolated-elements.html
deleted file mode 100644
index 721fa02..0000000
--- a/node_modules/pug/test/output/intepolated-elements.html
+++ /dev/null
@@ -1,4 +0,0 @@
-
-with inline link
-Some text
-Some text with inline link
\ No newline at end of file
diff --git a/node_modules/pug/test/output/intepolated-elements.js b/node_modules/pug/test/output/intepolated-elements.js
deleted file mode 100644
index 05cea76..0000000
--- a/node_modules/pug/test/output/intepolated-elements.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + 'with inline link
Some text
Some text with inline link
';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/interpolated-mixin.html b/node_modules/pug/test/output/interpolated-mixin.html
deleted file mode 100644
index 101aa95..0000000
--- a/node_modules/pug/test/output/interpolated-mixin.html
+++ /dev/null
@@ -1,3 +0,0 @@
-
-This also works http://www.bing.com so hurrah for Pug
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/interpolated-mixin.js b/node_modules/pug/test/output/interpolated-mixin.js
deleted file mode 100644
index ae86a85..0000000
--- a/node_modules/pug/test/output/interpolated-mixin.js
+++ /dev/null
@@ -1,49 +0,0 @@
-function pug_attr(t, e, n, f) {
- return !1 !== e && null != e && (e || "class" !== t && "style" !== t) ? !0 === e ? " " + (f ? t : t + '="' + t + '"') : ("function" == typeof e.toJSON && (e = e.toJSON()),
- "string" == typeof e || (e = JSON.stringify(e), n || -1 === e.indexOf('"')) ? (n && (e = pug_escape(e)),
- " " + t + '="' + e + '"') : " " + t + "='" + e.replace(/'/g, "'") + "'") : "";
-}
-
-function pug_escape(e) {
- var a = "" + e, t = pug_match_html.exec(a);
- if (!t) return e;
- var r, c, n, s = "";
- for (r = t.index, c = 0; r < a.length; r++) {
- switch (a.charCodeAt(r)) {
- case 34:
- n = """;
- break;
-
- case 38:
- n = "&";
- break;
-
- case 60:
- n = "<";
- break;
-
- case 62:
- n = ">";
- break;
-
- default:
- continue;
- }
- c !== r && (s += a.substring(c, r)), c = r + 1, s += n;
- }
- return c !== r ? s + a.substring(c, r) : s;
-}
-
-var pug_match_html = /["&<>]/;
-
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_mixins["linkit"] = pug_interp = function(url) {
- var block = this && this.block, attributes = this && this.attributes || {};
- pug_html = pug_html + "" + pug_escape(null == (pug_interp = url) ? "" : pug_interp) + " ";
- };
- pug_html = pug_html + "This also works ";
- pug_mixins["linkit"]("http://www.bing.com");
- pug_html = pug_html + " so hurrah for Pug
";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/interpolation.escape.html b/node_modules/pug/test/output/interpolation.escape.html
deleted file mode 100644
index 67c8f21..0000000
--- a/node_modules/pug/test/output/interpolation.escape.html
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
- some
- #{text}
- here
- My ID is {42}
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/interpolation.escape.js b/node_modules/pug/test/output/interpolation.escape.js
deleted file mode 100644
index 437614b..0000000
--- a/node_modules/pug/test/output/interpolation.escape.js
+++ /dev/null
@@ -1,38 +0,0 @@
-function pug_escape(e) {
- var a = "" + e, t = pug_match_html.exec(a);
- if (!t) return e;
- var r, c, n, s = "";
- for (r = t.index, c = 0; r < a.length; r++) {
- switch (a.charCodeAt(r)) {
- case 34:
- n = """;
- break;
-
- case 38:
- n = "&";
- break;
-
- case 60:
- n = "<";
- break;
-
- case 62:
- n = ">";
- break;
-
- default:
- continue;
- }
- c !== r && (s += a.substring(c, r)), c = r + 1, s += n;
- }
- return c !== r ? s + a.substring(c, r) : s;
-}
-
-var pug_match_html = /["&<>]/;
-
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- var id = 42;
- pug_html = pug_html + "some\n#{text}\nhere\nMy ID " + pug_escape(null == (pug_interp = "is {" + id + "}") ? "" : pug_interp) + " ";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/layout.append.html b/node_modules/pug/test/output/layout.append.html
deleted file mode 100644
index 35ecb1a..0000000
--- a/node_modules/pug/test/output/layout.append.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/layout.append.js b/node_modules/pug/test/output/layout.append.js
deleted file mode 100644
index 1254165..0000000
--- a/node_modules/pug/test/output/layout.append.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + '';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/layout.append.without-block.html b/node_modules/pug/test/output/layout.append.without-block.html
deleted file mode 100644
index 35ecb1a..0000000
--- a/node_modules/pug/test/output/layout.append.without-block.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/layout.append.without-block.js b/node_modules/pug/test/output/layout.append.without-block.js
deleted file mode 100644
index 1254165..0000000
--- a/node_modules/pug/test/output/layout.append.without-block.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + '';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/layout.multi.append.prepend.block.html b/node_modules/pug/test/output/layout.multi.append.prepend.block.html
deleted file mode 100644
index 6bb714b..0000000
--- a/node_modules/pug/test/output/layout.multi.append.prepend.block.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-Last prepend must appear at top
-Something prepended to content
-Defined content
-Something appended to content
-Last append must be most last
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/layout.multi.append.prepend.block.js b/node_modules/pug/test/output/layout.multi.append.prepend.block.js
deleted file mode 100644
index 9753130..0000000
--- a/node_modules/pug/test/output/layout.multi.append.prepend.block.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + 'Last prepend must appear at top
Something prepended to content
Defined content
Something appended to content
Last append must be most last
';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/layout.prepend.html b/node_modules/pug/test/output/layout.prepend.html
deleted file mode 100644
index c644f99..0000000
--- a/node_modules/pug/test/output/layout.prepend.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/layout.prepend.js b/node_modules/pug/test/output/layout.prepend.js
deleted file mode 100644
index 921f655..0000000
--- a/node_modules/pug/test/output/layout.prepend.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + '';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/layout.prepend.without-block.html b/node_modules/pug/test/output/layout.prepend.without-block.html
deleted file mode 100644
index c644f99..0000000
--- a/node_modules/pug/test/output/layout.prepend.without-block.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/layout.prepend.without-block.js b/node_modules/pug/test/output/layout.prepend.without-block.js
deleted file mode 100644
index 921f655..0000000
--- a/node_modules/pug/test/output/layout.prepend.without-block.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + '';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/mixin-at-end-of-file.html b/node_modules/pug/test/output/mixin-at-end-of-file.html
deleted file mode 100644
index 718b2b1..0000000
--- a/node_modules/pug/test/output/mixin-at-end-of-file.html
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/mixin-at-end-of-file.js b/node_modules/pug/test/output/mixin-at-end-of-file.js
deleted file mode 100644
index 35fe35e..0000000
--- a/node_modules/pug/test/output/mixin-at-end-of-file.js
+++ /dev/null
@@ -1,15 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_mixins["slide"] = pug_interp = function() {
- var block = this && this.block, attributes = this && this.attributes || {};
- pug_html = pug_html + '';
- block && block();
- pug_html = pug_html + " ";
- };
- pug_mixins["slide"].call({
- block: function() {
- pug_html = pug_html + "some awesome content
";
- }
- });
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/mixin-block-with-space.html b/node_modules/pug/test/output/mixin-block-with-space.html
deleted file mode 100644
index 5f1fc02..0000000
--- a/node_modules/pug/test/output/mixin-block-with-space.html
+++ /dev/null
@@ -1,3 +0,0 @@
-
-This text should appear
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/mixin-block-with-space.js b/node_modules/pug/test/output/mixin-block-with-space.js
deleted file mode 100644
index c8b8ba0..0000000
--- a/node_modules/pug/test/output/mixin-block-with-space.js
+++ /dev/null
@@ -1,15 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_mixins["m"] = pug_interp = function(id) {
- var block = this && this.block, attributes = this && this.attributes || {};
- pug_html = pug_html + "";
- block && block();
- pug_html = pug_html + "
";
- };
- pug_mixins["m"].call({
- block: function() {
- pug_html = pug_html + "This text should appear";
- }
- });
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/mixin-hoist.html b/node_modules/pug/test/output/mixin-hoist.html
deleted file mode 100644
index 62949ab..0000000
--- a/node_modules/pug/test/output/mixin-hoist.html
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
- Pug
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/mixin-hoist.js b/node_modules/pug/test/output/mixin-hoist.js
deleted file mode 100644
index bf381d0..0000000
--- a/node_modules/pug/test/output/mixin-hoist.js
+++ /dev/null
@@ -1,46 +0,0 @@
-function pug_escape(e) {
- var a = "" + e, t = pug_match_html.exec(a);
- if (!t) return e;
- var r, c, n, s = "";
- for (r = t.index, c = 0; r < a.length; r++) {
- switch (a.charCodeAt(r)) {
- case 34:
- n = """;
- break;
-
- case 38:
- n = "&";
- break;
-
- case 60:
- n = "<";
- break;
-
- case 62:
- n = ">";
- break;
-
- default:
- continue;
- }
- c !== r && (s += a.substring(c, r)), c = r + 1, s += n;
- }
- return c !== r ? s + a.substring(c, r) : s;
-}
-
-var pug_match_html = /["&<>]/;
-
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- var locals_for_with = locals || {};
- (function(title) {
- pug_mixins["foo"] = pug_interp = function() {
- var block = this && this.block, attributes = this && this.attributes || {};
- pug_html = pug_html + "" + pug_escape(null == (pug_interp = title) ? "" : pug_interp) + " ";
- };
- pug_html = pug_html + "";
- pug_mixins["foo"]();
- pug_html = pug_html + "";
- }).call(this, "title" in locals_for_with ? locals_for_with.title : typeof title !== "undefined" ? title : undefined);
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/mixin-via-include.html b/node_modules/pug/test/output/mixin-via-include.html
deleted file mode 100644
index a6078eb..0000000
--- a/node_modules/pug/test/output/mixin-via-include.html
+++ /dev/null
@@ -1,2 +0,0 @@
-
-bar
\ No newline at end of file
diff --git a/node_modules/pug/test/output/mixin-via-include.js b/node_modules/pug/test/output/mixin-via-include.js
deleted file mode 100644
index b4f595a..0000000
--- a/node_modules/pug/test/output/mixin-via-include.js
+++ /dev/null
@@ -1,13 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_mixins["bang"] = pug_interp = function() {
- var block = this && this.block, attributes = this && this.attributes || {};
- pug_mixins["foo"]();
- };
- pug_mixins["foo"] = pug_interp = function() {
- var block = this && this.block, attributes = this && this.attributes || {};
- pug_html = pug_html + "bar
";
- };
- pug_mixins["bang"]();
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/mixin.attrs.html b/node_modules/pug/test/output/mixin.attrs.html
deleted file mode 100644
index 3dc6364..0000000
--- a/node_modules/pug/test/output/mixin.attrs.html
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
- Hello World
-
-
-
Section 1
-
Some important content.
-
-
-
Section 2
-
Even more important content.
-
-
-
-
-
Section 3
-
Last content.
-
-
-
-
-
-
-
-
-work
-
-1
-2
-3
-4
\ No newline at end of file
diff --git a/node_modules/pug/test/output/mixin.attrs.js b/node_modules/pug/test/output/mixin.attrs.js
deleted file mode 100644
index 03f9237..0000000
--- a/node_modules/pug/test/output/mixin.attrs.js
+++ /dev/null
@@ -1,223 +0,0 @@
-function pug_attr(t, e, n, f) {
- return !1 !== e && null != e && (e || "class" !== t && "style" !== t) ? !0 === e ? " " + (f ? t : t + '="' + t + '"') : ("function" == typeof e.toJSON && (e = e.toJSON()),
- "string" == typeof e || (e = JSON.stringify(e), n || -1 === e.indexOf('"')) ? (n && (e = pug_escape(e)),
- " " + t + '="' + e + '"') : " " + t + "='" + e.replace(/'/g, "'") + "'") : "";
-}
-
-function pug_attrs(t, r) {
- var a = "";
- for (var s in t) if (pug_has_own_property.call(t, s)) {
- var u = t[s];
- if ("class" === s) {
- u = pug_classes(u), a = pug_attr(s, u, !1, r) + a;
- continue;
- }
- "style" === s && (u = pug_style(u)), a += pug_attr(s, u, !1, r);
- }
- return a;
-}
-
-function pug_classes(s, r) {
- return Array.isArray(s) ? pug_classes_array(s, r) : s && "object" == typeof s ? pug_classes_object(s) : s || "";
-}
-
-function pug_classes_array(r, a) {
- for (var s, e = "", u = "", c = Array.isArray(a), g = 0; g < r.length; g++) (s = pug_classes(r[g])) && (c && a[g] && (s = pug_escape(s)),
- e = e + u + s, u = " ");
- return e;
-}
-
-function pug_classes_object(r) {
- var a = "", n = "";
- for (var o in r) o && r[o] && pug_has_own_property.call(r, o) && (a = a + n + o,
- n = " ");
- return a;
-}
-
-function pug_escape(e) {
- var a = "" + e, t = pug_match_html.exec(a);
- if (!t) return e;
- var r, c, n, s = "";
- for (r = t.index, c = 0; r < a.length; r++) {
- switch (a.charCodeAt(r)) {
- case 34:
- n = """;
- break;
-
- case 38:
- n = "&";
- break;
-
- case 60:
- n = "<";
- break;
-
- case 62:
- n = ">";
- break;
-
- default:
- continue;
- }
- c !== r && (s += a.substring(c, r)), c = r + 1, s += n;
- }
- return c !== r ? s + a.substring(c, r) : s;
-}
-
-var pug_has_own_property = Object.prototype.hasOwnProperty;
-
-var pug_match_html = /["&<>]/;
-
-function pug_merge(r, e) {
- if (1 === arguments.length) {
- for (var t = r[0], a = 1; a < r.length; a++) t = pug_merge(t, r[a]);
- return t;
- }
- for (var g in e) if ("class" === g) {
- var l = r[g] || [];
- r[g] = (Array.isArray(l) ? l : [ l ]).concat(e[g] || []);
- } else if ("style" === g) {
- var l = pug_style(r[g]), n = pug_style(e[g]);
- r[g] = l + n;
- } else r[g] = e[g];
- return r;
-}
-
-function pug_style(r) {
- if (!r) return "";
- if ("object" == typeof r) {
- var t = "";
- for (var e in r) pug_has_own_property.call(r, e) && (t = t + e + ":" + r[e] + ";");
- return t;
- }
- return r += "", ";" !== r[r.length - 1] ? r + ";" : r;
-}
-
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_mixins["centered"] = pug_interp = function(title) {
- var block = this && this.block, attributes = this && this.attributes || {};
- pug_html = pug_html + "";
- if (title) {
- pug_html = pug_html + "
" + pug_escape(null == (pug_interp = title) ? "" : pug_interp) + " ";
- }
- block && block();
- if (attributes.href) {
- pug_html = pug_html + '";
- }
- pug_html = pug_html + "";
- };
- pug_mixins["main"] = pug_interp = function(title) {
- var block = this && this.block, attributes = this && this.attributes || {};
- pug_html = pug_html + '';
- pug_mixins["centered"].call({
- block: function() {
- block && block();
- },
- attributes: pug_merge([ {
- class: "highlight"
- }, attributes ])
- }, title);
- pug_html = pug_html + "
";
- };
- pug_mixins["bottom"] = pug_interp = function() {
- var block = this && this.block, attributes = this && this.attributes || {};
- pug_html = pug_html + "";
- block && block();
- pug_html = pug_html + "
";
- };
- pug_html = pug_html + "";
- pug_mixins["centered"].call({
- block: function() {
- pug_html = pug_html + "Hello World";
- },
- attributes: {
- id: "First"
- }
- });
- pug_mixins["centered"].call({
- block: function() {
- pug_html = pug_html + "Some important content.
";
- },
- attributes: {
- id: "Second"
- }
- }, "Section 1");
- pug_mixins["centered"].call({
- block: function() {
- pug_html = pug_html + "Even more important content.
";
- },
- attributes: {
- class: "foo bar",
- id: "Third",
- href: "menu.html"
- }
- }, "Section 2");
- pug_mixins["main"].call({
- block: function() {
- pug_html = pug_html + "Last content.
";
- },
- attributes: {
- href: "#"
- }
- }, "Section 3");
- pug_mixins["bottom"].call({
- block: function() {
- pug_html = pug_html + "Some final words.
";
- },
- attributes: {
- class: "foo bar",
- name: "end",
- id: "Last",
- "data-attr": "baz"
- }
- });
- pug_mixins["bottom"].call({
- attributes: {
- class: "class1 class2"
- }
- });
- pug_html = pug_html + "";
- pug_mixins["foo"] = pug_interp = function() {
- var block = this && this.block, attributes = this && this.attributes || {};
- pug_html = pug_html + "
";
- };
- var val = "";
- var classes = [ "foo", "bar" ];
- pug_mixins["foo"].call({
- attributes: {
- class: pug_classes([ classes, "thunk" ], [ true, false ]),
- attr3: "baz",
- "data-foo": pug_escape(val),
- "data-bar": val
- }
- });
- pug_mixins["work_filmstrip_item"] = pug_interp = function(work) {
- var block = this && this.block, attributes = this && this.attributes || {};
- pug_html = pug_html + "" + pug_escape(null == (pug_interp = work) ? "" : pug_interp) + "
";
- };
- pug_mixins["work_filmstrip_item"].call({
- attributes: {
- "data-profile": "profile",
- "data-creator-name": "name"
- }
- }, "work");
- pug_mixins["my-mixin"] = pug_interp = function(arg1, arg2, arg3, arg4) {
- var block = this && this.block, attributes = this && this.attributes || {};
- pug_html = pug_html + "" + pug_escape(null == (pug_interp = arg1) ? "" : pug_interp) + "
" + pug_escape(null == (pug_interp = arg2) ? "" : pug_interp) + "
" + pug_escape(null == (pug_interp = arg3) ? "" : pug_interp) + "
" + pug_escape(null == (pug_interp = arg4) ? "" : pug_interp) + "
";
- };
- pug_mixins["foo"].call({
- attributes: {
- class: "baz",
- attr3: "qux"
- }
- });
- pug_mixins["my-mixin"]("1", "2", "3", "4");
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/mixin.block-tag-behaviour.html b/node_modules/pug/test/output/mixin.block-tag-behaviour.html
deleted file mode 100644
index c0b49f7..0000000
--- a/node_modules/pug/test/output/mixin.block-tag-behaviour.html
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
- Foo
- I'm article foo
-
-
-
-
-
-
- Something
-
- I'm a much longer
- text-only article,
- but you can still
- inline html tags
- in me if you want.
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/mixin.block-tag-behaviour.js b/node_modules/pug/test/output/mixin.block-tag-behaviour.js
deleted file mode 100644
index 2f6552d..0000000
--- a/node_modules/pug/test/output/mixin.block-tag-behaviour.js
+++ /dev/null
@@ -1,62 +0,0 @@
-function pug_escape(e) {
- var a = "" + e, t = pug_match_html.exec(a);
- if (!t) return e;
- var r, c, n, s = "";
- for (r = t.index, c = 0; r < a.length; r++) {
- switch (a.charCodeAt(r)) {
- case 34:
- n = """;
- break;
-
- case 38:
- n = "&";
- break;
-
- case 60:
- n = "<";
- break;
-
- case 62:
- n = ">";
- break;
-
- default:
- continue;
- }
- c !== r && (s += a.substring(c, r)), c = r + 1, s += n;
- }
- return c !== r ? s + a.substring(c, r) : s;
-}
-
-var pug_match_html = /["&<>]/;
-
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_mixins["article"] = pug_interp = function(name) {
- var block = this && this.block, attributes = this && this.attributes || {};
- pug_html = pug_html + '' + pug_escape(null == (pug_interp = name) ? "" : pug_interp) + " ";
- block && block();
- pug_html = pug_html + " ";
- };
- pug_html = pug_html + "";
- pug_mixins["article"].call({
- block: function() {
- pug_html = pug_html + "I'm article foo
";
- }
- }, "Foo");
- pug_html = pug_html + "";
- pug_mixins["article"] = pug_interp = function(name) {
- var block = this && this.block, attributes = this && this.attributes || {};
- pug_html = pug_html + '' + pug_escape(null == (pug_interp = name) ? "" : pug_interp) + " ";
- block && block();
- pug_html = pug_html + "
";
- };
- pug_html = pug_html + "";
- pug_mixins["article"].call({
- block: function() {
- pug_html = pug_html + "I'm a much longer\ntext-only article,\nbut you can still\ninline html tags\nin me if you want.";
- }
- }, "Something");
- pug_html = pug_html + "";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/mixin.blocks.html b/node_modules/pug/test/output/mixin.blocks.html
deleted file mode 100644
index fc08bd9..0000000
--- a/node_modules/pug/test/output/mixin.blocks.html
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-123
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/mixin.blocks.js b/node_modules/pug/test/output/mixin.blocks.js
deleted file mode 100644
index f531676..0000000
--- a/node_modules/pug/test/output/mixin.blocks.js
+++ /dev/null
@@ -1,97 +0,0 @@
-function pug_attr(t, e, n, f) {
- return !1 !== e && null != e && (e || "class" !== t && "style" !== t) ? !0 === e ? " " + (f ? t : t + '="' + t + '"') : ("function" == typeof e.toJSON && (e = e.toJSON()),
- "string" == typeof e || (e = JSON.stringify(e), n || -1 === e.indexOf('"')) ? (n && (e = pug_escape(e)),
- " " + t + '="' + e + '"') : " " + t + "='" + e.replace(/'/g, "'") + "'") : "";
-}
-
-function pug_escape(e) {
- var a = "" + e, t = pug_match_html.exec(a);
- if (!t) return e;
- var r, c, n, s = "";
- for (r = t.index, c = 0; r < a.length; r++) {
- switch (a.charCodeAt(r)) {
- case 34:
- n = """;
- break;
-
- case 38:
- n = "&";
- break;
-
- case 60:
- n = "<";
- break;
-
- case 62:
- n = ">";
- break;
-
- default:
- continue;
- }
- c !== r && (s += a.substring(c, r)), c = r + 1, s += n;
- }
- return c !== r ? s + a.substring(c, r) : s;
-}
-
-var pug_match_html = /["&<>]/;
-
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_mixins["form"] = pug_interp = function(method, action) {
- var block = this && this.block, attributes = this && this.attributes || {};
- pug_html = pug_html + "";
- };
- pug_html = pug_html + "";
- pug_mixins["form"].call({
- block: function() {
- pug_html = pug_html + ' ';
- }
- }, "GET", "/search");
- pug_html = pug_html + "";
- pug_mixins["form"].call({
- block: function() {
- pug_html = pug_html + ' ';
- }
- }, "POST", "/search");
- pug_html = pug_html + "";
- pug_mixins["form"]("POST", "/search");
- pug_html = pug_html + "";
- pug_mixins["bar"] = pug_interp = function() {
- var block = this && this.block, attributes = this && this.attributes || {};
- pug_html = pug_html + '';
- block && block();
- pug_html = pug_html + "
";
- };
- pug_mixins["foo"] = pug_interp = function() {
- var block = this && this.block, attributes = this && this.attributes || {};
- pug_html = pug_html + '';
- pug_mixins["bar"].call({
- block: function() {
- block && block();
- }
- });
- pug_html = pug_html + "
";
- };
- pug_mixins["foo"].call({
- block: function() {
- pug_html = pug_html + "one
two
three
";
- }
- });
- pug_mixins["baz"] = pug_interp = function() {
- var block = this && this.block, attributes = this && this.attributes || {};
- pug_html = pug_html + '';
- block && block();
- pug_html = pug_html + "
";
- };
- pug_mixins["baz"].call({
- block: function() {
- pug_html = pug_html + pug_escape(null == (pug_interp = "123") ? "" : pug_interp);
- }
- });
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/mixin.merge.html b/node_modules/pug/test/output/mixin.merge.html
deleted file mode 100644
index 260c16c..0000000
--- a/node_modules/pug/test/output/mixin.merge.html
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
- One
- Two
- Three
- Four
- One
- Two
- Three
- Four
- One
- Two
- Three
- Four
- One
- Two
- Three
- Four
- One
- Two
- Three
- Four
- One
- Two
- Three
- Four
- One
- Two
- Three
- Four
- One
- Two
- Three
- Four
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/mixin.merge.js b/node_modules/pug/test/output/mixin.merge.js
deleted file mode 100644
index b130b55..0000000
--- a/node_modules/pug/test/output/mixin.merge.js
+++ /dev/null
@@ -1,148 +0,0 @@
-function pug_attr(t, e, n, f) {
- return !1 !== e && null != e && (e || "class" !== t && "style" !== t) ? !0 === e ? " " + (f ? t : t + '="' + t + '"') : ("function" == typeof e.toJSON && (e = e.toJSON()),
- "string" == typeof e || (e = JSON.stringify(e), n || -1 === e.indexOf('"')) ? (n && (e = pug_escape(e)),
- " " + t + '="' + e + '"') : " " + t + "='" + e.replace(/'/g, "'") + "'") : "";
-}
-
-function pug_attrs(t, r) {
- var a = "";
- for (var s in t) if (pug_has_own_property.call(t, s)) {
- var u = t[s];
- if ("class" === s) {
- u = pug_classes(u), a = pug_attr(s, u, !1, r) + a;
- continue;
- }
- "style" === s && (u = pug_style(u)), a += pug_attr(s, u, !1, r);
- }
- return a;
-}
-
-function pug_classes(s, r) {
- return Array.isArray(s) ? pug_classes_array(s, r) : s && "object" == typeof s ? pug_classes_object(s) : s || "";
-}
-
-function pug_classes_array(r, a) {
- for (var s, e = "", u = "", c = Array.isArray(a), g = 0; g < r.length; g++) (s = pug_classes(r[g])) && (c && a[g] && (s = pug_escape(s)),
- e = e + u + s, u = " ");
- return e;
-}
-
-function pug_classes_object(r) {
- var a = "", n = "";
- for (var o in r) o && r[o] && pug_has_own_property.call(r, o) && (a = a + n + o,
- n = " ");
- return a;
-}
-
-function pug_escape(e) {
- var a = "" + e, t = pug_match_html.exec(a);
- if (!t) return e;
- var r, c, n, s = "";
- for (r = t.index, c = 0; r < a.length; r++) {
- switch (a.charCodeAt(r)) {
- case 34:
- n = """;
- break;
-
- case 38:
- n = "&";
- break;
-
- case 60:
- n = "<";
- break;
-
- case 62:
- n = ">";
- break;
-
- default:
- continue;
- }
- c !== r && (s += a.substring(c, r)), c = r + 1, s += n;
- }
- return c !== r ? s + a.substring(c, r) : s;
-}
-
-var pug_has_own_property = Object.prototype.hasOwnProperty;
-
-var pug_match_html = /["&<>]/;
-
-function pug_merge(r, e) {
- if (1 === arguments.length) {
- for (var t = r[0], a = 1; a < r.length; a++) t = pug_merge(t, r[a]);
- return t;
- }
- for (var g in e) if ("class" === g) {
- var l = r[g] || [];
- r[g] = (Array.isArray(l) ? l : [ l ]).concat(e[g] || []);
- } else if ("style" === g) {
- var l = pug_style(r[g]), n = pug_style(e[g]);
- r[g] = l + n;
- } else r[g] = e[g];
- return r;
-}
-
-function pug_style(r) {
- if (!r) return "";
- if ("object" == typeof r) {
- var t = "";
- for (var e in r) pug_has_own_property.call(r, e) && (t = t + e + ":" + r[e] + ";");
- return t;
- }
- return r += "", ";" !== r[r.length - 1] ? r + ";" : r;
-}
-
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_mixins["foo"] = pug_interp = function() {
- var block = this && this.block, attributes = this && this.attributes || {};
- pug_html = pug_html + "One
Two
Three
Four
";
- };
- pug_html = pug_html + "";
- pug_mixins["foo"].call({
- attributes: {
- class: "hello"
- }
- });
- pug_mixins["foo"].call({
- attributes: {
- id: "world"
- }
- });
- pug_mixins["foo"].call({
- attributes: {
- class: "hello",
- id: "world"
- }
- });
- pug_mixins["foo"].call({
- attributes: {
- class: "hello world"
- }
- });
- pug_mixins["foo"].call({
- attributes: {
- class: "hello"
- }
- });
- pug_mixins["foo"].call({
- attributes: {
- class: "hello world"
- }
- });
- pug_mixins["foo"]();
- pug_mixins["foo"].call({
- attributes: {
- class: "hello"
- }
- });
- pug_html = pug_html + "";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/mixins-unused.html b/node_modules/pug/test/output/mixins-unused.html
deleted file mode 100644
index f8f1281..0000000
--- a/node_modules/pug/test/output/mixins-unused.html
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/mixins-unused.js b/node_modules/pug/test/output/mixins-unused.js
deleted file mode 100644
index 4ad2f09..0000000
--- a/node_modules/pug/test/output/mixins-unused.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + "";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/mixins.html b/node_modules/pug/test/output/mixins.html
deleted file mode 100644
index a75b175..0000000
--- a/node_modules/pug/test/output/mixins.html
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
Tobi
-
-
-
-
-
-
-This is interpolated
\ No newline at end of file
diff --git a/node_modules/pug/test/output/mixins.js b/node_modules/pug/test/output/mixins.js
deleted file mode 100644
index 4dcc54a..0000000
--- a/node_modules/pug/test/output/mixins.js
+++ /dev/null
@@ -1,61 +0,0 @@
-function pug_escape(e) {
- var a = "" + e, t = pug_match_html.exec(a);
- if (!t) return e;
- var r, c, n, s = "";
- for (r = t.index, c = 0; r < a.length; r++) {
- switch (a.charCodeAt(r)) {
- case 34:
- n = """;
- break;
-
- case 38:
- n = "&";
- break;
-
- case 60:
- n = "<";
- break;
-
- case 62:
- n = ">";
- break;
-
- default:
- continue;
- }
- c !== r && (s += a.substring(c, r)), c = r + 1, s += n;
- }
- return c !== r ? s + a.substring(c, r) : s;
-}
-
-var pug_match_html = /["&<>]/;
-
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_mixins["comment"] = pug_interp = function(title, str) {
- var block = this && this.block, attributes = this && this.attributes || {};
- pug_html = pug_html + '";
- };
- pug_mixins["comment"] = pug_interp = function(title, str) {
- var block = this && this.block, attributes = this && this.attributes || {};
- pug_html = pug_html + '";
- };
- pug_html = pug_html + '
Tobi ";
- pug_mixins["list"] = pug_interp = function() {
- var block = this && this.block, attributes = this && this.attributes || {};
- pug_html = pug_html + "";
- };
- pug_html = pug_html + "";
- pug_mixins["list"]();
- pug_mixins["list"]();
- pug_html = pug_html + "";
- pug_mixins["foobar"] = pug_interp = function(str) {
- var block = this && this.block, attributes = this && this.attributes || {};
- pug_html = pug_html + '' + pug_escape(null == (pug_interp = str + "interpolated") ? "" : pug_interp) + "
";
- };
- var suffix = "bar";
- pug_mixins["foo" + suffix]("This is ");
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/mixins.rest-args.html b/node_modules/pug/test/output/mixins.rest-args.html
deleted file mode 100644
index 9ab9c6d..0000000
--- a/node_modules/pug/test/output/mixins.rest-args.html
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/mixins.rest-args.js b/node_modules/pug/test/output/mixins.rest-args.js
deleted file mode 100644
index 9d4b35d..0000000
--- a/node_modules/pug/test/output/mixins.rest-args.js
+++ /dev/null
@@ -1,62 +0,0 @@
-function pug_escape(e) {
- var a = "" + e, t = pug_match_html.exec(a);
- if (!t) return e;
- var r, c, n, s = "";
- for (r = t.index, c = 0; r < a.length; r++) {
- switch (a.charCodeAt(r)) {
- case 34:
- n = """;
- break;
-
- case 38:
- n = "&";
- break;
-
- case 60:
- n = "<";
- break;
-
- case 62:
- n = ">";
- break;
-
- default:
- continue;
- }
- c !== r && (s += a.substring(c, r)), c = r + 1, s += n;
- }
- return c !== r ? s + a.substring(c, r) : s;
-}
-
-var pug_match_html = /["&<>]/;
-
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_mixins["list"] = pug_interp = function(tag) {
- var block = this && this.block, attributes = this && this.attributes || {};
- var items = [];
- for (pug_interp = 1; pug_interp < arguments.length; pug_interp++) {
- items.push(arguments[pug_interp]);
- }
- pug_html = pug_html + "<" + tag + ">";
- (function() {
- var $$obj = items;
- if ("number" == typeof $$obj.length) {
- for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {
- var item = $$obj[pug_index0];
- pug_html = pug_html + "" + pug_escape(null == (pug_interp = item) ? "" : pug_interp) + " ";
- }
- } else {
- var $$l = 0;
- for (var pug_index0 in $$obj) {
- $$l++;
- var item = $$obj[pug_index0];
- pug_html = pug_html + "" + pug_escape(null == (pug_interp = item) ? "" : pug_interp) + " ";
- }
- }
- }).call(this);
- pug_html = pug_html + "" + tag + ">";
- };
- pug_mixins["list"]("ul", 1, 2, 3, 4);
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/namespaces.html b/node_modules/pug/test/output/namespaces.html
deleted file mode 100644
index 5f2cab7..0000000
--- a/node_modules/pug/test/output/namespaces.html
+++ /dev/null
@@ -1,3 +0,0 @@
-
-Something
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/namespaces.js b/node_modules/pug/test/output/namespaces.js
deleted file mode 100644
index b2c7776..0000000
--- a/node_modules/pug/test/output/namespaces.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + 'Something ';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/nesting.html b/node_modules/pug/test/output/nesting.html
deleted file mode 100644
index eed785e..0000000
--- a/node_modules/pug/test/output/nesting.html
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/nesting.js b/node_modules/pug/test/output/nesting.js
deleted file mode 100644
index 19d6cee..0000000
--- a/node_modules/pug/test/output/nesting.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + "";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/pipeless-comments.html b/node_modules/pug/test/output/pipeless-comments.html
deleted file mode 100644
index 5f9af83..0000000
--- a/node_modules/pug/test/output/pipeless-comments.html
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/pipeless-comments.js b/node_modules/pug/test/output/pipeless-comments.js
deleted file mode 100644
index 29e79ec..0000000
--- a/node_modules/pug/test/output/pipeless-comments.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + "";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/pipeless-filters.html b/node_modules/pug/test/output/pipeless-filters.html
deleted file mode 100644
index d21d32f..0000000
--- a/node_modules/pug/test/output/pipeless-filters.html
+++ /dev/null
@@ -1,3 +0,0 @@
-code sample
-
-Heading
diff --git a/node_modules/pug/test/output/pipeless-filters.js b/node_modules/pug/test/output/pipeless-filters.js
deleted file mode 100644
index 97b6673..0000000
--- a/node_modules/pug/test/output/pipeless-filters.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + "code sample\n
\nHeading \n";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/pipeless-tag.html b/node_modules/pug/test/output/pipeless-tag.html
deleted file mode 100644
index f6f8935..0000000
--- a/node_modules/pug/test/output/pipeless-tag.html
+++ /dev/null
@@ -1,3 +0,0 @@
-
- what
-is going on
\ No newline at end of file
diff --git a/node_modules/pug/test/output/pipeless-tag.js b/node_modules/pug/test/output/pipeless-tag.js
deleted file mode 100644
index 4c9a59f..0000000
--- a/node_modules/pug/test/output/pipeless-tag.js
+++ /dev/null
@@ -1,37 +0,0 @@
-function pug_escape(e) {
- var a = "" + e, t = pug_match_html.exec(a);
- if (!t) return e;
- var r, c, n, s = "";
- for (r = t.index, c = 0; r < a.length; r++) {
- switch (a.charCodeAt(r)) {
- case 34:
- n = """;
- break;
-
- case 38:
- n = "&";
- break;
-
- case 60:
- n = "<";
- break;
-
- case 62:
- n = ">";
- break;
-
- default:
- continue;
- }
- c !== r && (s += a.substring(c, r)), c = r + 1, s += n;
- }
- return c !== r ? s + a.substring(c, r) : s;
-}
-
-var pug_match_html = /["&<>]/;
-
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + " what\nis " + pug_escape(null == (pug_interp = "going") ? "" : pug_interp) + " " + pug_escape(null == (pug_interp = "on") ? "" : pug_interp) + " ";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/pre.html b/node_modules/pug/test/output/pre.html
deleted file mode 100644
index e568c2c..0000000
--- a/node_modules/pug/test/output/pre.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-foo
-bar
-baz
-
-foo
-bar
-baz
\ No newline at end of file
diff --git a/node_modules/pug/test/output/pre.js b/node_modules/pug/test/output/pre.js
deleted file mode 100644
index 11950f9..0000000
--- a/node_modules/pug/test/output/pre.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + "foo\nbar\nbaz\n foo\nbar\nbaz
";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/quotes.html b/node_modules/pug/test/output/quotes.html
deleted file mode 100644
index 41c77b0..0000000
--- a/node_modules/pug/test/output/quotes.html
+++ /dev/null
@@ -1,3 +0,0 @@
-
-"foo"
-'foo'
\ No newline at end of file
diff --git a/node_modules/pug/test/output/quotes.js b/node_modules/pug/test/output/quotes.js
deleted file mode 100644
index 07fe9cf..0000000
--- a/node_modules/pug/test/output/quotes.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + "\"foo\"
'foo'
";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/regression.1794.html b/node_modules/pug/test/output/regression.1794.html
deleted file mode 100644
index 105729c..0000000
--- a/node_modules/pug/test/output/regression.1794.html
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/regression.1794.js b/node_modules/pug/test/output/regression.1794.js
deleted file mode 100644
index 9515bd2..0000000
--- a/node_modules/pug/test/output/regression.1794.js
+++ /dev/null
@@ -1,106 +0,0 @@
-function pug_attr(t, e, n, f) {
- return !1 !== e && null != e && (e || "class" !== t && "style" !== t) ? !0 === e ? " " + (f ? t : t + '="' + t + '"') : ("function" == typeof e.toJSON && (e = e.toJSON()),
- "string" == typeof e || (e = JSON.stringify(e), n || -1 === e.indexOf('"')) ? (n && (e = pug_escape(e)),
- " " + t + '="' + e + '"') : " " + t + "='" + e.replace(/'/g, "'") + "'") : "";
-}
-
-function pug_attrs(t, r) {
- var a = "";
- for (var s in t) if (pug_has_own_property.call(t, s)) {
- var u = t[s];
- if ("class" === s) {
- u = pug_classes(u), a = pug_attr(s, u, !1, r) + a;
- continue;
- }
- "style" === s && (u = pug_style(u)), a += pug_attr(s, u, !1, r);
- }
- return a;
-}
-
-function pug_classes(s, r) {
- return Array.isArray(s) ? pug_classes_array(s, r) : s && "object" == typeof s ? pug_classes_object(s) : s || "";
-}
-
-function pug_classes_array(r, a) {
- for (var s, e = "", u = "", c = Array.isArray(a), g = 0; g < r.length; g++) (s = pug_classes(r[g])) && (c && a[g] && (s = pug_escape(s)),
- e = e + u + s, u = " ");
- return e;
-}
-
-function pug_classes_object(r) {
- var a = "", n = "";
- for (var o in r) o && r[o] && pug_has_own_property.call(r, o) && (a = a + n + o,
- n = " ");
- return a;
-}
-
-function pug_escape(e) {
- var a = "" + e, t = pug_match_html.exec(a);
- if (!t) return e;
- var r, c, n, s = "";
- for (r = t.index, c = 0; r < a.length; r++) {
- switch (a.charCodeAt(r)) {
- case 34:
- n = """;
- break;
-
- case 38:
- n = "&";
- break;
-
- case 60:
- n = "<";
- break;
-
- case 62:
- n = ">";
- break;
-
- default:
- continue;
- }
- c !== r && (s += a.substring(c, r)), c = r + 1, s += n;
- }
- return c !== r ? s + a.substring(c, r) : s;
-}
-
-var pug_has_own_property = Object.prototype.hasOwnProperty;
-
-var pug_match_html = /["&<>]/;
-
-function pug_merge(r, e) {
- if (1 === arguments.length) {
- for (var t = r[0], a = 1; a < r.length; a++) t = pug_merge(t, r[a]);
- return t;
- }
- for (var g in e) if ("class" === g) {
- var l = r[g] || [];
- r[g] = (Array.isArray(l) ? l : [ l ]).concat(e[g] || []);
- } else if ("style" === g) {
- var l = pug_style(r[g]), n = pug_style(e[g]);
- r[g] = l + n;
- } else r[g] = e[g];
- return r;
-}
-
-function pug_style(r) {
- if (!r) return "";
- if ("object" == typeof r) {
- var t = "";
- for (var e in r) pug_has_own_property.call(r, e) && (t = t + e + ":" + r[e] + ";");
- return t;
- }
- return r += "", ";" !== r[r.length - 1] ? r + ";" : r;
-}
-
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_mixins["test"] = pug_interp = function() {
- var block = this && this.block, attributes = this && this.attributes || {};
- pug_html = pug_html + "
";
- };
- pug_mixins["test"]();
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/regression.784.html b/node_modules/pug/test/output/regression.784.html
deleted file mode 100644
index e9545ab..0000000
--- a/node_modules/pug/test/output/regression.784.html
+++ /dev/null
@@ -1,2 +0,0 @@
-
-google.com
\ No newline at end of file
diff --git a/node_modules/pug/test/output/regression.784.js b/node_modules/pug/test/output/regression.784.js
deleted file mode 100644
index 1e73fec..0000000
--- a/node_modules/pug/test/output/regression.784.js
+++ /dev/null
@@ -1,38 +0,0 @@
-function pug_escape(e) {
- var a = "" + e, t = pug_match_html.exec(a);
- if (!t) return e;
- var r, c, n, s = "";
- for (r = t.index, c = 0; r < a.length; r++) {
- switch (a.charCodeAt(r)) {
- case 34:
- n = """;
- break;
-
- case 38:
- n = "&";
- break;
-
- case 60:
- n = "<";
- break;
-
- case 62:
- n = ">";
- break;
-
- default:
- continue;
- }
- c !== r && (s += a.substring(c, r)), c = r + 1, s += n;
- }
- return c !== r ? s + a.substring(c, r) : s;
-}
-
-var pug_match_html = /["&<>]/;
-
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- var url = "http://www.google.com";
- pug_html = pug_html + '' + pug_escape(null == (pug_interp = url.replace("http://", "").replace(/^www\./, "")) ? "" : pug_interp) + "
";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/script.whitespace.html b/node_modules/pug/test/output/script.whitespace.html
deleted file mode 100644
index ebc37f8..0000000
--- a/node_modules/pug/test/output/script.whitespace.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/script.whitespace.js b/node_modules/pug/test/output/script.whitespace.js
deleted file mode 100644
index 4bcfb6e..0000000
--- a/node_modules/pug/test/output/script.whitespace.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + "";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/scripts.html b/node_modules/pug/test/output/scripts.html
deleted file mode 100644
index 1fddcc6..0000000
--- a/node_modules/pug/test/output/scripts.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/scripts.js b/node_modules/pug/test/output/scripts.js
deleted file mode 100644
index b548516..0000000
--- a/node_modules/pug/test/output/scripts.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + "
";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/scripts.non-js.html b/node_modules/pug/test/output/scripts.non-js.html
deleted file mode 100644
index ec5399e..0000000
--- a/node_modules/pug/test/output/scripts.non-js.html
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/scripts.non-js.js b/node_modules/pug/test/output/scripts.non-js.js
deleted file mode 100644
index 906e8c5..0000000
--- a/node_modules/pug/test/output/scripts.non-js.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + '';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/self-closing-html.html b/node_modules/pug/test/output/self-closing-html.html
deleted file mode 100644
index 4f3bd5f..0000000
--- a/node_modules/pug/test/output/self-closing-html.html
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/self-closing-html.js b/node_modules/pug/test/output/self-closing-html.js
deleted file mode 100644
index b30f641..0000000
--- a/node_modules/pug/test/output/self-closing-html.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + " ";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/single-period.html b/node_modules/pug/test/output/single-period.html
deleted file mode 100644
index 430944c..0000000
--- a/node_modules/pug/test/output/single-period.html
+++ /dev/null
@@ -1 +0,0 @@
-.
\ No newline at end of file
diff --git a/node_modules/pug/test/output/single-period.js b/node_modules/pug/test/output/single-period.js
deleted file mode 100644
index 15350a1..0000000
--- a/node_modules/pug/test/output/single-period.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + ". ";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/source.html b/node_modules/pug/test/output/source.html
deleted file mode 100644
index e2d4a60..0000000
--- a/node_modules/pug/test/output/source.html
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/source.js b/node_modules/pug/test/output/source.js
deleted file mode 100644
index 3e8cf09..0000000
--- a/node_modules/pug/test/output/source.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + ' ';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/styles.html b/node_modules/pug/test/output/styles.html
deleted file mode 100644
index bd9d46f..0000000
--- a/node_modules/pug/test/output/styles.html
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/styles.js b/node_modules/pug/test/output/styles.js
deleted file mode 100644
index b71f50d..0000000
--- a/node_modules/pug/test/output/styles.js
+++ /dev/null
@@ -1,125 +0,0 @@
-function pug_attr(t, e, n, f) {
- return !1 !== e && null != e && (e || "class" !== t && "style" !== t) ? !0 === e ? " " + (f ? t : t + '="' + t + '"') : ("function" == typeof e.toJSON && (e = e.toJSON()),
- "string" == typeof e || (e = JSON.stringify(e), n || -1 === e.indexOf('"')) ? (n && (e = pug_escape(e)),
- " " + t + '="' + e + '"') : " " + t + "='" + e.replace(/'/g, "'") + "'") : "";
-}
-
-function pug_attrs(t, r) {
- var a = "";
- for (var s in t) if (pug_has_own_property.call(t, s)) {
- var u = t[s];
- if ("class" === s) {
- u = pug_classes(u), a = pug_attr(s, u, !1, r) + a;
- continue;
- }
- "style" === s && (u = pug_style(u)), a += pug_attr(s, u, !1, r);
- }
- return a;
-}
-
-function pug_classes(s, r) {
- return Array.isArray(s) ? pug_classes_array(s, r) : s && "object" == typeof s ? pug_classes_object(s) : s || "";
-}
-
-function pug_classes_array(r, a) {
- for (var s, e = "", u = "", c = Array.isArray(a), g = 0; g < r.length; g++) (s = pug_classes(r[g])) && (c && a[g] && (s = pug_escape(s)),
- e = e + u + s, u = " ");
- return e;
-}
-
-function pug_classes_object(r) {
- var a = "", n = "";
- for (var o in r) o && r[o] && pug_has_own_property.call(r, o) && (a = a + n + o,
- n = " ");
- return a;
-}
-
-function pug_escape(e) {
- var a = "" + e, t = pug_match_html.exec(a);
- if (!t) return e;
- var r, c, n, s = "";
- for (r = t.index, c = 0; r < a.length; r++) {
- switch (a.charCodeAt(r)) {
- case 34:
- n = """;
- break;
-
- case 38:
- n = "&";
- break;
-
- case 60:
- n = "<";
- break;
-
- case 62:
- n = ">";
- break;
-
- default:
- continue;
- }
- c !== r && (s += a.substring(c, r)), c = r + 1, s += n;
- }
- return c !== r ? s + a.substring(c, r) : s;
-}
-
-var pug_has_own_property = Object.prototype.hasOwnProperty;
-
-var pug_match_html = /["&<>]/;
-
-function pug_style(r) {
- if (!r) return "";
- if ("object" == typeof r) {
- var t = "";
- for (var e in r) pug_has_own_property.call(r, e) && (t = t + e + ":" + r[e] + ";");
- return t;
- }
- return r += "", ";" !== r[r.length - 1] ? r + ";" : r;
-}
-
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + '
";
- pug_mixins["div"] = pug_interp = function() {
- var block = this && this.block, attributes = this && this.attributes || {};
- pug_html = pug_html + "
";
- };
- pug_mixins["div"].call({
- attributes: {
- style: "color:red;background:green;"
- }
- });
- pug_mixins["div"].call({
- attributes: {
- style: "color:red;background:green;"
- }
- });
- var bg = "green";
- pug_html = pug_html + "
";
- pug_mixins["div"].call({
- attributes: {
- style: pug_escape(pug_style({
- color: "red",
- background: bg
- }))
- }
- });
- pug_html = pug_html + "";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/tag.interpolation.html b/node_modules/pug/test/output/tag.interpolation.html
deleted file mode 100644
index 7973bf7..0000000
--- a/node_modules/pug/test/output/tag.interpolation.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
-value
-value
-here
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/tag.interpolation.js b/node_modules/pug/test/output/tag.interpolation.js
deleted file mode 100644
index 9bd31a1..0000000
--- a/node_modules/pug/test/output/tag.interpolation.js
+++ /dev/null
@@ -1,116 +0,0 @@
-function pug_attr(t, e, n, f) {
- return !1 !== e && null != e && (e || "class" !== t && "style" !== t) ? !0 === e ? " " + (f ? t : t + '="' + t + '"') : ("function" == typeof e.toJSON && (e = e.toJSON()),
- "string" == typeof e || (e = JSON.stringify(e), n || -1 === e.indexOf('"')) ? (n && (e = pug_escape(e)),
- " " + t + '="' + e + '"') : " " + t + "='" + e.replace(/'/g, "'") + "'") : "";
-}
-
-function pug_attrs(t, r) {
- var a = "";
- for (var s in t) if (pug_has_own_property.call(t, s)) {
- var u = t[s];
- if ("class" === s) {
- u = pug_classes(u), a = pug_attr(s, u, !1, r) + a;
- continue;
- }
- "style" === s && (u = pug_style(u)), a += pug_attr(s, u, !1, r);
- }
- return a;
-}
-
-function pug_classes(s, r) {
- return Array.isArray(s) ? pug_classes_array(s, r) : s && "object" == typeof s ? pug_classes_object(s) : s || "";
-}
-
-function pug_classes_array(r, a) {
- for (var s, e = "", u = "", c = Array.isArray(a), g = 0; g < r.length; g++) (s = pug_classes(r[g])) && (c && a[g] && (s = pug_escape(s)),
- e = e + u + s, u = " ");
- return e;
-}
-
-function pug_classes_object(r) {
- var a = "", n = "";
- for (var o in r) o && r[o] && pug_has_own_property.call(r, o) && (a = a + n + o,
- n = " ");
- return a;
-}
-
-function pug_escape(e) {
- var a = "" + e, t = pug_match_html.exec(a);
- if (!t) return e;
- var r, c, n, s = "";
- for (r = t.index, c = 0; r < a.length; r++) {
- switch (a.charCodeAt(r)) {
- case 34:
- n = """;
- break;
-
- case 38:
- n = "&";
- break;
-
- case 60:
- n = "<";
- break;
-
- case 62:
- n = ">";
- break;
-
- default:
- continue;
- }
- c !== r && (s += a.substring(c, r)), c = r + 1, s += n;
- }
- return c !== r ? s + a.substring(c, r) : s;
-}
-
-var pug_has_own_property = Object.prototype.hasOwnProperty;
-
-var pug_match_html = /["&<>]/;
-
-function pug_style(r) {
- if (!r) return "";
- if ("object" == typeof r) {
- var t = "";
- for (var e in r) pug_has_own_property.call(r, e) && (t = t + e + ":" + r[e] + ";");
- return t;
- }
- return r += "", ";" !== r[r.length - 1] ? r + ";" : r;
-}
-
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- var tag = "p";
- var foo = "bar";
- pug_html = pug_html + "<" + tag + ">value" + tag + "><" + tag + ' foo="bar">value' + tag + "><" + (foo ? "a" : "li") + ' something="something">here' + (foo ? "a" : "li") + ">";
- pug_mixins["item"] = pug_interp = function(icon) {
- var block = this && this.block, attributes = this && this.attributes || {};
- pug_html = pug_html + "";
- if (attributes.href) {
- pug_html = pug_html + " ";
- block && block();
- pug_html = pug_html + " ";
- } else {
- pug_html = pug_html + " ";
- block && block();
- pug_html = pug_html + " ";
- }
- pug_html = pug_html + " ";
- };
- pug_html = pug_html + "";
- pug_mixins["item"].call({
- block: function() {
- pug_html = pug_html + "Contact";
- }
- }, "contact");
- pug_mixins["item"].call({
- block: function() {
- pug_html = pug_html + "Contact";
- },
- attributes: {
- href: "/contact"
- }
- });
- pug_html = pug_html + " ";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/tags.self-closing.html b/node_modules/pug/test/output/tags.self-closing.html
deleted file mode 100644
index 4f0bc7b..0000000
--- a/node_modules/pug/test/output/tags.self-closing.html
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
- /
- /
-
-
- /
- /
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/tags.self-closing.js b/node_modules/pug/test/output/tags.self-closing.js
deleted file mode 100644
index 7746740..0000000
--- a/node_modules/pug/test/output/tags.self-closing.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + '/ / / / ';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/template.html b/node_modules/pug/test/output/template.html
deleted file mode 100644
index 2d05bce..0000000
--- a/node_modules/pug/test/output/template.html
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/template.js b/node_modules/pug/test/output/template.js
deleted file mode 100644
index 88c9571..0000000
--- a/node_modules/pug/test/output/template.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + '';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/text-block.html b/node_modules/pug/test/output/text-block.html
deleted file mode 100644
index 4b9b34e..0000000
--- a/node_modules/pug/test/output/text-block.html
+++ /dev/null
@@ -1,7 +0,0 @@
-
-Username:
-
-
-Password:
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/text-block.js b/node_modules/pug/test/output/text-block.js
deleted file mode 100644
index ef97cd6..0000000
--- a/node_modules/pug/test/output/text-block.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + 'Username: Password: ';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/text.html b/node_modules/pug/test/output/text.html
deleted file mode 100644
index 3e61b46..0000000
--- a/node_modules/pug/test/output/text.html
+++ /dev/null
@@ -1,36 +0,0 @@
-
--- (selected) --
-
-
-
- foo
- bar
-
-
- baz
-
-
- foo
-
-
- bar
- baz
-
-
foo
-
-
-bar
-baz
-
-foo
- bar
- baz
-.
-foo
- bar
- baz
-.
- foo
- bar
- baz
-.
\ No newline at end of file
diff --git a/node_modules/pug/test/output/text.js b/node_modules/pug/test/output/text.js
deleted file mode 100644
index 0ffa7fa..0000000
--- a/node_modules/pug/test/output/text.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + '-- (selected) --
foo\nbar\n\n\nbaz
foo\n\n\nbar\nbaz\n
foo\n\n\nbar\nbaz\nfoo\n bar\n baz\n. foo\n bar\n baz\n.\n foo\n bar\n baz\n.';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/utf8bom.html b/node_modules/pug/test/output/utf8bom.html
deleted file mode 100644
index d25c9ef..0000000
--- a/node_modules/pug/test/output/utf8bom.html
+++ /dev/null
@@ -1,2 +0,0 @@
-
-"foo"
\ No newline at end of file
diff --git a/node_modules/pug/test/output/utf8bom.js b/node_modules/pug/test/output/utf8bom.js
deleted file mode 100644
index 7fc490b..0000000
--- a/node_modules/pug/test/output/utf8bom.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + '"foo"
';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/vars.html b/node_modules/pug/test/output/vars.html
deleted file mode 100644
index e9b7590..0000000
--- a/node_modules/pug/test/output/vars.html
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/vars.js b/node_modules/pug/test/output/vars.js
deleted file mode 100644
index d871574..0000000
--- a/node_modules/pug/test/output/vars.js
+++ /dev/null
@@ -1,64 +0,0 @@
-function pug_attr(t, e, n, f) {
- return !1 !== e && null != e && (e || "class" !== t && "style" !== t) ? !0 === e ? " " + (f ? t : t + '="' + t + '"') : ("function" == typeof e.toJSON && (e = e.toJSON()),
- "string" == typeof e || (e = JSON.stringify(e), n || -1 === e.indexOf('"')) ? (n && (e = pug_escape(e)),
- " " + t + '="' + e + '"') : " " + t + "='" + e.replace(/'/g, "'") + "'") : "";
-}
-
-function pug_classes(s, r) {
- return Array.isArray(s) ? pug_classes_array(s, r) : s && "object" == typeof s ? pug_classes_object(s) : s || "";
-}
-
-function pug_classes_array(r, a) {
- for (var s, e = "", u = "", c = Array.isArray(a), g = 0; g < r.length; g++) (s = pug_classes(r[g])) && (c && a[g] && (s = pug_escape(s)),
- e = e + u + s, u = " ");
- return e;
-}
-
-function pug_classes_object(r) {
- var a = "", n = "";
- for (var o in r) o && r[o] && pug_has_own_property.call(r, o) && (a = a + n + o,
- n = " ");
- return a;
-}
-
-function pug_escape(e) {
- var a = "" + e, t = pug_match_html.exec(a);
- if (!t) return e;
- var r, c, n, s = "";
- for (r = t.index, c = 0; r < a.length; r++) {
- switch (a.charCodeAt(r)) {
- case 34:
- n = """;
- break;
-
- case 38:
- n = "&";
- break;
-
- case 60:
- n = "<";
- break;
-
- case 62:
- n = ">";
- break;
-
- default:
- continue;
- }
- c !== r && (s += a.substring(c, r)), c = r + 1, s += n;
- }
- return c !== r ? s + a.substring(c, r) : s;
-}
-
-var pug_has_own_property = Object.prototype.hasOwnProperty;
-
-var pug_match_html = /["&<>]/;
-
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- var foo = "bar";
- var list = [ 1, 2, 3 ];
- pug_html = pug_html + " ";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/while.html b/node_modules/pug/test/output/while.html
deleted file mode 100644
index 7518980..0000000
--- a/node_modules/pug/test/output/while.html
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/while.js b/node_modules/pug/test/output/while.js
deleted file mode 100644
index 4befe2d..0000000
--- a/node_modules/pug/test/output/while.js
+++ /dev/null
@@ -1,43 +0,0 @@
-function pug_escape(e) {
- var a = "" + e, t = pug_match_html.exec(a);
- if (!t) return e;
- var r, c, n, s = "";
- for (r = t.index, c = 0; r < a.length; r++) {
- switch (a.charCodeAt(r)) {
- case 34:
- n = """;
- break;
-
- case 38:
- n = "&";
- break;
-
- case 60:
- n = "<";
- break;
-
- case 62:
- n = ">";
- break;
-
- default:
- continue;
- }
- c !== r && (s += a.substring(c, r)), c = r + 1, s += n;
- }
- return c !== r ? s + a.substring(c, r) : s;
-}
-
-var pug_match_html = /["&<>]/;
-
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- var x = 1;
- pug_html = pug_html + "";
- while (x < 10) {
- x++;
- pug_html = pug_html + "" + pug_escape(null == (pug_interp = x) ? "" : pug_interp) + " ";
- }
- pug_html = pug_html + " ";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/xml.html b/node_modules/pug/test/output/xml.html
deleted file mode 100644
index 5fd9f1a..0000000
--- a/node_modules/pug/test/output/xml.html
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
- http://google.com
\ No newline at end of file
diff --git a/node_modules/pug/test/output/xml.js b/node_modules/pug/test/output/xml.js
deleted file mode 100644
index 3bfe675..0000000
--- a/node_modules/pug/test/output/xml.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + ' http://google.com';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/yield-before-conditional-head.html b/node_modules/pug/test/output/yield-before-conditional-head.html
deleted file mode 100644
index c2efe94..0000000
--- a/node_modules/pug/test/output/yield-before-conditional-head.html
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/yield-before-conditional-head.js b/node_modules/pug/test/output/yield-before-conditional-head.js
deleted file mode 100644
index d470f7c..0000000
--- a/node_modules/pug/test/output/yield-before-conditional-head.js
+++ /dev/null
@@ -1,9 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + '';
- if (false) {
- pug_html = pug_html + '';
- }
- pug_html = pug_html + "";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/yield-before-conditional.html b/node_modules/pug/test/output/yield-before-conditional.html
deleted file mode 100644
index 1dad26e..0000000
--- a/node_modules/pug/test/output/yield-before-conditional.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/yield-before-conditional.js b/node_modules/pug/test/output/yield-before-conditional.js
deleted file mode 100644
index 1e70d4b..0000000
--- a/node_modules/pug/test/output/yield-before-conditional.js
+++ /dev/null
@@ -1,9 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + '';
- if (false) {
- pug_html = pug_html + '';
- }
- pug_html = pug_html + "";
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/yield-head.html b/node_modules/pug/test/output/yield-head.html
deleted file mode 100644
index a9c8355..0000000
--- a/node_modules/pug/test/output/yield-head.html
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/yield-head.js b/node_modules/pug/test/output/yield-head.js
deleted file mode 100644
index f1f3f6f..0000000
--- a/node_modules/pug/test/output/yield-head.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + '';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/yield-title-head.html b/node_modules/pug/test/output/yield-title-head.html
deleted file mode 100644
index b051088..0000000
--- a/node_modules/pug/test/output/yield-title-head.html
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/yield-title-head.js b/node_modules/pug/test/output/yield-title-head.js
deleted file mode 100644
index f45063a..0000000
--- a/node_modules/pug/test/output/yield-title-head.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + ' ';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/yield-title.html b/node_modules/pug/test/output/yield-title.html
deleted file mode 100644
index 128c5d4..0000000
--- a/node_modules/pug/test/output/yield-title.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
- My Title
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/yield-title.js b/node_modules/pug/test/output/yield-title.js
deleted file mode 100644
index 1b2156d..0000000
--- a/node_modules/pug/test/output/yield-title.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + 'My Title ';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/output/yield.html b/node_modules/pug/test/output/yield.html
deleted file mode 100644
index 46fa928..0000000
--- a/node_modules/pug/test/output/yield.html
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/node_modules/pug/test/output/yield.js b/node_modules/pug/test/output/yield.js
deleted file mode 100644
index 7fc4c6e..0000000
--- a/node_modules/pug/test/output/yield.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function template(locals) {
- var pug_html = "", pug_mixins = {}, pug_interp;
- pug_html = pug_html + '';
- return pug_html;
-}
\ No newline at end of file
diff --git a/node_modules/pug/test/pug.test.js b/node_modules/pug/test/pug.test.js
deleted file mode 100644
index 4fb073a..0000000
--- a/node_modules/pug/test/pug.test.js
+++ /dev/null
@@ -1,1181 +0,0 @@
-'use strict';
-
-var assert = require('assert');
-var fs = require('fs');
-var path = require('path');
-var pug = require('../');
-
-var perfTest = fs.readFileSync(__dirname + '/fixtures/perf.pug', 'utf8')
-
-try {
- fs.mkdirSync(__dirname + '/temp');
-} catch (ex) {
- if (ex.code !== 'EEXIST') {
- throw ex;
- }
-}
-
-describe('pug', function(){
-
- describe('unit tests with .render()', function(){
- it('should support doctypes', function(){
- assert.equal('', pug.render('doctype xml'));
- assert.equal('', pug.render('doctype html'));
- assert.equal('', pug.render('doctype foo bar baz'));
- assert.equal('', pug.render('doctype html'));
- assert.equal('', pug.render('doctype', { doctype:'html' }));
- assert.equal('', pug.render('doctype html', { doctype:'xml' }));
- assert.equal('', pug.render('html'));
- assert.equal('', pug.render('html', { doctype:'html' }));
- assert.equal('foo ', pug.render(new Buffer('p foo')));
- });
-
- it('should support line endings', function(){
- var src = [
- 'p',
- 'div',
- 'img'
- ];
-
- var html = [
- '
',
- '
',
- ' '
- ].join('');
-
- assert.equal(html, pug.render(src.join('\n')));
- assert.equal(html, pug.render(src.join('\r')));
- assert.equal(html, pug.render(src.join('\r\n')));
-
- html = [
- '
',
- '
',
- ' '
- ].join('');
-
- assert.equal(html, pug.render(src.join('\n'), { doctype:'html' }));
- assert.equal(html, pug.render(src.join('\r'), { doctype:'html' }));
- assert.equal(html, pug.render(src.join('\r\n'), { doctype:'html' }));
- });
-
- it('should support single quotes', function(){
- assert.equal("'foo'
", pug.render("p 'foo'"));
- assert.equal("'foo'
", pug.render("p\n | 'foo'"));
- assert.equal(' ', pug.render("- var path = 'foo';\na(href='/' + path)"));
- });
-
- it('should support block-expansion', function(){
- assert.equal("foo bar baz ", pug.render("li: a foo\nli: a bar\nli: a baz"));
- assert.equal("foo bar baz ", pug.render("li.first: a foo\nli: a bar\nli: a baz"));
- assert.equal('', pug.render(".foo: .bar baz"));
- });
-
- it('should support tags', function(){
- var str = [
- 'p',
- 'div',
- 'img',
- 'br/'
- ].join('\n');
-
- var html = [
- '
',
- '
',
- ' ',
- ' '
- ].join('');
-
- assert.equal(html, pug.render(str), 'Test basic tags');
- assert.equal(' ', pug.render('fb:foo-bar'), 'Test hyphens');
- assert.equal('
', pug.render('div.something'), 'Test classes');
- assert.equal('
', pug.render('div#something'), 'Test ids');
- assert.equal('
', pug.render('.something'), 'Test stand-alone classes');
- assert.equal('
', pug.render('#something'), 'Test stand-alone ids');
- assert.equal('
', pug.render('#foo.bar'));
- assert.equal('
', pug.render('.bar#foo'));
- assert.equal('
', pug.render('div#foo(class="bar")'));
- assert.equal('
', pug.render('div(class="bar")#foo'));
- assert.equal('
', pug.render('div(id="bar").foo'));
- assert.equal('
', pug.render('div.foo.bar.baz'));
- assert.equal('
', pug.render('div(class="foo").bar.baz'));
- assert.equal('
', pug.render('div.foo(class="bar").baz'));
- assert.equal('
', pug.render('div.foo.bar(class="baz")'));
- assert.equal('
', pug.render('div.a-b2'));
- assert.equal('
', pug.render('div.a_b2'));
- assert.equal(' ', pug.render('fb:user'));
- assert.equal(' ', pug.render('fb:user:role'));
- assert.equal(' ', pug.render('colgroup\n col.test'));
- });
-
- it('should support nested tags', function(){
- var str = [
- 'ul',
- ' li a',
- ' li b',
- ' li',
- ' ul',
- ' li c',
- ' li d',
- ' li e',
- ].join('\n');
-
- var html = [
- '',
- 'a ',
- 'b ',
- ' ',
- 'e ',
- ' '
- ].join('');
-
- assert.equal(html, pug.render(str));
-
- var str = [
- 'a(href="#")',
- ' | foo ',
- ' | bar ',
- ' | baz'
- ].join('\n');
-
- assert.equal('foo \nbar \nbaz ', pug.render(str));
-
- var str = [
- 'ul',
- ' li one',
- ' ul',
- ' | two',
- ' li three'
- ].join('\n');
-
- var html = [
- ''
- ].join('');
-
- assert.equal(html, pug.render(str));
- });
-
- it('should support variable length newlines', function(){
- var str = [
- 'ul',
- ' li a',
- ' ',
- ' li b',
- ' ',
- ' ',
- ' li',
- ' ul',
- ' li c',
- '',
- ' li d',
- ' li e',
- ].join('\n');
-
- var html = [
- '',
- 'a ',
- 'b ',
- ' ',
- 'e ',
- ' '
- ].join('');
-
- assert.equal(html, pug.render(str));
- });
-
- it('should support tab conversion', function(){
- var str = [
- 'ul',
- '\tli a',
- '\t',
- '\tli b',
- '\t\t',
- '\t\t\t\t\t\t',
- '\tli',
- '\t\tul',
- '\t\t\tli c',
- '',
- '\t\t\tli d',
- '\tli e',
- ].join('\n');
-
- var html = [
- '',
- 'a ',
- 'b ',
- ' ',
- 'e ',
- ' '
- ].join('');
-
- assert.equal(html, pug.render(str));
- });
-
- it('should support newlines', function(){
- var str = [
- 'ul',
- ' li a',
- ' ',
- ' ',
- '',
- ' ',
- ' li b',
- ' li',
- ' ',
- ' ',
- ' ',
- ' ul',
- ' ',
- ' li c',
- ' li d',
- ' li e',
- ].join('\n');
-
- var html = [
- '',
- 'a ',
- 'b ',
- ' ',
- 'e ',
- ' '
- ].join('');
-
- assert.equal(html, pug.render(str));
-
- var str = [
- 'html',
- ' ',
- ' head',
- ' != "test"',
- ' ',
- ' ',
- ' ',
- ' body'
- ].join('\n');
-
- var html = [
- '',
- '',
- 'test',
- '',
- '',
- ''
- ].join('');
-
- assert.equal(html, pug.render(str));
- assert.equal(' something ', pug.render('foo\n= "something"\nbar'));
- assert.equal(' something else', pug.render('foo\n= "something"\nbar\n= "else"'));
- });
-
- it('should support text', function(){
- assert.equal('foo\nbar\nbaz', pug.render('| foo\n| bar\n| baz'));
- assert.equal('foo \nbar \nbaz', pug.render('| foo \n| bar \n| baz'));
- assert.equal('(hey)', pug.render('| (hey)'));
- assert.equal('some random text', pug.render('| some random text'));
- assert.equal(' foo', pug.render('| foo'));
- assert.equal(' foo ', pug.render('| foo '));
- assert.equal(' foo \n bar ', pug.render('| foo \n| bar '));
- });
-
- it('should support pipe-less text', function(){
- assert.equal('
', pug.render('pre\n code\n foo\n\n bar'));
- assert.equal('foo\n\nbar
', pug.render('p.\n foo\n\n bar'));
- assert.equal('foo\n\n\n\nbar
', pug.render('p.\n foo\n\n\n\n bar'));
- assert.equal('foo\n bar\nfoo
', pug.render('p.\n foo\n bar\n foo'));
- assert.equal('', pug.render('script.\n s.parentNode.insertBefore(g,s)\n'));
- assert.equal('', pug.render('script.\n s.parentNode.insertBefore(g,s)'));
- });
-
- it('should support tag text', function(){
- assert.equal('some random text
', pug.render('p some random text'));
- assert.equal('clickGoogle .
', pug.render('p\n | click\n a Google\n | .'));
- assert.equal('(parens)
', pug.render('p (parens)'));
- assert.equal('(parens)
', pug.render('p(foo="bar") (parens)'));
- assert.equal('-- (optional) foo -- ', pug.render('option(value="") -- (optional) foo --'));
- });
-
- it('should support tag text block', function(){
- assert.equal('foo \nbar \nbaz
', pug.render('p\n | foo \n | bar \n | baz'));
- assert.equal('Password: ', pug.render('label\n | Password:\n input'));
- assert.equal('Password: ', pug.render('label Password:\n input'));
- });
-
- it('should support tag text interpolation', function(){
- assert.equal('yo, pug is cool', pug.render('| yo, #{name} is cool\n', { name: 'pug' }));
- assert.equal('yo, pug is cool
', pug.render('p yo, #{name} is cool', { name: 'pug' }));
- assert.equal('yo, pug is cool', pug.render('| yo, #{name || "pug"} is cool', { name: null }));
- assert.equal('yo, \'pug\' is cool', pug.render('| yo, #{name || "\'pug\'"} is cool', { name: null }));
- assert.equal('foo <script> bar', pug.render('| foo #{code} bar', { code: '',
- '',
- ''
- ].join('');
-
- assert.equal(html, pug.render(str));
- });
-
- it('should support comments', function(){
- // Regular
- var str = [
- '//foo',
- 'p bar'
- ].join('\n');
-
- var html = [
- '',
- 'bar
'
- ].join('');
-
- assert.equal(html, pug.render(str));
-
- // Between tags
-
- var str = [
- 'p foo',
- '// bar ',
- 'p baz'
- ].join('\n');
-
- var html = [
- 'foo
',
- '',
- 'baz
'
- ].join('');
-
- assert.equal(html, pug.render(str));
-
- // Quotes
-
- var str = "",
- js = "// script(src: '/js/validate.js') ";
- assert.equal(str, pug.render(js));
- });
-
- it('should support unbuffered comments', function(){
- var str = [
- '//- foo',
- 'p bar'
- ].join('\n');
-
- var html = [
- 'bar
'
- ].join('');
-
- assert.equal(html, pug.render(str));
-
- var str = [
- 'p foo',
- '//- bar ',
- 'p baz'
- ].join('\n');
-
- var html = [
- 'foo
',
- 'baz
'
- ].join('');
-
- assert.equal(html, pug.render(str));
- });
-
- it('should support literal html', function(){
- assert.equal('', pug.render(''));
- });
-
- it('should support code', function(){
- assert.equal('test', pug.render('!= "test"'));
- assert.equal('test', pug.render('= "test"'));
- assert.equal('test', pug.render('- var foo = "test"\n=foo'));
- assert.equal('footest bar', pug.render('- var foo = "test"\n| foo\nem= foo\n| bar'));
- assert.equal('testsomething ', pug.render('!= "test"\nh2 something'));
-
- var str = [
- '- var foo = "
This
-is regular, javascript
-