remove node_modules

This commit is contained in:
Florian Dold 2019-03-27 21:01:33 +01:00
parent 3771b4d6b6
commit cc97a4dd2a
No known key found for this signature in database
GPG Key ID: D2E4F00F29D02A4B
15994 changed files with 2255 additions and 2524314 deletions

1
node_modules/.bin/ava generated vendored
View File

@ -1 +0,0 @@
../ava/cli.js

1
node_modules/.bin/gulp generated vendored
View File

@ -1 +0,0 @@
../gulp/bin/gulp.js

1
node_modules/.bin/nyc generated vendored
View File

@ -1 +0,0 @@
../nyc/bin/nyc.js

1
node_modules/.bin/po2json generated vendored
View File

@ -1 +0,0 @@
../po2json/bin/po2json

1
node_modules/.bin/tsc generated vendored
View File

@ -1 +0,0 @@
../typescript/bin/tsc

1
node_modules/.bin/tslint generated vendored
View File

@ -1 +0,0 @@
../tslint/bin/tslint

1
node_modules/.bin/tsserver generated vendored
View File

@ -1 +0,0 @@
../typescript/bin/tsserver

1
node_modules/.bin/typedoc generated vendored
View File

@ -1 +0,0 @@
../typedoc/bin/typedoc

1
node_modules/.bin/uglifyjs generated vendored
View File

@ -1 +0,0 @@
../uglify-js/bin/uglifyjs

1
node_modules/.bin/webpack generated vendored
View File

@ -1 +0,0 @@
../webpack/bin/webpack.js

View File

@ -1,70 +0,0 @@
'use strict';
module.exports = babelCore => {
const t = babelCore.types;
const wrapArg = babelCore.template('(START(t, ASSERTION, FILE, LINE), END(t, ARG))');
const helpers = babelCore.template(`function START(t, assertion, file, line) {
if (t._throwsArgStart) {
t._throwsArgStart(assertion, file, line);
}
}
function END(t, arg) {
if (t._throwsArgEnd) {
t._throwsArgEnd();
}
return arg;
}`);
const assertionVisitor = {
CallExpression(path, state) {
const callee = path.get('callee');
if (!callee.isMemberExpression() || !callee.get('object').isIdentifier({name: 't'}) || !callee.get('property').isIdentifier()) {
return;
}
const assertion = callee.get('property').get('name').node;
if (assertion !== 'throws' && assertion !== 'notThrows') {
return;
}
const arg0 = path.node.arguments[0];
if (!(arg0 && arg0.loc && (typeof arg0.start === 'number') && (typeof arg0.end === 'number'))) {
return;
}
// Wrap the argument expression, so that the stack trace of the assertion
// isn't affected.
path.node.arguments[0] = wrapArg(Object.assign({
ARG: arg0,
ASSERTION: t.stringLiteral(assertion),
FILE: t.stringLiteral(state.file.opts.filename),
LINE: t.numericLiteral(arg0.loc.start.line)
}, this.installHelper())).expression;
}
};
return {
visitor: {
Program(path, state) {
const START = t.identifier(path.scope.generateUid('avaThrowsHelperStart'));
const END = t.identifier(path.scope.generateUid('avaThrowsHelperEnd'));
const helperIdentifiers = {START, END};
let created = false;
path.traverse(assertionVisitor, {
installHelper() {
if (!created) {
created = true;
path.unshiftContainer('body', helpers(helperIdentifiers));
}
return helperIdentifiers;
},
file: state.file
});
}
}
};
};

View File

@ -1,21 +0,0 @@
The MIT License (MIT)
Copyright (c) James Talmage <james@talmage.io> (github.com/jamestalmage)
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.

View File

@ -1,35 +0,0 @@
{
"name": "@ava/babel-plugin-throws-helper",
"version": "2.0.0",
"description": "Babel plugin for protecting against improper use of `t.throws()` in AVA",
"license": "MIT",
"repository": "avajs/babel-plugin-throws-helper",
"author": {
"name": "James Talmage",
"email": "james@talmage.io",
"url": "github.com/jamestalmage"
},
"engines": {
"node": ">=4"
},
"scripts": {
"test": "xo && ava",
"preversion": "WRITE_EXAMPLES=1 npm run test && git add example-output.md"
},
"files": [
"index.js"
],
"keywords": [
"babel-plugin",
"babel",
"helper",
"ava",
"assertion",
"throws"
],
"devDependencies": {
"ava": "^0.18.2",
"babel-core": "^6.7.5",
"xo": "^0.17.0"
}
}

View File

