feat(complex-matcher): new package (#28)
This commit is contained in:
parent
ed7a40bc73
commit
1b42523e2d
@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"babel-7-jest": "^21.3.2",
|
||||||
"babel-eslint": "^8.0.1",
|
"babel-eslint": "^8.0.1",
|
||||||
"eslint": "^4.13.1",
|
"eslint": "^4.13.1",
|
||||||
"eslint-config-standard": "^11.0.0-beta.0",
|
"eslint-config-standard": "^11.0.0-beta.0",
|
||||||
@ -25,7 +26,11 @@
|
|||||||
"/dist/",
|
"/dist/",
|
||||||
"/xo-vmdk-to-vhd/"
|
"/xo-vmdk-to-vhd/"
|
||||||
],
|
],
|
||||||
"testRegex": "\\.spec\\.js$"
|
"testRegex": "\\.spec\\.js$",
|
||||||
|
"transform": {
|
||||||
|
"complex-matcher/.+\\.jsx?$": "babel-7-jest",
|
||||||
|
"\\.jsx?$": "babel-jest"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"lint-staged": {
|
"lint-staged": {
|
||||||
"*.js": [
|
"*.js": [
|
||||||
|
27
packages/complex-matcher/.babelrc.js
Normal file
27
packages/complex-matcher/.babelrc.js
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
const { NODE_ENV = 'development' } = process.env
|
||||||
|
const __PROD__ = NODE_ENV === 'production'
|
||||||
|
const __TEST__ = NODE_ENV === 'test'
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
comments: !__PROD__,
|
||||||
|
compact: __PROD__,
|
||||||
|
ignore: __TEST__ ? undefined : [ /\.spec\.js$/ ],
|
||||||
|
plugins: ['lodash'],
|
||||||
|
presets: [
|
||||||
|
[
|
||||||
|
'@babel/env',
|
||||||
|
{
|
||||||
|
debug: !__TEST__,
|
||||||
|
loose: true,
|
||||||
|
shippedProposals: true,
|
||||||
|
targets: __PROD__
|
||||||
|
? {
|
||||||
|
browsers: '>2%',
|
||||||
|
node: '4',
|
||||||
|
}
|
||||||
|
: { node: 'current' },
|
||||||
|
useBuiltIns: 'usage',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
],
|
||||||
|
}
|
24
packages/complex-matcher/.npmignore
Normal file
24
packages/complex-matcher/.npmignore
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
/benchmark/
|
||||||
|
/benchmarks/
|
||||||
|
*.bench.js
|
||||||
|
*.bench.js.map
|
||||||
|
|
||||||
|
/examples/
|
||||||
|
example.js
|
||||||
|
example.js.map
|
||||||
|
*.example.js
|
||||||
|
*.example.js.map
|
||||||
|
|
||||||
|
/fixture/
|
||||||
|
/fixtures/
|
||||||
|
*.fixture.js
|
||||||
|
*.fixture.js.map
|
||||||
|
*.fixtures.js
|
||||||
|
*.fixtures.js.map
|
||||||
|
|
||||||
|
/test/
|
||||||
|
/tests/
|
||||||
|
*.spec.js
|
||||||
|
*.spec.js.map
|
||||||
|
|
||||||
|
__snapshots__/
|
66
packages/complex-matcher/README.md
Normal file
66
packages/complex-matcher/README.md
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
# complex-matcher [](https://travis-ci.org/vatesfr/xen-orchestra)
|
||||||
|
|
||||||
|
> ${pkg.description}
|
||||||
|
|
||||||
|
## Install
|
||||||
|
|
||||||
|
Installation of the [npm package](https://npmjs.org/package/complex-matcher):
|
||||||
|
|
||||||
|
```
|
||||||
|
> npm install --save complex-matcher
|
||||||
|
```
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
```js
|
||||||
|
import * as CM from 'complex-matcher'
|
||||||
|
|
||||||
|
const characters = [
|
||||||
|
{ name: 'Catwoman', costumeColor: 'black' },
|
||||||
|
{ name: 'Superman', costumeColor: 'blue', hasCape: true },
|
||||||
|
{ name: 'Wonder Woman', costumeColor: 'blue' },
|
||||||
|
]
|
||||||
|
|
||||||
|
const predicate = CM.parse('costumeColor:blue hasCape?').createPredicate()
|
||||||
|
|
||||||
|
characters.filter(predicate)
|
||||||
|
// [
|
||||||
|
// { name: 'Superman', costumeColor: 'blue', hasCape: true },
|
||||||
|
// ]
|
||||||
|
|
||||||
|
new CM.String('foo').createPredicate()
|
||||||
|
```
|
||||||
|
|
||||||
|
## Development
|
||||||
|
|
||||||
|
```
|
||||||
|
# Install dependencies
|
||||||
|
> yarn
|
||||||
|
|
||||||
|
# Run the tests
|
||||||
|
> yarn test
|
||||||
|
|
||||||
|
# Continuously compile
|
||||||
|
> yarn dev
|
||||||
|
|
||||||
|
# Continuously run the tests
|
||||||
|
> yarn dev-test
|
||||||
|
|
||||||
|
# Build for production (automatically called by npm install)
|
||||||
|
> yarn build
|
||||||
|
```
|
||||||
|
|
||||||
|
## Contributions
|
||||||
|
|
||||||
|
Contributions are *very* welcomed, either on the documentation or on
|
||||||
|
the code.
|
||||||
|
|
||||||
|
You may:
|
||||||
|
|
||||||
|
- report any [issue](https://github.com/vatesfr/xo-web/issues)
|
||||||
|
you've encountered;
|
||||||
|
- fork and create a pull request.
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
ISC © [Vates SAS](https://vates.fr)
|
45
packages/complex-matcher/package.json
Normal file
45
packages/complex-matcher/package.json
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
{
|
||||||
|
"name": "complex-matcher",
|
||||||
|
"version": "0.1.0",
|
||||||
|
"license": "ISC",
|
||||||
|
"description": "",
|
||||||
|
"keywords": [],
|
||||||
|
"homepage": "https://github.com/vatesfr/xen-orchestra/tree/master/packages/complex-matcher",
|
||||||
|
"bugs": "https://github.com/vatesfr/xo-web/issues",
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/vatesfr/xen-orchestra.git"
|
||||||
|
},
|
||||||
|
"author": {
|
||||||
|
"name": "Julien Fontanet",
|
||||||
|
"email": "julien.fontanet@isonoe.net"
|
||||||
|
},
|
||||||
|
"preferGlobal": false,
|
||||||
|
"main": "dist/",
|
||||||
|
"bin": {},
|
||||||
|
"files": [
|
||||||
|
"dist/"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=4"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@babel/polyfill": "^7.0.0-beta.35",
|
||||||
|
"lodash": "^4.17.4"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@babel/cli": "^7.0.0-beta.35",
|
||||||
|
"@babel/core": "^7.0.0-beta.35",
|
||||||
|
"@babel/preset-env": "^7.0.0-beta.35",
|
||||||
|
"babel-plugin-lodash": "^3.3.2",
|
||||||
|
"cross-env": "^5.1.1",
|
||||||
|
"rimraf": "^2.6.2"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"build": "cross-env NODE_ENV=production babel --source-maps --out-dir=dist/ src/",
|
||||||
|
"dev": "cross-env NODE_ENV=development babel --watch --source-maps --out-dir=dist/ src/",
|
||||||
|
"prebuild": "rimraf dist/",
|
||||||
|
"predev": "npm run prebuild",
|
||||||
|
"prepublishOnly": "npm run build"
|
||||||
|
}
|
||||||
|
}
|
12
packages/complex-matcher/src/index.bench.js
Normal file
12
packages/complex-matcher/src/index.bench.js
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
import { parse } from './'
|
||||||
|
import { ast, pattern } from './index.fixtures'
|
||||||
|
|
||||||
|
export default ({ benchmark }) => {
|
||||||
|
benchmark('parse', () => {
|
||||||
|
parse(pattern)
|
||||||
|
})
|
||||||
|
|
||||||
|
benchmark('toString', () => {
|
||||||
|
ast.toString()
|
||||||
|
})
|
||||||
|
}
|
13
packages/complex-matcher/src/index.fixtures.js
Normal file
13
packages/complex-matcher/src/index.fixtures.js
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
import * as CM from './'
|
||||||
|
|
||||||
|
export const pattern = 'foo !"\\\\ \\"" name:|(wonderwoman batman) hasCape?'
|
||||||
|
|
||||||
|
export const ast = new CM.And([
|
||||||
|
new CM.String('foo'),
|
||||||
|
new CM.Not(new CM.String('\\ "')),
|
||||||
|
new CM.Property(
|
||||||
|
'name',
|
||||||
|
new CM.Or([new CM.String('wonderwoman'), new CM.String('batman')])
|
||||||
|
),
|
||||||
|
new CM.TruthyProperty('hasCape'),
|
||||||
|
])
|
429
packages/complex-matcher/src/index.js
Normal file
429
packages/complex-matcher/src/index.js
Normal file
@ -0,0 +1,429 @@
|
|||||||
|
import { isPlainObject, some } from 'lodash'
|
||||||
|
|
||||||
|
// ===================================================================
|
||||||
|
|
||||||
|
// Invoke a function and returns it result.
|
||||||
|
// All parameters are forwarded.
|
||||||
|
//
|
||||||
|
// Why using `invoke()`?
|
||||||
|
// - avoid tedious IIFE syntax
|
||||||
|
// - avoid declaring variables in the common scope
|
||||||
|
// - monkey-patching
|
||||||
|
//
|
||||||
|
// ```js
|
||||||
|
// const sum = invoke(1, 2, (a, b) => a + b)
|
||||||
|
//
|
||||||
|
// eventEmitter.emit = invoke(eventEmitter.emit, emit => function (event) {
|
||||||
|
// if (event === 'foo') {
|
||||||
|
// throw new Error('event foo is disabled')
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// return emit.apply(this, arguments)
|
||||||
|
// })
|
||||||
|
// ```
|
||||||
|
function invoke (fn) {
|
||||||
|
const n = arguments.length - 1
|
||||||
|
if (!n) {
|
||||||
|
return fn()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn = arguments[n]
|
||||||
|
const args = new Array(n)
|
||||||
|
for (let i = 0; i < n; ++i) {
|
||||||
|
args[i] = arguments[i]
|
||||||
|
}
|
||||||
|
|
||||||
|
return fn.apply(undefined, args)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ===================================================================
|
||||||
|
|
||||||
|
const RAW_STRING_CHARS = invoke(() => {
|
||||||
|
const chars = { __proto__: null }
|
||||||
|
const add = (a, b = a) => {
|
||||||
|
let i = a.charCodeAt(0)
|
||||||
|
const j = b.charCodeAt(0)
|
||||||
|
while (i <= j) {
|
||||||
|
chars[String.fromCharCode(i++)] = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
add('$')
|
||||||
|
add('-')
|
||||||
|
add('.')
|
||||||
|
add('0', '9')
|
||||||
|
add('_')
|
||||||
|
add('A', 'Z')
|
||||||
|
add('a', 'z')
|
||||||
|
return chars
|
||||||
|
})
|
||||||
|
const isRawString = string => {
|
||||||
|
const { length } = string
|
||||||
|
for (let i = 0; i < length; ++i) {
|
||||||
|
if (!(string[i] in RAW_STRING_CHARS)) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------
|
||||||
|
|
||||||
|
class Node {
|
||||||
|
createPredicate () {
|
||||||
|
return value => this.match(value)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const formatTerms = terms => terms.map(term => term.toString(true)).join(' ')
|
||||||
|
|
||||||
|
export class And extends Node {
|
||||||
|
constructor (children) {
|
||||||
|
super()
|
||||||
|
|
||||||
|
if (children.length === 1) {
|
||||||
|
return children[0]
|
||||||
|
}
|
||||||
|
this.children = children
|
||||||
|
}
|
||||||
|
|
||||||
|
match (value) {
|
||||||
|
return this.children.every(child => child.match(value))
|
||||||
|
}
|
||||||
|
|
||||||
|
toString (isNested) {
|
||||||
|
const terms = formatTerms(this.children)
|
||||||
|
return isNested ? `(${terms})` : terms
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export class Or extends Node {
|
||||||
|
constructor (children) {
|
||||||
|
super()
|
||||||
|
|
||||||
|
if (children.length === 1) {
|
||||||
|
return children[0]
|
||||||
|
}
|
||||||
|
this.children = children
|
||||||
|
}
|
||||||
|
|
||||||
|
match (value) {
|
||||||
|
return this.children.some(child => child.match(value))
|
||||||
|
}
|
||||||
|
|
||||||
|
toString () {
|
||||||
|
return `|(${formatTerms(this.children)})`
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export class Not extends Node {
|
||||||
|
constructor (child) {
|
||||||
|
super()
|
||||||
|
|
||||||
|
this.child = child
|
||||||
|
}
|
||||||
|
|
||||||
|
match (value) {
|
||||||
|
return !this.child.match(value)
|
||||||
|
}
|
||||||
|
|
||||||
|
toString () {
|
||||||
|
return '!' + this.child.toString(true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export class Property extends Node {
|
||||||
|
constructor (name, child) {
|
||||||
|
super()
|
||||||
|
|
||||||
|
this.name = name
|
||||||
|
this.child = child
|
||||||
|
}
|
||||||
|
|
||||||
|
match (value) {
|
||||||
|
return value != null && this.child.match(value[this.name])
|
||||||
|
}
|
||||||
|
|
||||||
|
toString () {
|
||||||
|
return `${formatString(this.name)}:${this.child.toString(true)}`
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const escapeChar = char => '\\' + char
|
||||||
|
const formatString = value => isRawString(value)
|
||||||
|
? value
|
||||||
|
: `"${value.replace(/\\|"/g, escapeChar)}"`
|
||||||
|
|
||||||
|
export class StringNode extends Node {
|
||||||
|
constructor (value) {
|
||||||
|
super()
|
||||||
|
|
||||||
|
this.lcValue = value.toLowerCase()
|
||||||
|
this.value = value
|
||||||
|
|
||||||
|
// should not be enumerable for the tests
|
||||||
|
Object.defineProperty(this, 'match', {
|
||||||
|
value: this.match.bind(this),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
match (value) {
|
||||||
|
if (typeof value === 'string') {
|
||||||
|
return value.toLowerCase().indexOf(this.lcValue) !== -1
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Array.isArray(value) || isPlainObject(value)) {
|
||||||
|
return some(value, this.match)
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
toString () {
|
||||||
|
return formatString(this.value)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
export { StringNode as String }
|
||||||
|
|
||||||
|
export class TruthyProperty extends Node {
|
||||||
|
constructor (name) {
|
||||||
|
super()
|
||||||
|
|
||||||
|
this.name = name
|
||||||
|
}
|
||||||
|
|
||||||
|
match (value) {
|
||||||
|
return value != null && !!value[this.name]
|
||||||
|
}
|
||||||
|
|
||||||
|
toString () {
|
||||||
|
return formatString(this.name) + '?'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------
|
||||||
|
|
||||||
|
// terms = term+
|
||||||
|
// term = ws (and | or | not | property | truthyProperty | string) ws
|
||||||
|
// ws = ' '*
|
||||||
|
// *and = "(" terms ")"
|
||||||
|
// *or = "|" ws "(" terms ")"
|
||||||
|
// *not = "!" term
|
||||||
|
// *property = string ws ":" term
|
||||||
|
// *truthyProperty = string ws "?"
|
||||||
|
// *string = quotedString | rawString
|
||||||
|
// quotedString = "\"" ( /[^"\]/ | "\\\\" | "\\\"" )+
|
||||||
|
// rawString = /[a-z0-9-_.]+/i
|
||||||
|
export const parse = invoke(() => {
|
||||||
|
let i
|
||||||
|
let n
|
||||||
|
let input
|
||||||
|
|
||||||
|
// -----
|
||||||
|
|
||||||
|
const backtrace = parser => () => {
|
||||||
|
const pos = i
|
||||||
|
const node = parser()
|
||||||
|
if (node !== undefined) {
|
||||||
|
return node
|
||||||
|
}
|
||||||
|
i = pos
|
||||||
|
}
|
||||||
|
|
||||||
|
// -----
|
||||||
|
|
||||||
|
const parseTerms = Node => {
|
||||||
|
let term = parseTerm()
|
||||||
|
if (!term) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
const terms = [term]
|
||||||
|
while ((term = parseTerm())) {
|
||||||
|
terms.push(term)
|
||||||
|
}
|
||||||
|
return new Node(terms)
|
||||||
|
}
|
||||||
|
const parseTerm = () => {
|
||||||
|
parseWs()
|
||||||
|
|
||||||
|
const child =
|
||||||
|
parseAnd() ||
|
||||||
|
parseOr() ||
|
||||||
|
parseNot() ||
|
||||||
|
parseProperty() ||
|
||||||
|
parseTruthyProperty() ||
|
||||||
|
parseString()
|
||||||
|
if (child) {
|
||||||
|
parseWs()
|
||||||
|
return child
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const parseWs = () => {
|
||||||
|
while (input[i] === ' ') {
|
||||||
|
++i
|
||||||
|
}
|
||||||
|
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
const parseAnd = backtrace(() => {
|
||||||
|
let and
|
||||||
|
if (input[i++] === '(' && (and = parseTerm(And)) && input[i++] === ')') {
|
||||||
|
return and
|
||||||
|
}
|
||||||
|
})
|
||||||
|
const parseOr = backtrace(() => {
|
||||||
|
let or
|
||||||
|
if (
|
||||||
|
input[i++] === '|' &&
|
||||||
|
parseWs() &&
|
||||||
|
input[i++] === '(' &&
|
||||||
|
(or = parseTerms(Or)) &&
|
||||||
|
input[i++] === ')'
|
||||||
|
) {
|
||||||
|
return or
|
||||||
|
}
|
||||||
|
})
|
||||||
|
const parseNot = backtrace(() => {
|
||||||
|
let child
|
||||||
|
if (input[i++] === '!' && (child = parseTerm())) {
|
||||||
|
return new Not(child)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
const parseProperty = backtrace(() => {
|
||||||
|
let name, child
|
||||||
|
if (
|
||||||
|
(name = parseString()) &&
|
||||||
|
parseWs() &&
|
||||||
|
input[i++] === ':' &&
|
||||||
|
(child = parseTerm())
|
||||||
|
) {
|
||||||
|
return new Property(name.value, child)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
const parseString = () => {
|
||||||
|
let value
|
||||||
|
if (
|
||||||
|
(value = parseQuotedString()) !== undefined ||
|
||||||
|
(value = parseRawString()) !== undefined
|
||||||
|
) {
|
||||||
|
return new StringNode(value)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const parseQuotedString = backtrace(() => {
|
||||||
|
if (input[i++] !== '"') {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
const value = []
|
||||||
|
let char
|
||||||
|
while (i < n && (char = input[i++]) !== '"') {
|
||||||
|
if (char === '\\') {
|
||||||
|
char = input[i++]
|
||||||
|
}
|
||||||
|
value.push(char)
|
||||||
|
}
|
||||||
|
|
||||||
|
return value.join('')
|
||||||
|
})
|
||||||
|
const parseRawString = () => {
|
||||||
|
let value = ''
|
||||||
|
let c
|
||||||
|
while ((c = input[i]) && RAW_STRING_CHARS[c]) {
|
||||||
|
++i
|
||||||
|
value += c
|
||||||
|
}
|
||||||
|
if (value.length) {
|
||||||
|
return value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const parseTruthyProperty = backtrace(() => {
|
||||||
|
let name
|
||||||
|
if ((name = parseString()) && parseWs() && input[i++] === '?') {
|
||||||
|
return new TruthyProperty(name.value)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
return input_ => {
|
||||||
|
i = 0
|
||||||
|
input = input_.split('')
|
||||||
|
n = input.length
|
||||||
|
|
||||||
|
try {
|
||||||
|
return parseTerms(And)
|
||||||
|
} finally {
|
||||||
|
input = undefined
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------
|
||||||
|
|
||||||
|
const _getPropertyClauseStrings = ({ child }) => {
|
||||||
|
if (child instanceof Or) {
|
||||||
|
const strings = []
|
||||||
|
child.children.forEach(child => {
|
||||||
|
if (child instanceof StringNode) {
|
||||||
|
strings.push(child.value)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return strings
|
||||||
|
}
|
||||||
|
|
||||||
|
if (child instanceof StringNode) {
|
||||||
|
return [child.value]
|
||||||
|
}
|
||||||
|
|
||||||
|
return []
|
||||||
|
}
|
||||||
|
|
||||||
|
// Find possible values for property clauses in a and clause.
|
||||||
|
export const getPropertyClausesStrings = node => {
|
||||||
|
if (!node) {
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (node instanceof Property) {
|
||||||
|
return {
|
||||||
|
[node.name]: _getPropertyClauseStrings(node),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (node instanceof And) {
|
||||||
|
const strings = {}
|
||||||
|
node.children.forEach(node => {
|
||||||
|
if (node instanceof Property) {
|
||||||
|
const { name } = node
|
||||||
|
const values = strings[name]
|
||||||
|
if (values) {
|
||||||
|
values.push.apply(values, _getPropertyClauseStrings(node))
|
||||||
|
} else {
|
||||||
|
strings[name] = _getPropertyClauseStrings(node)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return strings
|
||||||
|
}
|
||||||
|
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------
|
||||||
|
|
||||||
|
export const setPropertyClause = (node, name, child) => {
|
||||||
|
const property = child && new Property(
|
||||||
|
name,
|
||||||
|
typeof child === 'string' ? new StringNode(child) : child
|
||||||
|
)
|
||||||
|
|
||||||
|
if (node === undefined) {
|
||||||
|
return property
|
||||||
|
}
|
||||||
|
|
||||||
|
const children = (node instanceof And ? node.children : [node]).filter(child =>
|
||||||
|
!(child instanceof Property && child.name === name)
|
||||||
|
)
|
||||||
|
if (property !== undefined) {
|
||||||
|
children.push(property)
|
||||||
|
}
|
||||||
|
return new And(children)
|
||||||
|
}
|
56
packages/complex-matcher/src/index.spec.js
Normal file
56
packages/complex-matcher/src/index.spec.js
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
/* eslint-env jest */
|
||||||
|
|
||||||
|
import {
|
||||||
|
getPropertyClausesStrings,
|
||||||
|
parse,
|
||||||
|
setPropertyClause,
|
||||||
|
} from './'
|
||||||
|
import { ast, pattern } from './index.fixtures'
|
||||||
|
|
||||||
|
it('getPropertyClausesStrings', () => {
|
||||||
|
const tmp = getPropertyClausesStrings(parse('foo bar:baz baz:|(foo bar)'))
|
||||||
|
expect(tmp).toEqual({
|
||||||
|
bar: ['baz'],
|
||||||
|
baz: ['foo', 'bar'],
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
it('parse', () => {
|
||||||
|
expect(parse(pattern)).toEqual(ast)
|
||||||
|
})
|
||||||
|
|
||||||
|
describe('setPropertyClause', () => {
|
||||||
|
it('creates a node if none passed', () => {
|
||||||
|
expect(setPropertyClause(undefined, 'foo', 'bar').toString()).toBe('foo:bar')
|
||||||
|
})
|
||||||
|
|
||||||
|
it('adds a property clause if there was none', () => {
|
||||||
|
expect(
|
||||||
|
setPropertyClause(parse('baz'), 'foo', 'bar').toString()
|
||||||
|
).toBe('baz foo:bar')
|
||||||
|
})
|
||||||
|
|
||||||
|
it('replaces the property clause if there was one', () => {
|
||||||
|
expect(
|
||||||
|
setPropertyClause(parse('plip foo:baz plop'), 'foo', 'bar').toString()
|
||||||
|
).toBe('plip plop foo:bar')
|
||||||
|
|
||||||
|
expect(
|
||||||
|
setPropertyClause(parse('foo:|(baz plop)'), 'foo', 'bar').toString()
|
||||||
|
).toBe('foo:bar')
|
||||||
|
})
|
||||||
|
|
||||||
|
it('removes the property clause if no chid is passed', () => {
|
||||||
|
expect(
|
||||||
|
setPropertyClause(parse('foo bar:baz qux'), 'bar', undefined).toString()
|
||||||
|
).toBe('foo qux')
|
||||||
|
|
||||||
|
expect(
|
||||||
|
setPropertyClause(parse('foo bar:baz qux'), 'baz', undefined).toString()
|
||||||
|
).toBe('foo bar:baz qux')
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
it('toString', () => {
|
||||||
|
expect(pattern).toBe(ast.toString())
|
||||||
|
})
|
@ -32,6 +32,7 @@ require('exec-promise')(() =>
|
|||||||
|
|
||||||
deleteProperties(pkg, 'config', [ 'commitizen' ])
|
deleteProperties(pkg, 'config', [ 'commitizen' ])
|
||||||
deleteProperties(pkg, 'devDependencies', [
|
deleteProperties(pkg, 'devDependencies', [
|
||||||
|
'babel-7-jest',
|
||||||
'babel-eslint',
|
'babel-eslint',
|
||||||
'commitizen',
|
'commitizen',
|
||||||
'cz-conventional-changelog',
|
'cz-conventional-changelog',
|
||||||
@ -68,7 +69,7 @@ require('exec-promise')(() =>
|
|||||||
JSON.stringify(pkg, null, 2) + '\n'
|
JSON.stringify(pkg, null, 2) + '\n'
|
||||||
),
|
),
|
||||||
unlink(`${dir}/.editorconfig`),
|
unlink(`${dir}/.editorconfig`),
|
||||||
unlink(`${dir}/.eslintrc`),
|
unlink(`${dir}/.eslintrc.js`),
|
||||||
unlink(`${dir}/.gitignore`),
|
unlink(`${dir}/.gitignore`),
|
||||||
unlink(`${dir}/.jshintrc`),
|
unlink(`${dir}/.jshintrc`),
|
||||||
unlink(`${dir}/.travis.yml`),
|
unlink(`${dir}/.travis.yml`),
|
||||||
|
470
yarn.lock
470
yarn.lock
@ -2,6 +2,21 @@
|
|||||||
# yarn lockfile v1
|
# yarn lockfile v1
|
||||||
|
|
||||||
|
|
||||||
|
"@babel/cli@^7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.0.0-beta.35.tgz#9e180810080f29daa917747e2f08fe1b903a7e46"
|
||||||
|
dependencies:
|
||||||
|
commander "^2.8.1"
|
||||||
|
convert-source-map "^1.1.0"
|
||||||
|
fs-readdir-recursive "^1.0.0"
|
||||||
|
glob "^7.0.0"
|
||||||
|
lodash "^4.2.0"
|
||||||
|
output-file-sync "^2.0.0"
|
||||||
|
slash "^1.0.0"
|
||||||
|
source-map "^0.5.0"
|
||||||
|
optionalDependencies:
|
||||||
|
chokidar "^1.6.1"
|
||||||
|
|
||||||
"@babel/code-frame@7.0.0-beta.31":
|
"@babel/code-frame@7.0.0-beta.31":
|
||||||
version "7.0.0-beta.31"
|
version "7.0.0-beta.31"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.31.tgz#473d021ecc573a2cce1c07d5b509d5215f46ba35"
|
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.31.tgz#473d021ecc573a2cce1c07d5b509d5215f46ba35"
|
||||||
@ -10,7 +25,7 @@
|
|||||||
esutils "^2.0.2"
|
esutils "^2.0.2"
|
||||||
js-tokens "^3.0.0"
|
js-tokens "^3.0.0"
|
||||||
|
|
||||||
"@babel/code-frame@^7.0.0-beta.35":
|
"@babel/code-frame@7.0.0-beta.35", "@babel/code-frame@^7.0.0-beta.35":
|
||||||
version "7.0.0-beta.35"
|
version "7.0.0-beta.35"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.35.tgz#04eeb6dca7efef8f65776a4c214157303b85ad51"
|
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.35.tgz#04eeb6dca7efef8f65776a4c214157303b85ad51"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -18,6 +33,71 @@
|
|||||||
esutils "^2.0.2"
|
esutils "^2.0.2"
|
||||||
js-tokens "^3.0.0"
|
js-tokens "^3.0.0"
|
||||||
|
|
||||||
|
"@babel/core@^7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.0.0-beta.35.tgz#69dc61d317c73177b91fdc4432619f997155b60f"
|
||||||
|
dependencies:
|
||||||
|
"@babel/code-frame" "7.0.0-beta.35"
|
||||||
|
"@babel/generator" "7.0.0-beta.35"
|
||||||
|
"@babel/helpers" "7.0.0-beta.35"
|
||||||
|
"@babel/template" "7.0.0-beta.35"
|
||||||
|
"@babel/traverse" "7.0.0-beta.35"
|
||||||
|
"@babel/types" "7.0.0-beta.35"
|
||||||
|
babylon "7.0.0-beta.35"
|
||||||
|
convert-source-map "^1.1.0"
|
||||||
|
debug "^3.0.1"
|
||||||
|
json5 "^0.5.0"
|
||||||
|
lodash "^4.2.0"
|
||||||
|
micromatch "^2.3.11"
|
||||||
|
resolve "^1.3.2"
|
||||||
|
source-map "^0.5.0"
|
||||||
|
|
||||||
|
"@babel/generator@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0-beta.35.tgz#09798d7e714ef8a3cd6ac27afb140e21c2794cef"
|
||||||
|
dependencies:
|
||||||
|
"@babel/types" "7.0.0-beta.35"
|
||||||
|
jsesc "^2.5.1"
|
||||||
|
lodash "^4.2.0"
|
||||||
|
source-map "^0.5.0"
|
||||||
|
trim-right "^1.0.1"
|
||||||
|
|
||||||
|
"@babel/helper-annotate-as-pure@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.35.tgz#d391e76ccb1a6b417007a2b774c688539e115fdb"
|
||||||
|
dependencies:
|
||||||
|
"@babel/types" "7.0.0-beta.35"
|
||||||
|
|
||||||
|
"@babel/helper-builder-binary-assignment-operator-visitor@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.35.tgz#cc63f36ec86a7fa5bae5ec2a255c459414b4263c"
|
||||||
|
dependencies:
|
||||||
|
"@babel/helper-explode-assignable-expression" "7.0.0-beta.35"
|
||||||
|
"@babel/types" "7.0.0-beta.35"
|
||||||
|
|
||||||
|
"@babel/helper-call-delegate@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.35.tgz#4322fd23212ff2d1855792a69cb765ee711fffb6"
|
||||||
|
dependencies:
|
||||||
|
"@babel/helper-hoist-variables" "7.0.0-beta.35"
|
||||||
|
"@babel/traverse" "7.0.0-beta.35"
|
||||||
|
"@babel/types" "7.0.0-beta.35"
|
||||||
|
|
||||||
|
"@babel/helper-define-map@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.35.tgz#38dea093c57565dc50ac96ead46e355e12985ced"
|
||||||
|
dependencies:
|
||||||
|
"@babel/helper-function-name" "7.0.0-beta.35"
|
||||||
|
"@babel/types" "7.0.0-beta.35"
|
||||||
|
lodash "^4.2.0"
|
||||||
|
|
||||||
|
"@babel/helper-explode-assignable-expression@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.35.tgz#f88536e506bf1df2d6ec4b975df8324aa37b4b08"
|
||||||
|
dependencies:
|
||||||
|
"@babel/traverse" "7.0.0-beta.35"
|
||||||
|
"@babel/types" "7.0.0-beta.35"
|
||||||
|
|
||||||
"@babel/helper-function-name@7.0.0-beta.31":
|
"@babel/helper-function-name@7.0.0-beta.31":
|
||||||
version "7.0.0-beta.31"
|
version "7.0.0-beta.31"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.31.tgz#afe63ad799209989348b1109b44feb66aa245f57"
|
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.31.tgz#afe63ad799209989348b1109b44feb66aa245f57"
|
||||||
@ -27,12 +107,338 @@
|
|||||||
"@babel/traverse" "7.0.0-beta.31"
|
"@babel/traverse" "7.0.0-beta.31"
|
||||||
"@babel/types" "7.0.0-beta.31"
|
"@babel/types" "7.0.0-beta.31"
|
||||||
|
|
||||||
|
"@babel/helper-function-name@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.35.tgz#b2fc51a59fe95fcc56ee5e9db21c500606ea2fab"
|
||||||
|
dependencies:
|
||||||
|
"@babel/helper-get-function-arity" "7.0.0-beta.35"
|
||||||
|
"@babel/template" "7.0.0-beta.35"
|
||||||
|
"@babel/types" "7.0.0-beta.35"
|
||||||
|
|
||||||
"@babel/helper-get-function-arity@7.0.0-beta.31":
|
"@babel/helper-get-function-arity@7.0.0-beta.31":
|
||||||
version "7.0.0-beta.31"
|
version "7.0.0-beta.31"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.31.tgz#1176d79252741218e0aec872ada07efb2b37a493"
|
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.31.tgz#1176d79252741218e0aec872ada07efb2b37a493"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/types" "7.0.0-beta.31"
|
"@babel/types" "7.0.0-beta.31"
|
||||||
|
|
||||||
|
"@babel/helper-get-function-arity@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.35.tgz#7f3c86d6646527a03423d42cf0fd06a26718d7cb"
|
||||||
|
dependencies:
|
||||||
|
"@babel/types" "7.0.0-beta.35"
|
||||||
|
|
||||||
|
"@babel/helper-hoist-variables@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.35.tgz#b4fcbafe5c18bc90c6cdad8969ba0dc6bb64e664"
|
||||||
|
dependencies:
|
||||||
|
"@babel/types" "7.0.0-beta.35"
|
||||||
|
|
||||||
|
"@babel/helper-module-imports@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.35.tgz#308e350e731752cdb4d0f058df1d704925c64e0a"
|
||||||
|
dependencies:
|
||||||
|
"@babel/types" "7.0.0-beta.35"
|
||||||
|
lodash "^4.2.0"
|
||||||
|
|
||||||
|
"@babel/helper-module-transforms@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.35.tgz#2219dfb9e470704235bbb3477ac63a946a2b3812"
|
||||||
|
dependencies:
|
||||||
|
"@babel/helper-module-imports" "7.0.0-beta.35"
|
||||||
|
"@babel/helper-simple-access" "7.0.0-beta.35"
|
||||||
|
"@babel/template" "7.0.0-beta.35"
|
||||||
|
"@babel/types" "7.0.0-beta.35"
|
||||||
|
lodash "^4.2.0"
|
||||||
|
|
||||||
|
"@babel/helper-optimise-call-expression@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.35.tgz#3adc8c5347b4a8d4ef8b117d99535f6fa3b61a71"
|
||||||
|
dependencies:
|
||||||
|
"@babel/types" "7.0.0-beta.35"
|
||||||
|
|
||||||
|
"@babel/helper-regex@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.0.0-beta.35.tgz#b3f33c8151cb7c1e3de9cc7a5402a5de57e74902"
|
||||||
|
dependencies:
|
||||||
|
lodash "^4.2.0"
|
||||||
|
|
||||||
|
"@babel/helper-remap-async-to-generator@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.35.tgz#272aecf58ae20cd6d4582766fe106c6d77104e1c"
|
||||||
|
dependencies:
|
||||||
|
"@babel/helper-annotate-as-pure" "7.0.0-beta.35"
|
||||||
|
"@babel/helper-wrap-function" "7.0.0-beta.35"
|
||||||
|
"@babel/template" "7.0.0-beta.35"
|
||||||
|
"@babel/traverse" "7.0.0-beta.35"
|
||||||
|
"@babel/types" "7.0.0-beta.35"
|
||||||
|
|
||||||
|
"@babel/helper-replace-supers@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.35.tgz#fb59070aba45002d09898c8dfb8f8ac05bde4d19"
|
||||||
|
dependencies:
|
||||||
|
"@babel/helper-optimise-call-expression" "7.0.0-beta.35"
|
||||||
|
"@babel/template" "7.0.0-beta.35"
|
||||||
|
"@babel/traverse" "7.0.0-beta.35"
|
||||||
|
"@babel/types" "7.0.0-beta.35"
|
||||||
|
|
||||||
|
"@babel/helper-simple-access@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.35.tgz#1e7221daa67261f541d9125a4f7a1fc7badf884e"
|
||||||
|
dependencies:
|
||||||
|
"@babel/template" "7.0.0-beta.35"
|
||||||
|
"@babel/types" "7.0.0-beta.35"
|
||||||
|
lodash "^4.2.0"
|
||||||
|
|
||||||
|
"@babel/helper-wrap-function@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.35.tgz#2fb82e91842e0bbdc67fc60babf156b6fa781239"
|
||||||
|
dependencies:
|
||||||
|
"@babel/helper-function-name" "7.0.0-beta.35"
|
||||||
|
"@babel/template" "7.0.0-beta.35"
|
||||||
|
"@babel/traverse" "7.0.0-beta.35"
|
||||||
|
"@babel/types" "7.0.0-beta.35"
|
||||||
|
|
||||||
|
"@babel/helpers@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.0.0-beta.35.tgz#8cde270b68c227dca8cb35cd30c6eb3e5a280c09"
|
||||||
|
dependencies:
|
||||||
|
"@babel/template" "7.0.0-beta.35"
|
||||||
|
"@babel/traverse" "7.0.0-beta.35"
|
||||||
|
"@babel/types" "7.0.0-beta.35"
|
||||||
|
|
||||||
|
"@babel/plugin-check-constants@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-check-constants/-/plugin-check-constants-7.0.0-beta.35.tgz#18cca7d9fbba746171c879ced7c69defbdc8bc11"
|
||||||
|
|
||||||
|
"@babel/plugin-proposal-async-generator-functions@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-beta.35.tgz#7f55a538b0f347e13504c9301807a16b8b5b5cc9"
|
||||||
|
dependencies:
|
||||||
|
"@babel/helper-remap-async-to-generator" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-syntax-async-generators" "7.0.0-beta.35"
|
||||||
|
|
||||||
|
"@babel/plugin-proposal-object-rest-spread@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.35.tgz#e5b4e4521bb847cd4931720b5f4472835b5e3c68"
|
||||||
|
dependencies:
|
||||||
|
"@babel/plugin-syntax-object-rest-spread" "7.0.0-beta.35"
|
||||||
|
|
||||||
|
"@babel/plugin-proposal-optional-catch-binding@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.0.0-beta.35.tgz#44d6e492243e442ab1a686c96ed851b55a459223"
|
||||||
|
dependencies:
|
||||||
|
"@babel/plugin-syntax-optional-catch-binding" "7.0.0-beta.35"
|
||||||
|
|
||||||
|
"@babel/plugin-proposal-unicode-property-regex@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0-beta.35.tgz#687d134d5e3638f1ded6d334455d576368d73ee1"
|
||||||
|
dependencies:
|
||||||
|
"@babel/helper-regex" "7.0.0-beta.35"
|
||||||
|
regexpu-core "^4.1.3"
|
||||||
|
|
||||||
|
"@babel/plugin-syntax-async-generators@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-beta.35.tgz#ff672774420f1fa1cedc407ba0c33e8503339198"
|
||||||
|
|
||||||
|
"@babel/plugin-syntax-object-rest-spread@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.35.tgz#da521551c5439fdd32025bd26299d99fd704df95"
|
||||||
|
|
||||||
|
"@babel/plugin-syntax-optional-catch-binding@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.0.0-beta.35.tgz#a2451f5dd30f858d31ec55ce12602f43d2cf5cdc"
|
||||||
|
|
||||||
|
"@babel/plugin-transform-arrow-functions@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.35.tgz#c9764114c629bf1ef0037339b1b05267a5e4aab1"
|
||||||
|
|
||||||
|
"@babel/plugin-transform-async-to-generator@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.35.tgz#fd83aa60c374f91f549f1ecea39a766702cb15f0"
|
||||||
|
dependencies:
|
||||||
|
"@babel/helper-module-imports" "7.0.0-beta.35"
|
||||||
|
"@babel/helper-remap-async-to-generator" "7.0.0-beta.35"
|
||||||
|
|
||||||
|
"@babel/plugin-transform-block-scoped-functions@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.35.tgz#7bf54e90261fdf33b152b3a249ecf2ec6b649338"
|
||||||
|
|
||||||
|
"@babel/plugin-transform-block-scoping@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.35.tgz#065a1bfebe60be2c1c433edfad20591df4ef76f5"
|
||||||
|
dependencies:
|
||||||
|
lodash "^4.2.0"
|
||||||
|
|
||||||
|
"@babel/plugin-transform-classes@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.35.tgz#ae1367d9c41081528f87d5770f6b8c6ee7141b52"
|
||||||
|
dependencies:
|
||||||
|
"@babel/helper-annotate-as-pure" "7.0.0-beta.35"
|
||||||
|
"@babel/helper-define-map" "7.0.0-beta.35"
|
||||||
|
"@babel/helper-function-name" "7.0.0-beta.35"
|
||||||
|
"@babel/helper-optimise-call-expression" "7.0.0-beta.35"
|
||||||
|
"@babel/helper-replace-supers" "7.0.0-beta.35"
|
||||||
|
|
||||||
|
"@babel/plugin-transform-computed-properties@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.35.tgz#2e42ac7d57935c725471e19a1a6127072f3bc2da"
|
||||||
|
|
||||||
|
"@babel/plugin-transform-destructuring@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.35.tgz#b08d63ca71b54805735681175f0451c7587855b5"
|
||||||
|
|
||||||
|
"@babel/plugin-transform-duplicate-keys@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0-beta.35.tgz#c0409a2d2d8a4718b0abea3a8fd136fdf3b4ff3e"
|
||||||
|
|
||||||
|
"@babel/plugin-transform-exponentiation-operator@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.35.tgz#a5470fad798a7052596e19fefbb6f391b17ac6e8"
|
||||||
|
dependencies:
|
||||||
|
"@babel/helper-builder-binary-assignment-operator-visitor" "7.0.0-beta.35"
|
||||||
|
|
||||||
|
"@babel/plugin-transform-for-of@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.35.tgz#50774c6c1cf68a38493ee76d34acb7b55470e05f"
|
||||||
|
|
||||||
|
"@babel/plugin-transform-function-name@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.0.0-beta.35.tgz#efad92ef7c63bc34b4f3379f319bcafdccce7b7f"
|
||||||
|
dependencies:
|
||||||
|
"@babel/helper-function-name" "7.0.0-beta.35"
|
||||||
|
|
||||||
|
"@babel/plugin-transform-literals@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.35.tgz#c0634fc137702afd7ae77829a41be45c4fa530ca"
|
||||||
|
|
||||||
|
"@babel/plugin-transform-modules-amd@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.0.0-beta.35.tgz#3d26e48a481938983b9f067daf9b3458717419b7"
|
||||||
|
dependencies:
|
||||||
|
"@babel/helper-module-transforms" "7.0.0-beta.35"
|
||||||
|
|
||||||
|
"@babel/plugin-transform-modules-commonjs@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.35.tgz#b5b85b47d4cef093ce974a55d5012532f0a2b182"
|
||||||
|
dependencies:
|
||||||
|
"@babel/helper-module-transforms" "7.0.0-beta.35"
|
||||||
|
"@babel/helper-simple-access" "7.0.0-beta.35"
|
||||||
|
|
||||||
|
"@babel/plugin-transform-modules-systemjs@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.0.0-beta.35.tgz#ef9704902423054fa6326f9d0596aa3a46e5be80"
|
||||||
|
dependencies:
|
||||||
|
"@babel/helper-hoist-variables" "7.0.0-beta.35"
|
||||||
|
|
||||||
|
"@babel/plugin-transform-modules-umd@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.0.0-beta.35.tgz#ca3fbd3f00752310a75c9a97f21f37c1df00c902"
|
||||||
|
dependencies:
|
||||||
|
"@babel/helper-module-transforms" "7.0.0-beta.35"
|
||||||
|
|
||||||
|
"@babel/plugin-transform-new-target@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0-beta.35.tgz#457fd711ff6d554c9cd6fc9d5e139e0375739d17"
|
||||||
|
|
||||||
|
"@babel/plugin-transform-object-super@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.35.tgz#768dd11a3d336a96b42fde9f2c4437c19ab548b4"
|
||||||
|
dependencies:
|
||||||
|
"@babel/helper-replace-supers" "7.0.0-beta.35"
|
||||||
|
|
||||||
|
"@babel/plugin-transform-parameters@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.35.tgz#6c44edc8218df6afc635d65593bf391a0482993c"
|
||||||
|
dependencies:
|
||||||
|
"@babel/helper-call-delegate" "7.0.0-beta.35"
|
||||||
|
"@babel/helper-get-function-arity" "7.0.0-beta.35"
|
||||||
|
|
||||||
|
"@babel/plugin-transform-regenerator@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.35.tgz#91d87172445d0238dde257e01de74c63fa92c818"
|
||||||
|
dependencies:
|
||||||
|
regenerator-transform "^0.12.2"
|
||||||
|
|
||||||
|
"@babel/plugin-transform-shorthand-properties@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.35.tgz#20077ee7a82d5845d4ecf03e2d11aa13f6b6a4d4"
|
||||||
|
|
||||||
|
"@babel/plugin-transform-spread@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.35.tgz#aa5c0fa12c01d23b8f02d367e66b49715d4b77a4"
|
||||||
|
|
||||||
|
"@babel/plugin-transform-sticky-regex@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.35.tgz#ee70fed27bf78e407d2338519db09176cca73597"
|
||||||
|
dependencies:
|
||||||
|
"@babel/helper-regex" "7.0.0-beta.35"
|
||||||
|
|
||||||
|
"@babel/plugin-transform-template-literals@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.35.tgz#fc27efe898e3716066d65742afae7d811eed8667"
|
||||||
|
dependencies:
|
||||||
|
"@babel/helper-annotate-as-pure" "7.0.0-beta.35"
|
||||||
|
|
||||||
|
"@babel/plugin-transform-typeof-symbol@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.35.tgz#ab8a83cf44fa63556471622ae886a14187e118c2"
|
||||||
|
|
||||||
|
"@babel/plugin-transform-unicode-regex@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.35.tgz#0cb1148921dbabfb819221754b9a54d5cf8fb443"
|
||||||
|
dependencies:
|
||||||
|
"@babel/helper-regex" "7.0.0-beta.35"
|
||||||
|
regexpu-core "^4.1.3"
|
||||||
|
|
||||||
|
"@babel/polyfill@^7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.0.0-beta.35.tgz#49d033c4fdfa54a3a11e8f87239530141650d47a"
|
||||||
|
dependencies:
|
||||||
|
core-js "^2.4.0"
|
||||||
|
regenerator-runtime "^0.11.1"
|
||||||
|
|
||||||
|
"@babel/preset-env@^7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.0.0-beta.35.tgz#634431813b14ebe841f293fbf459a3ffa61d7ef6"
|
||||||
|
dependencies:
|
||||||
|
"@babel/plugin-check-constants" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-proposal-async-generator-functions" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-proposal-object-rest-spread" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-proposal-optional-catch-binding" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-proposal-unicode-property-regex" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-syntax-async-generators" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-syntax-object-rest-spread" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-syntax-optional-catch-binding" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-transform-arrow-functions" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-transform-async-to-generator" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-transform-block-scoped-functions" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-transform-block-scoping" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-transform-classes" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-transform-computed-properties" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-transform-destructuring" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-transform-duplicate-keys" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-transform-exponentiation-operator" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-transform-for-of" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-transform-function-name" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-transform-literals" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-transform-modules-amd" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-transform-modules-commonjs" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-transform-modules-systemjs" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-transform-modules-umd" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-transform-new-target" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-transform-object-super" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-transform-parameters" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-transform-regenerator" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-transform-shorthand-properties" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-transform-spread" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-transform-sticky-regex" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-transform-template-literals" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-transform-typeof-symbol" "7.0.0-beta.35"
|
||||||
|
"@babel/plugin-transform-unicode-regex" "7.0.0-beta.35"
|
||||||
|
browserslist "^2.4.0"
|
||||||
|
invariant "^2.2.2"
|
||||||
|
semver "^5.3.0"
|
||||||
|
|
||||||
"@babel/template@7.0.0-beta.31":
|
"@babel/template@7.0.0-beta.31":
|
||||||
version "7.0.0-beta.31"
|
version "7.0.0-beta.31"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.31.tgz#577bb29389f6c497c3e7d014617e7d6713f68bda"
|
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.31.tgz#577bb29389f6c497c3e7d014617e7d6713f68bda"
|
||||||
@ -42,6 +448,15 @@
|
|||||||
babylon "7.0.0-beta.31"
|
babylon "7.0.0-beta.31"
|
||||||
lodash "^4.2.0"
|
lodash "^4.2.0"
|
||||||
|
|
||||||
|
"@babel/template@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.35.tgz#459230417f51c29401cf71162aeeff6cef2bcca7"
|
||||||
|
dependencies:
|
||||||
|
"@babel/code-frame" "7.0.0-beta.35"
|
||||||
|
"@babel/types" "7.0.0-beta.35"
|
||||||
|
babylon "7.0.0-beta.35"
|
||||||
|
lodash "^4.2.0"
|
||||||
|
|
||||||
"@babel/traverse@7.0.0-beta.31":
|
"@babel/traverse@7.0.0-beta.31":
|
||||||
version "7.0.0-beta.31"
|
version "7.0.0-beta.31"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-beta.31.tgz#db399499ad74aefda014f0c10321ab255134b1df"
|
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-beta.31.tgz#db399499ad74aefda014f0c10321ab255134b1df"
|
||||||
@ -55,6 +470,19 @@
|
|||||||
invariant "^2.2.0"
|
invariant "^2.2.0"
|
||||||
lodash "^4.2.0"
|
lodash "^4.2.0"
|
||||||
|
|
||||||
|
"@babel/traverse@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-beta.35.tgz#c91819807b7ac256d2f6dd5aaa94d4c66e06bbc5"
|
||||||
|
dependencies:
|
||||||
|
"@babel/code-frame" "7.0.0-beta.35"
|
||||||
|
"@babel/helper-function-name" "7.0.0-beta.35"
|
||||||
|
"@babel/types" "7.0.0-beta.35"
|
||||||
|
babylon "7.0.0-beta.35"
|
||||||
|
debug "^3.0.1"
|
||||||
|
globals "^10.0.0"
|
||||||
|
invariant "^2.2.0"
|
||||||
|
lodash "^4.2.0"
|
||||||
|
|
||||||
"@babel/types@7.0.0-beta.31":
|
"@babel/types@7.0.0-beta.31":
|
||||||
version "7.0.0-beta.31"
|
version "7.0.0-beta.31"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.31.tgz#42c9c86784f674c173fb21882ca9643334029de4"
|
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.31.tgz#42c9c86784f674c173fb21882ca9643334029de4"
|
||||||
@ -63,6 +491,14 @@
|
|||||||
lodash "^4.2.0"
|
lodash "^4.2.0"
|
||||||
to-fast-properties "^2.0.0"
|
to-fast-properties "^2.0.0"
|
||||||
|
|
||||||
|
"@babel/types@7.0.0-beta.35":
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.35.tgz#cf933a9a9a38484ca724b335b88d83726d5ab960"
|
||||||
|
dependencies:
|
||||||
|
esutils "^2.0.2"
|
||||||
|
lodash "^4.2.0"
|
||||||
|
to-fast-properties "^2.0.0"
|
||||||
|
|
||||||
"@marsaud/smb2-promise@^0.2.0":
|
"@marsaud/smb2-promise@^0.2.0":
|
||||||
version "0.2.1"
|
version "0.2.1"
|
||||||
resolved "https://registry.yarnpkg.com/@marsaud/smb2-promise/-/smb2-promise-0.2.1.tgz#fee95f4baba6e4d930e8460d3377aa12560e0f0e"
|
resolved "https://registry.yarnpkg.com/@marsaud/smb2-promise/-/smb2-promise-0.2.1.tgz#fee95f4baba6e4d930e8460d3377aa12560e0f0e"
|
||||||
@ -359,6 +795,13 @@ aws4@^1.2.1, aws4@^1.6.0:
|
|||||||
version "1.6.0"
|
version "1.6.0"
|
||||||
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e"
|
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e"
|
||||||
|
|
||||||
|
babel-7-jest@^21.3.2:
|
||||||
|
version "21.3.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/babel-7-jest/-/babel-7-jest-21.3.2.tgz#bdc3d053094779f2c497d8f45bf2ec6d78a78bd8"
|
||||||
|
dependencies:
|
||||||
|
babel-plugin-istanbul "^4.1.5"
|
||||||
|
babel-preset-jest "^21.2.0"
|
||||||
|
|
||||||
babel-cli@^6.18.0, babel-cli@^6.24.1:
|
babel-cli@^6.18.0, babel-cli@^6.24.1:
|
||||||
version "6.26.0"
|
version "6.26.0"
|
||||||
resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.26.0.tgz#502ab54874d7db88ad00b887a06383ce03d002f1"
|
resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.26.0.tgz#502ab54874d7db88ad00b887a06383ce03d002f1"
|
||||||
@ -748,6 +1191,10 @@ babel-plugin-istanbul@^4.1.5:
|
|||||||
istanbul-lib-instrument "^1.7.5"
|
istanbul-lib-instrument "^1.7.5"
|
||||||
test-exclude "^4.1.1"
|
test-exclude "^4.1.1"
|
||||||
|
|
||||||
|
babel-plugin-jest-hoist@^21.2.0:
|
||||||
|
version "21.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-21.2.0.tgz#2cef637259bd4b628a6cace039de5fcd14dbb006"
|
||||||
|
|
||||||
babel-plugin-jest-hoist@^22.0.3:
|
babel-plugin-jest-hoist@^22.0.3:
|
||||||
version "22.0.3"
|
version "22.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.0.3.tgz#62cde5fe962fd41ae89c119f481ca5cd7dd48bb4"
|
resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.0.3.tgz#62cde5fe962fd41ae89c119f481ca5cd7dd48bb4"
|
||||||
@ -1344,6 +1791,13 @@ babel-preset-flow@^7.0.0-beta.3:
|
|||||||
dependencies:
|
dependencies:
|
||||||
babel-plugin-transform-flow-strip-types "7.0.0-beta.3"
|
babel-plugin-transform-flow-strip-types "7.0.0-beta.3"
|
||||||
|
|
||||||
|
babel-preset-jest@^21.2.0:
|
||||||
|
version "21.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-21.2.0.tgz#ff9d2bce08abd98e8a36d9a8a5189b9173b85638"
|
||||||
|
dependencies:
|
||||||
|
babel-plugin-jest-hoist "^21.2.0"
|
||||||
|
babel-plugin-syntax-object-rest-spread "^6.13.0"
|
||||||
|
|
||||||
babel-preset-jest@^22.0.3:
|
babel-preset-jest@^22.0.3:
|
||||||
version "22.0.3"
|
version "22.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-22.0.3.tgz#e2bb6f6b4a509d3ea0931f013db78c5a84856693"
|
resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-22.0.3.tgz#e2bb6f6b4a509d3ea0931f013db78c5a84856693"
|
||||||
@ -1458,6 +1912,10 @@ babylon@7.0.0-beta.31:
|
|||||||
version "7.0.0-beta.31"
|
version "7.0.0-beta.31"
|
||||||
resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.31.tgz#7ec10f81e0e456fd0f855ad60fa30c2ac454283f"
|
resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.31.tgz#7ec10f81e0e456fd0f855ad60fa30c2ac454283f"
|
||||||
|
|
||||||
|
babylon@7.0.0-beta.35:
|
||||||
|
version "7.0.0-beta.35"
|
||||||
|
resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.35.tgz#9f9e609ed50c28d4333f545b373a381b47e9e6ed"
|
||||||
|
|
||||||
babylon@^6.18.0:
|
babylon@^6.18.0:
|
||||||
version "6.18.0"
|
version "6.18.0"
|
||||||
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
|
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
|
||||||
@ -1911,7 +2369,7 @@ cron@^1.1.0, cron@^1.2.1:
|
|||||||
dependencies:
|
dependencies:
|
||||||
moment-timezone "^0.5.x"
|
moment-timezone "^0.5.x"
|
||||||
|
|
||||||
cross-env@^5.1.3:
|
cross-env@^5.1.1, cross-env@^5.1.3:
|
||||||
version "5.1.3"
|
version "5.1.3"
|
||||||
resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.1.3.tgz#f8ae18faac87692b0a8b4d2f7000d4ec3a85dfd7"
|
resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.1.3.tgz#f8ae18faac87692b0a8b4d2f7000d4ec3a85dfd7"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -5108,7 +5566,7 @@ regenerator-runtime@^0.10.5:
|
|||||||
version "0.10.5"
|
version "0.10.5"
|
||||||
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658"
|
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658"
|
||||||
|
|
||||||
regenerator-runtime@^0.11.0:
|
regenerator-runtime@^0.11.0, regenerator-runtime@^0.11.1:
|
||||||
version "0.11.1"
|
version "0.11.1"
|
||||||
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
|
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
|
||||||
|
|
||||||
@ -5127,6 +5585,12 @@ regenerator-transform@^0.11.0:
|
|||||||
babel-types "7.0.0-beta.3"
|
babel-types "7.0.0-beta.3"
|
||||||
private "^0.1.6"
|
private "^0.1.6"
|
||||||
|
|
||||||
|
regenerator-transform@^0.12.2:
|
||||||
|
version "0.12.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.12.2.tgz#55c038e9203086b445c67fcd77422eb53a4c406b"
|
||||||
|
dependencies:
|
||||||
|
private "^0.1.6"
|
||||||
|
|
||||||
regex-cache@^0.4.2:
|
regex-cache@^0.4.2:
|
||||||
version "0.4.4"
|
version "0.4.4"
|
||||||
resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd"
|
resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd"
|
||||||
|
Loading…
Reference in New Issue
Block a user