@ -1,33 +0,0 @@
# babel-plugin-throws-helper [![Build Status](https://travis-ci.org/avajs/babel-plugin-throws-helper.svg?branch=master)](https://travis-ci.org/avajs/babel-plugin-throws-helper)
> Babel plugin for protecting against improper use of `t.throws()` in [AVA](https://ava.li)
Probably not useful except as an internal plugin for the AVA test runner.
[Genesis of the idea.](https://github.com/sindresorhus/eslint-plugin-ava/issues/75)
## Issue
> I've seen a lot of incorrect use of the throws assertion in other test runner and even done the mistake myself sometimes. Now I'm beginning to see it with AVA too, so would be nice to be preemptive about it.
>
> People don't realize they need to wrap their call in a function, so many end up doing `t.throws(foo())` instead of `t.throws(() => foo());`. It's an easy mistake to make.
The difficulty is that `t.throws(foo())` is allowed if `foo()` returns a promise or a function. There is no good way to differentiate between the two at runtime. So providing a good error message is going to take some AST transform magic.
## Solution
See [`example-output.md`](example-output.md) for the transformation this plugin performs.
The example output can be generated by calling:
```
$ WRITE_EXAMPLES=1 ava
```
Contributors should not commit new examples. They will be regenerated as part of the release process.
## License
MIT © [James Talmage](https://github.com/jamestalmage)

View File

@ -1,8 +0,0 @@
'use strict';
/* eslint-disable import/no-dynamic-require */
module.exports = () => {
const plugins = require(`./plugins/best-match`)
.map(module => require(module));
return {plugins};
};

View File

@ -1,21 +0,0 @@
The MIT License (MIT)
Copyright (c) Mark Wubben <mark@novemberborn.net> (novemberborn.net)
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.

View File

@ -1,10 +0,0 @@
'use strict';
var md5OMatic = require('md5-o-matic');
module.exports = function (input) {
if (Array.isArray(input)) {
input = input.join('');
}
return md5OMatic(input);
};

View File

@ -1,23 +0,0 @@
'use strict';
var crypto = require('crypto');
module.exports = function (input) {
var hash = crypto.createHash('md5');
var update = function (buf) {
var inputEncoding = typeof buf === 'string' ? 'utf8' : undefined;
hash.update(buf, inputEncoding);
};
if (arguments.length > 1) {
throw new Error('Too many arguments. Try specifying an array.');
}
if (Array.isArray(input)) {
input.forEach(update);
} else {
update(input);
}
return hash.digest('hex');
};

View File

@ -1,21 +0,0 @@
The MIT License (MIT)
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@ -1,39 +0,0 @@
{
"name": "md5-hex",
"version": "1.3.0",
"description": "Create a MD5 hash with hex encoding",
"license": "MIT",
"repository": "sindresorhus/md5-hex",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
"url": "sindresorhus.com"
},
"browser": "browser.js",
"engines": {
"node": ">=0.10.0"
},
"scripts": {
"test": "xo && ava"
},
"files": [
"index.js",
"browser.js"
],
"keywords": [
"hash",
"crypto",
"md5",
"hex",
"buffer",
"browser",
"browserify"
],
"dependencies": {
"md5-o-matic": "^0.1.1"
},
"devDependencies": {
"ava": "*",
"xo": "*"
}
}

View File

@ -1,44 +0,0 @@
# md5-hex [![Build Status](https://travis-ci.org/sindresorhus/md5-hex.svg?branch=master)](https://travis-ci.org/sindresorhus/md5-hex)
> Create a MD5 hash with hex encoding
*Please don't use MD5 hashes for anything sensitive!*
Checkout [`hasha`](https://github.com/sindresorhus/hasha) if you need something more flexible.
## Install
```
$ npm install --save md5-hex
```
## Usage
```js
const fs = require('fs');
const md5Hex = require('md5-hex');
const buffer = fs.readFileSync('unicorn.png');
md5Hex(buffer);
//=> '1abcb33beeb811dca15f0ac3e47b88d9'
```
## API
### md5Hex(input)
#### input
Type: `buffer` `string` `array[string|buffer]`
Prefer buffers as they're faster to hash, but strings can be useful for small things.
Pass an array instead of concatenating strings and/or buffers. The output is the same, but arrays do not incur the overhead of concatenation.
## License
MIT © [Sindre Sorhus](https://sindresorhus.com)

View File

@ -1,14 +0,0 @@
ISC License (ISC)
Copyright (c) 2016, Mark Wubben
Permission to use, copy, modify, and/or distribute this software for any purpose
with or without fee is hereby granted, provided that the above copyright notice
and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
THIS SOFTWARE.

View File

@ -1,72 +0,0 @@
# package-hash
Generates a hash for an installed npm package, useful for salting caches.
[AVA](https://github.com/sindresorhus/ava) for example caches precompiled test
files. It generates a salt for its cache based on the various packages that are
used when compiling the test files.
`package-hash` can generate an appropriate hash based on the package location
(on disk) and the `package.json` file. This hash is salted with a hash
for the `package-hash` itself.
`package-hash` can detect when the package-to-be-hashed is a Git repository. In
the AVA example this is useful when you're debugging one of the packages used to
compile the test files. You can clone it locally and use `npm link` so AVA can
find the clone. The hash will include the HEAD (`.git/HEAD`) and its
corresponding ref (e.g. `.git/refs/heads/master`), any packed refs
(`.git/packed-refs`), as well as the diff (`git diff`) for any non-committed
changes. This makes it really easy to test your changes without having to
explicitly clear the cache in the parent project.
## Installation
```console
$ npm install --save package-hash
```
## Usage
```js
const sync = require('package-hash').sync
const hash = sync(require.resolve('babel-core/package.json'))
```
`sync()` can be called with a directory or file path. File paths are translated
to directories using
[`path.dirname()`](https://nodejs.org/api/path.html#path_path_dirname_p). The
path must exist. A `package.json` must exist within the directory.
To get the path to an npm package it's best to use
`require.resolve('the-name/package.json')`, since `require.resolve('the-name')`
may resolve to a subdirectory of the package.
You can provide multiple paths:
```js
const hash = sync([
require.resolve('babel-core/package.json'),
require.resolve('babel-preset-es2015/package.json')
])
```
An optional salt value can also be provided:
```js
const hash = sync(require.resolve('babel-core/package.json'), 'salt value')
```
Currently only a synchronous interface is available.
## API
### `sync(paths, salt?)`
`paths: string | string[]` ➜ can be a single directory or file path, or an array of paths.
`salt: Array | Buffer | Object | string` ➜ optional. If an `Array` or `Object` (not `null`) it is first converted to a JSON string.
## Compatibility
`package-hash` has been tested with Node 0.10 and above, including Windows
support. Note that `git diff` support is not available in Node 0.10.

View File

@ -1,125 +0,0 @@
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
exports.sync = sync;
var _child_process = require('child_process');
var _fs = require('fs');
var _path = require('path');
var _md5Hex = require('md5-hex');
var _md5Hex2 = _interopRequireDefault(_md5Hex);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function tryReadFileSync(file) {
try {
return (0, _fs.readFileSync)(file);
} catch (err) {
return null;
}
}
var TEN_MEBIBYTE = 1024 * 1024 * 10;
var git = {
tryGetRef: function (dir, head) {
var m = /^ref: (.+)$/.exec(head.toString('utf8').trim());
if (!m) return null;
return tryReadFileSync((0, _path.join)(dir, '.git', m[1]));
},
tryGetDiff: function (dir) {
if (!_child_process.execFileSync) return null;
try {
// Attempt to get consistent output no matter the platform. Diff both
// staged and unstaged changes.
return (0, _child_process.execFileSync)('git', ['--no-pager', 'diff', 'HEAD', '--no-color', '--no-ext-diff'], {
cwd: dir,
maxBuffer: TEN_MEBIBYTE,
env: _extends({}, process.env, {
// Force the GIT_DIR to prevent git from diffing a parent repository
// in case the directory isn't actually a repository.
GIT_DIR: (0, _path.join)(dir, '.git')
}),
// Ignore stderr.
stdio: ['ignore', 'pipe', 'ignore']
});
} catch (err) {
return null;
}
}
};
function addPackageData(inputs, path) {
var dir = (0, _fs.statSync)(path).isDirectory() ? path : (0, _path.dirname)(path);
inputs.push(dir);
var pkg = (0, _fs.readFileSync)((0, _path.join)(dir, 'package.json'));
inputs.push(pkg);
var head = tryReadFileSync((0, _path.join)(dir, '.git', 'HEAD'));
if (head) {
inputs.push(head);
var packed = tryReadFileSync((0, _path.join)(dir, '.git', 'packed-refs'));
if (packed) inputs.push(packed);
var ref = git.tryGetRef(dir, head);
if (ref) inputs.push(ref);
var diff = git.tryGetDiff(dir);
if (diff) inputs.push(diff);
}
}
function computeHash(paths, pepper, salt) {
var inputs = [];
if (pepper) inputs.push(pepper);
if (typeof salt !== 'undefined') {
if (Buffer.isBuffer(salt) || typeof salt === 'string') {
inputs.push(salt);
} else if (typeof salt === 'object' && salt !== null) {
inputs.push(JSON.stringify(salt));
} else {
throw new TypeError('Salt must be an Array, Buffer, Object or string');
}
}
for (var i = 0; i < paths.length; i++) {
addPackageData(inputs, paths[i]);
}
return (0, _md5Hex2.default)(inputs);
}
var ownHash = null;
function sync(paths, salt) {
if (!ownHash) {
// Memoize the hash for package-hash itself.
ownHash = new Buffer(computeHash([__dirname]), 'hex');
}
if (paths === __dirname && typeof salt === 'undefined') {
// Special case that allow the pepper value to be obtained. Mainly here for
// testing purposes.
return ownHash.toString('hex');
}
if (Array.isArray(paths)) {
return computeHash(paths, ownHash, salt);
} else {
return computeHash([paths], ownHash, salt);
}
}
//# sourceMappingURL=index.js.map

File diff suppressed because one or more lines are too long

View File

@ -1,74 +0,0 @@
{
"name": "package-hash",
"version": "1.2.0",
"description": "Generates a hash for an installed npm package, useful for salting caches",
"main": "index.js",
"files": [
"index.js",
"index.js.map"
],
"scripts": {
"clean": "rimraf index.js index.js.map",
"prebuild": "npm run clean",
"build": "babel src --out-dir ./ --source-maps",
"prepublish": "npm run build",
"lint": "as-i-preach",
"unpack-fixtures": "node scripts/unpack-fixtures.js",
"pregenerate-fixture-index": "npm run unpack-fixtures",
"generate-fixture-index": "node scripts/generate-fixture-index.js",
"pretest": "npm run unpack-fixtures",
"test": "ava",
"posttest": "npm run lint",
"coverage": "nyc npm test",
"watch:build": "npm run build -- --watch",
"watch:test": "npm run test -- --watch"
},
"repository": {
"type": "git",
"url": "git+https://github.com/novemberborn/package-hash.git"
},
"author": "Mark Wubben (https://novemberborn.net/)",
"license": "ISC",
"bugs": {
"url": "https://github.com/novemberborn/package-hash/issues"
},
"homepage": "https://github.com/novemberborn/package-hash#readme",
"dependencies": {
"md5-hex": "^1.3.0"
},
"devDependencies": {
"@novemberborn/as-i-preach": "^2.0.1",
"ava": "^0.14.0",
"babel-cli": "^6.7.5",
"babel-plugin-transform-es2015-block-scoping": "^6.7.1",
"babel-plugin-transform-es2015-modules-commonjs": "^6.7.4",
"babel-plugin-transform-es2015-shorthand-properties": "^6.5.0",
"babel-plugin-transform-object-assign": "^6.5.0",
"babel-plugin-transform-strict-mode": "^6.6.5",
"nyc": "^6.4.0",
"proxyquire": "^1.7.4",
"rimraf": "^2.5.2",
"tar": "^2.2.1"
},
"babel": {
"plugins": [
"transform-object-assign",
"transform-es2015-block-scoping",
"transform-es2015-modules-commonjs",
"transform-es2015-shorthand-properties",
"transform-strict-mode"
]
},
"nyc": {
"cache": true,
"exclude": [
"scripts",
"test"
],
"reporter": [
"html",
"lcov",
"text"
]
}
}

View File

@ -1,7 +0,0 @@
'use strict';
const packageHash = require('package-hash');
const plugins = require('./plugins/best-match')
.map(module => require.resolve(`${module}/package.json`));
module.exports = packageHash.sync([require.resolve('./package.json')].concat(plugins));

View File

@ -1,56 +0,0 @@
{
"name": "@ava/babel-preset-stage-4",
"version": "1.1.0",
"description": "Efficiently applies the minimum of transforms to run stage 4 code on Node.js 4, 6 and 8",
"license": "MIT",
"repository": "avajs/babel-preset-stage-4",
"author": "Mark Wubben (https://novemberborn.net)",
"publishConfig": {
"access": "public"
},
"engines": {
"node": ">=4"
},
"scripts": {
"test": "xo && ava",
"posttest": "xo",
"coverage": "nyc npm test"
},
"files": [
"index.js",
"package-hash.js",
"plugins"
],
"keywords": [
"ava",
"babel-preset"
],
"dependencies": {
"babel-plugin-check-es2015-constants": "^6.8.0",
"babel-plugin-syntax-trailing-function-commas": "^6.20.0",
"babel-plugin-transform-async-to-generator": "^6.16.0",
"babel-plugin-transform-es2015-destructuring": "^6.19.0",
"babel-plugin-transform-es2015-function-name": "^6.9.0",
"babel-plugin-transform-es2015-modules-commonjs": "^6.18.0",
"babel-plugin-transform-es2015-parameters": "^6.21.0",
"babel-plugin-transform-es2015-spread": "^6.8.0",
"babel-plugin-transform-es2015-sticky-regex": "^6.8.0",
"babel-plugin-transform-es2015-unicode-regex": "^6.11.0",
"babel-plugin-transform-exponentiation-operator": "^6.8.0",
"package-hash": "^1.2.0"
},
"devDependencies": {
"ava": "^0.17.0",
"coveralls": "^2.11.15",
"nyc": "^10.1.2",
"proxyquire": "^1.7.10",
"xo": "^0.17.1"
},
"nyc": {
"reporter": [
"html",
"lcov",
"text"
]
}
}

View File

@ -1,13 +0,0 @@
[
"babel-plugin-check-es2015-constants",
"babel-plugin-syntax-trailing-function-commas",
"babel-plugin-transform-async-to-generator",
"babel-plugin-transform-es2015-destructuring",
"babel-plugin-transform-es2015-function-name",
"babel-plugin-transform-es2015-modules-commonjs",
"babel-plugin-transform-es2015-parameters",
"babel-plugin-transform-es2015-spread",
"babel-plugin-transform-es2015-sticky-regex",
"babel-plugin-transform-es2015-unicode-regex",
"babel-plugin-transform-exponentiation-operator"
]

View File

@ -1,6 +0,0 @@
[
"babel-plugin-syntax-trailing-function-commas",
"babel-plugin-transform-async-to-generator",
"babel-plugin-transform-es2015-modules-commonjs",
"babel-plugin-transform-exponentiation-operator"
]

View File

@ -1,3 +0,0 @@
[
"babel-plugin-transform-es2015-modules-commonjs"
]

View File

@ -1,19 +0,0 @@
'use strict';
/* eslint-disable import/no-dynamic-require, import/no-unresolved */
const process = require('process');
function getClosestVersion() {
const version = parseFloat(process.versions.node);
if (version >= 8) {
return 8;
}
if (version >= 6) {
return 6;
}
// Node.js 4 is the minimal supported version.
return 4;
}
module.exports = require(`./${getClosestVersion()}.json`);

View File

@ -1,30 +0,0 @@
# @ava/babel-preset-stage-4 [![Build Status](https://travis-ci.org/avajs/babel-preset-stage-4.svg?branch=master)](https://travis-ci.org/avajs/babel-preset-stage-4)
> [Babel] preset for use with [AVA]
Aspires to bring ECMAScript stage 4 proposals to AVA's test and helper files.
Efficiently applies the minimum of transforms to run stage 4 code on Node.js 4, 6 and 8.
Built-ins are not added or extended, so features like Proxies, `Array.prototype.includes` or `String.prototype.padStart` will only be available if the Node.js version running the tests supports it. Consult [node.green] for details.
Sometimes a particular feature is *mostly* implemented in Node.js. In that case transforms are not applied. This applies to `new.target` and iterator closing, which are not supported in Node.js 4 even though classes and iterators are.
## Install
```console
$ npm install --save @ava/babel-preset-stage-4
```
## Usage
Add `@ava/stage-4` to your [Babel] presets.
Require `@ava/babel-preset-stage-4/package-hash` to get a combined hash for the installed version of the preset, as well as the plugins that were selected for the active Node.js version.
[AVA]: https://ava.li
[Babel]: https://babeljs.io
[node.green]: http://node.green

View File

@ -1,8 +0,0 @@
[
"t.truthy(value, [message])",
"t.falsy(value, [message])",
"t.true(value, [message])",
"t.false(value, [message])",
"t.regex(contents, regex, [message])",
"t.notRegex(contents, regex, [message])"
]

View File

@ -1,17 +0,0 @@
'use strict';
const ESPOWER_PATTERNS = require('./espower-patterns.json');
module.exports = (context, options) => {
const plugins = [];
if (!options || options.powerAssert !== false) {
plugins.push(require('babel-plugin-espower/create')(context, {
embedAst: true,
patterns: ESPOWER_PATTERNS
}));
}
plugins.push(require('@ava/babel-plugin-throws-helper'));
return {plugins};
};

View File

@ -1,21 +0,0 @@
The MIT License (MIT)
Copyright (c) Mark Wubben <mark@novemberborn.net> (novemberborn.net)
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.

View File

@ -1,47 +0,0 @@
{
"name": "@ava/babel-preset-transform-test-files",
"version": "3.0.0",
"description": "Babel preset for use with AVA test files",
"license": "MIT",
"repository": "avajs/babel-preset-transform-test-files",
"author": "Mark Wubben (https://novemberborn.net)",
"publishConfig": {
"access": "public"
},
"engines": {
"node": ">=4"
},
"scripts": {
"test": "xo && ava",
"posttest": "xo",
"coverage": "nyc npm test"
},
"files": [
"index.js",
"espower-patterns.json",
"package-hash.js"
],
"keywords": [
"ava",
"babel-preset"
],
"dependencies": {
"@ava/babel-plugin-throws-helper": "^2.0.0",
"babel-plugin-espower": "^2.3.2"
},
"devDependencies": {
"ava": "^0.18.2",
"babel-core": "^6.21.0",
"coveralls": "^2.11.15",
"empower-core": "^0.6.1",
"nyc": "^10.1.2",
"xo": "^0.18.1"
},
"nyc": {
"reporter": [
"html",
"lcov",
"text"
]
}
}

View File

@ -1,34 +0,0 @@
# @ava/babel-preset-transform-test-files [![Build Status](https://travis-ci.org/avajs/babel-preset-transform-test-files.svg?branch=master)](https://travis-ci.org/avajs/babel-preset-transform-test-files)
> [Babel] preset for use with [AVA] test files
Currently contains:
- [`babel-plugin-espower`](https://github.com/power-assert-js/babel-plugin-espower) and the patterns that should be enhanced
- [`@ava/babel-plugin-throws-helper`](https://github.com/avajs/babel-plugin-throws-helper/)
## Install
```console
$ npm install --save @ava/babel-preset-transform-test-files
```
## Usage
Add `@ava/transform-test-files` to your [Babel] presets. You can disable `babel-plugin-espower` by setting the `powerAssert` option to `false`:
```json
{
"presets": [
["@ava/transform-test-files", {"powerAsssert": false}]
]
}
```
Require `@ava/babel-preset-transform-test-files/package-hash` to get a combined hash for the installed version of the preset, as well as the plugins used.
[AVA]: https://ava.li
[Babel]: https://babeljs.io

View File

@ -1,6 +0,0 @@
Copyright (c) 2015, Rebecca Turner
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

View File

@ -1,54 +0,0 @@
write-file-atomic
-----------------
**Forked from https://github.com/npm/write-file-atomic to include https://github.com/npm/write-file-atomic/pull/25, for
use with [AVA](https://github.com/avajs/ava/).**
---
This is an extension for node's `fs.writeFile` that makes its operation
atomic and allows you set ownership (uid/gid of the file).
### var writeFileAtomic = require('write-file-atomic')<br>writeFileAtomic(filename, data, [options], callback)
* filename **String**
* data **String** | **Buffer**
* options **Object**
* chown **Object**
* uid **Number**
* gid **Number**
* encoding **String** | **Null** default = 'utf8'
* fsync **Boolean** default = true
* mode **Number** default = 438 (aka 0666 in Octal)
callback **Function**
Atomically and asynchronously writes data to a file, replacing the file if it already
exists. data can be a string or a buffer.
The file is initially named `filename + "." + murmurhex(__filename, process.pid, ++invocations)`.
If writeFile completes successfully then, if passed the **chown** option it will change
the ownership of the file. Finally it renames the file back to the filename you specified. If
it encounters errors at any of these steps it will attempt to unlink the temporary file and then
pass the error back to the caller.
If provided, the **chown** option requires both **uid** and **gid** properties or else
you'll get an error.
The **encoding** option is ignored if **data** is a buffer. It defaults to 'utf8'.
If the **fsync** option is **false**, writeFile will skip the final fsync call.
The callback is always invoked with the initial (temporary) filename.
Example:
```javascript
writeFileAtomic('message.txt', 'Hello Node', {chown:{uid:100,gid:50}}, function (err) {
if (err) throw err;
console.log('It\'s saved!');
});
```
### var writeFileAtomicSync = require('write-file-atomic').sync<br>writeFileAtomicSync(filename, data, [options])
The synchronous version of **writeFileAtomic**. Returns the initial (temporary) filename.

View File

@ -1,135 +0,0 @@
'use strict'
module.exports = writeFile
module.exports.sync = writeFileSync
module.exports._getTmpname = getTmpname // for testing
var fs = require('graceful-fs')
var chain = require('slide').chain
var MurmurHash3 = require('imurmurhash')
var invocations = 0
function getTmpname (filename) {
return filename + '.' +
MurmurHash3(__filename)
.hash(String(process.pid))
.hash(String(++invocations))
.result()
}
function writeFile (filename, data, options, callback) {
if (options instanceof Function) {
callback = options
options = null
}
if (!options) options = {}
fs.realpath(filename, function (_, realname) {
_writeFile(realname || filename, data, options, callback)
})
}
function _writeFile (filename, data, options, callback) {
var tmpfile = getTmpname(filename)
if (options.mode && options.chown) {
return thenWriteFile()
} else {
// Either mode or chown is not explicitly set
// Default behavior is to copy it from original file
return fs.stat(filename, function (err, stats) {
if (err || !stats) return thenWriteFile()
options = Object.assign({}, options)
if (!options.mode) {
options.mode = stats.mode
}
if (!options.chown && process.getuid) {
options.chown = { uid: stats.uid, gid: stats.gid }
}
return thenWriteFile()
})
}
function thenWriteFile () {
chain([
[writeFileAsync, tmpfile, data, options.mode, options.encoding || 'utf8'],
options.chown && [fs, fs.chown, tmpfile, options.chown.uid, options.chown.gid],
options.mode && [fs, fs.chmod, tmpfile, options.mode],
[fs, fs.rename, tmpfile, filename]
], function (err) {
err ? fs.unlink(tmpfile, function () { callback(err, tmpfile) })
: callback(null, tmpfile)
})
}
// doing this instead of `fs.writeFile` in order to get the ability to
// call `fsync`.
function writeFileAsync (file, data, mode, encoding, cb) {
fs.open(file, 'w', options.mode, function (err, fd) {
if (err) return cb(err)
if (Buffer.isBuffer(data)) {
return fs.write(fd, data, 0, data.length, 0, syncAndClose)
} else if (data != null) {
return fs.write(fd, String(data), 0, String(encoding), syncAndClose)
} else {
return syncAndClose()
}
function syncAndClose (err) {
if (err) return cb(err)
if (options.fsync !== false) {
fs.fsync(fd, function (err) {
if (err) return cb(err)
fs.close(fd, cb)
})
} else {
fs.close(fd, cb)
}
}
})
}
}
function writeFileSync (filename, data, options) {
if (!options) options = {}
try {
filename = fs.realpathSync(filename)
} catch (ex) {
// it's ok, it'll happen on a not yet existing file
}
var tmpfile = getTmpname(filename)
try {
if (!options.mode || !options.chown) {
// Either mode or chown is not explicitly set
// Default behavior is to copy it from original file
try {
var stats = fs.statSync(filename)
options = Object.assign({}, options)
if (!options.mode) {
options.mode = stats.mode
}
if (!options.chown && process.getuid) {
options.chown = { uid: stats.uid, gid: stats.gid }
}
} catch (ex) {
// ignore stat errors
}
}
var fd = fs.openSync(tmpfile, 'w', options.mode)
if (Buffer.isBuffer(data)) {
fs.writeSync(fd, data, 0, data.length, 0)
} else if (data != null) {
fs.writeSync(fd, String(data), 0, String(options.encoding || 'utf8'))
}
if (options.fsync !== false) {
fs.fsyncSync(fd)
}
fs.closeSync(fd)
if (options.chown) fs.chownSync(tmpfile, options.chown.uid, options.chown.gid)
if (options.mode) fs.chmodSync(tmpfile, options.mode)
fs.renameSync(tmpfile, filename)
return tmpfile
} catch (err) {
try { fs.unlinkSync(tmpfile) } catch (e) {}
throw err
}
}

View File

@ -1,38 +0,0 @@
{
"name": "@ava/write-file-atomic",
"version": "2.2.0",
"description": "Write files in an atomic fashion w/configurable ownership",
"main": "index.js",
"scripts": {
"test": "standard && tap --100 test/*.js"
},
"repository": {
"type": "git",
"url": "git+https://github.com/avajs/write-file-atomic"
},
"keywords": [
"writeFile",
"atomic"
],
"author": "Rebecca Turner <me@re-becca.org> (http://re-becca.org)",
"license": "ISC",
"bugs": {
"url": "https://github.com/iarna/write-file-atomic/issues"
},
"homepage": "https://github.com/iarna/write-file-atomic",
"dependencies": {
"graceful-fs": "^4.1.11",
"imurmurhash": "^0.1.4",
"slide": "^1.1.5"
},
"devDependencies": {
"mkdirp": "^0.5.1",
"require-inject": "^1.4.0",
"rimraf": "^2.5.4",
"standard": "^10.0.2",
"tap": "^10.3.2"
},
"files": [
"index.js"
]
}

View File

@ -1,14 +0,0 @@
ISC License (ISC)
Copyright (c) 2017, Mark Wubben <mark@novemberborn.net> (novemberborn.net)
Permission to use, copy, modify, and/or distribute this software for any purpose
with or without fee is hereby granted, provided that the above copyright notice
and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
THIS SOFTWARE.

View File

@ -1,20 +0,0 @@
# @concordance/react
React plugin for [Concordance](https://github.com/concordancejs/concordance).
Allows
[`React.createElement()`](https://facebook.github.io/react/docs/react-api.html#createelement)
objects to be compared, formatted, diffed and serialized. Also supports
`toJSON()` renderings of
[`react-test-renderer`](https://www.npmjs.com/package/react-test-renderer).
These may be compared to `React.createElement()` objects.
When comparing [React
component](https://facebook.github.io/react/docs/components-and-props.html)
elements, the element type is compared by identity. After deserialization the
element types are compared by function name, taking into account whether
serialization and / or comparison is done using Node.js 4, which has less
reliable support for function names.
Component elements are formatted with a &#x235F; character after the element
name. Properties and children are formatted by [Concordance](https://github.com/concordancejs/concordance).

View File

@ -1,75 +0,0 @@
'use strict'
const pkg = require('./package.json')
const elementFactory = require('./lib/elementFactory')
const testJsonFactory = require('./lib/testJsonFactory')
// Must be unique across all registered plugins.
exports.name = pkg.name
// Expected API version to be passed to register().
exports.apiVersion = 1
// Expected minimal version of Concordance. Concordance will increment its API
// version for breaking changes, this is useful if you rely on features or
// patches that were introduced in a specific version of Concordance.
exports.minimalConcordanceVersion = '1.0.0'
// Plugin-specific version of its serialization output.
exports.serializerVersion = 1
exports.theme = {
react: {
functionType: '\u235F',
openTag: {
start: '<',
end: '>',
selfClose: '/',
selfCloseVoid: ' /'
},
closeTag: {
open: '</',
close: '>'
},
tagName: {open: '', close: ''},
attribute: {
separator: '=',
value: {
openBracket: '{',
closeBracket: '}',
string: {
line: {open: '"', close: '"', escapeQuote: '"'}
}
}
},
child: {
openBracket: '{',
closeBracket: '}',
string: {
line: {open: '', close: '', escapeQuote: ''},
multiline: {start: '', end: '', escapeQuote: ''}
}
}
}
}
const ELEMENT = Symbol.for('react.element')
const TEST_JSON = Symbol.for('react.test.json')
function register (api) {
const reactTags = new Set()
const element = elementFactory(api, reactTags)
const testJson = testJsonFactory(api, element)
api.addDescriptor(0x01, element.tag, element.deserialize)
api.addDescriptor(0x02, testJson.tag, testJson.deserialize)
reactTags.add(element.tag).add(testJson.tag)
return value => {
if (value.$$typeof === ELEMENT) return element.describe
if (value.$$typeof === TEST_JSON) return testJson.describe
return null
}
}
exports.register = register

View File

@ -1,239 +0,0 @@
'use strict'
function diffShallow (api, actual, expected, theme, indent) {
const childBuffer = api.lineBuilder.buffer()
const propertyBuffer = api.lineBuilder.buffer()
return {
append (formatted, origin) {
if (origin.isItem === true) {
childBuffer.append(formatted)
} else {
propertyBuffer.append(formatted)
}
},
finalize: () => {
const namesAreEqual = actual.compareNames(expected)
const actualName = actual.formatName(theme)
const expectedName = expected.formatName(theme)
const openTag = theme.react.openTag
const innerIndentation = indent.increase()
const allChildren = childBuffer.withFirstPrefixed(innerIndentation)
const children = allChildren.decompose()
const allProperties = propertyBuffer.withFirstPrefixed(innerIndentation)
const properties = allProperties.decompose()
// If the first properties are also the last, and either side has no
// children, ensure the properties are treated as being last. This
// leads to a better balanced diff.
if (properties.remaining.isEmpty && (!actual.hasChildren || !expected.hasChildren)) {
properties.last = properties.first
properties.first = {actual: api.lineBuilder.buffer(), expected: api.lineBuilder.buffer()}
}
const result = api.lineBuilder.buffer()
// Create a custom diff that is as neat as possible. It's likely
// there's a generic algorithm that can be used, but for expediency's
// sake handles all possible diffs by brute force instead.
if (actual.hasProperties && expected.hasProperties) {
if (namesAreEqual) {
result
.append(api.lineBuilder.first(openTag.start + actualName))
.append(properties.first.actual.stripFlags())
.append(properties.first.expected.stripFlags())
} else {
result
.append(api.lineBuilder.actual.first(openTag.start + actualName))
.append(properties.first.actual.stripFlags())
.append(api.lineBuilder.expected.first(openTag.start + expectedName))
.append(properties.first.expected.stripFlags())
}
result.append(properties.remaining.stripFlags())
if (actual.hasChildren && expected.hasChildren) {
result
.append(properties.last.actual.stripFlags())
.append(properties.last.expected.stripFlags())
.append(api.lineBuilder.line(indent + openTag.end))
if (namesAreEqual) {
result
.append(allChildren.stripFlags())
.append(api.lineBuilder.last(indent + api.wrapFromTheme(theme.react.closeTag, actualName)))
} else {
result
.append(children.first.actual.stripFlags())
.append(children.first.expected.stripFlags())
.append(children.remaining.stripFlags())
.append(children.last.actual.stripFlags())
.append(api.lineBuilder.actual.last(indent + api.wrapFromTheme(theme.react.closeTag, actualName)))
.append(children.last.expected.stripFlags())
.append(api.lineBuilder.expected.last(indent + api.wrapFromTheme(theme.react.closeTag, expectedName)))
}
} else if (actual.hasChildren) {
result
.append(properties.last.actual.stripFlags())
.append(api.lineBuilder.actual.line(indent + openTag.end))
.append(allChildren.stripFlags())
.append(api.lineBuilder.actual.last(indent + api.wrapFromTheme(theme.react.closeTag, actualName)))
.append(properties.last.expected.stripFlags())
.append(api.lineBuilder.expected.last(indent + openTag.selfClose + openTag.end))
} else if (expected.hasChildren) {
result
.append(properties.last.actual.stripFlags())
.append(api.lineBuilder.actual.last(indent + openTag.selfClose + openTag.end))
.append(properties.last.expected.stripFlags())
.append(api.lineBuilder.expected.line(indent + openTag.end))
.append(allChildren.stripFlags())
.append(api.lineBuilder.expected.last(indent + api.wrapFromTheme(theme.react.closeTag, expectedName)))
} else {
result
.append(properties.last.actual.stripFlags())
.append(properties.last.expected.stripFlags())
.append(api.lineBuilder.last(indent + openTag.selfClose + openTag.end))
}
} else if (actual.hasProperties) {
result
.append(api.lineBuilder.actual.first(openTag.start + actualName))
.append(allProperties.stripFlags())
if (actual.hasChildren && expected.hasChildren) {
result
.append(api.lineBuilder.actual.line(indent + openTag.end))
.append(children.first.actual.stripFlags())
.append(api.lineBuilder.expected.first(openTag.start + expectedName + openTag.end))
.append(children.first.expected.stripFlags())
.append(children.remaining.stripFlags())
if (namesAreEqual) {
result
.append(children.last.actual.stripFlags())
.append(children.last.expected.stripFlags())
.append(api.lineBuilder.last(indent + api.wrapFromTheme(theme.react.closeTag, actualName)))
} else {
result
.append(children.last.actual.stripFlags())
.append(api.lineBuilder.actual.last(indent + api.wrapFromTheme(theme.react.closeTag, actualName)))
.append(children.last.expected.stripFlags())
.append(api.lineBuilder.expected.last(indent + api.wrapFromTheme(theme.react.closeTag, expectedName)))
}
} else if (actual.hasChildren) {
result
.append(api.lineBuilder.actual.last(indent + openTag.selfClose + openTag.end))
.append(allChildren.stripFlags())
.append(api.lineBuilder.actual.last(indent + api.wrapFromTheme(theme.react.closeTag, actualName)))
.append(api.lineBuilder.expected.single(openTag.start + expectedName + openTag.selfCloseVoid + openTag.end))
} else if (expected.hasChildren) {
result
.append(api.lineBuilder.actual.last(indent + openTag.selfClose + openTag.end))
.append(api.lineBuilder.expected.first(openTag.start + expectedName + openTag.end))
.append(allChildren.stripFlags())
.append(api.lineBuilder.expected.last(indent + api.wrapFromTheme(theme.react.closeTag, expectedName)))
} else {
result
.append(api.lineBuilder.actual.last(indent + openTag.selfClose + openTag.end))
.append(api.lineBuilder.expected.single(openTag.start + expectedName + openTag.selfCloseVoid + openTag.end))
}
} else if (expected.hasProperties) {
if (actual.hasChildren && expected.hasChildren) {
result
.append(api.lineBuilder.actual.first(openTag.start + actualName + openTag.end))
.append(children.first.actual.stripFlags())
.append(api.lineBuilder.expected.first(openTag.start + expectedName))
.append(allProperties.stripFlags())
.append(api.lineBuilder.expected.line(indent + openTag.end))
.append(children.first.expected.stripFlags())
.append(children.remaining.stripFlags())
if (namesAreEqual) {
result
.append(children.last.actual.stripFlags())
.append(children.last.expected.stripFlags())
.append(api.lineBuilder.last(indent + api.wrapFromTheme(theme.react.closeTag, actualName)))
} else {
result
.append(children.last.actual.stripFlags())
.append(api.lineBuilder.actual.last(indent + api.wrapFromTheme(theme.react.closeTag, actualName)))
.append(children.last.expected.stripFlags())
.append(api.lineBuilder.expected.last(indent + api.wrapFromTheme(theme.react.closeTag, expectedName)))
}
} else if (actual.hasChildren) {
result
.append(api.lineBuilder.actual.first(openTag.start + actualName + openTag.end))
.append(allChildren.stripFlags())
.append(api.lineBuilder.actual.last(indent + api.wrapFromTheme(theme.react.closeTag, actualName)))
.append(api.lineBuilder.expected.first(openTag.start + expectedName))
.append(allProperties.stripFlags())
.append(api.lineBuilder.expected.last(indent + openTag.selfClose + openTag.end))
} else if (expected.hasChildren) {
result
.append(api.lineBuilder.actual.single(openTag.start + actualName + openTag.selfCloseVoid + openTag.end))
.append(api.lineBuilder.expected.first(openTag.start + expectedName))
.append(allProperties.stripFlags())
.append(api.lineBuilder.expected.line(indent + openTag.end))
.append(allChildren.stripFlags())
.append(api.lineBuilder.expected.last(indent + api.wrapFromTheme(theme.react.closeTag, expectedName)))
} else {
result
.append(api.lineBuilder.actual.single(openTag.start + actualName + openTag.selfCloseVoid + openTag.end))
.append(api.lineBuilder.expected.first(openTag.start + expectedName))
.append(allProperties.stripFlags())
.append(api.lineBuilder.expected.last(indent + openTag.selfCloseVoid + openTag.end))
}
} else {
if (actual.hasChildren && expected.hasChildren) {
if (namesAreEqual) {
result
.append(api.lineBuilder.first(openTag.start + actualName + openTag.end))
.append(allChildren.stripFlags())
.append(api.lineBuilder.last(indent + api.wrapFromTheme(theme.react.closeTag, actualName)))
} else {
result
.append(api.lineBuilder.actual.first(openTag.start + actualName + openTag.end))
.append(children.first.actual.stripFlags())
.append(api.lineBuilder.expected.first(openTag.start + expectedName + openTag.end))
.append(children.first.expected.stripFlags())
.append(children.remaining.stripFlags())
.append(children.last.actual.stripFlags())
.append(api.lineBuilder.actual.last(indent + api.wrapFromTheme(theme.react.closeTag, actualName)))
.append(children.last.expected.stripFlags())
.append(api.lineBuilder.expected.last(indent + api.wrapFromTheme(theme.react.closeTag, expectedName)))
}
} else if (actual.hasChildren) {
result
.append(api.lineBuilder.actual.first(openTag.start + actualName + openTag.end))
.append(allChildren.stripFlags())
.append(api.lineBuilder.actual.last(indent + api.wrapFromTheme(theme.react.closeTag, actualName)))
.append(api.lineBuilder.expected.single(openTag.start + expectedName + openTag.selfCloseVoid + openTag.end))
} else if (expected.hasChildren) {
result
.append(api.lineBuilder.actual.single(openTag.start + actualName + openTag.selfCloseVoid + openTag.end))
.append(api.lineBuilder.expected.first(openTag.start + expectedName + openTag.end))
.append(allChildren.stripFlags())
.append(api.lineBuilder.expected.last(indent + api.wrapFromTheme(theme.react.closeTag, actualName)))
} else {
if (namesAreEqual) {
result.append(api.lineBuilder.single(openTag.start + actualName + openTag.selfCloseVoid + openTag.end))
} else {
result
.append(api.lineBuilder.actual.single(openTag.start + actualName + openTag.selfCloseVoid + openTag.end))
.append(api.lineBuilder.expected.single(openTag.start + expectedName + openTag.selfCloseVoid + openTag.end))
}
}
}
return result
},
shouldFormat (subject) {
return subject.isItem === true || subject.isProperty === true
},
increaseIndent: true
}
}
module.exports = diffShallow

View File

@ -1,349 +0,0 @@
'use strict'
const arrify = require('arrify')
const diffShallow = require('./diffShallow')
const escapeText = require('./escapeText')
function factory (api, reactTags) {
const tag = Symbol('@concordance/react.ElementValue')
function customPropertyFormatter (theme, indent, key, value) {
const separator = theme.react.attribute.separator + theme.react.attribute.value.openBracket
if (value.isSingle) {
return value
.withFirstPrefixed(key.formatAsKey(theme) + separator)
.withLastPostfixed(theme.react.attribute.value.closeBracket)
}
return api.lineBuilder.first(key.formatAsKey(theme) + separator)
.concat(value.withFirstPrefixed(indent.increase()).stripFlags())
.append(api.lineBuilder.last(indent + theme.react.attribute.value.closeBracket))
}
function themeProperty (theme) {
theme.property.increaseValueIndent = true
theme.property.customFormat = customPropertyFormatter
}
function themeStringProperty (theme) {
theme.property.separator = theme.react.attribute.separator
theme.property.after = ''
Object.assign(theme.string.line, theme.react.attribute.value.string.line)
}
function customItemFormatter (theme, indent, value) {
if (value.isSingle) {
return value
.withFirstPrefixed(theme.react.child.openBracket)
.withLastPostfixed(theme.react.child.closeBracket)
}
return api.lineBuilder.first(theme.react.child.openBracket)
.concat(value.withFirstPrefixed(indent.increase()).stripFlags())
.append(api.lineBuilder.last(indent + theme.react.child.closeBracket))
}
function themeChild (theme) {
theme.item.increaseValueIndent = true
theme.item.customFormat = customItemFormatter
}
function themeReactChild (theme) {
theme.item.after = ''
}
function themeStringChild (theme) {
theme.item.after = ''
Object.assign(theme.string, theme.react.child.string)
}
function describe (props) {
const element = props.value
const type = element.type
const hasTypeFn = typeof type === 'function'
const typeFn = hasTypeFn ? type : null
const name = hasTypeFn ? type.displayName || type.name : type
const children = arrify(element.props.children)
const properties = Object.assign({}, element.props)
delete properties.children
if (element.key !== null) {
properties.key = element.key
}
const hasProperties = Object.keys(properties).length > 0
return new DescribedElementValue(Object.assign({
children,
hasProperties,
hasTypeFn,
name,
properties,
typeFn,
isList: children.length > 0
}, props))
}
function deserialize (state, recursor) {
return new DeserializedElementValue(state, recursor)
}
class ElementValue extends api.ObjectValue {
constructor (props) {
super(props)
this.name = props.name
this.hasProperties = props.hasProperties
this.hasTypeFn = props.hasTypeFn
this.hasChildren = this.isList
}
compare (expected) {
return this.tag === expected.tag && this.name === expected.name
? api.SHALLOW_EQUAL
: api.UNEQUAL
}
formatName (theme) {
const formatted = api.wrapFromTheme(theme.react.tagName, this.name)
return this.hasTypeFn
? formatted + theme.react.functionType
: formatted
}
compareNames (expected) {
return this.name === expected.name && this.hasTypeFn === expected.hasTypeFn
}
formatShallow (theme, indent) {
const childBuffer = api.lineBuilder.buffer()
const propertyBuffer = api.lineBuilder.buffer()
return {
append (formatted, origin) {
if (origin.isItem === true) {
childBuffer.append(formatted)
} else {
propertyBuffer.append(formatted)
}
},
finalize: () => {
const name = this.formatName(theme)
const openTag = theme.react.openTag
if (!this.hasChildren && !this.hasProperties) {
return api.lineBuilder.single(openTag.start + name + openTag.selfCloseVoid + openTag.end)
}
const innerIndentation = indent.increase()
const children = childBuffer.withFirstPrefixed(innerIndentation).stripFlags()
const properties = propertyBuffer.withFirstPrefixed(innerIndentation).stripFlags()
const result = api.lineBuilder.buffer()
if (this.hasProperties) {
result
.append(api.lineBuilder.first(openTag.start + name))
.append(properties)
if (this.hasChildren) {
result.append(api.lineBuilder.line(indent + openTag.end))
} else {
result.append(api.lineBuilder.last(indent + openTag.selfClose + openTag.end))
}
} else {
result.append(api.lineBuilder.first(openTag.start + name + openTag.end))
}
if (this.hasChildren) {
result
.append(children)
.append(api.lineBuilder.last(indent + api.wrapFromTheme(theme.react.closeTag, name)))
}
return result
},
maxDepth: () => {
const name = this.formatName(theme)
const openTag = theme.react.openTag
if (!this.hasChildren && !this.hasProperties) {
return api.lineBuilder.single(openTag.start + name + openTag.selfCloseVoid + openTag.end)
}
let str = openTag.start + name
if (this.hasProperties) {
str += theme.maxDepth
if (this.hasChildren) {
str += openTag.end
} else {
str += ' ' + openTag.selfClose + openTag.end
}
} else {
str += openTag.end
}
if (this.hasChildren) {
str += theme.maxDepth + api.wrapFromTheme(theme.react.closeTag, name)
}
return api.lineBuilder.single(str)
},
shouldFormat (subject) {
return subject.isItem === true || subject.isProperty === true
},
increaseIndent: true
}
}
prepareDiff (expected) {
return {
compareResult: this.tag === expected.tag
? api.SHALLOW_EQUAL
: api.UNEQUAL
}
}
diffShallow (expected, theme, indent) {
return diffShallow(api, this, expected, theme, indent)
}
serialize () {
return [this.name, this.hasProperties, this.hasTypeFn, super.serialize()]
}
}
Object.defineProperty(ElementValue.prototype, 'tag', {value: tag})
function modifyThemes (recursor) {
return api.mapRecursor(recursor, next => {
let modifier
if (next.isItem === true) {
if (next.tag === api.descriptorTags.primitiveItem && next.value.tag === api.descriptorTags.string) {
modifier = themeStringChild
} else if (next.tag === api.descriptorTags.complexItem && reactTags.has(next.value.tag)) {
modifier = themeReactChild
} else {
modifier = themeChild
}
} else if (next.isProperty === true) {
if (
next.tag === api.descriptorTags.primitiveProperty &&
next.value.tag === api.descriptorTags.string &&
!next.value.includesLinebreaks
) {
modifier = themeStringProperty
} else {
modifier = themeProperty
}
}
return modifier
? api.modifyTheme(next, modifier)
: next
})
}
function DescribedMixin (base) {
return class extends api.DescribedMixin(base) {
constructor (props) {
super(props)
this.children = props.children
this.properties = props.properties
this.typeFn = props.typeFn
}
compare (expected) {
const result = super.compare(expected)
return result === api.SHALLOW_EQUAL && this.typeFn !== expected.typeFn
? api.UNEQUAL
: result
}
compareNames (expected) {
return super.compareNames(expected) && this.typeFn === expected.typeFn
}
createPropertyRecursor () {
// Symbols are not valid property keys for React elements. This code
// also assumes that the keys can be formatted as JSX-like attribute
// names. Keys are not pre-escaped before being passed to Concordance's
// property descriptor.
const keys = Object.keys(this.properties).sort()
const size = keys.length
let index = 0
const next = () => {
if (index === size) return null
const key = keys[index++]
// Note that string values are not specifically escaped such that the
// output is valid JSX.
return this.describeProperty(key, this.describeAny(this.properties[key]))
}
return {size, next}
}
createListRecursor () {
if (!this.isList) return super.createListRecursor()
const size = this.children.length
let index = 0
const next = () => {
if (index === size) return null
const current = index++
const child = this.children[current]
const type = typeof child
let descriptor
if (type === 'string') {
descriptor = this.describeAny(escapeText(child))
} else {
descriptor = this.describeAny(child)
}
return this.describeItem(current, descriptor)
}
return {size, next}
}
createRecursor () {
return modifyThemes(super.createRecursor())
}
}
}
function DeserializedMixin (base) {
return class extends api.DeserializedMixin(base) {
constructor (state, recursor) {
super(state[3], recursor)
this.name = state[0]
this.hasProperties = state[1]
this.hasTypeFn = state[2]
}
createRecursor () {
return modifyThemes(super.createRecursor())
}
}
}
const DescribedElementValue = DescribedMixin(ElementValue)
const DeserializedElementValue = DeserializedMixin(ElementValue)
return {
DescribedMixin,
DeserializedMixin,
ElementValue,
describe,
deserialize,
tag
}
}
module.exports = factory

View File

@ -1,10 +0,0 @@
'use strict'
function escapeText (text) {
return text
.replace(/</g, '&lt;')
.replace(/>/g, '&gt;')
// TODO: Escape characters that Concordance would otherwise replace with \u
// sequences.
}
module.exports = escapeText

View File

@ -1,59 +0,0 @@
'use strict'
const arrify = require('arrify')
function factory (api, element) {
const tag = Symbol('@concordance/react.TestJsonValue')
function describe (props) {
const obj = props.value
const name = obj.type
const children = arrify(obj.children)
const properties = Object.assign({}, obj.props)
const hasProperties = Object.keys(properties).length > 0
return new DescribedTestJsonValue(Object.assign({
children,
hasProperties,
hasTypeFn: false,
name,
properties,
typeFn: null,
isList: children.length > 0
}, props))
}
function deserialize (state, recursor) {
return new DeserializedTestJsonValue(state, recursor)
}
class TestJsonValue extends element.ElementValue {
compare (expected) {
// Allow expected value to be a React element.
return (this.tag === expected.tag || expected.tag === element.tag) && this.name === expected.name
? api.SHALLOW_EQUAL
: api.UNEQUAL
}
prepareDiff (expected) {
return {
// Allow expected value to be a React element.
compareResult: this.tag === expected.tag || expected.tag === element.tag
? api.SHALLOW_EQUAL
: api.UNEQUAL
}
}
}
Object.defineProperty(TestJsonValue.prototype, 'tag', {value: tag})
const DescribedTestJsonValue = element.DescribedMixin(TestJsonValue)
const DeserializedTestJsonValue = element.DeserializedMixin(TestJsonValue)
return {
describe,
deserialize,
tag
}
}
module.exports = factory

View File

@ -1,80 +0,0 @@
{
"name": "@concordance/react",
"version": "1.0.0",
"description": "Compare, format, diff and serialize React trees with Concordance",
"main": "index.js",
"files": [
"lib",
"index.js"
],
"engines": {
"node": ">=4.5"
},
"scripts": {
"build:fixtures": "babel --presets=react,@ava/stage-4 --out-dir=test/fixtures/react --extensions=.jsx test/fixtures/react",
"coverage": "nyc npm test",
"lint": "as-i-preach",
"pretest": "npm run build:fixtures",
"test": "ava",
"posttest": "as-i-preach"
},
"repository": {
"type": "git",
"url": "git+https://github.com/concordancejs/react.git"
},
"author": "Mark Wubben (https://novemberborn.net/)",
"license": "ISC",
"bugs": {
"url": "https://github.com/concordancejs/react/issues"
},
"homepage": "https://github.com/concordancejs/react#readme",
"keywords": [
"concordance-plugin",
"concordance",
"react"
],
"dependencies": {
"arrify": "^1.0.1"
},
"devDependencies": {
"@novemberborn/as-i-preach": "^10.0.1",
"ava": "^0.19.0",
"babel-cli": "^6.24.1",
"babel-core": "^6.25.0",
"babel-preset-react": "^6.24.1",
"codecov": "^2.1.0",
"concordance": "^1.0.0",
"nyc": "^11.0.1",
"react": "^15.6.1",
"react-test-renderer": "^15.6.1"
},
"as-i-preach": {
"allowDevDependencies": [
"test/**/*.js",
"test/**/*.jsx"
],
"ignore": [
"test/fixtures/react/*.js"
]
},
"ava": {
"source": [
"!test/**/*.js.snap"
],
"babel": {
"presets": [
"@ava/stage-4",
"@ava/transform-test-files",
"react"
]
}
},
"nyc": {
"reporter": [
"html",
"lcov",
"text"
]
},
"standard-engine": "@novemberborn/as-i-preach"
}

View File

@ -1 +0,0 @@
node_modules

View File

@ -1,16 +0,0 @@
'use strict'
const fs = require('fs')
/**
* fs.existsSync is deprecated
*/
module.exports = function existsSync(path) {
var exists = false
try {
fs.accessSync(path, fs.F_OK)
exists = true
} catch(e) {}
return exists
}

View File

@ -1,22 +0,0 @@
{
"name": "@soyuka/exists-sync",
"version": "1.0.1",
"description": "fs.existsSync polyfill",
"main": "index.js",
"scripts": {
"test": "./node_modules/mocha/bin/mocha test.js"
},
"engines": {
"node": ">4.0"
},
"keywords": [
"fs",
"exists"
],
"author": "soyuka",
"repository": "http://github.com/soyuka/existsSync",
"license": "MIT",
"devDependencies": {
"mocha": "^2.3.4"
}
}

View File

@ -1,13 +0,0 @@
'use strict'
const existsSync = require('./index.js')
const assert = require('assert')
describe('exists', function() {
it('should exists', function() {
assert(existsSync('./package.json'))
})
it('should not exists', function() {
assert(!existsSync('./nonexistant'))
})
})

21
node_modules/@types/fs-extra/LICENSE generated vendored
View File

@ -1,21 +0,0 @@
MIT License
Copyright (c) Microsoft Corporation. All rights reserved.
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

View File

@ -1,16 +0,0 @@
# Installation
> `npm install --save @types/fs-extra`
# Summary
This package contains type definitions for fs-extra (https://github.com/jprichardson/node-fs-extra).
# Details
Files were exported from https://www.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/fs-extra/v4
Additional Details
* Last updated: Mon, 26 Feb 2018 20:02:51 GMT
* Dependencies: fs, node
* Global values: none
# Credits
These definitions were written by Alan Agius <https://github.com/alan-agius4>, midknight41 <https://github.com/midknight41>, Brendan Forster <https://github.com/shiftkey>, Mees van Dijk <https://github.com/mees->.

View File

@ -1,304 +0,0 @@
// Type definitions for fs-extra 4.0
// Project: https://github.com/jprichardson/node-fs-extra
// Definitions by: Alan Agius <https://github.com/alan-agius4>,
// midknight41 <https://github.com/midknight41>,
// Brendan Forster <https://github.com/shiftkey>,
// Mees van Dijk <https://github.com/mees->
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.2
/// <reference types="node" />
import { Stats } from "fs";
export * from "fs";
export function copy(src: string, dest: string, options?: CopyOptions): Promise<void>;
export function copy(src: string, dest: string, callback: (err: Error) => void): void;
export function copy(src: string, dest: string, options: CopyOptions, callback: (err: Error) => void): void;
export function copySync(src: string, dest: string, options?: CopyOptions): void;
export function move(src: string, dest: string, options?: MoveOptions): Promise<void>;
export function move(src: string, dest: string, callback: (err: Error) => void): void;
export function move(src: string, dest: string, options: MoveOptions, callback: (err: Error) => void): void;
export function moveSync(src: string, dest: string, options?: MoveOptions): void;
export function createFile(file: string): Promise<void>;
export function createFile(file: string, callback: (err: Error) => void): void;
export function createFileSync(file: string): void;
export function ensureDir(path: string): Promise<void>;
export function ensureDir(path: string, callback: (err: Error) => void): void;
export function ensureDirSync(path: string): void;
export function mkdirs(dir: string): Promise<void>;
export function mkdirs(dir: string, callback: (err: Error) => void): void;
export function mkdirp(dir: string): Promise<void>;
export function mkdirp(dir: string, callback: (err: Error) => void): void;
export function mkdirsSync(dir: string): void;
export function mkdirpSync(dir: string): void;
export function outputFile(file: string, data: any, options?: WriteFileOptions | string): Promise<void>;
export function outputFile(file: string, data: any, callback: (err: Error) => void): void;
export function outputFile(file: string, data: any, options: WriteFileOptions | string, callback: (err: Error) => void): void;
export function outputFileSync(file: string, data: any, options?: WriteFileOptions | string): void;
export function readJson(file: string, options?: ReadOptions): Promise<any>;
export function readJson(file: string, callback: (err: Error, jsonObject: any) => void): void;
export function readJson(file: string, options: ReadOptions, callback: (err: Error, jsonObject: any) => void): void;
export function readJSON(file: string, options?: ReadOptions): Promise<any>;
export function readJSON(file: string, callback: (err: Error, jsonObject: any) => void): void;
export function readJSON(file: string, options: ReadOptions, callback: (err: Error, jsonObject: any) => void): void;
export function readJsonSync(file: string, options?: ReadOptions): any;
export function readJSONSync(file: string, options?: ReadOptions): any;
export function remove(dir: string): Promise<void>;
export function remove(dir: string, callback: (err: Error) => void): void;
export function removeSync(dir: string): void;
export function outputJSON(file: string, data: any, options?: WriteOptions): Promise<void>;
export function outputJSON(file: string, data: any, options: WriteOptions, callback: (err: Error) => void): void;
export function outputJSON(file: string, data: any, callback: (err: Error) => void): void;
export function outputJson(file: string, data: any, options?: WriteOptions): Promise<void>;
export function outputJson(file: string, data: any, options: WriteOptions, callback: (err: Error) => void): void;
export function outputJson(file: string, data: any, callback: (err: Error) => void): void;
export function outputJsonSync(file: string, data: any, options?: WriteOptions): void;
export function outputJSONSync(file: string, data: any, options?: WriteOptions): void;
export function writeJSON(file: string, object: any, options?: WriteOptions): Promise<void>;
export function writeJSON(file: string, object: any, callback: (err: Error) => void): void;
export function writeJSON(file: string, object: any, options: WriteOptions, callback: (err: Error) => void): void;
export function writeJson(file: string, object: any, options?: WriteOptions): Promise<void>;
export function writeJson(file: string, object: any, callback: (err: Error) => void): void;
export function writeJson(file: string, object: any, options: WriteOptions, callback: (err: Error) => void): void;
export function writeJsonSync(file: string, object: any, options?: WriteOptions): void;
export function writeJSONSync(file: string, object: any, options?: WriteOptions): void;
export function ensureFile(path: string): Promise<void>;
export function ensureFile(path: string, callback: (err: Error) => void): void;
export function ensureFileSync(path: string): void;
export function ensureLink(src: string, dest: string): Promise<void>;
export function ensureLink(src: string, dest: string, callback: (err: Error) => void): void;
export function ensureLinkSync(src: string, dest: string): void;
export function ensureSymlink(src: string, dest: string, type?: SymlinkType): Promise<void>;
export function ensureSymlink(src: string, dest: string, type: SymlinkType, callback: (err: Error) => void): void;
export function ensureSymlink(src: string, dest: string, callback: (err: Error) => void): void;
export function ensureSymlinkSync(src: string, dest: string, type?: SymlinkType): void;
export function emptyDir(path: string): Promise<void>;
export function emptyDir(path: string, callback: (err: Error) => void): void;
export function emptyDirSync(path: string): void;
export function pathExists(path: string): Promise<boolean>;
export function pathExists(path: string, callback: (err: Error, exists: boolean) => void): void;
export function pathExistsSync(path: string): boolean;
// fs async methods
// copied from https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/node/v6/index.d.ts
export function access(path: string | Buffer, callback: (err: NodeJS.ErrnoException) => void): void;
export function access(path: string | Buffer, mode: number, callback: (err: NodeJS.ErrnoException) => void): void;
export function access(path: string | Buffer, mode?: number): Promise<void>;
export function appendFile(file: string | Buffer | number, data: any, options: { encoding?: string; mode?: number | string; flag?: string; },
callback: (err: NodeJS.ErrnoException) => void): void;
export function appendFile(file: string | Buffer | number, data: any, callback: (err: NodeJS.ErrnoException) => void): void;
export function appendFile(file: string | Buffer | number, data: any, options?: { encoding?: string; mode?: number | string; flag?: string; }): Promise<void>;
export function chmod(path: string | Buffer, mode: string | number, callback: (err: NodeJS.ErrnoException) => void): void;
export function chmod(path: string | Buffer, mode: string | number): Promise<void>;
export function chown(path: string | Buffer, uid: number, gid: number): Promise<void>;
export function chown(path: string | Buffer, uid: number, gid: number, callback: (err: NodeJS.ErrnoException) => void): void;
export function close(fd: number, callback: (err: NodeJS.ErrnoException) => void): void;
export function close(fd: number): Promise<void>;
export function fchmod(fd: number, mode: string | number, callback: (err: NodeJS.ErrnoException) => void): void;
export function fchmod(fd: number, mode: string | number): Promise<void>;
export function fchown(fd: number, uid: number, gid: number, callback: (err: NodeJS.ErrnoException) => void): void;
export function fchown(fd: number, uid: number, gid: number): Promise<void>;
export function fdatasync(fd: number, callback: () => void): void;
export function fdatasync(fd: number): Promise<void>;
export function fstat(fd: number, callback: (err: NodeJS.ErrnoException, stats: Stats) => any): void;
export function fstat(fd: number): Promise<Stats>;
export function fsync(fd: number, callback: (err: NodeJS.ErrnoException) => void): void;
export function fsync(fd: number): Promise<void>;
export function ftruncate(fd: number, callback: (err: NodeJS.ErrnoException) => void): void;
export function ftruncate(fd: number, len: number, callback: (err: NodeJS.ErrnoException) => void): void;
export function ftruncate(fd: number, len?: number): Promise<void>;
export function futimes(fd: number, atime: number, mtime: number, callback: (err: NodeJS.ErrnoException) => void): void;
export function futimes(fd: number, atime: Date, mtime: Date, callback: (err: NodeJS.ErrnoException) => void): void;
export function futimes(fd: number, atime: number, mtime: number): Promise<void>;
export function futimes(fd: number, atime: Date, mtime: Date): Promise<void>;
export function lchown(path: string | Buffer, uid: number, gid: number, callback: (err: NodeJS.ErrnoException) => void): void;
export function lchown(path: string | Buffer, uid: number, gid: number): Promise<void>;
export function link(srcpath: string | Buffer, dstpath: string | Buffer, callback: (err: NodeJS.ErrnoException) => void): void;
export function link(srcpath: string | Buffer, dstpath: string | Buffer): Promise<void>;
export function lstat(path: string | Buffer, callback: (err: NodeJS.ErrnoException, stats: Stats) => any): void;
export function lstat(path: string | Buffer): Promise<Stats>;
/**
* Asynchronous mkdir - creates the directory specified in {path}. Parameter {mode} defaults to 0777.
*
* @param callback No arguments other than a possible exception are given to the completion callback.
*/
export function mkdir(path: string | Buffer, callback: (err: NodeJS.ErrnoException) => void): void;
/**
* Asynchronous mkdir - creates the directory specified in {path}. Parameter {mode} defaults to 0777.
*
* @param callback No arguments other than a possible exception are given to the completion callback.
*/
export function mkdir(path: string | Buffer, mode: number | string, callback: (err: NodeJS.ErrnoException) => void): void;
export function mkdir(path: string | Buffer): Promise<void>;
export function open(path: string | Buffer, flags: string | number, callback: (err: NodeJS.ErrnoException, fd: number) => void): void;
export function open(path: string | Buffer, flags: string | number, mode: number, callback: (err: NodeJS.ErrnoException, fd: number) => void): void;
export function open(path: string | Buffer, flags: string | number, mode?: number): Promise<number>;
export function read(fd: number, buffer: Buffer, offset: number, length: number, position: number | null,
callback: (err: NodeJS.ErrnoException, bytesRead: number, buffer: Buffer) => void): void;
export function read(fd: number, buffer: Buffer, offset: number, length: number, position: number | null): Promise<ReadResult>;
export function readFile(file: string | Buffer | number, callback: (err: NodeJS.ErrnoException, data: Buffer) => void): void;
export function readFile(file: string | Buffer | number, encoding: string, callback: (err: NodeJS.ErrnoException, data: string) => void): void;
export function readFile(file: string | Buffer | number, options: { flag?: string; } | { encoding: string; flag?: string; }, callback: (err: NodeJS.ErrnoException, data: Buffer) => void): void;
export function readFile(file: string | Buffer | number, options: { flag?: string; } | { encoding: string; flag?: string; }): Promise<string>;
// tslint:disable-next-line:unified-signatures
export function readFile(file: string | Buffer | number, encoding: string): Promise<string>;
export function readFile(file: string | Buffer | number): Promise<Buffer>;
export function readdir(path: string | Buffer, callback: (err: NodeJS.ErrnoException, files: string[]) => void): void;
export function readdir(path: string | Buffer): Promise<string[]>;
export function readlink(path: string | Buffer, callback: (err: NodeJS.ErrnoException, linkString: string) => any): void;
export function readlink(path: string | Buffer): Promise<string>;
export function realpath(path: string | Buffer, callback: (err: NodeJS.ErrnoException, resolvedPath: string) => any): void;
export function realpath(path: string | Buffer, cache: { [path: string]: string }, callback: (err: NodeJS.ErrnoException, resolvedPath: string) => any): void;
export function realpath(path: string | Buffer, cache?: { [path: string]: string }): Promise<string>;
export function rename(oldPath: string, newPath: string, callback: (err: NodeJS.ErrnoException) => void): void;
export function rename(oldPath: string, newPath: string): Promise<void>;
/**
* Asynchronous rmdir - removes the directory specified in {path}
*
* @param callback No arguments other than a possible exception are given to the completion callback.
*/
export function rmdir(path: string | Buffer, callback: (err: NodeJS.ErrnoException) => void): void;
export function rmdir(path: string | Buffer): Promise<void>;
export function stat(path: string | Buffer, callback: (err: NodeJS.ErrnoException, stats: Stats) => any): void;
export function stat(path: string | Buffer): Promise<Stats>;
export function symlink(srcpath: string | Buffer, dstpath: string | Buffer, type: string, callback: (err: NodeJS.ErrnoException) => void): void;
export function symlink(srcpath: string | Buffer, dstpath: string | Buffer, type?: string): Promise<void>;
export function truncate(path: string | Buffer, callback: (err: NodeJS.ErrnoException) => void): void;
export function truncate(path: string | Buffer, len: number, callback: (err: NodeJS.ErrnoException) => void): void;
export function truncate(path: string | Buffer, len?: number): Promise<void>;
/**
* Asynchronous unlink - deletes the file specified in {path}
*
* @param callback No arguments other than a possible exception are given to the completion callback.
*/
export function unlink(path: string | Buffer, callback: (err: NodeJS.ErrnoException) => void): void;
export function unlink(path: string | Buffer): Promise<void>;
export function utimes(path: string | Buffer, atime: number, mtime: number, callback: (err: NodeJS.ErrnoException) => void): void;
export function utimes(path: string | Buffer, atime: Date, mtime: Date, callback: (err: NodeJS.ErrnoException) => void): void;
export function utimes(path: string | Buffer, atime: number, mtime: number): Promise<void>;
export function utimes(path: string | Buffer, atime: Date, mtime: Date): Promise<void>;
export function write(fd: number, buffer: Buffer, offset: number, length: number, position: number | null, callback: (err: NodeJS.ErrnoException, written: number, buffer: Buffer) => void): void;
export function write(fd: number, buffer: Buffer, offset: number, length: number, callback: (err: NodeJS.ErrnoException, written: number, buffer: Buffer) => void): void;
export function write(fd: number, data: any, callback: (err: NodeJS.ErrnoException, written: number, str: string) => void): void;
export function write(fd: number, data: any, offset: number, callback: (err: NodeJS.ErrnoException, written: number, str: string) => void): void;
export function write(fd: number, data: any, offset: number, encoding: string, callback: (err: NodeJS.ErrnoException, written: number, str: string) => void): void;
export function write(fd: number, buffer: Buffer, offset: number, length: number, position?: number | null): Promise<WriteResult>;
export function write(fd: number, data: any, offset: number, encoding?: string): Promise<WriteResult>;
export function writeFile(file: string | Buffer | number, data: any, callback: (err: NodeJS.ErrnoException) => void): void;
export function writeFile(file: string | Buffer | number, data: any, options?: WriteFileOptions | string): Promise<void>;
export function writeFile(file: string | Buffer | number, data: any, options: WriteFileOptions | string, callback: (err: NodeJS.ErrnoException) => void): void;
/**
* Asynchronous mkdtemp - Creates a unique temporary directory. Generates six random characters to be appended behind a required prefix to create a unique temporary directory.
*
* @param callback The created folder path is passed as a string to the callback's second parameter.
*/
export function mkdtemp(prefix: string): Promise<string>;
export function mkdtemp(prefix: string, callback: (err: NodeJS.ErrnoException, folder: string) => void): void;
export interface PathEntry {
path: string;
stats: Stats;
}
export interface PathEntryStream {
read(): PathEntry | null;
}
export type CopyFilter = ((src: string, dest: string) => boolean) | RegExp;
export type SymlinkType = "dir" | "file";
export interface CopyOptions {
dereference?: boolean;
overwrite?: boolean;
preserveTimestamps?: boolean;
errorOnExist?: boolean;
filter?: CopyFilter;
recursive?: boolean;
}
export interface MoveOptions {
overwrite?: boolean;
limit?: number;
}
export interface ReadOptions {
throws?: boolean;
fs?: object;
reviver?: any;
encoding?: string;
flag?: string;
}
export interface WriteFileOptions {
encoding?: string;
flag?: string;
mode?: number;
}
export interface WriteOptions extends WriteFileOptions {
fs?: object;
replacer?: any;
spaces?: number | string;
EOL?: string;
}
export interface ReadResult {
bytesRead: number;
buffer: Buffer;
}
export interface WriteResult {
bytesWritten: number;
buffer: Buffer;
}

View File

@ -1,39 +0,0 @@
{
"name": "@types/fs-extra",
"version": "4.0.8",
"description": "TypeScript definitions for fs-extra",
"license": "MIT",
"contributors": [
{
"name": "Alan Agius",
"url": "https://github.com/alan-agius4",
"githubUsername": "alan-agius4"
},
{
"name": "midknight41",
"url": "https://github.com/midknight41",
"githubUsername": "midknight41"
},
{
"name": "Brendan Forster",
"url": "https://github.com/shiftkey",
"githubUsername": "shiftkey"
},
{
"name": "Mees van Dijk",
"url": "https://github.com/mees-",
"githubUsername": "mees-"
}
],
"main": "",
"repository": {
"type": "git",
"url": "https://www.github.com/DefinitelyTyped/DefinitelyTyped.git"
},
"scripts": {},
"dependencies": {
"@types/node": "*"
},
"typesPublisherContentHash": "43a5cd7e61894b3e49d357aba16e25100ca30131318698639dc96f386e4f5e82",
"typeScriptVersion": "2.2"
}

16
node_modules/@types/glob/README.md generated vendored
View File

@ -1,16 +0,0 @@
# Installation
> `npm install --save @types/glob`
# Summary
This package contains type definitions for Glob (https://github.com/isaacs/node-glob).
# Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/glob
Additional Details
* Last updated: Wed, 19 Sep 2018 15:30:27 GMT
* Dependencies: events, minimatch, node
* Global values: none
# Credits
These definitions were written by vvakame <https://github.com/vvakame>, voy <https://github.com/voy>, Klaus Meinhardt <https://github.com/ajafff>.

87
node_modules/@types/glob/index.d.ts generated vendored
View File

@ -1,87 +0,0 @@
// Type definitions for Glob 7.1
// Project: https://github.com/isaacs/node-glob
// Definitions by: vvakame <https://github.com/vvakame>
// voy <https://github.com/voy>
// Klaus Meinhardt <https://github.com/ajafff>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
/// <reference types="node" />
import events = require("events");
import minimatch = require("minimatch");
declare function G(pattern: string, cb: (err: Error | null, matches: string[]) => void): void;
declare function G(pattern: string, options: G.IOptions, cb: (err: Error | null, matches: string[]) => void): void;
declare namespace G {
function __promisify__(pattern: string, options?: IOptions): Promise<string[]>;
function sync(pattern: string, options?: IOptions): string[];
function hasMagic(pattern: string, options?: IOptions): boolean;
let Glob: IGlobStatic;
let GlobSync: IGlobSyncStatic;
interface IOptions extends minimatch.IOptions {
cwd?: string;
root?: string;
dot?: boolean;
nomount?: boolean;
mark?: boolean;
nosort?: boolean;
stat?: boolean;
silent?: boolean;
strict?: boolean;
cache?: { [path: string]: boolean | 'DIR' | 'FILE' | string[] };
statCache?: { [path: string]: false | { isDirectory(): boolean} | undefined };
symlinks?: { [path: string]: boolean | undefined };
realpathCache?: { [path: string]: string };
sync?: boolean;
nounique?: boolean;
nonull?: boolean;
debug?: boolean;
nobrace?: boolean;
noglobstar?: boolean;
noext?: boolean;
nocase?: boolean;
matchBase?: any;
nodir?: boolean;
ignore?: string | string[];
follow?: boolean;
realpath?: boolean;
nonegate?: boolean;
nocomment?: boolean;
absolute?: boolean;
}
interface IGlobStatic extends events.EventEmitter {
new (pattern: string, cb?: (err: Error | null, matches: string[]) => void): IGlob;
new (pattern: string, options: IOptions, cb?: (err: Error | null, matches: string[]) => void): IGlob;
prototype: IGlob;
}
interface IGlobSyncStatic {
new (pattern: string, options?: IOptions): IGlobBase;
prototype: IGlobBase;
}
interface IGlobBase {
minimatch: minimatch.IMinimatch;
options: IOptions;
aborted: boolean;
cache: { [path: string]: boolean | 'DIR' | 'FILE' | string[] };
statCache: { [path: string]: false | { isDirectory(): boolean; } | undefined };
symlinks: { [path: string]: boolean | undefined };
realpathCache: { [path: string]: string };
found: string[];
}
interface IGlob extends IGlobBase, events.EventEmitter {
pause(): void;
resume(): void;
abort(): void;
}
}
export = G;

View File

@ -1,36 +0,0 @@
{
"name": "@types/glob",
"version": "7.1.0",
"description": "TypeScript definitions for Glob",
"license": "MIT",
"contributors": [
{
"name": "vvakame",
"url": "https://github.com/vvakame",
"githubUsername": "vvakame"
},
{
"name": "voy",
"url": "https://github.com/voy",
"githubUsername": "voy"
},
{
"name": "Klaus Meinhardt",
"url": "https://github.com/ajafff",
"githubUsername": "ajafff"
}
],
"main": "",
"repository": {
"type": "git",
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git"
},
"scripts": {},
"dependencies": {
"@types/events": "*",
"@types/minimatch": "*",
"@types/node": "*"
},
"typesPublisherContentHash": "78d17496a0474ac16e1a7cea259c6ae5ba276f2f354ca1d09a7164612ac64835",
"typeScriptVersion": "2.0"
}

View File

@ -1,21 +0,0 @@
MIT License
Copyright (c) Microsoft Corporation. All rights reserved.
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

View File

@ -1,16 +0,0 @@
# Installation
> `npm install --save @types/handlebars`
# Summary
This package contains type definitions for Handlebars (http://handlebarsjs.com/).
# Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/handlebars
Additional Details
* Last updated: Mon, 23 Jul 2018 23:44:11 GMT
* Dependencies: none
* Global values: Handlebars
# Credits
These definitions were written by Boris Yankov <https://github.com/borisyankov>, Sergei Dorogin <https://github.com/evil-shrike>.

View File

@ -1,344 +0,0 @@
// Type definitions for Handlebars v4.0.11
// Project: http://handlebarsjs.com/
// Definitions by: Boris Yankov <https://github.com/borisyankov>, Sergei Dorogin <https://github.com/evil-shrike>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.3
declare namespace Handlebars {
export interface TemplateDelegate<T = any> {
(context: T, options?: RuntimeOptions): string;
}
export type Template<T = any> = TemplateDelegate<T>|string;
export interface RuntimeOptions {
partial?: boolean;
depths?: any[];
helpers?: { [name: string]: Function };
partials?: { [name: string]: HandlebarsTemplateDelegate };
decorators?: { [name: string]: Function };
data?: any;
blockParams?: any[];
}
export interface HelperOptions {
fn: TemplateDelegate;
inverse: TemplateDelegate;
hash: any;
data?: any;
}
export interface HelperDelegate {
(context?: any, arg1?: any, arg2?: any, arg3?: any, arg4?: any, arg5?: any, options?: HelperOptions): any;
}
export interface HelperDeclareSpec {
[key: string]: HelperDelegate;
}
export function registerHelper(name: string, fn: HelperDelegate): void;
export function registerHelper(name: HelperDeclareSpec): void;
export function unregisterHelper(name: string): void;
export function registerPartial(name: string, fn: Template): void;
export function registerPartial(spec: { [name: string]: HandlebarsTemplateDelegate }): void;
export function unregisterPartial(name: string): void;
// TODO: replace Function with actual signature
export function registerDecorator(name: string, fn: Function): void;
export function unregisterDecorator(name: string): void;
export function K(): void;
export function createFrame(object: any): any;
export function blockParams(obj: any[], ids: any[]): any[];
export function Exception(message: string): void;
export function log(level: number, obj: any): void;
export function parse(input: string): hbs.AST.Program;
export function compile<T = any>(input: any, options?: CompileOptions): HandlebarsTemplateDelegate<T>;
export function precompile(input: any, options?: PrecompileOptions): TemplateSpecification;
export function template<T = any>(precompilation: TemplateSpecification): HandlebarsTemplateDelegate<T>;
export function create(): typeof Handlebars;
export const escapeExpression: typeof Utils.escapeExpression;
//export const Utils: typeof hbs.Utils;
export const logger: Logger;
export const templates: HandlebarsTemplates;
export const helpers: { [name: string]: HelperDelegate };
export const partials: { [name: string]: any };
// TODO: replace Function with actual signature
export const decorators: { [name: string]: Function };
export function noConflict(): typeof Handlebars;
export class SafeString {
constructor(str: string);
toString(): string;
toHTML(): string;
}
export namespace Utils {
export function escapeExpression(str: string): string;
export function createFrame(object: any): any;
export function blockParams(obj: any[], ids: any[]): any[];
export function isEmpty(obj: any) : boolean;
export function extend(obj: any, ...source: any[]): any;
export function toString(obj: any): string;
export function isArray(obj: any): boolean;
export function isFunction(obj: any): boolean;
}
export namespace AST {
export const helpers: hbs.AST.helpers;
}
interface ICompiler {
accept(node: hbs.AST.Node): void;
Program(program: hbs.AST.Program): void;
BlockStatement(block: hbs.AST.BlockStatement): void;
PartialStatement(partial: hbs.AST.PartialStatement): void;
PartialBlockStatement(partial: hbs.AST.PartialBlockStatement): void;
DecoratorBlock(decorator: hbs.AST.DecoratorBlock): void;
Decorator(decorator: hbs.AST.Decorator): void;
MustacheStatement(mustache: hbs.AST.MustacheStatement): void;
ContentStatement(content: hbs.AST.ContentStatement): void;
CommentStatement(comment?: hbs.AST.CommentStatement): void;
SubExpression(sexpr: hbs.AST.SubExpression): void;
PathExpression(path: hbs.AST.PathExpression): void;
StringLiteral(str: hbs.AST.StringLiteral): void;
NumberLiteral(num: hbs.AST.NumberLiteral): void;
BooleanLiteral(bool: hbs.AST.BooleanLiteral): void;
UndefinedLiteral(): void;
NullLiteral(): void;
Hash(hash: hbs.AST.Hash): void;
}
export class Visitor implements ICompiler {
accept(node: hbs.AST.Node): void;
acceptKey(node: hbs.AST.Node, name: string): void;
acceptArray(arr: hbs.AST.Expression[]): void;
Program(program: hbs.AST.Program): void;
BlockStatement(block: hbs.AST.BlockStatement): void;
PartialStatement(partial: hbs.AST.PartialStatement): void;
PartialBlockStatement(partial: hbs.AST.PartialBlockStatement): void;
DecoratorBlock(decorator: hbs.AST.DecoratorBlock): void;
Decorator(decorator: hbs.AST.Decorator): void;
MustacheStatement(mustache: hbs.AST.MustacheStatement): void;
ContentStatement(content: hbs.AST.ContentStatement): void;
CommentStatement(comment?: hbs.AST.CommentStatement): void;
SubExpression(sexpr: hbs.AST.SubExpression): void;
PathExpression(path: hbs.AST.PathExpression): void;
StringLiteral(str: hbs.AST.StringLiteral): void;
NumberLiteral(num: hbs.AST.NumberLiteral): void;
BooleanLiteral(bool: hbs.AST.BooleanLiteral): void;
UndefinedLiteral(): void;
NullLiteral(): void;
Hash(hash: hbs.AST.Hash): void;
}
}
/**
* Implement this interface on your MVW/MVVM/MVC views such as Backbone.View
**/
interface HandlebarsTemplatable {
template: HandlebarsTemplateDelegate;
}
// NOTE: for backward compatibility of this typing
type HandlebarsTemplateDelegate<T = any> = Handlebars.TemplateDelegate<T>;
interface HandlebarsTemplates {
[index: string]: HandlebarsTemplateDelegate;
}
interface TemplateSpecification {
}
// for backward compatibility of this typing
type RuntimeOptions = Handlebars.RuntimeOptions;
interface CompileOptions {
data?: boolean;
compat?: boolean;
knownHelpers?: {
helperMissing?: boolean;
blockHelperMissing?: boolean;
each?: boolean;
if?: boolean;
unless?: boolean;
with?: boolean;
log?: boolean;
lookup?: boolean;
};
knownHelpersOnly?: boolean;
noEscape?: boolean;
strict?: boolean;
assumeObjects?: boolean;
preventIndent?: boolean;
ignoreStandalone?: boolean;
explicitPartialContext?: boolean;
}
interface PrecompileOptions extends CompileOptions {
srcName?: string;
destName?: string;
}
declare namespace hbs {
// for backward compatibility of this typing
type SafeString = Handlebars.SafeString;
type Utils = typeof Handlebars.Utils;
}
interface Logger {
DEBUG: number;
INFO: number;
WARN: number;
ERROR: number;
level: number;
methodMap: { [level: number]: string };
log(level: number, obj: string): void;
}
declare namespace hbs {
namespace AST {
interface Node {
type: string;
loc: SourceLocation;
}
interface SourceLocation {
source: string;
start: Position;
end: Position;
}
interface Position {
line: number;
column: number;
}
interface Program extends Node {
body: Statement[];
blockParams: string[];
}
interface Statement extends Node {}
interface MustacheStatement extends Statement {
path: PathExpression | Literal;
params: Expression[];
hash: Hash;
escaped: boolean;
strip: StripFlags;
}
interface Decorator extends MustacheStatement { }
interface BlockStatement extends Statement {
path: PathExpression;
params: Expression[];
hash: Hash;
program: Program;
inverse: Program;
openStrip: StripFlags;
inverseStrip: StripFlags;
closeStrip: StripFlags;
}
interface DecoratorBlock extends BlockStatement { }
interface PartialStatement extends Statement {
name: PathExpression | SubExpression;
params: Expression[];
hash: Hash;
indent: string;
strip: StripFlags;
}
interface PartialBlockStatement extends Statement {
name: PathExpression | SubExpression;
params: Expression[];
hash: Hash;
program: Program;
openStrip: StripFlags;
closeStrip: StripFlags;
}
interface ContentStatement extends Statement {
value: string;
original: StripFlags;
}
interface CommentStatement extends Statement {
value: string;
strip: StripFlags;
}
interface Expression extends Node {}
interface SubExpression extends Expression {
path: PathExpression;
params: Expression[];
hash: Hash;
}
interface PathExpression extends Expression {
data: boolean;
depth: number;
parts: string[];
original: string;
}
interface Literal extends Expression {}
interface StringLiteral extends Literal {
value: string;
original: string;
}
interface BooleanLiteral extends Literal {
value: boolean;
original: boolean;
}
interface NumberLiteral extends Literal {
value: number;
original: number;
}
interface UndefinedLiteral extends Literal {}
interface NullLiteral extends Literal {}
interface Hash extends Node {
pairs: HashPair[];
}
interface HashPair extends Node {
key: string;
value: Expression;
}
interface StripFlags {
open: boolean;
close: boolean;
}
interface helpers {
helperExpression(node: Node): boolean;
scopeId(path: PathExpression): boolean;
simpleId(path: PathExpression): boolean;
}
}
}
declare module "handlebars" {
export = Handlebars;
}
declare module "handlebars/runtime" {
export = Handlebars;
}

View File

@ -1,27 +0,0 @@
{
"name": "@types/handlebars",
"version": "4.0.39",
"description": "TypeScript definitions for Handlebars",
"license": "MIT",
"contributors": [
{
"name": "Boris Yankov",
"url": "https://github.com/borisyankov",
"githubUsername": "borisyankov"
},
{
"name": "Sergei Dorogin",
"url": "https://github.com/evil-shrike",
"githubUsername": "evil-shrike"
}
],
"main": "",
"repository": {
"type": "git",
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git"
},
"scripts": {},
"dependencies": {},
"typesPublisherContentHash": "63c27c9594135c37784f920ab75e3219d0cccaa3eef92a82256dfc3714593e35",
"typeScriptVersion": "2.3"
}

View File

@ -1,16 +0,0 @@
# Installation
> `npm install --save @types/highlight.js`
# Summary
This package contains type definitions for highlight.js (https://github.com/isagalaev/highlight.js).
# Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/highlight.js
Additional Details
* Last updated: Sun, 27 May 2018 14:13:13 GMT
* Dependencies: none
* Global values: hljs
# Credits
These definitions were written by Niklas Mollenhauer <https://github.com/nikeee>, Jeremy Hull <https://github.com/sourrust>, Josh Goldberg <https://github.com/joshuakgoldberg>.

View File

@ -1,163 +0,0 @@
// Type definitions for highlight.js v9.12
// Project: https://github.com/isagalaev/highlight.js
// Definitions by: Niklas Mollenhauer <https://github.com/nikeee>
// Jeremy Hull <https://github.com/sourrust>
// Josh Goldberg <https://github.com/joshuakgoldberg>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
declare namespace hljs
{
interface Node { }
export function highlight(
name: string,
value: string,
ignore_illegals?: boolean,
continuation?: ICompiledMode) : IHighlightResult;
export function highlightAuto(
value: string,
languageSubset?: string[]) : IAutoHighlightResult;
export function fixMarkup(value: string) : string;
export function highlightBlock(block: Node) : void;
export function configure(options: IOptions): void;
export function initHighlighting(): void;
export function initHighlightingOnLoad(): void;
export function registerLanguage(
name: string,
language: (hljs?: HLJSStatic) => IModeBase): void;
export function listLanguages(): string[];
export function getLanguage(name: string): IMode;
export function inherit(parent: Object, obj: Object): Object;
export function COMMENT(
begin: (string|RegExp),
end: (string|RegExp),
inherits: IModeBase): IMode;
// Common regexps
export var IDENT_RE: string;
export var UNDERSCORE_IDENT_RE: string;
export var NUMBER_RE: string;
export var C_NUMBER_RE: string;
export var BINARY_NUMBER_RE: string;
export var RE_STARTERS_RE: string;
// Common modes
export var BACKSLASH_ESCAPE : IMode;
export var APOS_STRING_MODE : IMode;
export var QUOTE_STRING_MODE : IMode;
export var PHRASAL_WORDS_MODE : IMode;
export var C_LINE_COMMENT_MODE : IMode;
export var C_BLOCK_COMMENT_MODE : IMode;
export var HASH_COMMENT_MODE : IMode;
export var NUMBER_MODE : IMode;
export var C_NUMBER_MODE : IMode;
export var BINARY_NUMBER_MODE : IMode;
export var CSS_NUMBER_MODE : IMode;
export var REGEX_MODE : IMode;
export var TITLE_MODE : IMode;
export var UNDERSCORE_TITLE_MODE : IMode;
export interface IHighlightResultBase
{
relevance: number;
language: string;
value: string;
}
export interface IAutoHighlightResult extends IHighlightResultBase
{
second_best?: IAutoHighlightResult;
}
export interface IHighlightResult extends IHighlightResultBase
{
top: ICompiledMode;
}
export interface HLJSStatic
{
inherit(parent: Object, obj: Object): Object;
// Common regexps
IDENT_RE: string;
UNDERSCORE_IDENT_RE: string;
NUMBER_RE: string;
C_NUMBER_RE: string;
BINARY_NUMBER_RE: string;
RE_STARTERS_RE: string;
// Common modes
BACKSLASH_ESCAPE : IMode;
APOS_STRING_MODE : IMode;
QUOTE_STRING_MODE : IMode;
PHRASAL_WORDS_MODE : IMode;
C_LINE_COMMENT_MODE : IMode;
C_BLOCK_COMMENT_MODE : IMode;
HASH_COMMENT_MODE : IMode;
NUMBER_MODE : IMode;
C_NUMBER_MODE : IMode;
BINARY_NUMBER_MODE : IMode;
CSS_NUMBER_MODE : IMode;
REGEX_MODE : IMode;
TITLE_MODE : IMode;
UNDERSCORE_TITLE_MODE : IMode;
}
// Reference:
// https://github.com/isagalaev/highlight.js/blob/master/docs/reference.rst
export interface IModeBase
{
className?: string;
aliases?: string[];
begin?: (string|RegExp);
end?: (string|RegExp);
case_insensitive?: boolean;
beginKeyword?: string;
endsWithParent?: boolean;
lexems?: string;
illegal?: string;
excludeBegin?: boolean;
excludeEnd?: boolean;
returnBegin?: boolean;
returnEnd?: boolean;
starts?: string;
subLanguage?: string;
subLanguageMode?: string;
relevance?: number;
variants?: IMode[];
}
export interface IMode extends IModeBase
{
keywords?: any;
contains?: IMode[];
}
export interface ICompiledMode extends IModeBase
{
compiled: boolean;
contains?: ICompiledMode[];
keywords?: Object;
terminators: RegExp;
terminator_end?: string;
}
export interface IOptions
{
classPrefix?: string;
tabReplace?: string;
useBR?: boolean;
languages?: string[];
}
}
export = hljs;
export as namespace hljs;

View File

@ -1,32 +0,0 @@
{
"name": "@types/highlight.js",
"version": "9.12.3",
"description": "TypeScript definitions for highlight.js",
"license": "MIT",
"contributors": [
{
"name": "Niklas Mollenhauer",
"url": "https://github.com/nikeee",
"githubUsername": "nikeee"
},
{
"name": "Jeremy Hull",
"url": "https://github.com/sourrust",
"githubUsername": "sourrust"
},
{
"name": "Josh Goldberg",
"url": "https://github.com/joshuakgoldberg",
"githubUsername": "joshuakgoldberg"
}
],
"main": "",
"repository": {
"type": "git",
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git"
},
"scripts": {},
"dependencies": {},
"typesPublisherContentHash": "f9994168d9c0feca1b75be8092311b51d790da547593a4a68bf4e783ca4a2022",
"typeScriptVersion": "2.0"
}

21
node_modules/@types/lodash/LICENSE generated vendored
View File

@ -1,21 +0,0 @@
MIT License
Copyright (c) Microsoft Corporation. All rights reserved.
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

16
node_modules/@types/lodash/README.md generated vendored
View File

@ -1,16 +0,0 @@
# Installation
> `npm install --save @types/lodash`
# Summary
This package contains type definitions for Lo-Dash (http://lodash.com/).
# Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/lodash
Additional Details
* Last updated: Fri, 03 Aug 2018 01:26:21 GMT
* Dependencies: none
* Global values: _
# Credits
These definitions were written by Brian Zengel <https://github.com/bczengel>, Ilya Mochalov <https://github.com/chrootsu>, Stepan Mikhaylyuk <https://github.com/stepancar>, AJ Richardson <https://github.com/aj-r>, Junyoung Clare Jang <https://github.com/ailrun>, e-cloud <https://github.com/e-cloud>, Georgii Dolzhykov <https://github.com/thorn0>, Jack Moore <https://github.com/jtmthf>, Dominique Rau <https://github.com/DomiR>.

View File

@ -1,2 +0,0 @@
import { add } from "./index";
export = add;

View File

@ -1,2 +0,0 @@
import { after } from "./index";
export = after;

View File

@ -1,2 +0,0 @@
import { ary } from "./index";
export = ary;

View File

@ -1,2 +0,0 @@
import { assign } from "./index";
export = assign;

View File

@ -1,2 +0,0 @@
import { assignIn } from "./index";
export = assignIn;

View File

@ -1,2 +0,0 @@
import { assignInWith } from "./index";
export = assignInWith;

View File

@ -1,2 +0,0 @@
import { assignWith } from "./index";
export = assignWith;

2
node_modules/@types/lodash/at.d.ts generated vendored
View File

@ -1,2 +0,0 @@
import { at } from "./index";
export = at;

View File

@ -1,2 +0,0 @@
import { attempt } from "./index";
export = attempt;

View File

@ -1,2 +0,0 @@
import { before } from "./index";
export = before;

View File

@ -1,2 +0,0 @@
import { bind } from "./index";
export = bind;

View File

@ -1,2 +0,0 @@
import { bindAll } from "./index";
export = bindAll;

View File

@ -1,2 +0,0 @@
import { bindKey } from "./index";
export = bindKey;

View File

@ -1,2 +0,0 @@
import { camelCase } from "./index";
export = camelCase;

View File

@ -1,2 +0,0 @@
import { capitalize } from "./index";
export = capitalize;

View File

@ -1,2 +0,0 @@
import { castArray } from "./index";
export = castArray;

View File

@ -1,2 +0,0 @@
import { ceil } from "./index";
export = ceil;

View File

@ -1,2 +0,0 @@
import { chain } from "./index";
export = chain;

View File

@ -1,2 +0,0 @@
import { chunk } from "./index";
export = chunk;

View File

@ -1,2 +0,0 @@
import { clamp } from "./index";
export = clamp;

View File

@ -1,2 +0,0 @@
import { clone } from "./index";
export = clone;

View File

@ -1,2 +0,0 @@
import { cloneDeep } from "./index";
export = cloneDeep;

View File

@ -1,2 +0,0 @@
import { cloneDeepWith } from "./index";
export = cloneDeepWith;

View File

@ -1,2 +0,0 @@
import { cloneWith } from "./index";
export = cloneWith;

View File

@ -1,2 +0,0 @@
import { compact } from "./index";
export = compact;

View File

@ -1,2 +0,0 @@
import { concat } from "./index";
export = concat;

View File

@ -1,2 +0,0 @@
import { constant } from "./index";
export = constant;

View File

@ -1,2 +0,0 @@
import { countBy } from "./index";
export = countBy;

View File

@ -1,2 +0,0 @@
import { create } from "./index";
export = create;

View File

@ -1,2 +0,0 @@
import { curry } from "./index";
export = curry;

Some files were not shown because too many files have changed in this diff Show More