summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUlrich-Matthias Schäfer <ulima.ums@googlemail.com>2020-05-04 21:35:21 +1000
committerUlrich-Matthias Schäfer <ulima.ums@googlemail.com>2020-05-04 21:35:21 +1000
commitc8cb22863bf8c3ac157f6098be9154908aea9ec2 (patch)
treeb27b1bf6ec4c90bbd0cb335e26bb9ece504285d2
parent59f09a1a2317e57d13bbe8f60e1949cc82199ead (diff)
downloadsvg.js-c8cb22863bf8c3ac157f6098be9154908aea9ec2.tar.gz
svg.js-c8cb22863bf8c3ac157f6098be9154908aea9ec2.zip
Fixed IE Polyfills, got rid of ArrayPolyfill in favour of babels own transforms, updated dependencies, finished tests, removed old es5 tests
-rw-r--r--.config/karma.conf.js58
-rw-r--r--.config/karma.es6.js66
-rw-r--r--.config/polyfillList.js8
-rw-r--r--.config/rollup.config.js67
-rw-r--r--.config/rollup.polyfills.js13
-rw-r--r--.config/rollup.tests.js55
-rw-r--r--.travis.yml4
-rw-r--r--package-lock.json9557
-rw-r--r--package.json80
-rw-r--r--spec/RAFPlugin.js6
-rw-r--r--spec/SpecRunner.html81
-rw-r--r--spec/spec/adopter.js79
-rw-r--r--spec/spec/animation/Morphable.js9
-rw-r--r--spec/spec/animation/Runner.js2
-rw-r--r--spec/spec/arrange.js172
-rw-r--r--spec/spec/array.js324
-rw-r--r--spec/spec/boxes.js237
-rw-r--r--spec/spec/circle.js177
-rw-r--r--spec/spec/clip.js62
-rw-r--r--spec/spec/container.js377
-rw-r--r--spec/spec/defs.js12
-rw-r--r--spec/spec/doc.js66
-rw-r--r--spec/spec/element.js1090
-rw-r--r--spec/spec/elements/Dom.js206
-rw-r--r--spec/spec/elements/Fragment.js21
-rw-r--r--spec/spec/elements/G.js1
-rw-r--r--spec/spec/elements/Svg.js4
-rw-r--r--spec/spec/elements/Use.js42
-rw-r--r--spec/spec/ellipse.js179
-rw-r--r--spec/spec/event.js277
-rw-r--r--spec/spec/fx.js2867
-rw-r--r--spec/spec/gradient.js151
-rw-r--r--spec/spec/helper.js188
-rw-r--r--spec/spec/image.js38
-rw-r--r--spec/spec/line.js244
-rw-r--r--spec/spec/mask.js62
-rw-r--r--spec/spec/matrix.js375
-rw-r--r--spec/spec/memory.js58
-rw-r--r--spec/spec/path.js261
-rw-r--r--spec/spec/pattern.js69
-rw-r--r--spec/spec/polygon.js228
-rw-r--r--spec/spec/polyline.js228
-rw-r--r--spec/spec/rect.js171
-rw-r--r--spec/spec/regex.js92
-rw-r--r--spec/spec/selector.js64
-rw-r--r--spec/spec/sugar.js357
-rw-r--r--spec/spec/svg.js128
-rw-r--r--spec/spec/symbol.js16
-rw-r--r--spec/spec/textpath.js98
-rw-r--r--spec/spec/types/ArrayPolyfill.js27
-rw-r--r--spec/spec/use.js43
-rw-r--r--spec/spec/utils.js10
-rw-r--r--spec/spec/utils/adopter.js5
-rw-r--r--spec/spec/utils/methods.js30
-rw-r--r--spec/spec/utils/window.js36
-rw-r--r--spec/support/jasmine.json9
-rw-r--r--src/animation/Runner.js8
-rw-r--r--src/elements/Dom.js7
-rw-r--r--src/elements/Fragment.js25
-rw-r--r--src/elements/TextPath.js7
-rw-r--r--src/polyfills/innerHTML.js8
-rw-r--r--src/types/ArrayPolyfill.js36
-rw-r--r--src/types/List.js19
-rw-r--r--src/types/PathArray.js18
-rw-r--r--src/types/PointArray.js26
-rw-r--r--src/types/SVGArray.js27
-rw-r--r--src/utils/adopter.js40
67 files changed, 3762 insertions, 15646 deletions
diff --git a/.config/karma.conf.js b/.config/karma.conf.js
index 660c1d2..67667c7 100644
--- a/.config/karma.conf.js
+++ b/.config/karma.conf.js
@@ -1,5 +1,4 @@
// Karma configuration
-
const karmaCommon = require('./karma.conf.common.js')
let chromeBin = 'ChromeHeadless'
@@ -20,30 +19,52 @@ if (process.platform === 'linux') {
module.exports = function (config) {
config.set(
Object.assign(karmaCommon(config), {
+ files: [
+ 'spec/RAFPlugin.js',
+ {
+ pattern: 'spec/fixtures/fixture.css',
+ included: false,
+ served: true
+ },
+ {
+ pattern: 'spec/fixtures/pixel.png',
+ included: false,
+ served: true
+ },
+ {
+ pattern: 'src/**/*.js',
+ included: false,
+ served: true,
+ type: 'modules'
+ },
+ {
+ pattern: 'spec/helpers.js',
+ included: false,
+ served: true,
+ type: 'module'
+ },
+ {
+ pattern: 'spec/setupBrowser.js',
+ included: true,
+ type: 'module'
+ },
+ {
+ pattern: 'spec/spec/*/**/*.js',
+ included: true,
+ type: 'module'
+ }
+ ],
+
// preprocess matching files before serving them to the browser
// available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
preprocessors: {
- 'dist/svg.js': ['coverage']
+ 'src/**/*.js': ['coverage']
},
- // this specifies which plugins karma should load
- // by default all karma plugins, starting with `karma-` will load
- // so if you are really puzzled why something isn't working, then comment
- // out plugins: [] - it's here to make karma load faster
- // get possible karma plugins by `ls node_modules | grep 'karma-*'`
- plugins: [
- 'karma-chrome-launcher',
- 'karma-coverage',
- 'karma-firefox-launcher',
- 'karma-jasmine'
- ],
-
// test results reporter to use
// possible values: 'dots', 'progress'
// available reporters: https://npmjs.org/browse/keyword/karma-reporter
reporters: ['progress', 'coverage'],
-
- // configure the coverage reporter
coverageReporter: {
// Specify a reporter type.
type: 'lcov',
@@ -51,6 +72,11 @@ module.exports = function (config) {
subdir: function (browser) {
// normalization process to keep a consistent browser name accross different OS
return browser.toLowerCase().split(/[ /-]/)[0] // output the results into: './coverage/firefox/'
+ },
+ instrumenterOptions: {
+ istanbul: {
+ esModules: true
+ }
}
},
diff --git a/.config/karma.es6.js b/.config/karma.es6.js
deleted file mode 100644
index 8802c2d..0000000
--- a/.config/karma.es6.js
+++ /dev/null
@@ -1,66 +0,0 @@
-const karmaCommon = require('./karma.conf.common.js')
-
-module.exports = function (config) {
- config.set(
- Object.assign(karmaCommon(config), {
- files: [
- 'spec/RAFPlugin.js',
- {
- pattern: 'spec/fixtures/fixture.css',
- included: false,
- served: true
- },
- {
- pattern: 'spec/fixtures/pixel.png',
- included: false,
- served: true
- },
- {
- pattern: 'src/**/*.js',
- included: false,
- served: true,
- type: 'modules'
- },
- {
- pattern: 'spec/helpers.js',
- included: false,
- served: true,
- type: 'module'
- },
- {
- pattern: 'spec/setupBrowser.js',
- included: true,
- type: 'module'
- },
- {
- pattern: 'spec/spec/*/**/*.js',
- included: true,
- type: 'module'
- }
- ],
-
- preprocessors: {
- 'src/**/*.js': ['coverage']
- },
-
- reporters: ['progress', 'coverage'],
- coverageReporter: {
- // Specify a reporter type.
- type: 'lcov',
- dir: 'coverage/',
- subdir: function (browser) {
- // normalization process to keep a consistent browser name accross different OS
- return browser.toLowerCase().split(/[ /-]/)[0] // output the results into: './coverage/firefox/'
- },
- instrumenterOptions: {
- istanbul: {
- esModules: true
- }
- }
- },
- browsers: ['ChromeHeadless', 'FirefoxHeadless'],
- singleRun: false,
- concurrency: Infinity
- })
- )
-}
diff --git a/.config/polyfillList.js b/.config/polyfillList.js
deleted file mode 100644
index c856f61..0000000
--- a/.config/polyfillList.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import 'core-js/modules/es.object.assign'
-import 'core-js/modules/es.object.keys'
-import 'core-js/modules/es.function.name'
-import 'core-js/modules/es.symbol'
-import 'core-js/modules/es.set'
-import 'core-js/modules/es.array.includes'
-import 'core-js/modules/es.string.includes'
-import 'core-js/modules/es.array.from'
diff --git a/.config/rollup.config.js b/.config/rollup.config.js
index 433bcd9..bcbab0c 100644
--- a/.config/rollup.config.js
+++ b/.config/rollup.config.js
@@ -1,10 +1,9 @@
-import babel from 'rollup-plugin-babel'
import * as pkg from '../package.json'
+import babel from '@rollup/plugin-babel'
+import resolve from '@rollup/plugin-node-resolve'
+import commonjs from '@rollup/plugin-commonjs'
import filesize from 'rollup-plugin-filesize'
-// import { terser } from 'rollup-plugin-terser'
-import resolve from 'rollup-plugin-node-resolve'
-import commonjs from 'rollup-plugin-commonjs'
-import { uglify } from 'rollup-plugin-uglify'
+import { terser } from 'rollup-plugin-terser'
const buildDate = Date()
@@ -21,22 +20,41 @@ const headerLong = `/*!
const headerShort = `/*! ${pkg.name} v${pkg.version} ${pkg.license}*/;`
-const getBabelConfig = (targets, corejs = false) => babel({
- include: 'src/**',
- runtimeHelpers: true,
- babelrc: false,
- presets: [['@babel/preset-env', {
- modules: false,
- targets: targets || pkg.browserslist,
- useBuiltIns: 'usage',
- corejs: 3
- }]],
- plugins: [['@babel/plugin-transform-runtime', {
- corejs: corejs,
- helpers: true,
- useESModules: true
- }]]
-})
+const getBabelConfig = (node = false) => {
+
+ let targets = pkg.browserslist
+ const plugins = [
+ ['@babel/plugin-transform-classes'],
+ ['@babel/plugin-transform-runtime', {
+ corejs: 3,
+ helpers: true,
+ useESModules: true,
+ version: "^7.9.6",
+ regenerator: false
+ }]
+ ]
+
+ if (node) {
+ plugins.shift()
+ targets = 'maintained node versions'
+ }
+
+ return babel({
+ include: 'src/**',
+ babelHelpers: 'runtime',
+ babelrc: false,
+ presets: [['@babel/preset-env', {
+ modules: false,
+ targets: targets || pkg.browserslist,
+ // useBuildins and plugin-transform-runtime are mutually exclusive
+ // https://github.com/babel/babel/issues/10271#issuecomment-528379505
+ // use babel-polyfills when released
+ useBuiltIns: false,
+ bugfixes: true
+ }]],
+ plugins
+ })
+}
// When few of these get mangled nothing works anymore
// We loose literally nothing by let these unmangled
@@ -94,7 +112,7 @@ const config = (node, min, esm = false) => ({
commonjs(),
getBabelConfig(node && 'maintained node versions'),
filesize(),
- !min ? {} : uglify({
+ !min ? {} : terser({
mangle: {
reserved: classes
},
@@ -102,10 +120,11 @@ const config = (node, min, esm = false) => ({
preamble: headerShort
}
})
- ]
+ ],
+ //external: ['@babel/runtime', '@babel/runtime-corejs3']
})
-// [node, minified]
+// [node, minified, esm]
const modes = [[false], [false, true], [true], [false, false, true]]
export default modes.map(m => config(...m))
diff --git a/.config/rollup.polyfills.js b/.config/rollup.polyfills.js
index 1df059a..f089ceb 100644
--- a/.config/rollup.polyfills.js
+++ b/.config/rollup.polyfills.js
@@ -1,22 +1,21 @@
-import resolve from 'rollup-plugin-node-resolve'
-import commonjs from 'rollup-plugin-commonjs'
+import resolve from '@rollup/plugin-node-resolve'
+import commonjs from '@rollup/plugin-commonjs'
import { terser } from 'rollup-plugin-terser'
import filesize from 'rollup-plugin-filesize'
// We dont need babel. All polyfills are compatible
const config = (ie) => ({
- input: ie ? './.config/polyfillListIE.js' : './.config/polyfillList.js',
+ input: './.config/polyfillListIE.js',
output: {
- file: ie ? 'dist/polyfillsIE.js' : 'dist/polyfills.js',
- sourceMap: false,
+ file: 'dist/polyfillsIE.js',
format: 'iife'
},
plugins: [
resolve({ browser: true }),
commonjs(),
- terser(),
+ //terser(),
filesize()
]
})
-export default [false, true].map(config)
+export default [true].map(config)
diff --git a/.config/rollup.tests.js b/.config/rollup.tests.js
index e524a79..3620149 100644
--- a/.config/rollup.tests.js
+++ b/.config/rollup.tests.js
@@ -1,5 +1,33 @@
-import babel from 'rollup-plugin-babel'
-import multiEntry from 'rollup-plugin-multi-entry'
+import * as pkg from '../package.json'
+import babel from '@rollup/plugin-babel'
+import multiEntry from '@rollup/plugin-multi-entry'
+import resolve from '@rollup/plugin-node-resolve'
+import commonjs from '@rollup/plugin-commonjs'
+
+const getBabelConfig = (targets) => babel({
+ include: ['src/**', 'spec/**/*'],
+ babelHelpers: 'runtime',
+ babelrc: false,
+ presets: [['@babel/preset-env', {
+ modules: false,
+ targets: targets || pkg.browserslist,
+ // useBuildins and plugin-transform-runtime are mutually exclusive
+ // https://github.com/babel/babel/issues/10271#issuecomment-528379505
+ // use babel-polyfills when released
+ useBuiltIns: false,
+ // corejs: 3,
+ bugfixes: true
+ }]],
+ plugins: [
+ ['@babel/plugin-transform-runtime', {
+ corejs: 3,
+ helpers: true,
+ useESModules: true,
+ version: "^7.9.6",
+ regenerator: false
+ }]
+ ]
+})
export default {
input: [
@@ -9,24 +37,13 @@ export default {
output: {
file: 'spec/es5TestBundle.js',
name: 'SVGTests',
- sourceMap: true,
- format: 'iife'
+ format: 'iife',
},
plugins: [
- babel({
- include: 'src/**',
- runtimeHelpers: true,
- babelrc: false,
- presets: [['@babel/preset-env', {
- modules: false
- }]]
- // plugins: [["@babel/plugin-transform-runtime", {
- // corejs: false,
- // helpers: true,
- // regenerator: true,
- // useESModules: true
- // }]]
- }),
+ resolve({ browser: true }),
+ commonjs(),
+ getBabelConfig(),
multiEntry()
- ]
+ ],
+ external: ['@babel/runtime', '@babel/runtime-corejs3']
}
diff --git a/.travis.yml b/.travis.yml
index 8c6ab1e..8ea60c8 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -10,5 +10,5 @@ install:
- npm install
- npm run build
script:
- - npm run test
- - npm run test:es6 \ No newline at end of file
+ - npm test
+ - cat coverage/firefox/lcov.info | node_modules/.bin/coveralls \ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 07f71f1..46b4437 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -5,30 +5,43 @@
"requires": true,
"dependencies": {
"@babel/code-frame": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
- "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+ "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
"dev": true,
"requires": {
- "@babel/highlight": "^7.0.0"
+ "@babel/highlight": "^7.8.3"
}
},
- "@babel/core": {
- "version": "7.6.4",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.6.4.tgz",
- "integrity": "sha512-Rm0HGw101GY8FTzpWSyRbki/jzq+/PkNQJ+nSulrdY6gFGOsNseCqD6KHRYe2E+EdzuBdr2pxCp6s4Uk6eJ+XQ==",
+ "@babel/compat-data": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.9.6.tgz",
+ "integrity": "sha512-5QPTrNen2bm7RBc7dsOmcA5hbrS4O2Vhmk5XOL4zWW/zD/hV0iinpefDlkm+tBBy8kDtFaaeEvmAqt+nURAV2g==",
"dev": true,
"requires": {
- "@babel/code-frame": "^7.5.5",
- "@babel/generator": "^7.6.4",
- "@babel/helpers": "^7.6.2",
- "@babel/parser": "^7.6.4",
- "@babel/template": "^7.6.0",
- "@babel/traverse": "^7.6.3",
- "@babel/types": "^7.6.3",
- "convert-source-map": "^1.1.0",
+ "browserslist": "^4.11.1",
+ "invariant": "^2.2.4",
+ "semver": "^5.5.0"
+ }
+ },
+ "@babel/core": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.6.tgz",
+ "integrity": "sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.8.3",
+ "@babel/generator": "^7.9.6",
+ "@babel/helper-module-transforms": "^7.9.0",
+ "@babel/helpers": "^7.9.6",
+ "@babel/parser": "^7.9.6",
+ "@babel/template": "^7.8.6",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6",
+ "convert-source-map": "^1.7.0",
"debug": "^4.1.0",
- "json5": "^2.1.0",
+ "gensync": "^1.0.0-beta.1",
+ "json5": "^2.1.2",
"lodash": "^4.17.13",
"resolve": "^1.3.2",
"semver": "^5.4.1",
@@ -53,799 +66,898 @@
}
},
"@babel/generator": {
- "version": "7.6.4",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.4.tgz",
- "integrity": "sha512-jsBuXkFoZxk0yWLyGI9llT9oiQ2FeTASmRFE32U+aaDTfoE92t78eroO7PTpU/OrYq38hlcDM6vbfLDaOLy+7w==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.6.tgz",
+ "integrity": "sha512-+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ==",
"dev": true,
"requires": {
- "@babel/types": "^7.6.3",
+ "@babel/types": "^7.9.6",
"jsesc": "^2.5.1",
"lodash": "^4.17.13",
"source-map": "^0.5.0"
}
},
"@babel/helper-annotate-as-pure": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz",
- "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz",
+ "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==",
"dev": true,
"requires": {
- "@babel/types": "^7.0.0"
+ "@babel/types": "^7.8.3"
}
},
"@babel/helper-builder-binary-assignment-operator-visitor": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz",
- "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz",
+ "integrity": "sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw==",
"dev": true,
"requires": {
- "@babel/helper-explode-assignable-expression": "^7.1.0",
- "@babel/types": "^7.0.0"
+ "@babel/helper-explode-assignable-expression": "^7.8.3",
+ "@babel/types": "^7.8.3"
}
},
- "@babel/helper-call-delegate": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz",
- "integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==",
+ "@babel/helper-compilation-targets": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.9.6.tgz",
+ "integrity": "sha512-x2Nvu0igO0ejXzx09B/1fGBxY9NXQlBW2kZsSxCJft+KHN8t9XWzIvFxtPHnBOAXpVsdxZKZFbRUC8TsNKajMw==",
"dev": true,
"requires": {
- "@babel/helper-hoist-variables": "^7.4.4",
- "@babel/traverse": "^7.4.4",
- "@babel/types": "^7.4.4"
+ "@babel/compat-data": "^7.9.6",
+ "browserslist": "^4.11.1",
+ "invariant": "^2.2.4",
+ "levenary": "^1.1.1",
+ "semver": "^5.5.0"
+ }
+ },
+ "@babel/helper-create-regexp-features-plugin": {
+ "version": "7.8.8",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz",
+ "integrity": "sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.8.3",
+ "@babel/helper-regex": "^7.8.3",
+ "regexpu-core": "^4.7.0"
}
},
"@babel/helper-define-map": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz",
- "integrity": "sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz",
+ "integrity": "sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g==",
"dev": true,
"requires": {
- "@babel/helper-function-name": "^7.1.0",
- "@babel/types": "^7.5.5",
+ "@babel/helper-function-name": "^7.8.3",
+ "@babel/types": "^7.8.3",
"lodash": "^4.17.13"
}
},
"@babel/helper-explode-assignable-expression": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz",
- "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz",
+ "integrity": "sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw==",
"dev": true,
"requires": {
- "@babel/traverse": "^7.1.0",
- "@babel/types": "^7.0.0"
+ "@babel/traverse": "^7.8.3",
+ "@babel/types": "^7.8.3"
}
},
"@babel/helper-function-name": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
- "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz",
+ "integrity": "sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw==",
"dev": true,
"requires": {
- "@babel/helper-get-function-arity": "^7.0.0",
- "@babel/template": "^7.1.0",
- "@babel/types": "^7.0.0"
+ "@babel/helper-get-function-arity": "^7.8.3",
+ "@babel/template": "^7.8.3",
+ "@babel/types": "^7.9.5"
}
},
"@babel/helper-get-function-arity": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
- "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
+ "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
"dev": true,
"requires": {
- "@babel/types": "^7.0.0"
+ "@babel/types": "^7.8.3"
}
},
"@babel/helper-hoist-variables": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz",
- "integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz",
+ "integrity": "sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==",
"dev": true,
"requires": {
- "@babel/types": "^7.4.4"
+ "@babel/types": "^7.8.3"
}
},
"@babel/helper-member-expression-to-functions": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz",
- "integrity": "sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz",
+ "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==",
"dev": true,
"requires": {
- "@babel/types": "^7.5.5"
+ "@babel/types": "^7.8.3"
}
},
"@babel/helper-module-imports": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz",
- "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz",
+ "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==",
"dev": true,
"requires": {
- "@babel/types": "^7.0.0"
+ "@babel/types": "^7.8.3"
}
},
"@babel/helper-module-transforms": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz",
- "integrity": "sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==",
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz",
+ "integrity": "sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA==",
"dev": true,
"requires": {
- "@babel/helper-module-imports": "^7.0.0",
- "@babel/helper-simple-access": "^7.1.0",
- "@babel/helper-split-export-declaration": "^7.4.4",
- "@babel/template": "^7.4.4",
- "@babel/types": "^7.5.5",
+ "@babel/helper-module-imports": "^7.8.3",
+ "@babel/helper-replace-supers": "^7.8.6",
+ "@babel/helper-simple-access": "^7.8.3",
+ "@babel/helper-split-export-declaration": "^7.8.3",
+ "@babel/template": "^7.8.6",
+ "@babel/types": "^7.9.0",
"lodash": "^4.17.13"
}
},
"@babel/helper-optimise-call-expression": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz",
- "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz",
+ "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==",
"dev": true,
"requires": {
- "@babel/types": "^7.0.0"
+ "@babel/types": "^7.8.3"
}
},
"@babel/helper-plugin-utils": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz",
- "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
"dev": true
},
"@babel/helper-regex": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz",
- "integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz",
+ "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==",
"dev": true,
"requires": {
"lodash": "^4.17.13"
}
},
"@babel/helper-remap-async-to-generator": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz",
- "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz",
+ "integrity": "sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA==",
"dev": true,
"requires": {
- "@babel/helper-annotate-as-pure": "^7.0.0",
- "@babel/helper-wrap-function": "^7.1.0",
- "@babel/template": "^7.1.0",
- "@babel/traverse": "^7.1.0",
- "@babel/types": "^7.0.0"
+ "@babel/helper-annotate-as-pure": "^7.8.3",
+ "@babel/helper-wrap-function": "^7.8.3",
+ "@babel/template": "^7.8.3",
+ "@babel/traverse": "^7.8.3",
+ "@babel/types": "^7.8.3"
}
},
"@babel/helper-replace-supers": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz",
- "integrity": "sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz",
+ "integrity": "sha512-qX+chbxkbArLyCImk3bWV+jB5gTNU/rsze+JlcF6Nf8tVTigPJSI1o1oBow/9Resa1yehUO9lIipsmu9oG4RzA==",
"dev": true,
"requires": {
- "@babel/helper-member-expression-to-functions": "^7.5.5",
- "@babel/helper-optimise-call-expression": "^7.0.0",
- "@babel/traverse": "^7.5.5",
- "@babel/types": "^7.5.5"
+ "@babel/helper-member-expression-to-functions": "^7.8.3",
+ "@babel/helper-optimise-call-expression": "^7.8.3",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6"
}
},
"@babel/helper-simple-access": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz",
- "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz",
+ "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==",
"dev": true,
"requires": {
- "@babel/template": "^7.1.0",
- "@babel/types": "^7.0.0"
+ "@babel/template": "^7.8.3",
+ "@babel/types": "^7.8.3"
}
},
"@babel/helper-split-export-declaration": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz",
- "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
+ "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
"dev": true,
"requires": {
- "@babel/types": "^7.4.4"
+ "@babel/types": "^7.8.3"
}
},
+ "@babel/helper-validator-identifier": {
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz",
+ "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==",
+ "dev": true
+ },
"@babel/helper-wrap-function": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz",
- "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz",
+ "integrity": "sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ==",
"dev": true,
"requires": {
- "@babel/helper-function-name": "^7.1.0",
- "@babel/template": "^7.1.0",
- "@babel/traverse": "^7.1.0",
- "@babel/types": "^7.2.0"
+ "@babel/helper-function-name": "^7.8.3",
+ "@babel/template": "^7.8.3",
+ "@babel/traverse": "^7.8.3",
+ "@babel/types": "^7.8.3"
}
},
"@babel/helpers": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.6.2.tgz",
- "integrity": "sha512-3/bAUL8zZxYs1cdX2ilEE0WobqbCmKWr/889lf2SS0PpDcpEIY8pb1CCyz0pEcX3pEb+MCbks1jIokz2xLtGTA==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.9.6.tgz",
+ "integrity": "sha512-tI4bUbldloLcHWoRUMAj4g1bF313M/o6fBKhIsb3QnGVPwRm9JsNf/gqMkQ7zjqReABiffPV6RWj7hEglID5Iw==",
"dev": true,
"requires": {
- "@babel/template": "^7.6.0",
- "@babel/traverse": "^7.6.2",
- "@babel/types": "^7.6.0"
+ "@babel/template": "^7.8.3",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6"
}
},
"@babel/highlight": {
- "version": "7.5.0",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz",
- "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==",
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz",
+ "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==",
"dev": true,
"requires": {
+ "@babel/helper-validator-identifier": "^7.9.0",
"chalk": "^2.0.0",
- "esutils": "^2.0.2",
"js-tokens": "^4.0.0"
}
},
"@babel/parser": {
- "version": "7.6.4",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.4.tgz",
- "integrity": "sha512-D8RHPW5qd0Vbyo3qb+YjO5nvUVRTXFLQ/FsDxJU2Nqz4uB5EnUN0ZQSEYpvTIbRuttig1XbHWU5oMeQwQSAA+A==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.6.tgz",
+ "integrity": "sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q==",
"dev": true
},
"@babel/plugin-external-helpers": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-external-helpers/-/plugin-external-helpers-7.2.0.tgz",
- "integrity": "sha512-QFmtcCShFkyAsNtdCM3lJPmRe1iB+vPZymlB4LnDIKEBj2yKQLQKtoxXxJ8ePT5fwMl4QGg303p4mB0UsSI2/g==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-external-helpers/-/plugin-external-helpers-7.8.3.tgz",
+ "integrity": "sha512-mx0WXDDiIl5DwzMtzWGRSPugXi9BxROS05GQrhLNbEamhBiicgn994ibwkyiBH+6png7bm/yA7AUsvHyCXi4Vw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-proposal-async-generator-functions": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz",
- "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz",
+ "integrity": "sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-remap-async-to-generator": "^7.1.0",
- "@babel/plugin-syntax-async-generators": "^7.2.0"
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/helper-remap-async-to-generator": "^7.8.3",
+ "@babel/plugin-syntax-async-generators": "^7.8.0"
}
},
"@babel/plugin-proposal-dynamic-import": {
- "version": "7.5.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz",
- "integrity": "sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz",
+ "integrity": "sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-syntax-dynamic-import": "^7.2.0"
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.0"
}
},
"@babel/plugin-proposal-json-strings": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz",
- "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz",
+ "integrity": "sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-syntax-json-strings": "^7.2.0"
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-syntax-json-strings": "^7.8.0"
+ }
+ },
+ "@babel/plugin-proposal-nullish-coalescing-operator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz",
+ "integrity": "sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0"
+ }
+ },
+ "@babel/plugin-proposal-numeric-separator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.8.3.tgz",
+ "integrity": "sha512-jWioO1s6R/R+wEHizfaScNsAx+xKgwTLNXSh7tTC4Usj3ItsPEhYkEpU4h+lpnBwq7NBVOJXfO6cRFYcX69JUQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-syntax-numeric-separator": "^7.8.3"
}
},
"@babel/plugin-proposal-object-rest-spread": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.6.2.tgz",
- "integrity": "sha512-LDBXlmADCsMZV1Y9OQwMc0MyGZ8Ta/zlD9N67BfQT8uYwkRswiu2hU6nJKrjrt/58aH/vqfQlR/9yId/7A2gWw==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.6.tgz",
+ "integrity": "sha512-Ga6/fhGqA9Hj+y6whNpPv8psyaK5xzrQwSPsGPloVkvmH+PqW1ixdnfJ9uIO06OjQNYol3PMnfmJ8vfZtkzF+A==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-syntax-object-rest-spread": "^7.2.0"
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
+ "@babel/plugin-transform-parameters": "^7.9.5"
}
},
"@babel/plugin-proposal-optional-catch-binding": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz",
- "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz",
+ "integrity": "sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-syntax-optional-catch-binding": "^7.2.0"
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.0"
+ }
+ },
+ "@babel/plugin-proposal-optional-chaining": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.9.0.tgz",
+ "integrity": "sha512-NDn5tu3tcv4W30jNhmc2hyD5c56G6cXx4TesJubhxrJeCvuuMpttxr0OnNCqbZGhFjLrg+NIhxxC+BK5F6yS3w==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.0"
}
},
"@babel/plugin-proposal-unicode-property-regex": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.6.2.tgz",
- "integrity": "sha512-NxHETdmpeSCtiatMRYWVJo7266rrvAC3DTeG5exQBIH/fMIUK7ejDNznBbn3HQl/o9peymRRg7Yqkx6PdUXmMw==",
+ "version": "7.8.8",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz",
+ "integrity": "sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-regex": "^7.4.4",
- "regexpu-core": "^4.6.0"
+ "@babel/helper-create-regexp-features-plugin": "^7.8.8",
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-syntax-async-generators": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz",
- "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==",
+ "version": "7.8.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
+ "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.0"
}
},
"@babel/plugin-syntax-dynamic-import": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz",
- "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
+ "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.0"
}
},
"@babel/plugin-syntax-json-strings": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz",
- "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
+ "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-nullish-coalescing-operator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
+ "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-numeric-separator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz",
+ "integrity": "sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-syntax-object-rest-spread": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz",
- "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
+ "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.0"
}
},
"@babel/plugin-syntax-optional-catch-binding": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz",
- "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
+ "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-optional-chaining": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
+ "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-top-level-await": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz",
+ "integrity": "sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-arrow-functions": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz",
- "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz",
+ "integrity": "sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-async-to-generator": {
- "version": "7.5.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz",
- "integrity": "sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz",
+ "integrity": "sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ==",
"dev": true,
"requires": {
- "@babel/helper-module-imports": "^7.0.0",
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-remap-async-to-generator": "^7.1.0"
+ "@babel/helper-module-imports": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/helper-remap-async-to-generator": "^7.8.3"
}
},
"@babel/plugin-transform-block-scoped-functions": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz",
- "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz",
+ "integrity": "sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-block-scoping": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.3.tgz",
- "integrity": "sha512-7hvrg75dubcO3ZI2rjYTzUrEuh1E9IyDEhhB6qfcooxhDA33xx2MasuLVgdxzcP6R/lipAC6n9ub9maNW6RKdw==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz",
+ "integrity": "sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.8.3",
"lodash": "^4.17.13"
}
},
"@babel/plugin-transform-classes": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz",
- "integrity": "sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg==",
- "dev": true,
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.0.0",
- "@babel/helper-define-map": "^7.5.5",
- "@babel/helper-function-name": "^7.1.0",
- "@babel/helper-optimise-call-expression": "^7.0.0",
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-replace-supers": "^7.5.5",
- "@babel/helper-split-export-declaration": "^7.4.4",
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.5.tgz",
+ "integrity": "sha512-x2kZoIuLC//O5iA7PEvecB105o7TLzZo8ofBVhP79N+DO3jaX+KYfww9TQcfBEZD0nikNyYcGB1IKtRq36rdmg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.8.3",
+ "@babel/helper-define-map": "^7.8.3",
+ "@babel/helper-function-name": "^7.9.5",
+ "@babel/helper-optimise-call-expression": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/helper-replace-supers": "^7.8.6",
+ "@babel/helper-split-export-declaration": "^7.8.3",
"globals": "^11.1.0"
}
},
"@babel/plugin-transform-computed-properties": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz",
- "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz",
+ "integrity": "sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-destructuring": {
- "version": "7.6.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz",
- "integrity": "sha512-2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM/YqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ==",
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.9.5.tgz",
+ "integrity": "sha512-j3OEsGel8nHL/iusv/mRd5fYZ3DrOxWC82x0ogmdN/vHfAP4MYw+AFKYanzWlktNwikKvlzUV//afBW5FTp17Q==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-dotall-regex": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.6.2.tgz",
- "integrity": "sha512-KGKT9aqKV+9YMZSkowzYoYEiHqgaDhGmPNZlZxX6UeHC4z30nC1J9IrZuGqbYFB1jaIGdv91ujpze0exiVK8bA==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz",
+ "integrity": "sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-regex": "^7.4.4",
- "regexpu-core": "^4.6.0"
+ "@babel/helper-create-regexp-features-plugin": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-duplicate-keys": {
- "version": "7.5.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz",
- "integrity": "sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz",
+ "integrity": "sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-exponentiation-operator": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz",
- "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz",
+ "integrity": "sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ==",
"dev": true,
"requires": {
- "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0",
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-builder-binary-assignment-operator-visitor": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-for-of": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz",
- "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==",
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.9.0.tgz",
+ "integrity": "sha512-lTAnWOpMwOXpyDx06N+ywmF3jNbafZEqZ96CGYabxHrxNX8l5ny7dt4bK/rGwAh9utyP2b2Hv7PlZh1AAS54FQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-function-name": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz",
- "integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz",
+ "integrity": "sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ==",
"dev": true,
"requires": {
- "@babel/helper-function-name": "^7.1.0",
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-function-name": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-literals": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz",
- "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz",
+ "integrity": "sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-member-expression-literals": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz",
- "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz",
+ "integrity": "sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-modules-amd": {
- "version": "7.5.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz",
- "integrity": "sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.6.tgz",
+ "integrity": "sha512-zoT0kgC3EixAyIAU+9vfaUVKTv9IxBDSabgHoUCBP6FqEJ+iNiN7ip7NBKcYqbfUDfuC2mFCbM7vbu4qJgOnDw==",
"dev": true,
"requires": {
- "@babel/helper-module-transforms": "^7.1.0",
- "@babel/helper-plugin-utils": "^7.0.0",
- "babel-plugin-dynamic-import-node": "^2.3.0"
+ "@babel/helper-module-transforms": "^7.9.0",
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "babel-plugin-dynamic-import-node": "^2.3.3"
}
},
"@babel/plugin-transform-modules-commonjs": {
- "version": "7.6.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz",
- "integrity": "sha512-Ma93Ix95PNSEngqomy5LSBMAQvYKVe3dy+JlVJSHEXZR5ASL9lQBedMiCyVtmTLraIDVRE3ZjTZvmXXD2Ozw3g==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.6.tgz",
+ "integrity": "sha512-7H25fSlLcn+iYimmsNe3uK1at79IE6SKW9q0/QeEHTMC9MdOZ+4bA+T1VFB5fgOqBWoqlifXRzYD0JPdmIrgSQ==",
"dev": true,
"requires": {
- "@babel/helper-module-transforms": "^7.4.4",
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-simple-access": "^7.1.0",
- "babel-plugin-dynamic-import-node": "^2.3.0"
+ "@babel/helper-module-transforms": "^7.9.0",
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/helper-simple-access": "^7.8.3",
+ "babel-plugin-dynamic-import-node": "^2.3.3"
}
},
"@babel/plugin-transform-modules-systemjs": {
- "version": "7.5.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz",
- "integrity": "sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.9.6.tgz",
+ "integrity": "sha512-NW5XQuW3N2tTHim8e1b7qGy7s0kZ2OH3m5octc49K1SdAKGxYxeIx7hiIz05kS1R2R+hOWcsr1eYwcGhrdHsrg==",
"dev": true,
"requires": {
- "@babel/helper-hoist-variables": "^7.4.4",
- "@babel/helper-plugin-utils": "^7.0.0",
- "babel-plugin-dynamic-import-node": "^2.3.0"
+ "@babel/helper-hoist-variables": "^7.8.3",
+ "@babel/helper-module-transforms": "^7.9.0",
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "babel-plugin-dynamic-import-node": "^2.3.3"
}
},
"@babel/plugin-transform-modules-umd": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz",
- "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==",
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.9.0.tgz",
+ "integrity": "sha512-uTWkXkIVtg/JGRSIABdBoMsoIeoHQHPTL0Y2E7xf5Oj7sLqwVsNXOkNk0VJc7vF0IMBsPeikHxFjGe+qmwPtTQ==",
"dev": true,
"requires": {
- "@babel/helper-module-transforms": "^7.1.0",
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-module-transforms": "^7.9.0",
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-named-capturing-groups-regex": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.3.tgz",
- "integrity": "sha512-jTkk7/uE6H2s5w6VlMHeWuH+Pcy2lmdwFoeWCVnvIrDUnB5gQqTVI8WfmEAhF2CDEarGrknZcmSFg1+bkfCoSw==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz",
+ "integrity": "sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==",
"dev": true,
"requires": {
- "regexpu-core": "^4.6.0"
+ "@babel/helper-create-regexp-features-plugin": "^7.8.3"
}
},
"@babel/plugin-transform-new-target": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz",
- "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz",
+ "integrity": "sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-object-super": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz",
- "integrity": "sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz",
+ "integrity": "sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-replace-supers": "^7.5.5"
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/helper-replace-supers": "^7.8.3"
}
},
"@babel/plugin-transform-parameters": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz",
- "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==",
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.9.5.tgz",
+ "integrity": "sha512-0+1FhHnMfj6lIIhVvS4KGQJeuhe1GI//h5uptK4PvLt+BGBxsoUJbd3/IW002yk//6sZPlFgsG1hY6OHLcy6kA==",
"dev": true,
"requires": {
- "@babel/helper-call-delegate": "^7.4.4",
- "@babel/helper-get-function-arity": "^7.0.0",
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-get-function-arity": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-property-literals": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz",
- "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz",
+ "integrity": "sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-regenerator": {
- "version": "7.4.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz",
- "integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==",
+ "version": "7.8.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz",
+ "integrity": "sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA==",
"dev": true,
"requires": {
- "regenerator-transform": "^0.14.0"
+ "regenerator-transform": "^0.14.2"
}
},
"@babel/plugin-transform-reserved-words": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz",
- "integrity": "sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz",
+ "integrity": "sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-runtime": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.6.2.tgz",
- "integrity": "sha512-cqULw/QB4yl73cS5Y0TZlQSjDvNkzDbu0FurTZyHlJpWE5T3PCMdnyV+xXoH1opr1ldyHODe3QAX3OMAii5NxA==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.9.6.tgz",
+ "integrity": "sha512-qcmiECD0mYOjOIt8YHNsAP1SxPooC/rDmfmiSK9BNY72EitdSc7l44WTEklaWuFtbOEBjNhWWyph/kOImbNJ4w==",
"dev": true,
"requires": {
- "@babel/helper-module-imports": "^7.0.0",
- "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-module-imports": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3",
"resolve": "^1.8.1",
"semver": "^5.5.1"
}
},
"@babel/plugin-transform-shorthand-properties": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz",
- "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz",
+ "integrity": "sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-spread": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.6.2.tgz",
- "integrity": "sha512-DpSvPFryKdK1x+EDJYCy28nmAaIMdxmhot62jAXF/o99iA33Zj2Lmcp3vDmz+MUh0LNYVPvfj5iC3feb3/+PFg==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz",
+ "integrity": "sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-sticky-regex": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz",
- "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz",
+ "integrity": "sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-regex": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/helper-regex": "^7.8.3"
}
},
"@babel/plugin-transform-template-literals": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz",
- "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz",
+ "integrity": "sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ==",
"dev": true,
"requires": {
- "@babel/helper-annotate-as-pure": "^7.0.0",
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-annotate-as-pure": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-typeof-symbol": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz",
- "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==",
+ "version": "7.8.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz",
+ "integrity": "sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-transform-unicode-regex": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.6.2.tgz",
- "integrity": "sha512-orZI6cWlR3nk2YmYdb0gImrgCUwb5cBUwjf6Ks6dvNVvXERkwtJWOQaEOjPiu0Gu1Tq6Yq/hruCZZOOi9F34Dw==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz",
+ "integrity": "sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-regex": "^7.4.4",
- "regexpu-core": "^4.6.0"
+ "@babel/helper-create-regexp-features-plugin": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/polyfill": {
- "version": "7.6.0",
- "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.6.0.tgz",
- "integrity": "sha512-q5BZJI0n/B10VaQQvln1IlDK3BTBJFbADx7tv+oXDPIDZuTo37H5Adb9jhlXm/fEN4Y7/64qD9mnrJJG7rmaTw==",
+ "version": "7.8.7",
+ "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.8.7.tgz",
+ "integrity": "sha512-LeSfP9bNZH2UOZgcGcZ0PIHUt1ZuHub1L3CVmEyqLxCeDLm4C5Gi8jRH8ZX2PNpDhQCo0z6y/+DIs2JlliXW8w==",
"dev": true,
"requires": {
"core-js": "^2.6.5",
- "regenerator-runtime": "^0.13.2"
+ "regenerator-runtime": "^0.13.4"
},
"dependencies": {
"core-js": {
- "version": "2.6.10",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.10.tgz",
- "integrity": "sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA==",
+ "version": "2.6.11",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz",
+ "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==",
"dev": true
}
}
},
"@babel/preset-env": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.6.3.tgz",
- "integrity": "sha512-CWQkn7EVnwzlOdR5NOm2+pfgSNEZmvGjOhlCHBDq0J8/EStr+G+FvPEiz9B56dR6MoiUFjXhfE4hjLoAKKJtIQ==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.9.6.tgz",
+ "integrity": "sha512-0gQJ9RTzO0heXOhzftog+a/WyOuqMrAIugVYxMYf83gh1CQaQDjMtsOpqOwXyDL/5JcWsrCm8l4ju8QC97O7EQ==",
+ "dev": true,
+ "requires": {
+ "@babel/compat-data": "^7.9.6",
+ "@babel/helper-compilation-targets": "^7.9.6",
+ "@babel/helper-module-imports": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-proposal-async-generator-functions": "^7.8.3",
+ "@babel/plugin-proposal-dynamic-import": "^7.8.3",
+ "@babel/plugin-proposal-json-strings": "^7.8.3",
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3",
+ "@babel/plugin-proposal-numeric-separator": "^7.8.3",
+ "@babel/plugin-proposal-object-rest-spread": "^7.9.6",
+ "@babel/plugin-proposal-optional-catch-binding": "^7.8.3",
+ "@babel/plugin-proposal-optional-chaining": "^7.9.0",
+ "@babel/plugin-proposal-unicode-property-regex": "^7.8.3",
+ "@babel/plugin-syntax-async-generators": "^7.8.0",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.0",
+ "@babel/plugin-syntax-json-strings": "^7.8.0",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0",
+ "@babel/plugin-syntax-numeric-separator": "^7.8.0",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.0",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.0",
+ "@babel/plugin-syntax-top-level-await": "^7.8.3",
+ "@babel/plugin-transform-arrow-functions": "^7.8.3",
+ "@babel/plugin-transform-async-to-generator": "^7.8.3",
+ "@babel/plugin-transform-block-scoped-functions": "^7.8.3",
+ "@babel/plugin-transform-block-scoping": "^7.8.3",
+ "@babel/plugin-transform-classes": "^7.9.5",
+ "@babel/plugin-transform-computed-properties": "^7.8.3",
+ "@babel/plugin-transform-destructuring": "^7.9.5",
+ "@babel/plugin-transform-dotall-regex": "^7.8.3",
+ "@babel/plugin-transform-duplicate-keys": "^7.8.3",
+ "@babel/plugin-transform-exponentiation-operator": "^7.8.3",
+ "@babel/plugin-transform-for-of": "^7.9.0",
+ "@babel/plugin-transform-function-name": "^7.8.3",
+ "@babel/plugin-transform-literals": "^7.8.3",
+ "@babel/plugin-transform-member-expression-literals": "^7.8.3",
+ "@babel/plugin-transform-modules-amd": "^7.9.6",
+ "@babel/plugin-transform-modules-commonjs": "^7.9.6",
+ "@babel/plugin-transform-modules-systemjs": "^7.9.6",
+ "@babel/plugin-transform-modules-umd": "^7.9.0",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3",
+ "@babel/plugin-transform-new-target": "^7.8.3",
+ "@babel/plugin-transform-object-super": "^7.8.3",
+ "@babel/plugin-transform-parameters": "^7.9.5",
+ "@babel/plugin-transform-property-literals": "^7.8.3",
+ "@babel/plugin-transform-regenerator": "^7.8.7",
+ "@babel/plugin-transform-reserved-words": "^7.8.3",
+ "@babel/plugin-transform-shorthand-properties": "^7.8.3",
+ "@babel/plugin-transform-spread": "^7.8.3",
+ "@babel/plugin-transform-sticky-regex": "^7.8.3",
+ "@babel/plugin-transform-template-literals": "^7.8.3",
+ "@babel/plugin-transform-typeof-symbol": "^7.8.4",
+ "@babel/plugin-transform-unicode-regex": "^7.8.3",
+ "@babel/preset-modules": "^0.1.3",
+ "@babel/types": "^7.9.6",
+ "browserslist": "^4.11.1",
+ "core-js-compat": "^3.6.2",
+ "invariant": "^2.2.2",
+ "levenary": "^1.1.1",
+ "semver": "^5.5.0"
+ }
+ },
+ "@babel/preset-modules": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz",
+ "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==",
"dev": true,
"requires": {
- "@babel/helper-module-imports": "^7.0.0",
"@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-proposal-async-generator-functions": "^7.2.0",
- "@babel/plugin-proposal-dynamic-import": "^7.5.0",
- "@babel/plugin-proposal-json-strings": "^7.2.0",
- "@babel/plugin-proposal-object-rest-spread": "^7.6.2",
- "@babel/plugin-proposal-optional-catch-binding": "^7.2.0",
- "@babel/plugin-proposal-unicode-property-regex": "^7.6.2",
- "@babel/plugin-syntax-async-generators": "^7.2.0",
- "@babel/plugin-syntax-dynamic-import": "^7.2.0",
- "@babel/plugin-syntax-json-strings": "^7.2.0",
- "@babel/plugin-syntax-object-rest-spread": "^7.2.0",
- "@babel/plugin-syntax-optional-catch-binding": "^7.2.0",
- "@babel/plugin-transform-arrow-functions": "^7.2.0",
- "@babel/plugin-transform-async-to-generator": "^7.5.0",
- "@babel/plugin-transform-block-scoped-functions": "^7.2.0",
- "@babel/plugin-transform-block-scoping": "^7.6.3",
- "@babel/plugin-transform-classes": "^7.5.5",
- "@babel/plugin-transform-computed-properties": "^7.2.0",
- "@babel/plugin-transform-destructuring": "^7.6.0",
- "@babel/plugin-transform-dotall-regex": "^7.6.2",
- "@babel/plugin-transform-duplicate-keys": "^7.5.0",
- "@babel/plugin-transform-exponentiation-operator": "^7.2.0",
- "@babel/plugin-transform-for-of": "^7.4.4",
- "@babel/plugin-transform-function-name": "^7.4.4",
- "@babel/plugin-transform-literals": "^7.2.0",
- "@babel/plugin-transform-member-expression-literals": "^7.2.0",
- "@babel/plugin-transform-modules-amd": "^7.5.0",
- "@babel/plugin-transform-modules-commonjs": "^7.6.0",
- "@babel/plugin-transform-modules-systemjs": "^7.5.0",
- "@babel/plugin-transform-modules-umd": "^7.2.0",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.6.3",
- "@babel/plugin-transform-new-target": "^7.4.4",
- "@babel/plugin-transform-object-super": "^7.5.5",
- "@babel/plugin-transform-parameters": "^7.4.4",
- "@babel/plugin-transform-property-literals": "^7.2.0",
- "@babel/plugin-transform-regenerator": "^7.4.5",
- "@babel/plugin-transform-reserved-words": "^7.2.0",
- "@babel/plugin-transform-shorthand-properties": "^7.2.0",
- "@babel/plugin-transform-spread": "^7.6.2",
- "@babel/plugin-transform-sticky-regex": "^7.2.0",
- "@babel/plugin-transform-template-literals": "^7.4.4",
- "@babel/plugin-transform-typeof-symbol": "^7.2.0",
- "@babel/plugin-transform-unicode-regex": "^7.6.2",
- "@babel/types": "^7.6.3",
- "browserslist": "^4.6.0",
- "core-js-compat": "^3.1.1",
- "invariant": "^2.2.2",
- "js-levenshtein": "^1.1.3",
- "semver": "^5.5.0"
+ "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
+ "@babel/plugin-transform-dotall-regex": "^7.4.4",
+ "@babel/types": "^7.4.4",
+ "esutils": "^2.0.2"
}
},
"@babel/runtime": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.6.3.tgz",
- "integrity": "sha512-kq6anf9JGjW8Nt5rYfEuGRaEAaH1mkv3Bbu6rYvLOpPh/RusSJXuKPEAoZ7L7gybZkchE8+NV5g9vKF4AGAtsA==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.6.tgz",
+ "integrity": "sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ==",
"dev": true,
"requires": {
- "regenerator-runtime": "^0.13.2"
+ "regenerator-runtime": "^0.13.4"
}
},
- "@babel/runtime-corejs2": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.6.3.tgz",
- "integrity": "sha512-nuA2o+rgX2+PrNTZ063ehncVcg7sn+tU71BB81SaWRVUbGwCOlb0+yQA1e0QqmzOfRSYOxfvf8cosYqFbJEiwQ==",
+ "@babel/runtime-corejs3": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.9.6.tgz",
+ "integrity": "sha512-6toWAfaALQjt3KMZQc6fABqZwUDDuWzz+cAfPhqyEnzxvdWOAkjwPNxgF8xlmo7OWLsSjaKjsskpKHRLaMArOA==",
"dev": true,
"requires": {
- "core-js": "^2.6.5",
- "regenerator-runtime": "^0.13.2"
- },
- "dependencies": {
- "core-js": {
- "version": "2.6.10",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.10.tgz",
- "integrity": "sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA==",
- "dev": true
- }
+ "core-js-pure": "^3.0.0",
+ "regenerator-runtime": "^0.13.4"
}
},
"@babel/template": {
- "version": "7.6.0",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz",
- "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==",
+ "version": "7.8.6",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
+ "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
"dev": true,
"requires": {
- "@babel/code-frame": "^7.0.0",
- "@babel/parser": "^7.6.0",
- "@babel/types": "^7.6.0"
+ "@babel/code-frame": "^7.8.3",
+ "@babel/parser": "^7.8.6",
+ "@babel/types": "^7.8.6"
}
},
"@babel/traverse": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.3.tgz",
- "integrity": "sha512-unn7P4LGsijIxaAJo/wpoU11zN+2IaClkQAxcJWBNCMS6cmVh802IyLHNkAjQ0iYnRS3nnxk5O3fuXW28IMxTw==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.6.tgz",
+ "integrity": "sha512-b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg==",
"dev": true,
"requires": {
- "@babel/code-frame": "^7.5.5",
- "@babel/generator": "^7.6.3",
- "@babel/helper-function-name": "^7.1.0",
- "@babel/helper-split-export-declaration": "^7.4.4",
- "@babel/parser": "^7.6.3",
- "@babel/types": "^7.6.3",
+ "@babel/code-frame": "^7.8.3",
+ "@babel/generator": "^7.9.6",
+ "@babel/helper-function-name": "^7.9.5",
+ "@babel/helper-split-export-declaration": "^7.8.3",
+ "@babel/parser": "^7.9.6",
+ "@babel/types": "^7.9.6",
"debug": "^4.1.0",
"globals": "^11.1.0",
"lodash": "^4.17.13"
@@ -869,257 +981,234 @@
}
},
"@babel/types": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz",
- "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.6.tgz",
+ "integrity": "sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA==",
"dev": true,
"requires": {
- "esutils": "^2.0.2",
+ "@babel/helper-validator-identifier": "^7.9.5",
"lodash": "^4.17.13",
"to-fast-properties": "^2.0.0"
}
},
- "@target/custom-event-polyfill": {
- "version": "github:Adobe-Marketing-Cloud/custom-event-polyfill#2a28329ad98fdaf578054e2390f6ecd77d2eae91",
- "from": "github:Adobe-Marketing-Cloud/custom-event-polyfill",
- "dev": true
- },
- "@types/estree": {
- "version": "0.0.39",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
- "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
+ "@istanbuljs/schema": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz",
+ "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==",
"dev": true
},
- "@types/events": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz",
- "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==",
+ "@npmcli/ci-detect": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/ci-detect/-/ci-detect-1.2.0.tgz",
+ "integrity": "sha512-JtktVH7ASBVIWsQTFlFpeOzhBJskvoBCTfeeRhhZy7ybATcUvwiwotZ8j5rkqUUyB69lIy/AvboiiiGBjYBKBA==",
"dev": true
},
- "@types/glob": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz",
- "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==",
+ "@npmcli/git": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-2.0.2.tgz",
+ "integrity": "sha512-uv9+EuP5YWluNPgkEOL+iyB/+MVt4U5PMBCfl+I8korKluFdiSp7RxjXYzpWM/wU4wXaROAUFiOiCMmBftonjw==",
"dev": true,
"requires": {
- "@types/events": "*",
- "@types/minimatch": "*",
- "@types/node": "*"
+ "@npmcli/promise-spawn": "^1.1.0",
+ "lru-cache": "^5.1.1",
+ "mkdirp": "^1.0.3",
+ "npm-pick-manifest": "^6.0.0",
+ "promise-inflight": "^1.0.1",
+ "promise-retry": "^1.1.1",
+ "semver": "^7.3.2",
+ "unique-filename": "^1.1.1",
+ "which": "^2.0.2"
+ },
+ "dependencies": {
+ "mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "dev": true
+ },
+ "semver": {
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
+ "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
+ "dev": true
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
}
},
- "@types/minimatch": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
- "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
- "dev": true
- },
- "@types/node": {
- "version": "10.12.11",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.11.tgz",
- "integrity": "sha512-3iIOhNiPGTdcUNVCv9e5G7GotfvJJe2pc9w2UgDXlUwnxSZ3RgcUocIU+xYm+rTU54jIKih998QE4dMOyMN1NQ==",
- "dev": true
- },
- "@types/resolve": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz",
- "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==",
+ "@npmcli/installed-package-contents": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.5.tgz",
+ "integrity": "sha512-aKIwguaaqb6ViwSOFytniGvLPb9SMCUm39TgM3SfUo7n0TxUMbwoXfpwyvQ4blm10lzbAwTsvjr7QZ85LvTi4A==",
"dev": true,
"requires": {
- "@types/node": "*"
+ "npm-bundled": "^1.1.1",
+ "npm-normalize-package-bin": "^1.0.1",
+ "read-package-json-fast": "^1.1.1",
+ "readdir-scoped-modules": "^1.1.0"
}
},
- "@webassemblyjs/ast": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz",
- "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==",
+ "@npmcli/promise-spawn": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.2.0.tgz",
+ "integrity": "sha512-nFtqjVETliApiRdjbYwKwhlSHx2ZMagyj5b9YbNt0BWeeOVxJd47ZVE2u16vxDHyTOZvk+YLV7INwfAE9a2uow==",
"dev": true,
"requires": {
- "@webassemblyjs/helper-module-context": "1.8.5",
- "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
- "@webassemblyjs/wast-parser": "1.8.5"
+ "infer-owner": "^1.0.4"
}
},
- "@webassemblyjs/floating-point-hex-parser": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz",
- "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==",
- "dev": true
- },
- "@webassemblyjs/helper-api-error": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz",
- "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==",
- "dev": true
- },
- "@webassemblyjs/helper-buffer": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz",
- "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==",
- "dev": true
- },
- "@webassemblyjs/helper-code-frame": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz",
- "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==",
+ "@npmcli/run-script": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-1.3.1.tgz",
+ "integrity": "sha512-9Ea57XJjNLtBFRAaiKqqdoqRrL2QkM0vvCbMjPecljhog5IHupStPtZULbl0CoGN00N3lhLWJ4PaIEC0MGjqJw==",
"dev": true,
"requires": {
- "@webassemblyjs/wast-printer": "1.8.5"
+ "@npmcli/promise-spawn": "^1.2.0",
+ "infer-owner": "^1.0.4",
+ "node-gyp": "^6.1.0",
+ "read-package-json-fast": "^1.1.3"
}
},
- "@webassemblyjs/helper-fsm": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz",
- "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==",
- "dev": true
- },
- "@webassemblyjs/helper-module-context": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz",
- "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==",
+ "@rollup/plugin-babel": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.0.0.tgz",
+ "integrity": "sha512-YpVnwdUeVj/fDFN75Y3CAzJTMYNcqbH05SJs551wqj+BSwLT9pS3dqJrVDPYl3eH4OrI8ueiEseX5VgUn+0HLA==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.8.5",
- "mamacro": "^0.0.3"
+ "@babel/helper-module-imports": "^7.7.4",
+ "@rollup/pluginutils": "^3.0.8"
}
},
- "@webassemblyjs/helper-wasm-bytecode": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz",
- "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==",
- "dev": true
- },
- "@webassemblyjs/helper-wasm-section": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz",
- "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==",
+ "@rollup/plugin-commonjs": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-11.1.0.tgz",
+ "integrity": "sha512-Ycr12N3ZPN96Fw2STurD21jMqzKwL9QuFhms3SD7KKRK7oaXUsBU9Zt0jL/rOPHiPYisI21/rXGO3jr9BnLHUA==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.8.5",
- "@webassemblyjs/helper-buffer": "1.8.5",
- "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
- "@webassemblyjs/wasm-gen": "1.8.5"
+ "@rollup/pluginutils": "^3.0.8",
+ "commondir": "^1.0.1",
+ "estree-walker": "^1.0.1",
+ "glob": "^7.1.2",
+ "is-reference": "^1.1.2",
+ "magic-string": "^0.25.2",
+ "resolve": "^1.11.0"
+ },
+ "dependencies": {
+ "estree-walker": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
+ "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
+ "dev": true
+ }
}
},
- "@webassemblyjs/ieee754": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz",
- "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==",
+ "@rollup/plugin-multi-entry": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-multi-entry/-/plugin-multi-entry-3.0.0.tgz",
+ "integrity": "sha512-nFN+1hUHQn7Y6ivdJa/6sYo8LOTmtnQl7g4rQ3WgnJYkL0AByzpb3fXt70ANgJnoLmhcXHBQiQykg835EY7EMg==",
"dev": true,
"requires": {
- "@xtuc/ieee754": "^1.2.0"
+ "matched": "^1.0.2"
}
},
- "@webassemblyjs/leb128": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz",
- "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==",
+ "@rollup/plugin-node-resolve": {
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz",
+ "integrity": "sha512-RxtSL3XmdTAE2byxekYLnx+98kEUOrPHF/KRVjLH+DEIHy6kjIw7YINQzn+NXiH/NTrQLAwYs0GWB+csWygA9Q==",
"dev": true,
"requires": {
- "@xtuc/long": "4.2.2"
+ "@rollup/pluginutils": "^3.0.8",
+ "@types/resolve": "0.0.8",
+ "builtin-modules": "^3.1.0",
+ "is-module": "^1.0.0",
+ "resolve": "^1.14.2"
+ },
+ "dependencies": {
+ "resolve": {
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
+ "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
+ "dev": true,
+ "requires": {
+ "path-parse": "^1.0.6"
+ }
+ }
}
},
- "@webassemblyjs/utf8": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz",
- "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==",
- "dev": true
- },
- "@webassemblyjs/wasm-edit": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz",
- "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==",
+ "@rollup/pluginutils": {
+ "version": "3.0.10",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.0.10.tgz",
+ "integrity": "sha512-d44M7t+PjmMrASHbhgpSbVgtL6EFyX7J4mYxwQ/c5eoaE6N2VgCgEcWVzNnwycIloti+/MpwFr8qfw+nRw00sw==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.8.5",
- "@webassemblyjs/helper-buffer": "1.8.5",
- "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
- "@webassemblyjs/helper-wasm-section": "1.8.5",
- "@webassemblyjs/wasm-gen": "1.8.5",
- "@webassemblyjs/wasm-opt": "1.8.5",
- "@webassemblyjs/wasm-parser": "1.8.5",
- "@webassemblyjs/wast-printer": "1.8.5"
+ "@types/estree": "0.0.39",
+ "estree-walker": "^1.0.1",
+ "picomatch": "^2.2.2"
+ },
+ "dependencies": {
+ "estree-walker": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
+ "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
+ "dev": true
+ },
+ "picomatch": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
+ "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
+ "dev": true
+ }
}
},
- "@webassemblyjs/wasm-gen": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz",
- "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==",
- "dev": true,
- "requires": {
- "@webassemblyjs/ast": "1.8.5",
- "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
- "@webassemblyjs/ieee754": "1.8.5",
- "@webassemblyjs/leb128": "1.8.5",
- "@webassemblyjs/utf8": "1.8.5"
- }
+ "@target/custom-event-polyfill": {
+ "version": "github:Adobe-Marketing-Cloud/custom-event-polyfill#2a28329ad98fdaf578054e2390f6ecd77d2eae91",
+ "from": "github:Adobe-Marketing-Cloud/custom-event-polyfill",
+ "dev": true
},
- "@webassemblyjs/wasm-opt": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz",
- "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==",
- "dev": true,
- "requires": {
- "@webassemblyjs/ast": "1.8.5",
- "@webassemblyjs/helper-buffer": "1.8.5",
- "@webassemblyjs/wasm-gen": "1.8.5",
- "@webassemblyjs/wasm-parser": "1.8.5"
- }
+ "@tootallnate/once": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
+ "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
+ "dev": true
},
- "@webassemblyjs/wasm-parser": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz",
- "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==",
- "dev": true,
- "requires": {
- "@webassemblyjs/ast": "1.8.5",
- "@webassemblyjs/helper-api-error": "1.8.5",
- "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
- "@webassemblyjs/ieee754": "1.8.5",
- "@webassemblyjs/leb128": "1.8.5",
- "@webassemblyjs/utf8": "1.8.5"
- }
+ "@types/color-name": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
+ "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
+ "dev": true
},
- "@webassemblyjs/wast-parser": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz",
- "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==",
- "dev": true,
- "requires": {
- "@webassemblyjs/ast": "1.8.5",
- "@webassemblyjs/floating-point-hex-parser": "1.8.5",
- "@webassemblyjs/helper-api-error": "1.8.5",
- "@webassemblyjs/helper-code-frame": "1.8.5",
- "@webassemblyjs/helper-fsm": "1.8.5",
- "@xtuc/long": "4.2.2"
- }
+ "@types/estree": {
+ "version": "0.0.39",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
+ "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
+ "dev": true
},
- "@webassemblyjs/wast-printer": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz",
- "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==",
+ "@types/node": {
+ "version": "13.13.4",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.4.tgz",
+ "integrity": "sha512-x26ur3dSXgv5AwKS0lNfbjpCakGIduWU1DU91Zz58ONRWrIKGunmZBNv4P7N+e27sJkiGDsw/3fT4AtsqQBrBA==",
+ "dev": true
+ },
+ "@types/resolve": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz",
+ "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.8.5",
- "@webassemblyjs/wast-parser": "1.8.5",
- "@xtuc/long": "4.2.2"
+ "@types/node": "*"
}
},
- "@xtuc/ieee754": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
- "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
- "dev": true
- },
- "@xtuc/long": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
- "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
- "dev": true
- },
"abbrev": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
- "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
"dev": true
},
"accepts": {
@@ -1133,21 +1222,38 @@
}
},
"acorn": {
- "version": "5.7.3",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
- "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz",
+ "integrity": "sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==",
"dev": true
},
"acorn-jsx": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz",
- "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz",
+ "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==",
+ "dev": true
+ },
+ "acorn-node": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
+ "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
+ "dev": true,
+ "requires": {
+ "acorn": "^7.0.0",
+ "acorn-walk": "^7.0.0",
+ "xtend": "^4.0.2"
+ }
+ },
+ "acorn-walk": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.1.1.tgz",
+ "integrity": "sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ==",
"dev": true
},
"adm-zip": {
- "version": "0.4.13",
- "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.13.tgz",
- "integrity": "sha512-fERNJX8sOXfel6qCBCMPvZLzENBEhZTzKqg6vrOW5pvoEaQuJhRU4ndTAh6lHOxn1I6jnz2NHra56ZODM751uw==",
+ "version": "0.4.14",
+ "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.14.tgz",
+ "integrity": "sha512-/9aQCnQHF+0IiCl0qhXoK7qs//SwYE7zX8lsr/DNk1BRAHYxeLZPL4pguwK29gUEqasYQjqPtEpDRSWEkdHn9g==",
"dev": true
},
"after": {
@@ -1165,30 +1271,56 @@
"es6-promisify": "^5.0.0"
}
},
+ "agentkeepalive": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.2.tgz",
+ "integrity": "sha512-waNHE7tQBBn+2qXucI8HY0o2Y0OBPWldWOWsZwY71JcCm4SvrPnWdceFfB5NIXSqE8Ewq6VR/Qt5b1i69P6KCQ==",
+ "dev": true,
+ "requires": {
+ "debug": "^4.1.0",
+ "depd": "^1.1.2",
+ "humanize-ms": "^1.2.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ }
+ }
+ },
+ "aggregate-error": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz",
+ "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==",
+ "dev": true,
+ "requires": {
+ "clean-stack": "^2.0.0",
+ "indent-string": "^4.0.0"
+ }
+ },
"ajv": {
- "version": "6.10.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
- "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
+ "version": "6.12.2",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
+ "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
"dev": true,
"requires": {
- "fast-deep-equal": "^2.0.1",
+ "fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2"
}
},
- "ajv-errors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
- "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
- "dev": true
- },
- "ajv-keywords": {
- "version": "3.4.1",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz",
- "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==",
- "dev": true
- },
"amdefine": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
@@ -1205,27 +1337,23 @@
"string-width": "^3.0.0"
}
},
- "ansi-colors": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz",
- "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==",
- "dev": true
- },
"ansi-escapes": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.2.1.tgz",
- "integrity": "sha512-Cg3ymMAdN10wOk/VYfLV7KCQyv7EDirJ64500sU7n9UlmioEtDuU5Gd+hj73hXSU/ex7tHJSssmyftDdkMLO8Q==",
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz",
+ "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==",
"dev": true,
"requires": {
- "type-fest": "^0.5.2"
+ "type-fest": "^0.11.0"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz",
+ "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==",
+ "dev": true
+ }
}
},
- "ansi-html": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
- "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=",
- "dev": true
- },
"ansi-regex": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
@@ -1242,24 +1370,13 @@
}
},
"anymatch": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
- "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
+ "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
"dev": true,
"requires": {
- "micromatch": "^3.1.4",
- "normalize-path": "^2.1.1"
- },
- "dependencies": {
- "normalize-path": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
- "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
- "dev": true,
- "requires": {
- "remove-trailing-separator": "^1.0.1"
- }
- }
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
}
},
"aproba": {
@@ -1268,6 +1385,16 @@
"integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
"dev": true
},
+ "are-we-there-yet": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
+ "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
+ "dev": true,
+ "requires": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^2.0.6"
+ }
+ },
"argparse": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
@@ -1277,73 +1404,213 @@
"sprintf-js": "~1.0.2"
}
},
- "arr-diff": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
- "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
- "dev": true
- },
- "arr-flatten": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
- "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
- "dev": true
- },
"arr-union": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
"integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
"dev": true
},
- "array-find-index": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
- "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
- "dev": true
- },
- "array-flatten": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
- "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==",
+ "array-from": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz",
+ "integrity": "sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=",
"dev": true
},
"array-includes": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz",
- "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz",
+ "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==",
"dev": true,
"requires": {
- "define-properties": "^1.1.2",
- "es-abstract": "^1.7.0"
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.0",
+ "is-string": "^1.0.5"
+ },
+ "dependencies": {
+ "es-abstract": {
+ "version": "1.17.5",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
+ "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
+ "dev": true,
+ "requires": {
+ "es-to-primitive": "^1.2.1",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1",
+ "is-callable": "^1.1.5",
+ "is-regex": "^1.0.5",
+ "object-inspect": "^1.7.0",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.0",
+ "string.prototype.trimleft": "^2.1.1",
+ "string.prototype.trimright": "^2.1.1"
+ }
+ },
+ "es-to-primitive": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+ "dev": true,
+ "requires": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ }
+ },
+ "has-symbols": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+ "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
+ "dev": true
+ },
+ "is-callable": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
+ "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
+ "dev": true
+ },
+ "is-regex": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
+ "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
+ "object-inspect": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
+ "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
+ "dev": true
+ },
+ "string.prototype.trimleft": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz",
+ "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5",
+ "string.prototype.trimstart": "^1.0.0"
+ }
+ },
+ "string.prototype.trimright": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz",
+ "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5",
+ "string.prototype.trimend": "^1.0.0"
+ }
+ }
}
},
- "array-union": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
- "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
+ "array.prototype.flat": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz",
+ "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==",
"dev": true,
"requires": {
- "array-uniq": "^1.0.1"
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.0-next.1"
+ },
+ "dependencies": {
+ "es-abstract": {
+ "version": "1.17.5",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
+ "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
+ "dev": true,
+ "requires": {
+ "es-to-primitive": "^1.2.1",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1",
+ "is-callable": "^1.1.5",
+ "is-regex": "^1.0.5",
+ "object-inspect": "^1.7.0",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.0",
+ "string.prototype.trimleft": "^2.1.1",
+ "string.prototype.trimright": "^2.1.1"
+ }
+ },
+ "es-to-primitive": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+ "dev": true,
+ "requires": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ }
+ },
+ "has-symbols": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+ "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
+ "dev": true
+ },
+ "is-callable": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
+ "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
+ "dev": true
+ },
+ "is-regex": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
+ "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
+ "object-inspect": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
+ "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
+ "dev": true
+ },
+ "string.prototype.trimleft": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz",
+ "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5",
+ "string.prototype.trimstart": "^1.0.0"
+ }
+ },
+ "string.prototype.trimright": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz",
+ "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5",
+ "string.prototype.trimend": "^1.0.0"
+ }
+ }
}
},
- "array-uniq": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
- "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
- "dev": true
- },
- "array-unique": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
- "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
- "dev": true
- },
"arraybuffer.slice": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz",
"integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==",
"dev": true
},
+ "asap": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
+ "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
+ "dev": true
+ },
"asn1": {
"version": "0.2.4",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
@@ -1353,56 +1620,12 @@
"safer-buffer": "~2.1.0"
}
},
- "asn1.js": {
- "version": "4.10.1",
- "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
- "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
- "dev": true,
- "requires": {
- "bn.js": "^4.0.0",
- "inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0"
- }
- },
- "assert": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
- "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
- "dev": true,
- "requires": {
- "object-assign": "^4.1.1",
- "util": "0.10.3"
- },
- "dependencies": {
- "inherits": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
- "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
- "dev": true
- },
- "util": {
- "version": "0.10.3",
- "resolved": "http://registry.npmjs.org/util/-/util-0.10.3.tgz",
- "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
- "dev": true,
- "requires": {
- "inherits": "2.0.1"
- }
- }
- }
- },
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true
},
- "assign-symbols": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
- "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
- "dev": true
- },
"ast-transform": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/ast-transform/-/ast-transform-0.0.0.tgz",
@@ -1446,7 +1669,7 @@
},
"source-map": {
"version": "0.1.43",
- "resolved": "http://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
"integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
"dev": true,
"optional": true,
@@ -1458,7 +1681,7 @@
},
"ast-types": {
"version": "0.7.8",
- "resolved": "http://registry.npmjs.org/ast-types/-/ast-types-0.7.8.tgz",
+ "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.7.8.tgz",
"integrity": "sha1-kC0uDWDQcb3NRtwRXhgJ7RHBOKk=",
"dev": true
},
@@ -1469,10 +1692,13 @@
"dev": true
},
"async": {
- "version": "1.5.2",
- "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
- "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
- "dev": true
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
+ "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.14"
+ }
},
"async-array-reduce": {
"version": "0.2.1",
@@ -1480,16 +1706,10 @@
"integrity": "sha1-yL4BCitc0A3qlsgRFgNGk9/dgtE=",
"dev": true
},
- "async-each": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
- "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
- "dev": true
- },
"async-limiter": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
- "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
+ "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
"dev": true
},
"asynckit": {
@@ -1498,12 +1718,6 @@
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
"dev": true
},
- "atob": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
- "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
- "dev": true
- },
"aws-sign2": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
@@ -1511,29 +1725,29 @@
"dev": true
},
"aws4": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
- "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz",
+ "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==",
"dev": true
},
"babel-eslint": {
- "version": "10.0.3",
- "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.3.tgz",
- "integrity": "sha512-z3U7eMY6r/3f3/JB9mTsLjyxrv0Yb1zb8PCWCLpguxfCzBIZUwy23R1t/XKewP+8mEN2Ck8Dtr4q20z6ce6SoA==",
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz",
+ "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@babel/parser": "^7.0.0",
- "@babel/traverse": "^7.0.0",
- "@babel/types": "^7.0.0",
+ "@babel/parser": "^7.7.0",
+ "@babel/traverse": "^7.7.0",
+ "@babel/types": "^7.7.0",
"eslint-visitor-keys": "^1.0.0",
"resolve": "^1.12.0"
}
},
"babel-plugin-dynamic-import-node": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz",
- "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==",
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
+ "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==",
"dev": true,
"requires": {
"object.assign": "^4.1.0"
@@ -1550,9 +1764,9 @@
},
"dependencies": {
"core-js": {
- "version": "2.6.10",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.10.tgz",
- "integrity": "sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA==",
+ "version": "2.6.11",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz",
+ "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==",
"dev": true
},
"regenerator-runtime": {
@@ -1575,61 +1789,6 @@
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
"dev": true
},
- "base": {
- "version": "0.11.2",
- "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
- "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
- "dev": true,
- "requires": {
- "cache-base": "^1.0.1",
- "class-utils": "^0.3.5",
- "component-emitter": "^1.2.1",
- "define-property": "^1.0.0",
- "isobject": "^3.0.1",
- "mixin-deep": "^1.2.0",
- "pascalcase": "^0.1.1"
- },
- "dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^1.0.0"
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
- }
- },
"base64-arraybuffer": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
@@ -1648,10 +1807,10 @@
"integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=",
"dev": true
},
- "batch": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
- "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=",
+ "basic-auth": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.1.0.tgz",
+ "integrity": "sha1-RSIe5Cn37h5QNb4/UVM/HN/SmIQ=",
"dev": true
},
"bcrypt-pbkdf": {
@@ -1672,16 +1831,10 @@
"callsite": "1.0.0"
}
},
- "big.js": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
- "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
- "dev": true
- },
"binary-extensions": {
- "version": "1.13.1",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
- "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz",
+ "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==",
"dev": true
},
"blob": {
@@ -1690,18 +1843,6 @@
"integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==",
"dev": true
},
- "bluebird": {
- "version": "3.7.1",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz",
- "integrity": "sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==",
- "dev": true
- },
- "bn.js": {
- "version": "4.11.8",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
- "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
- "dev": true
- },
"body-parser": {
"version": "1.19.0",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
@@ -1720,12 +1861,6 @@
"type-is": "~1.6.17"
},
"dependencies": {
- "bytes": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
- "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
- "dev": true
- },
"qs": {
"version": "6.7.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
@@ -1734,40 +1869,61 @@
}
}
},
- "bonjour": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz",
- "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=",
- "dev": true,
- "requires": {
- "array-flatten": "^2.1.0",
- "deep-equal": "^1.0.1",
- "dns-equal": "^1.0.0",
- "dns-txt": "^2.0.2",
- "multicast-dns": "^6.0.1",
- "multicast-dns-service-types": "^1.1.0"
- }
- },
"boxen": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.1.0.tgz",
- "integrity": "sha512-Iwq1qOkmEsl0EVABa864Bbj3HCL4186DRZgFW/NrFs5y5GMM3ljsxzMLgOHdWISDRvcM8beh8q4tTNzXz+mSKg==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz",
+ "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==",
"dev": true,
"requires": {
"ansi-align": "^3.0.0",
"camelcase": "^5.3.1",
- "chalk": "^2.4.2",
+ "chalk": "^3.0.0",
"cli-boxes": "^2.2.0",
"string-width": "^4.1.0",
"term-size": "^2.1.0",
- "type-fest": "^0.5.2",
+ "type-fest": "^0.8.1",
"widest-line": "^3.1.0"
},
"dependencies": {
- "camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "ansi-regex": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
"emoji-regex": {
@@ -1783,14 +1939,32 @@
"dev": true
},
"string-width": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.1.0.tgz",
- "integrity": "sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"dev": true,
"requires": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^5.2.0"
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
}
}
}
@@ -1806,52 +1980,26 @@
}
},
"braces": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
- "dev": true,
- "requires": {
- "arr-flatten": "^1.1.0",
- "array-unique": "^0.3.2",
- "extend-shallow": "^2.0.1",
- "fill-range": "^4.0.0",
- "isobject": "^3.0.1",
- "repeat-element": "^1.1.2",
- "snapdragon": "^0.8.1",
- "snapdragon-node": "^2.0.1",
- "split-string": "^3.0.2",
- "to-regex": "^3.0.1"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
}
},
"brfs": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/brfs/-/brfs-1.6.1.tgz",
- "integrity": "sha512-OfZpABRQQf+Xsmju8XE9bDjs+uU4vLREGolP7bDgcpsI17QREyZ4Bl+2KLxxx1kCgA0fAIhKQBaBYh+PEcCqYQ==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/brfs/-/brfs-2.0.2.tgz",
+ "integrity": "sha512-IrFjVtwu4eTJZyu8w/V2gxU7iLTtcHih67sgEdzrhjLBMHp2uYefUBfdM4k2UvcuWMgV7PQDZHSLeNWnLFKWVQ==",
"dev": true,
"requires": {
"quote-stream": "^1.0.1",
"resolve": "^1.1.5",
- "static-module": "^2.2.0",
+ "static-module": "^3.0.2",
"through2": "^2.0.0"
}
},
- "brorand": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
- "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
- "dev": true
- },
"brotli": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.2.tgz",
@@ -1887,43 +2035,6 @@
}
}
},
- "browserify-aes": {
- "version": "1.2.0",
- "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
- "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
- "dev": true,
- "requires": {
- "buffer-xor": "^1.0.3",
- "cipher-base": "^1.0.0",
- "create-hash": "^1.1.0",
- "evp_bytestokey": "^1.0.3",
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "browserify-cipher": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
- "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
- "dev": true,
- "requires": {
- "browserify-aes": "^1.0.4",
- "browserify-des": "^1.0.0",
- "evp_bytestokey": "^1.0.0"
- }
- },
- "browserify-des": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
- "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
- "dev": true,
- "requires": {
- "cipher-base": "^1.0.1",
- "des.js": "^1.0.0",
- "inherits": "^2.0.1",
- "safe-buffer": "^5.1.2"
- }
- },
"browserify-optional": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/browserify-optional/-/browserify-optional-1.0.1.tgz",
@@ -1935,161 +2046,88 @@
"browser-resolve": "^1.8.1"
}
},
- "browserify-rsa": {
- "version": "4.0.1",
- "resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
- "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
- "dev": true,
- "requires": {
- "bn.js": "^4.1.0",
- "randombytes": "^2.0.1"
- }
- },
- "browserify-sign": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
- "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
- "dev": true,
- "requires": {
- "bn.js": "^4.1.1",
- "browserify-rsa": "^4.0.0",
- "create-hash": "^1.1.0",
- "create-hmac": "^1.1.2",
- "elliptic": "^6.0.0",
- "inherits": "^2.0.1",
- "parse-asn1": "^5.0.0"
- }
- },
- "browserify-zlib": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
- "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
- "dev": true,
- "requires": {
- "pako": "~1.0.5"
- },
- "dependencies": {
- "pako": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz",
- "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==",
- "dev": true
- }
- }
- },
"browserslist": {
- "version": "4.7.2",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.7.2.tgz",
- "integrity": "sha512-uZavT/gZXJd2UTi9Ov7/Z340WOSQ3+m1iBVRUknf+okKxonL9P83S3ctiBDtuRmRu8PiCHjqyueqQ9HYlJhxiw==",
- "dev": true,
- "requires": {
- "caniuse-lite": "^1.0.30001004",
- "electron-to-chromium": "^1.3.295",
- "node-releases": "^1.1.38"
- }
- },
- "buffer-alloc": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
- "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz",
+ "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==",
"dev": true,
"requires": {
- "buffer-alloc-unsafe": "^1.1.0",
- "buffer-fill": "^1.0.0"
+ "caniuse-lite": "^1.0.30001043",
+ "electron-to-chromium": "^1.3.413",
+ "node-releases": "^1.1.53",
+ "pkg-up": "^2.0.0"
}
},
- "buffer-alloc-unsafe": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
- "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==",
- "dev": true
- },
"buffer-equal": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz",
"integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=",
"dev": true
},
- "buffer-fill": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
- "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=",
- "dev": true
- },
"buffer-from": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
"dev": true
},
- "buffer-indexof": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz",
- "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==",
- "dev": true
- },
- "buffer-xor": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
- "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
- "dev": true
- },
"builtin-modules": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz",
"integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==",
"dev": true
},
- "builtin-status-codes": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
- "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
+ "builtins": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz",
+ "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=",
"dev": true
},
"bytes": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
- "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
+ "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
"dev": true
},
"cacache": {
- "version": "12.0.3",
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz",
- "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==",
+ "version": "15.0.3",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.3.tgz",
+ "integrity": "sha512-bc3jKYjqv7k4pWh7I/ixIjfcjPul4V4jme/WbjvwGS5LzoPL/GzXr4C5EgPNLO/QEZl9Oi61iGitYEdwcrwLCQ==",
"dev": true,
"requires": {
- "bluebird": "^3.5.5",
- "chownr": "^1.1.1",
- "figgy-pudding": "^3.5.1",
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
"glob": "^7.1.4",
- "graceful-fs": "^4.1.15",
- "infer-owner": "^1.0.3",
+ "infer-owner": "^1.0.4",
"lru-cache": "^5.1.1",
- "mississippi": "^3.0.0",
- "mkdirp": "^0.5.1",
- "move-concurrently": "^1.0.1",
+ "minipass": "^3.1.1",
+ "minipass-collect": "^1.0.2",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.2",
+ "mkdirp": "^1.0.3",
+ "move-file": "^2.0.0",
+ "p-map": "^4.0.0",
"promise-inflight": "^1.0.1",
- "rimraf": "^2.6.3",
- "ssri": "^6.0.1",
- "unique-filename": "^1.1.1",
- "y18n": "^4.0.0"
- }
- },
- "cache-base": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
- "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
- "dev": true,
- "requires": {
- "collection-visit": "^1.0.0",
- "component-emitter": "^1.2.1",
- "get-value": "^2.0.6",
- "has-value": "^1.0.0",
- "isobject": "^3.0.1",
- "set-value": "^2.0.0",
- "to-object-path": "^0.3.0",
- "union-value": "^1.0.0",
- "unset-value": "^1.0.0"
+ "rimraf": "^3.0.2",
+ "ssri": "^8.0.0",
+ "tar": "^6.0.2",
+ "unique-filename": "^1.1.1"
+ },
+ "dependencies": {
+ "mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "dev": true
+ },
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ }
}
},
"callsite": {
@@ -2105,25 +2143,15 @@
"dev": true
},
"camelcase": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
- "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
"dev": true
},
- "camelcase-keys": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
- "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
- "dev": true,
- "requires": {
- "camelcase": "^2.0.0",
- "map-obj": "^1.0.0"
- }
- },
"caniuse-lite": {
- "version": "1.0.30001006",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001006.tgz",
- "integrity": "sha512-MXnUVX27aGs/QINz+QG1sWSLDr3P1A3Hq5EUWoIt0T7K24DuvMxZEnh3Y5aHlJW6Bz2aApJdSewdYLd8zQnUuw==",
+ "version": "1.0.30001048",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001048.tgz",
+ "integrity": "sha512-g1iSHKVxornw0K8LG9LLdf+Fxnv7T1Z+mMsf0/YYLclQX4Cd522Ap0Lrw6NFqHgezit78dtyWxzlV2Xfc7vgRg==",
"dev": true
},
"caseless": {
@@ -2150,83 +2178,32 @@
"dev": true
},
"chokidar": {
- "version": "2.1.8",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
- "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz",
+ "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==",
"dev": true,
"requires": {
- "anymatch": "^2.0.0",
- "async-each": "^1.0.1",
- "braces": "^2.3.2",
- "fsevents": "^1.2.7",
- "glob-parent": "^3.1.0",
- "inherits": "^2.0.3",
- "is-binary-path": "^1.0.0",
- "is-glob": "^4.0.0",
- "normalize-path": "^3.0.0",
- "path-is-absolute": "^1.0.0",
- "readdirp": "^2.2.1",
- "upath": "^1.1.1"
- },
- "dependencies": {
- "is-glob": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
- "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
- "dev": true,
- "requires": {
- "is-extglob": "^2.1.1"
- }
- }
+ "anymatch": "~3.1.1",
+ "braces": "~3.0.2",
+ "fsevents": "~2.1.2",
+ "glob-parent": "~5.1.0",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.4.0"
}
},
"chownr": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz",
- "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
"dev": true
},
- "chrome-trace-event": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz",
- "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==",
- "dev": true,
- "requires": {
- "tslib": "^1.9.0"
- }
- },
- "cipher-base": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
- "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "class-utils": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
- "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
- "dev": true,
- "requires": {
- "arr-union": "^3.1.0",
- "define-property": "^0.2.5",
- "isobject": "^3.0.0",
- "static-extend": "^0.1.1"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- }
- }
+ "clean-stack": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
+ "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
+ "dev": true
},
"cli-boxes": {
"version": "2.2.0",
@@ -2244,20 +2221,60 @@
}
},
"cli-width": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
- "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz",
+ "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==",
"dev": true
},
"cliui": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
- "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
+ "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
"dev": true,
"requires": {
- "string-width": "^3.1.0",
- "strip-ansi": "^5.2.0",
- "wrap-ansi": "^5.1.0"
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^6.2.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
+ "dev": true
+ },
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true
+ },
+ "string-width": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.0"
+ }
+ }
}
},
"clone": {
@@ -2272,16 +2289,6 @@
"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
"dev": true
},
- "collection-visit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
- "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
- "dev": true,
- "requires": {
- "map-visit": "^1.0.0",
- "object-visit": "^1.0.0"
- }
- },
"color-convert": {
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
@@ -2313,9 +2320,9 @@
}
},
"commander": {
- "version": "2.17.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
- "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==",
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true
},
"commondir": {
@@ -2331,9 +2338,9 @@
"dev": true
},
"component-emitter": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
- "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
+ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
"dev": true
},
"component-inherit": {
@@ -2342,30 +2349,6 @@
"integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=",
"dev": true
},
- "compressible": {
- "version": "2.0.17",
- "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz",
- "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==",
- "dev": true,
- "requires": {
- "mime-db": ">= 1.40.0 < 2"
- }
- },
- "compression": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
- "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
- "dev": true,
- "requires": {
- "accepts": "~1.3.5",
- "bytes": "3.0.0",
- "compressible": "~2.0.16",
- "debug": "2.6.9",
- "on-headers": "~1.0.2",
- "safe-buffer": "5.1.2",
- "vary": "~1.1.2"
- }
- },
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -2396,22 +2379,10 @@
"utils-merge": "1.0.1"
}
},
- "connect-history-api-fallback": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz",
- "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==",
- "dev": true
- },
- "console-browserify": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
- "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
- "dev": true
- },
- "constants-browserify": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
- "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
+ "console-control-strings": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
"dev": true
},
"contains-path": {
@@ -2420,15 +2391,6 @@
"integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=",
"dev": true
},
- "content-disposition": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
- "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
- "dev": true,
- "requires": {
- "safe-buffer": "5.1.2"
- }
- },
"content-type": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
@@ -2436,70 +2398,50 @@
"dev": true
},
"convert-source-map": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz",
- "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==",
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
+ "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
"dev": true,
"requires": {
"safe-buffer": "~5.1.1"
}
},
"cookie": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
- "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==",
- "dev": true
- },
- "cookie-signature": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
- "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
- "dev": true
- },
- "copy-concurrently": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
- "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
- "dev": true,
- "requires": {
- "aproba": "^1.1.1",
- "fs-write-stream-atomic": "^1.0.8",
- "iferr": "^0.1.5",
- "mkdirp": "^0.5.1",
- "rimraf": "^2.5.4",
- "run-queue": "^1.0.0"
- }
- },
- "copy-descriptor": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
- "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
+ "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=",
"dev": true
},
"core-js": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.3.6.tgz",
- "integrity": "sha512-u4oM8SHwmDuh5mWZdDg9UwNVq5s1uqq6ZDLLIs07VY+VJU91i3h4f3K/pgFvtUQPGdeStrZ+odKyfyt4EnKHfA==",
+ "version": "3.6.5",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz",
+ "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==",
"dev": true
},
"core-js-compat": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.3.6.tgz",
- "integrity": "sha512-YnwZG/+0/f7Pf6Lr3jxtVAFjtGBW9lsLYcqrxhYJai1GfvrP8DEyEpnNzj/FRQfIkOOfk1j5tTBvPBLWVVJm4A==",
+ "version": "3.6.5",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz",
+ "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==",
"dev": true,
"requires": {
- "browserslist": "^4.7.2",
- "semver": "^6.3.0"
+ "browserslist": "^4.8.5",
+ "semver": "7.0.0"
},
"dependencies": {
"semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
+ "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
"dev": true
}
}
},
+ "core-js-pure": {
+ "version": "3.6.5",
+ "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.6.5.tgz",
+ "integrity": "sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA==",
+ "dev": true
+ },
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
@@ -2513,68 +2455,26 @@
"dev": true
},
"coveralls": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.0.7.tgz",
- "integrity": "sha512-mUuH2MFOYB2oBaA4D4Ykqi9LaEYpMMlsiOMJOrv358yAjP6enPIk55fod2fNJ8AvwoYXStWQls37rA+s5e7boA==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.1.0.tgz",
+ "integrity": "sha512-sHxOu2ELzW8/NC1UP5XVLbZDzO4S3VxfFye3XYCznopHy02YjNkHcj5bKaVw2O7hVaBdBjEdQGpie4II1mWhuQ==",
"dev": true,
"requires": {
- "growl": "~> 1.10.0",
"js-yaml": "^3.13.1",
- "lcov-parse": "^0.0.10",
+ "lcov-parse": "^1.0.0",
"log-driver": "^1.2.7",
- "minimist": "^1.2.0",
- "request": "^2.86.0"
+ "minimist": "^1.2.5",
+ "request": "^2.88.2"
},
"dependencies": {
- "js-yaml": {
- "version": "3.13.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
- "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
- "dev": true,
- "requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- }
+ "minimist": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+ "dev": true
}
}
},
- "create-ecdh": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
- "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==",
- "dev": true,
- "requires": {
- "bn.js": "^4.1.0",
- "elliptic": "^6.0.0"
- }
- },
- "create-hash": {
- "version": "1.2.0",
- "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
- "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
- "dev": true,
- "requires": {
- "cipher-base": "^1.0.1",
- "inherits": "^2.0.1",
- "md5.js": "^1.3.4",
- "ripemd160": "^2.0.1",
- "sha.js": "^2.4.0"
- }
- },
- "create-hmac": {
- "version": "1.1.7",
- "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
- "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
- "dev": true,
- "requires": {
- "cipher-base": "^1.0.3",
- "create-hash": "^1.1.0",
- "inherits": "^2.0.1",
- "ripemd160": "^2.0.0",
- "safe-buffer": "^5.0.1",
- "sha.js": "^2.4.8"
- }
- },
"cross-spawn": {
"version": "6.0.5",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
@@ -2588,44 +2488,26 @@
"which": "^1.2.9"
}
},
- "crypto-browserify": {
- "version": "3.12.0",
- "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
- "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
- "dev": true,
- "requires": {
- "browserify-cipher": "^1.0.0",
- "browserify-sign": "^4.0.0",
- "create-ecdh": "^4.0.0",
- "create-hash": "^1.1.0",
- "create-hmac": "^1.1.0",
- "diffie-hellman": "^5.0.0",
- "inherits": "^2.0.1",
- "pbkdf2": "^3.0.3",
- "public-encrypt": "^4.0.0",
- "randombytes": "^2.0.0",
- "randomfill": "^1.0.3"
- }
- },
- "currently-unhandled": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
- "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
- "dev": true,
- "requires": {
- "array-find-index": "^1.0.1"
- }
- },
"custom-event": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
"integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=",
"dev": true
},
- "cyclist": {
+ "d": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
- "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=",
+ "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
+ "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
+ "dev": true,
+ "requires": {
+ "es5-ext": "^0.10.50",
+ "type": "^1.0.1"
+ }
+ },
+ "dash-ast": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz",
+ "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==",
"dev": true
},
"dashdash": {
@@ -2643,16 +2525,6 @@
"integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==",
"dev": true
},
- "dateformat": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
- "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=",
- "dev": true,
- "requires": {
- "get-stdin": "^4.0.1",
- "meow": "^3.3.0"
- }
- },
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
@@ -2662,22 +2534,22 @@
"ms": "2.0.0"
}
},
+ "debuglog": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz",
+ "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=",
+ "dev": true
+ },
"decamelize": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
"integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
"dev": true
},
- "decode-uri-component": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
- "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
- "dev": true
- },
"deep-equal": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.0.tgz",
- "integrity": "sha512-ZbfWJq/wN1Z273o7mUSjILYqehAktR2NVoSrOukDkU9kg2v/Uv89yU4Cvz8seJeAmtN5oqiefKq8FPuXOboqLw==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz",
+ "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==",
"dev": true,
"requires": {
"is-arguments": "^1.0.4",
@@ -2694,46 +2566,6 @@
"integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
"dev": true
},
- "default-gateway": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz",
- "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==",
- "dev": true,
- "requires": {
- "execa": "^1.0.0",
- "ip-regex": "^2.1.0"
- },
- "dependencies": {
- "cross-spawn": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
- "dev": true,
- "requires": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- }
- },
- "execa": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
- "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
- "dev": true,
- "requires": {
- "cross-spawn": "^6.0.0",
- "get-stream": "^4.0.0",
- "is-stream": "^1.1.0",
- "npm-run-path": "^2.0.0",
- "p-finally": "^1.0.0",
- "signal-exit": "^3.0.0",
- "strip-eof": "^1.0.0"
- }
- }
- }
- },
"define-properties": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
@@ -2743,110 +2575,34 @@
"object-keys": "^1.0.12"
}
},
- "define-property": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
- "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
- "dev": true,
- "requires": {
- "is-descriptor": "^1.0.2",
- "isobject": "^3.0.1"
- },
- "dependencies": {
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
- }
- },
- "del": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz",
- "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==",
- "dev": true,
- "requires": {
- "@types/glob": "^7.1.1",
- "globby": "^6.1.0",
- "is-path-cwd": "^2.0.0",
- "is-path-in-cwd": "^2.0.0",
- "p-map": "^2.0.0",
- "pify": "^4.0.1",
- "rimraf": "^2.6.3"
- },
- "dependencies": {
- "pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
- "dev": true
- }
- }
- },
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
"dev": true
},
+ "delegates": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
+ "dev": true
+ },
"depd": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
"dev": true
},
- "des.js": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
- "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
+ "dezalgo": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz",
+ "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=",
"dev": true,
"requires": {
- "inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0"
+ "asap": "^2.0.0",
+ "wrappy": "1"
}
},
- "destroy": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
- "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
- "dev": true
- },
- "detect-file": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
- "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=",
- "dev": true
- },
- "detect-node": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz",
- "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==",
- "dev": true
- },
"dfa": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/dfa/-/dfa-1.2.0.tgz",
@@ -2859,42 +2615,6 @@
"integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=",
"dev": true
},
- "diffie-hellman": {
- "version": "5.0.3",
- "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
- "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
- "dev": true,
- "requires": {
- "bn.js": "^4.1.0",
- "miller-rabin": "^4.0.0",
- "randombytes": "^2.0.0"
- }
- },
- "dns-equal": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
- "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=",
- "dev": true
- },
- "dns-packet": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz",
- "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==",
- "dev": true,
- "requires": {
- "ip": "^1.1.0",
- "safe-buffer": "^5.0.1"
- }
- },
- "dns-txt": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz",
- "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=",
- "dev": true,
- "requires": {
- "buffer-indexof": "^1.0.0"
- }
- },
"doctrine": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
@@ -2916,12 +2636,6 @@
"void-elements": "^2.0.0"
}
},
- "domain-browser": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
- "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
- "dev": true
- },
"duplexer": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
@@ -2937,18 +2651,6 @@
"readable-stream": "^2.0.2"
}
},
- "duplexify": {
- "version": "3.7.1",
- "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
- "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
- "dev": true,
- "requires": {
- "end-of-stream": "^1.0.0",
- "inherits": "^2.0.1",
- "readable-stream": "^2.0.0",
- "stream-shift": "^1.0.0"
- }
- },
"ecc-jsbn": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
@@ -2978,51 +2680,31 @@
"dev": true
},
"electron-to-chromium": {
- "version": "1.3.298",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.298.tgz",
- "integrity": "sha512-IcgwlR5x4qtsVr1X+GDnbDEp0bAAqRA9EHP+bvIn3g5KF59Eiqjm59p27tg8b4YmgmpjfKWgec3trDRTWiVJgg==",
+ "version": "1.3.427",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.427.tgz",
+ "integrity": "sha512-/rG5G7Opcw68/Yrb4qYkz07h3bESVRJjUl4X/FrKLXzoUJleKm6D7K7rTTz8V5LUWnd+BbTOyxJX2XprRqHD8A==",
"dev": true
},
- "elliptic": {
- "version": "6.5.1",
- "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.1.tgz",
- "integrity": "sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==",
- "dev": true,
- "requires": {
- "bn.js": "^4.4.0",
- "brorand": "^1.0.1",
- "hash.js": "^1.0.0",
- "hmac-drbg": "^1.0.0",
- "inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0",
- "minimalistic-crypto-utils": "^1.0.0"
- }
- },
"emoji-regex": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
"integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
"dev": true
},
- "emojis-list": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
- "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
- "dev": true
- },
"encodeurl": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
"dev": true
},
- "end-of-stream": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
- "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "encoding": {
+ "version": "0.1.12",
+ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
+ "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
"dev": true,
+ "optional": true,
"requires": {
- "once": "^1.4.0"
+ "iconv-lite": "~0.4.13"
}
},
"engine.io": {
@@ -3039,12 +2721,6 @@
"ws": "~3.3.1"
},
"dependencies": {
- "cookie": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
- "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=",
- "dev": true
- },
"debug": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
@@ -3075,12 +2751,6 @@
"yeast": "0.1.2"
},
"dependencies": {
- "component-emitter": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
- "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
- "dev": true
- },
"debug": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
@@ -3105,43 +2775,23 @@
"has-binary2": "~1.0.2"
}
},
- "enhanced-resolve": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz",
- "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "memory-fs": "^0.5.0",
- "tapable": "^1.0.0"
- },
- "dependencies": {
- "memory-fs": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
- "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
- "dev": true,
- "requires": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
- }
- }
- }
- },
"ent": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
"integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=",
"dev": true
},
- "errno": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
- "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
- "dev": true,
- "requires": {
- "prr": "~1.0.1"
- }
+ "env-paths": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz",
+ "integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==",
+ "dev": true
+ },
+ "err-code": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz",
+ "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=",
+ "dev": true
},
"error-ex": {
"version": "1.3.2",
@@ -3153,27 +2803,36 @@
}
},
"es-abstract": {
- "version": "1.16.0",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.0.tgz",
- "integrity": "sha512-xdQnfykZ9JMEiasTAJZJdMWCQ1Vm00NBw79/AWi7ELfZuuPCSOMDZbT9mkOfSctVtfhb+sAAzrm+j//GjjLHLg==",
+ "version": "1.17.5",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
+ "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
"dev": true,
"requires": {
- "es-to-primitive": "^1.2.0",
+ "es-to-primitive": "^1.2.1",
"function-bind": "^1.1.1",
"has": "^1.0.3",
- "has-symbols": "^1.0.0",
- "is-callable": "^1.1.4",
- "is-regex": "^1.0.4",
- "object-inspect": "^1.6.0",
+ "has-symbols": "^1.0.1",
+ "is-callable": "^1.1.5",
+ "is-regex": "^1.0.5",
+ "object-inspect": "^1.7.0",
"object-keys": "^1.1.1",
- "string.prototype.trimleft": "^2.1.0",
- "string.prototype.trimright": "^2.1.0"
+ "object.assign": "^4.1.0",
+ "string.prototype.trimleft": "^2.1.1",
+ "string.prototype.trimright": "^2.1.1"
+ },
+ "dependencies": {
+ "has-symbols": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+ "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
+ "dev": true
+ }
}
},
"es-to-primitive": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
- "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
"dev": true,
"requires": {
"is-callable": "^1.1.4",
@@ -3181,6 +2840,42 @@
"is-symbol": "^1.0.2"
}
},
+ "es5-ext": {
+ "version": "0.10.53",
+ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz",
+ "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==",
+ "dev": true,
+ "requires": {
+ "es6-iterator": "~2.0.3",
+ "es6-symbol": "~3.1.3",
+ "next-tick": "~1.0.0"
+ }
+ },
+ "es6-iterator": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
+ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
+ "dev": true,
+ "requires": {
+ "d": "1",
+ "es5-ext": "^0.10.35",
+ "es6-symbol": "^3.1.1"
+ }
+ },
+ "es6-map": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz",
+ "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=",
+ "dev": true,
+ "requires": {
+ "d": "1",
+ "es5-ext": "~0.10.14",
+ "es6-iterator": "~2.0.1",
+ "es6-set": "~0.1.5",
+ "es6-symbol": "~3.1.1",
+ "event-emitter": "~0.3.5"
+ }
+ },
"es6-promise": {
"version": "4.2.8",
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
@@ -3196,6 +2891,41 @@
"es6-promise": "^4.0.3"
}
},
+ "es6-set": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz",
+ "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=",
+ "dev": true,
+ "requires": {
+ "d": "1",
+ "es5-ext": "~0.10.14",
+ "es6-iterator": "~2.0.1",
+ "es6-symbol": "3.1.1",
+ "event-emitter": "~0.3.5"
+ },
+ "dependencies": {
+ "es6-symbol": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
+ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
+ "dev": true,
+ "requires": {
+ "d": "1",
+ "es5-ext": "~0.10.14"
+ }
+ }
+ }
+ },
+ "es6-symbol": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
+ "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
+ "dev": true,
+ "requires": {
+ "d": "^1.0.1",
+ "ext": "^1.1.2"
+ }
+ },
"escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
@@ -3209,24 +2939,18 @@
"dev": true
},
"escodegen": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz",
- "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==",
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.1.tgz",
+ "integrity": "sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ==",
"dev": true,
"requires": {
- "esprima": "^3.1.3",
+ "esprima": "^4.0.1",
"estraverse": "^4.2.0",
"esutils": "^2.0.2",
"optionator": "^0.8.1",
"source-map": "~0.6.1"
},
"dependencies": {
- "esprima": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
- "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=",
- "dev": true
- },
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -3237,9 +2961,9 @@
}
},
"eslint": {
- "version": "6.6.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.6.0.tgz",
- "integrity": "sha512-PpEBq7b6qY/qrOmpYQ/jTMDYfuQMELR4g4WI1M/NaSDDD/bdcMb+dj4Hgks7p41kW2caXsPsEZAEAyAgjVVC0g==",
+ "version": "6.8.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz",
+ "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
@@ -3257,7 +2981,7 @@
"file-entry-cache": "^5.0.1",
"functional-red-black-tree": "^1.0.1",
"glob-parent": "^5.0.0",
- "globals": "^11.7.0",
+ "globals": "^12.1.0",
"ignore": "^4.0.6",
"import-fresh": "^3.0.0",
"imurmurhash": "^0.1.4",
@@ -3270,7 +2994,7 @@
"minimatch": "^3.0.4",
"mkdirp": "^0.5.1",
"natural-compare": "^1.4.0",
- "optionator": "^0.8.2",
+ "optionator": "^0.8.3",
"progress": "^2.0.0",
"regexpp": "^2.0.1",
"semver": "^6.1.2",
@@ -3301,14 +3025,23 @@
}
},
"glob-parent": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
- "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+ "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
"dev": true,
"requires": {
"is-glob": "^4.0.1"
}
},
+ "globals": {
+ "version": "12.4.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
+ "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==",
+ "dev": true,
+ "requires": {
+ "type-fest": "^0.8.1"
+ }
+ },
"is-glob": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
@@ -3329,70 +3062,97 @@
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true
+ },
+ "type-fest": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "dev": true
}
}
},
"eslint-config-standard": {
- "version": "14.1.0",
- "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-14.1.0.tgz",
- "integrity": "sha512-EF6XkrrGVbvv8hL/kYa/m6vnvmUT+K82pJJc4JJVMM6+Qgqh0pnwprSxdduDLB9p/7bIxD+YV5O0wfb8lmcPbA==",
+ "version": "14.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-14.1.1.tgz",
+ "integrity": "sha512-Z9B+VR+JIXRxz21udPTL9HpFMyoMUEeX1G251EQ6e05WD9aPVtVBn09XUmZ259wCMlCDmYDSZG62Hhm+ZTJcUg==",
"dev": true
},
"eslint-import-resolver-node": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz",
- "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==",
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz",
+ "integrity": "sha512-b8crLDo0M5RSe5YG8Pu2DYBj71tSB6OvXkfzwbJU2w7y8P4/yo0MyF8jU26IEuEuHF2K5/gcAJE3LhQGqBBbVg==",
"dev": true,
"requires": {
"debug": "^2.6.9",
- "resolve": "^1.5.0"
+ "resolve": "^1.13.1"
+ },
+ "dependencies": {
+ "resolve": {
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
+ "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
+ "dev": true,
+ "requires": {
+ "path-parse": "^1.0.6"
+ }
+ }
}
},
"eslint-module-utils": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz",
- "integrity": "sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw==",
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz",
+ "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==",
"dev": true,
"requires": {
- "debug": "^2.6.8",
+ "debug": "^2.6.9",
"pkg-dir": "^2.0.0"
}
},
"eslint-plugin-es": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-2.0.0.tgz",
- "integrity": "sha512-f6fceVtg27BR02EYnBhgWLFQfK6bN4Ll0nQFrBHOlCsAyxeZkn0NHns5O0YZOPrV1B3ramd6cgFwaoFLcSkwEQ==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.0.tgz",
+ "integrity": "sha512-6/Jb/J/ZvSebydwbBJO1R9E5ky7YeElfK56Veh7e4QGFHCXoIXGH9HhVz+ibJLM3XJ1XjP+T7rKBLUa/Y7eIng==",
"dev": true,
"requires": {
- "eslint-utils": "^1.4.2",
+ "eslint-utils": "^2.0.0",
"regexpp": "^3.0.0"
},
"dependencies": {
+ "eslint-utils": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.0.0.tgz",
+ "integrity": "sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA==",
+ "dev": true,
+ "requires": {
+ "eslint-visitor-keys": "^1.1.0"
+ }
+ },
"regexpp": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.0.0.tgz",
- "integrity": "sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz",
+ "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
"dev": true
}
}
},
"eslint-plugin-import": {
- "version": "2.18.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz",
- "integrity": "sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ==",
+ "version": "2.20.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.20.2.tgz",
+ "integrity": "sha512-FObidqpXrR8OnCh4iNsxy+WACztJLXAHBO5hK79T1Hc77PgQZkyDGA5Ag9xAvRpglvLNxhH/zSmZ70/pZ31dHg==",
"dev": true,
"requires": {
"array-includes": "^3.0.3",
+ "array.prototype.flat": "^1.2.1",
"contains-path": "^0.1.0",
"debug": "^2.6.9",
"doctrine": "1.5.0",
"eslint-import-resolver-node": "^0.3.2",
- "eslint-module-utils": "^2.4.0",
+ "eslint-module-utils": "^2.4.1",
"has": "^1.0.3",
"minimatch": "^3.0.4",
"object.values": "^1.1.0",
"read-pkg-up": "^2.0.0",
- "resolve": "^1.11.0"
+ "resolve": "^1.12.0"
},
"dependencies": {
"doctrine": {
@@ -3404,53 +3164,32 @@
"esutils": "^2.0.2",
"isarray": "^1.0.0"
}
- },
- "path-type": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
- "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
- "dev": true,
- "requires": {
- "pify": "^2.0.0"
- }
- },
- "read-pkg": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
- "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
- "dev": true,
- "requires": {
- "load-json-file": "^2.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^2.0.0"
- }
- },
- "read-pkg-up": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
- "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
- "dev": true,
- "requires": {
- "find-up": "^2.0.0",
- "read-pkg": "^2.0.0"
- }
}
}
},
"eslint-plugin-node": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-10.0.0.tgz",
- "integrity": "sha512-1CSyM/QCjs6PXaT18+zuAXsjXGIGo5Rw630rSKwokSs2jrYURQc4R5JZpoanNCqwNmepg+0eZ9L7YiRUJb8jiQ==",
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz",
+ "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==",
"dev": true,
"requires": {
- "eslint-plugin-es": "^2.0.0",
- "eslint-utils": "^1.4.2",
+ "eslint-plugin-es": "^3.0.0",
+ "eslint-utils": "^2.0.0",
"ignore": "^5.1.1",
"minimatch": "^3.0.4",
"resolve": "^1.10.1",
"semver": "^6.1.0"
},
"dependencies": {
+ "eslint-utils": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.0.0.tgz",
+ "integrity": "sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA==",
+ "dev": true,
+ "requires": {
+ "eslint-visitor-keys": "^1.1.0"
+ }
+ },
"ignore": {
"version": "5.1.4",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz",
@@ -3477,16 +3216,6 @@
"integrity": "sha512-v/KBnfyaOMPmZc/dmc6ozOdWqekGp7bBGq4jLAecEfPGmfKiWS4sA8sC0LqiV9w5qmXAtXVn4M3p1jSyhY85SQ==",
"dev": true
},
- "eslint-scope": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
- "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
- "dev": true,
- "requires": {
- "esrecurse": "^4.1.0",
- "estraverse": "^4.1.1"
- }
- },
"eslint-utils": {
"version": "1.4.3",
"resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
@@ -3509,22 +3238,14 @@
"dev": true
},
"espree": {
- "version": "6.1.2",
- "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz",
- "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==",
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz",
+ "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==",
"dev": true,
"requires": {
- "acorn": "^7.1.0",
- "acorn-jsx": "^5.1.0",
+ "acorn": "^7.1.1",
+ "acorn-jsx": "^5.2.0",
"eslint-visitor-keys": "^1.1.0"
- },
- "dependencies": {
- "acorn": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz",
- "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==",
- "dev": true
- }
}
},
"esprima": {
@@ -3534,12 +3255,20 @@
"dev": true
},
"esquery": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz",
- "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz",
+ "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==",
"dev": true,
"requires": {
- "estraverse": "^4.0.0"
+ "estraverse": "^5.1.0"
+ },
+ "dependencies": {
+ "estraverse": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.1.0.tgz",
+ "integrity": "sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==",
+ "dev": true
+ }
}
},
"esrecurse": {
@@ -3557,6 +3286,12 @@
"integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
"dev": true
},
+ "estree-is-function": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/estree-is-function/-/estree-is-function-1.0.0.tgz",
+ "integrity": "sha512-nSCWn1jkSq2QAtkaVLJZY2ezwcFO161HVc174zL1KPW3RJ+O6C3eJb8Nx7OXzvhoEv+nLgSR1g71oWUHUDTrJA==",
+ "dev": true
+ },
"estree-walker": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz",
@@ -3569,77 +3304,21 @@
"integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
"dev": true
},
- "etag": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
- "dev": true
- },
- "eventemitter3": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz",
- "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==",
- "dev": true
- },
- "events": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz",
- "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==",
- "dev": true
- },
- "eventsource": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz",
- "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==",
+ "event-emitter": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
+ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
"dev": true,
"requires": {
- "original": "^1.0.0"
+ "d": "1",
+ "es5-ext": "~0.10.14"
}
},
- "evp_bytestokey": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
- "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
- "dev": true,
- "requires": {
- "md5.js": "^1.3.4",
- "safe-buffer": "^5.1.1"
- }
- },
- "expand-brackets": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
- "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
- "dev": true,
- "requires": {
- "debug": "^2.3.3",
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "posix-character-classes": "^0.1.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
- }
+ "eventemitter3": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz",
+ "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==",
+ "dev": true
},
"expand-tilde": {
"version": "2.0.2",
@@ -3650,69 +3329,19 @@
"homedir-polyfill": "^1.0.1"
}
},
- "express": {
- "version": "4.17.1",
- "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
- "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
+ "ext": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz",
+ "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==",
"dev": true,
"requires": {
- "accepts": "~1.3.7",
- "array-flatten": "1.1.1",
- "body-parser": "1.19.0",
- "content-disposition": "0.5.3",
- "content-type": "~1.0.4",
- "cookie": "0.4.0",
- "cookie-signature": "1.0.6",
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "finalhandler": "~1.1.2",
- "fresh": "0.5.2",
- "merge-descriptors": "1.0.1",
- "methods": "~1.1.2",
- "on-finished": "~2.3.0",
- "parseurl": "~1.3.3",
- "path-to-regexp": "0.1.7",
- "proxy-addr": "~2.0.5",
- "qs": "6.7.0",
- "range-parser": "~1.2.1",
- "safe-buffer": "5.1.2",
- "send": "0.17.1",
- "serve-static": "1.14.1",
- "setprototypeof": "1.1.1",
- "statuses": "~1.5.0",
- "type-is": "~1.6.18",
- "utils-merge": "1.0.1",
- "vary": "~1.1.2"
+ "type": "^2.0.0"
},
"dependencies": {
- "array-flatten": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
- "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
- "dev": true
- },
- "finalhandler": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
- "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
- "dev": true,
- "requires": {
- "debug": "2.6.9",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "on-finished": "~2.3.0",
- "parseurl": "~1.3.3",
- "statuses": "~1.5.0",
- "unpipe": "~1.0.0"
- }
- },
- "qs": {
- "version": "6.7.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
- "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
+ "type": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/type/-/type-2.0.0.tgz",
+ "integrity": "sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==",
"dev": true
}
}
@@ -3723,27 +3352,6 @@
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
"dev": true
},
- "extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "dev": true,
- "requires": {
- "assign-symbols": "^1.0.0",
- "is-extendable": "^1.0.1"
- },
- "dependencies": {
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "dev": true,
- "requires": {
- "is-plain-object": "^2.0.4"
- }
- }
- }
- },
"external-editor": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
@@ -3755,107 +3363,22 @@
"tmp": "^0.0.33"
}
},
- "extglob": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
- "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
- "dev": true,
- "requires": {
- "array-unique": "^0.3.2",
- "define-property": "^1.0.0",
- "expand-brackets": "^2.1.4",
- "extend-shallow": "^2.0.1",
- "fragment-cache": "^0.2.1",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- },
- "dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^1.0.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
- }
- },
"extsprintf": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
"dev": true
},
- "falafel": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz",
- "integrity": "sha1-lrsXdh2rqU9G0AFzizzt86Z/4Gw=",
- "dev": true,
- "requires": {
- "acorn": "^5.0.0",
- "foreach": "^2.0.5",
- "isarray": "0.0.1",
- "object-keys": "^1.0.6"
- },
- "dependencies": {
- "isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
- "dev": true
- }
- }
- },
"fast-deep-equal": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
- "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
+ "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
"dev": true
},
"fast-json-stable-stringify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
- "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
"dev": true
},
"fast-levenshtein": {
@@ -3864,25 +3387,10 @@
"integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
"dev": true
},
- "faye-websocket": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
- "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
- "dev": true,
- "requires": {
- "websocket-driver": ">=0.5.1"
- }
- },
- "figgy-pudding": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz",
- "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==",
- "dev": true
- },
"figures": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz",
- "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
+ "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
"dev": true,
"requires": {
"escape-string-regexp": "^1.0.5"
@@ -3898,32 +3406,18 @@
}
},
"filesize": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/filesize/-/filesize-4.2.1.tgz",
- "integrity": "sha512-bP82Hi8VRZX/TUBKfE24iiUGsB/sfm2WUrwTQyAzQrhO3V9IhcBBNBXMyzLY5orACxRyYJ3d2HeRVX+eFv4lmA==",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/filesize/-/filesize-6.1.0.tgz",
+ "integrity": "sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg==",
"dev": true
},
"fill-range": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
- "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
"dev": true,
"requires": {
- "extend-shallow": "^2.0.1",
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1",
- "to-regex-range": "^2.1.0"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
+ "to-regex-range": "^5.0.1"
}
},
"finalhandler": {
@@ -3941,71 +3435,6 @@
"unpipe": "~1.0.0"
}
},
- "find-cache-dir": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
- "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
- "dev": true,
- "requires": {
- "commondir": "^1.0.1",
- "make-dir": "^2.0.0",
- "pkg-dir": "^3.0.0"
- },
- "dependencies": {
- "find-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
- "dev": true,
- "requires": {
- "locate-path": "^3.0.0"
- }
- },
- "locate-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
- "dev": true,
- "requires": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
- }
- },
- "p-limit": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
- "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
- "dev": true,
- "requires": {
- "p-limit": "^2.0.0"
- }
- },
- "p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "dev": true
- },
- "pkg-dir": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
- "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
- "dev": true,
- "requires": {
- "find-up": "^3.0.0"
- }
- }
- }
- },
"find-up": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
@@ -4015,29 +3444,6 @@
"locate-path": "^2.0.0"
}
},
- "findup-sync": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz",
- "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==",
- "dev": true,
- "requires": {
- "detect-file": "^1.0.0",
- "is-glob": "^4.0.0",
- "micromatch": "^3.0.4",
- "resolve-dir": "^1.0.1"
- },
- "dependencies": {
- "is-glob": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
- "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
- "dev": true,
- "requires": {
- "is-extglob": "^2.1.1"
- }
- }
- }
- },
"flat-cache": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
@@ -4066,67 +3472,51 @@
"integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==",
"dev": true
},
- "flush-write-stream": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
- "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.3",
- "readable-stream": "^2.3.6"
- }
- },
"follow-redirects": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.0.tgz",
- "integrity": "sha512-fdrt472/9qQ6Kgjvb935ig6vJCuofpBUD14f9Vb+SLlm7xIe4Qva5gey8EKtv8lp7ahE1wilg3xL1znpVGtZIA==",
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.11.0.tgz",
+ "integrity": "sha512-KZm0V+ll8PfBrKwMzdo5D13b1bur9Iq9Zd/RMmAoQQcl2PxxFml8cxXPaaPYVbV0RjNjq1CU7zIzAOqtUPudmA==",
"dev": true,
"requires": {
- "debug": "^3.1.0"
+ "debug": "^3.0.0"
},
"dependencies": {
"debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
"dev": true,
"requires": {
- "ms": "2.0.0"
+ "ms": "^2.1.1"
}
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
}
}
},
"fontkit": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/fontkit/-/fontkit-1.8.0.tgz",
- "integrity": "sha512-EFDRCca7khfQWYu1iFhsqeABpi87f03MBdkT93ZE6YhqCdMzb5Eojb6c4dlJikGv5liuhByyzA7ikpIPTSBWbQ==",
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/fontkit/-/fontkit-1.8.1.tgz",
+ "integrity": "sha512-BsNCjDoYRxmNWFdAuK1y9bQt+igIxGtTC9u/jSFjR9MKhmI00rP1fwSvERt+5ddE82544l0XH5mzXozQVUy2Tw==",
"dev": true,
"requires": {
- "babel-runtime": "^6.11.6",
- "brfs": "^1.4.0",
+ "babel-runtime": "^6.26.0",
+ "brfs": "^2.0.0",
"brotli": "^1.2.0",
- "browserify-optional": "^1.0.0",
- "clone": "^1.0.1",
+ "browserify-optional": "^1.0.1",
+ "clone": "^1.0.4",
"deep-equal": "^1.0.0",
- "dfa": "^1.0.0",
+ "dfa": "^1.2.0",
"restructure": "^0.5.3",
"tiny-inflate": "^1.0.2",
- "unicode-properties": "^1.0.0",
+ "unicode-properties": "^1.2.2",
"unicode-trie": "^0.3.0"
}
},
- "for-in": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
- "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
- "dev": true
- },
- "foreach": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
- "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
- "dev": true
- },
"forever-agent": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
@@ -4144,37 +3534,6 @@
"mime-types": "^2.1.12"
}
},
- "forwarded": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
- "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
- "dev": true
- },
- "fragment-cache": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
- "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
- "dev": true,
- "requires": {
- "map-cache": "^0.2.2"
- }
- },
- "fresh": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
- "dev": true
- },
- "from2": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
- "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
- "dev": true,
- "requires": {
- "inherits": "^2.0.1",
- "readable-stream": "^2.0.0"
- }
- },
"fs-extra": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
@@ -4186,16 +3545,13 @@
"universalify": "^0.1.0"
}
},
- "fs-write-stream-atomic": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
- "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
+ "fs-minipass": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
+ "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
"dev": true,
"requires": {
- "graceful-fs": "^4.1.2",
- "iferr": "^0.1.5",
- "imurmurhash": "^0.1.4",
- "readable-stream": "1 || 2"
+ "minipass": "^3.0.0"
}
},
"fs.realpath": {
@@ -4205,462 +3561,59 @@
"dev": true
},
"fsevents": {
- "version": "1.2.9",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz",
- "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
+ "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
+ "dev": true,
+ "optional": true
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+ "dev": true
+ },
+ "functional-red-black-tree": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
+ "dev": true
+ },
+ "gauge": {
+ "version": "2.7.4",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
+ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
"dev": true,
- "optional": true,
"requires": {
- "nan": "^2.12.1",
- "node-pre-gyp": "^0.12.0"
+ "aproba": "^1.0.3",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.0",
+ "object-assign": "^4.1.0",
+ "signal-exit": "^3.0.0",
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wide-align": "^1.1.0"
},
"dependencies": {
- "abbrev": {
- "version": "1.1.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
"ansi-regex": {
"version": "2.1.1",
- "bundled": true,
- "dev": true
- },
- "aproba": {
- "version": "1.2.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "are-we-there-yet": {
- "version": "1.1.5",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "delegates": "^1.0.0",
- "readable-stream": "^2.0.6"
- }
- },
- "balanced-match": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "brace-expansion": {
- "version": "1.1.11",
- "bundled": true,
- "dev": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "chownr": {
- "version": "1.1.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "code-point-at": {
- "version": "1.1.0",
- "bundled": true,
- "dev": true
- },
- "concat-map": {
- "version": "0.0.1",
- "bundled": true,
- "dev": true
- },
- "console-control-strings": {
- "version": "1.1.0",
- "bundled": true,
- "dev": true
- },
- "core-util-is": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "debug": {
- "version": "4.1.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "deep-extend": {
- "version": "0.6.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "delegates": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "detect-libc": {
- "version": "1.0.3",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "fs-minipass": {
- "version": "1.2.5",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "minipass": "^2.2.1"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "gauge": {
- "version": "2.7.4",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "aproba": "^1.0.3",
- "console-control-strings": "^1.0.0",
- "has-unicode": "^2.0.0",
- "object-assign": "^4.1.0",
- "signal-exit": "^3.0.0",
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wide-align": "^1.1.0"
- }
- },
- "glob": {
- "version": "7.1.3",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "has-unicode": {
- "version": "2.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "iconv-lite": {
- "version": "0.4.24",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3"
- }
- },
- "ignore-walk": {
- "version": "3.0.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "minimatch": "^3.0.4"
- }
- },
- "inflight": {
- "version": "1.0.6",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.3",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
"dev": true
},
- "ini": {
- "version": "1.3.5",
- "bundled": true,
- "dev": true,
- "optional": true
- },
"is-fullwidth-code-point": {
"version": "1.0.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
"dev": true,
"requires": {
"number-is-nan": "^1.0.0"
}
},
- "isarray": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "minimatch": {
- "version": "3.0.4",
- "bundled": true,
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minimist": {
- "version": "0.0.8",
- "bundled": true,
- "dev": true
- },
- "minipass": {
- "version": "2.3.5",
- "bundled": true,
- "dev": true,
- "requires": {
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.0"
- }
- },
- "minizlib": {
- "version": "1.2.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "minipass": "^2.2.1"
- }
- },
- "mkdirp": {
- "version": "0.5.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "minimist": "0.0.8"
- }
- },
- "ms": {
- "version": "2.1.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "needle": {
- "version": "2.3.0",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "debug": "^4.1.0",
- "iconv-lite": "^0.4.4",
- "sax": "^1.2.4"
- }
- },
- "node-pre-gyp": {
- "version": "0.12.0",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "detect-libc": "^1.0.2",
- "mkdirp": "^0.5.1",
- "needle": "^2.2.1",
- "nopt": "^4.0.1",
- "npm-packlist": "^1.1.6",
- "npmlog": "^4.0.2",
- "rc": "^1.2.7",
- "rimraf": "^2.6.1",
- "semver": "^5.3.0",
- "tar": "^4"
- }
- },
- "nopt": {
- "version": "4.0.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "abbrev": "1",
- "osenv": "^0.1.4"
- }
- },
- "npm-bundled": {
- "version": "1.0.6",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "npm-packlist": {
- "version": "1.4.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "ignore-walk": "^3.0.1",
- "npm-bundled": "^1.0.1"
- }
- },
- "npmlog": {
- "version": "4.1.2",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "are-we-there-yet": "~1.1.2",
- "console-control-strings": "~1.1.0",
- "gauge": "~2.7.3",
- "set-blocking": "~2.0.0"
- }
- },
- "number-is-nan": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true
- },
- "object-assign": {
- "version": "4.1.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "once": {
- "version": "1.4.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "wrappy": "1"
- }
- },
- "os-homedir": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "os-tmpdir": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "osenv": {
- "version": "0.1.5",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "os-homedir": "^1.0.0",
- "os-tmpdir": "^1.0.0"
- }
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "process-nextick-args": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "rc": {
- "version": "1.2.8",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "deep-extend": "^0.6.0",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
- },
- "dependencies": {
- "minimist": {
- "version": "1.2.0",
- "bundled": true,
- "dev": true,
- "optional": true
- }
- }
- },
- "readable-stream": {
- "version": "2.3.6",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "rimraf": {
- "version": "2.6.3",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "safe-buffer": {
- "version": "5.1.2",
- "bundled": true,
- "dev": true
- },
- "safer-buffer": {
- "version": "2.1.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "sax": {
- "version": "1.2.4",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "semver": {
- "version": "5.7.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "set-blocking": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "signal-exit": {
- "version": "3.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
"string-width": {
"version": "1.0.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
"dev": true,
"requires": {
"code-point-at": "^1.0.0",
@@ -4668,81 +3621,27 @@
"strip-ansi": "^3.0.0"
}
},
- "string_decoder": {
- "version": "1.1.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- },
"strip-ansi": {
"version": "3.0.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"dev": true,
"requires": {
"ansi-regex": "^2.0.0"
}
- },
- "strip-json-comments": {
- "version": "2.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "tar": {
- "version": "4.4.8",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "chownr": "^1.1.1",
- "fs-minipass": "^1.2.5",
- "minipass": "^2.3.4",
- "minizlib": "^1.1.1",
- "mkdirp": "^0.5.0",
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.2"
- }
- },
- "util-deprecate": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "wide-align": {
- "version": "1.1.3",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "string-width": "^1.0.2 || 2"
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true
- },
- "yallist": {
- "version": "3.0.3",
- "bundled": true,
- "dev": true
}
}
},
- "function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+ "gensync": {
+ "version": "1.0.0-beta.1",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz",
+ "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==",
"dev": true
},
- "functional-red-black-tree": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
- "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
+ "get-assigned-identifiers": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz",
+ "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==",
"dev": true
},
"get-caller-file": {
@@ -4751,27 +3650,6 @@
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
"dev": true
},
- "get-stdin": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
- "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
- "dev": true
- },
- "get-stream": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
- "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
- "dev": true,
- "requires": {
- "pump": "^3.0.0"
- }
- },
- "get-value": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
- "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
- "dev": true
- },
"getpass": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
@@ -4781,12 +3659,6 @@
"assert-plus": "^1.0.0"
}
},
- "gl-matrix": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-2.8.1.tgz",
- "integrity": "sha512-0YCjVpE3pS5XWlN3J4X7AiAx65+nqAI54LndtVFnQZB6G/FVLkZH8y8V6R3cIoOQR4pUdfwQGd1iwyoXHJ4Qfw==",
- "dev": true
- },
"glob": {
"version": "7.1.5",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.5.tgz",
@@ -4802,13 +3674,12 @@
}
},
"glob-parent": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
- "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+ "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
"dev": true,
"requires": {
- "is-glob": "^3.1.0",
- "path-dirname": "^1.0.0"
+ "is-glob": "^4.0.1"
}
},
"global-modules": {
@@ -4841,37 +3712,12 @@
"integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
"dev": true
},
- "globby": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
- "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
- "dev": true,
- "requires": {
- "array-union": "^1.0.1",
- "glob": "^7.0.3",
- "object-assign": "^4.0.1",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- }
- },
"graceful-fs": {
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz",
"integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==",
"dev": true
},
- "graceful-readlink": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
- "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
- "dev": true
- },
- "growl": {
- "version": "1.10.5",
- "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
- "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
- "dev": true
- },
"gzip-size": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz",
@@ -4890,38 +3736,22 @@
}
}
},
- "handle-thing": {
+ "har-schema": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz",
- "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
"dev": true
},
- "handlebars": {
- "version": "4.5.1",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.5.1.tgz",
- "integrity": "sha512-C29UoFzHe9yM61lOsIlCE5/mQVGrnIOrOq7maQl76L7tYPCgC1og0Ajt6uWnX4ZTxBPnjw+CUvawphwCfJgUnA==",
+ "har-validator": {
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
+ "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
"dev": true,
"requires": {
- "neo-async": "^2.6.0",
- "optimist": "^0.6.1",
- "source-map": "^0.6.1",
- "uglify-js": "^3.1.4"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
+ "ajv": "^6.5.5",
+ "har-schema": "^2.0.0"
}
},
- "har-schema": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
- "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
- "dev": true
- },
"has": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
@@ -4955,9 +3785,9 @@
"dev": true
},
"has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
"has-glob": {
@@ -4967,65 +3797,30 @@
"dev": true,
"requires": {
"is-glob": "^3.0.0"
- }
- },
- "has-symbols": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
- "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
- "dev": true
- },
- "has-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
- "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
- "dev": true,
- "requires": {
- "get-value": "^2.0.6",
- "has-values": "^1.0.0",
- "isobject": "^3.0.0"
- }
- },
- "has-values": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
- "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
- "dev": true,
- "requires": {
- "is-number": "^3.0.0",
- "kind-of": "^4.0.0"
},
"dependencies": {
- "kind-of": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
- "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "is-glob": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
"dev": true,
"requires": {
- "is-buffer": "^1.1.5"
+ "is-extglob": "^2.1.0"
}
}
}
},
- "hash-base": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
- "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
- "dev": true,
- "requires": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
+ "has-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
+ "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
+ "dev": true
},
- "hash.js": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
- "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.3",
- "minimalistic-assert": "^1.0.1"
- }
+ "has-unicode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
+ "dev": true
},
"he": {
"version": "1.2.0",
@@ -5033,17 +3828,6 @@
"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
"dev": true
},
- "hmac-drbg": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
- "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
- "dev": true,
- "requires": {
- "hash.js": "^1.0.3",
- "minimalistic-assert": "^1.0.0",
- "minimalistic-crypto-utils": "^1.0.1"
- }
- },
"homedir-polyfill": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
@@ -5054,33 +3838,21 @@
}
},
"hosted-git-info": {
- "version": "2.8.5",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz",
- "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==",
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
+ "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
"dev": true
},
- "hpack.js": {
- "version": "2.1.6",
- "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
- "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=",
- "dev": true,
- "requires": {
- "inherits": "^2.0.1",
- "obuf": "^1.0.0",
- "readable-stream": "^2.0.1",
- "wbuf": "^1.1.0"
- }
- },
- "html-entities": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz",
- "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=",
+ "html-escaper": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
+ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
"dev": true
},
- "http-deceiver": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
- "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=",
+ "http-cache-semantics": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
+ "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==",
"dev": true
},
"http-errors": {
@@ -5104,68 +3876,70 @@
}
}
},
- "http-parser-js": {
- "version": "0.4.10",
- "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz",
- "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=",
- "dev": true
- },
"http-proxy": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz",
- "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==",
+ "version": "1.18.0",
+ "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz",
+ "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==",
"dev": true,
"requires": {
- "eventemitter3": "^3.0.0",
+ "eventemitter3": "^4.0.0",
"follow-redirects": "^1.0.0",
"requires-port": "^1.0.0"
}
},
- "http-proxy-middleware": {
- "version": "0.19.1",
- "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz",
- "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==",
+ "http-proxy-agent": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
+ "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
"dev": true,
"requires": {
- "http-proxy": "^1.17.0",
- "is-glob": "^4.0.0",
- "lodash": "^4.17.11",
- "micromatch": "^3.1.10"
+ "@tootallnate/once": "1",
+ "agent-base": "6",
+ "debug": "4"
},
"dependencies": {
- "is-glob": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
- "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+ "agent-base": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.0.tgz",
+ "integrity": "sha512-j1Q7cSCqN+AwrmDd+pzgqc0/NpC655x2bUf5ZjRIO77DcNBFmh+OgRNzF6OKdCC9RSCb19fGd99+bhXFdkRNqw==",
"dev": true,
"requires": {
- "is-extglob": "^2.1.1"
+ "debug": "4"
}
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
}
}
},
"http-server": {
- "version": "0.11.1",
- "resolved": "https://registry.npmjs.org/http-server/-/http-server-0.11.1.tgz",
- "integrity": "sha512-6JeGDGoujJLmhjiRGlt8yK8Z9Kl0vnl/dQoQZlc4oeqaUoAKQg94NILLfrY3oWzSyFaQCVNTcKE5PZ3cH8VP9w==",
- "dev": true,
- "requires": {
- "colors": "1.0.3",
- "corser": "~2.0.0",
- "ecstatic": "^3.0.0",
- "http-proxy": "^1.8.1",
- "opener": "~1.4.0",
- "optimist": "0.6.x",
- "portfinder": "^1.0.13",
- "union": "~0.4.3"
- },
- "dependencies": {
- "colors": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
- "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=",
- "dev": true
- }
+ "version": "0.12.3",
+ "resolved": "https://registry.npmjs.org/http-server/-/http-server-0.12.3.tgz",
+ "integrity": "sha512-be0dKG6pni92bRjq0kvExtj/NrrAd28/8fCXkaI/4piTwQMSDSLMhWyW0NI1V+DBI3aa1HMlQu46/HjVLfmugA==",
+ "dev": true,
+ "requires": {
+ "basic-auth": "^1.0.3",
+ "colors": "^1.4.0",
+ "corser": "^2.0.1",
+ "ecstatic": "^3.3.2",
+ "http-proxy": "^1.18.0",
+ "minimist": "^1.2.5",
+ "opener": "^1.5.1",
+ "portfinder": "^1.0.25",
+ "secure-compare": "3.0.1",
+ "union": "~0.5.0"
}
},
"http-signature": {
@@ -5179,12 +3953,6 @@
"sshpk": "^1.7.0"
}
},
- "https-browserify": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
- "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
- "dev": true
- },
"https-proxy-agent": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz",
@@ -5212,6 +3980,15 @@
}
}
},
+ "humanize-ms": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
+ "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=",
+ "dev": true,
+ "requires": {
+ "ms": "^2.0.0"
+ }
+ },
"iconv-lite": {
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
@@ -5221,24 +3998,21 @@
"safer-buffer": ">= 2.1.2 < 3"
}
},
- "ieee754": {
- "version": "1.1.13",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
- "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==",
- "dev": true
- },
- "iferr": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
- "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
- "dev": true
- },
"ignore": {
"version": "4.0.6",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
"integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
"dev": true
},
+ "ignore-walk": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz",
+ "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==",
+ "dev": true,
+ "requires": {
+ "minimatch": "^3.0.4"
+ }
+ },
"image-size": {
"version": "0.5.5",
"resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
@@ -5252,79 +4026,15 @@
"dev": true
},
"import-fresh": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz",
- "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==",
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
+ "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
"dev": true,
"requires": {
"parent-module": "^1.0.0",
"resolve-from": "^4.0.0"
}
},
- "import-local": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz",
- "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==",
- "dev": true,
- "requires": {
- "pkg-dir": "^3.0.0",
- "resolve-cwd": "^2.0.0"
- },
- "dependencies": {
- "find-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
- "dev": true,
- "requires": {
- "locate-path": "^3.0.0"
- }
- },
- "locate-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
- "dev": true,
- "requires": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
- }
- },
- "p-limit": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
- "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
- "dev": true,
- "requires": {
- "p-limit": "^2.0.0"
- }
- },
- "p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "dev": true
- },
- "pkg-dir": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
- "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
- "dev": true,
- "requires": {
- "find-up": "^3.0.0"
- }
- }
- }
- },
"imurmurhash": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
@@ -5332,13 +4042,10 @@
"dev": true
},
"indent-string": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
- "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
- "dev": true,
- "requires": {
- "repeating": "^2.0.0"
- }
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
+ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
+ "dev": true
},
"indexof": {
"version": "0.0.1",
@@ -5375,26 +4082,67 @@
"dev": true
},
"inquirer": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.0.tgz",
- "integrity": "sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz",
+ "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==",
"dev": true,
"requires": {
"ansi-escapes": "^4.2.1",
- "chalk": "^2.4.2",
+ "chalk": "^3.0.0",
"cli-cursor": "^3.1.0",
"cli-width": "^2.0.0",
"external-editor": "^3.0.3",
"figures": "^3.0.0",
"lodash": "^4.17.15",
"mute-stream": "0.0.8",
- "run-async": "^2.2.0",
- "rxjs": "^6.4.0",
+ "run-async": "^2.4.0",
+ "rxjs": "^6.5.3",
"string-width": "^4.1.0",
- "strip-ansi": "^5.1.0",
+ "strip-ansi": "^6.0.0",
"through": "^2.3.6"
},
"dependencies": {
+ "ansi-regex": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
"emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
@@ -5408,34 +4156,36 @@
"dev": true
},
"string-width": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.1.0.tgz",
- "integrity": "sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"dev": true,
"requires": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^5.2.0"
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
}
}
}
},
- "internal-ip": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz",
- "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==",
- "dev": true,
- "requires": {
- "default-gateway": "^4.2.0",
- "ipaddr.js": "^1.9.0"
- }
- },
- "interpret": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz",
- "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==",
- "dev": true
- },
"invariant": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
@@ -5445,56 +4195,12 @@
"loose-envify": "^1.0.0"
}
},
- "invert-kv": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
- "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
- "dev": true
- },
"ip": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
"integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
"dev": true
},
- "ip-regex": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz",
- "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=",
- "dev": true
- },
- "ipaddr.js": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz",
- "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==",
- "dev": true
- },
- "is-absolute-url": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz",
- "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==",
- "dev": true
- },
- "is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
"is-arguments": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz",
@@ -5508,75 +4214,30 @@
"dev": true
},
"is-binary-path": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
- "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
"dev": true,
"requires": {
- "binary-extensions": "^1.0.0"
+ "binary-extensions": "^2.0.0"
}
},
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
- "dev": true
- },
"is-callable": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
- "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
+ "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
"dev": true
},
- "is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
"is-date-object": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
"integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
"dev": true
},
- "is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^0.1.6",
- "is-data-descriptor": "^0.1.4",
- "kind-of": "^5.0.0"
- },
- "dependencies": {
- "kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
- "dev": true
- }
- }
- },
- "is-extendable": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+ "is-docker": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz",
+ "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==",
"dev": true
},
"is-extglob": {
@@ -5585,15 +4246,6 @@
"integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
"dev": true
},
- "is-finite": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
- "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
- "dev": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
"is-fullwidth-code-point": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
@@ -5601,14 +4253,20 @@
"dev": true
},
"is-glob": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
- "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
+ "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
"dev": true,
"requires": {
- "is-extglob": "^2.1.0"
+ "is-extglob": "^2.1.1"
}
},
+ "is-lambda": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz",
+ "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=",
+ "dev": true
+ },
"is-module": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
@@ -5616,62 +4274,9 @@
"dev": true
},
"is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
- "is-path-cwd": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz",
- "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==",
- "dev": true
- },
- "is-path-in-cwd": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz",
- "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==",
- "dev": true,
- "requires": {
- "is-path-inside": "^2.1.0"
- }
- },
- "is-path-inside": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz",
- "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==",
- "dev": true,
- "requires": {
- "path-is-inside": "^1.0.2"
- }
- },
- "is-plain-object": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
- "dev": true,
- "requires": {
- "isobject": "^3.0.1"
- }
- },
- "is-promise": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
- "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true
},
"is-reference": {
@@ -5684,18 +4289,18 @@
}
},
"is-regex": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
- "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
+ "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
"dev": true,
"requires": {
- "has": "^1.0.1"
+ "has": "^1.0.3"
}
},
- "is-stream": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "is-string": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz",
+ "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==",
"dev": true
},
"is-symbol": {
@@ -5713,12 +4318,6 @@
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
"dev": true
},
- "is-utf8": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
- "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
- "dev": true
- },
"is-valid-glob": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz",
@@ -5732,10 +4331,13 @@
"dev": true
},
"is-wsl": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.1.1.tgz",
- "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==",
- "dev": true
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+ "dev": true,
+ "requires": {
+ "is-docker": "^2.0.0"
+ }
},
"isarray": {
"version": "1.0.0",
@@ -5744,13 +4346,10 @@
"dev": true
},
"isbinaryfile": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz",
- "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==",
- "dev": true,
- "requires": {
- "buffer-alloc": "^1.2.0"
- }
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.6.tgz",
+ "integrity": "sha512-ORrEy+SNVqUhrCaal4hA4fBzhggQQ+BaLntyPOdoEiwlKZW9BZiJXjg3RMiruE4tPEI3pyVPpySHQF/dKWperg==",
+ "dev": true
},
"isexe": {
"version": "2.0.0",
@@ -5758,124 +4357,31 @@
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
"dev": true
},
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
- "dev": true
- },
"isstream": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
"dev": true
},
- "istanbul": {
- "version": "0.4.5",
- "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz",
- "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=",
- "dev": true,
- "requires": {
- "abbrev": "1.0.x",
- "async": "1.x",
- "escodegen": "1.8.x",
- "esprima": "2.7.x",
- "glob": "^5.0.15",
- "handlebars": "^4.0.1",
- "js-yaml": "3.x",
- "mkdirp": "0.5.x",
- "nopt": "3.x",
- "once": "1.x",
- "resolve": "1.1.x",
- "supports-color": "^3.1.0",
- "which": "^1.1.1",
- "wordwrap": "^1.0.0"
- },
- "dependencies": {
- "escodegen": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",
- "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=",
- "dev": true,
- "requires": {
- "esprima": "^2.7.1",
- "estraverse": "^1.9.1",
- "esutils": "^2.0.2",
- "optionator": "^0.8.1",
- "source-map": "~0.2.0"
- }
- },
- "esprima": {
- "version": "2.7.3",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
- "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
- "dev": true
- },
- "estraverse": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz",
- "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=",
- "dev": true
- },
- "glob": {
- "version": "5.0.15",
- "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
- "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
- "dev": true,
- "requires": {
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "2 || 3",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "resolve": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
- "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
- "dev": true
- },
- "source-map": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz",
- "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=",
- "dev": true,
- "optional": true,
- "requires": {
- "amdefine": ">=0.0.4"
- }
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "dev": true,
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
- }
- },
"istanbul-lib-coverage": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz",
- "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz",
+ "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==",
"dev": true
},
"istanbul-lib-instrument": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz",
- "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.1.tgz",
+ "integrity": "sha512-imIchxnodll7pvQBYOqUu88EufLCU56LMeFPZZM/fJZ1irYcYdqroaV+ACK1Ila8ls09iEYArp+nqyC6lW1Vfg==",
"dev": true,
"requires": {
- "@babel/generator": "^7.4.0",
- "@babel/parser": "^7.4.3",
- "@babel/template": "^7.4.0",
- "@babel/traverse": "^7.4.3",
- "@babel/types": "^7.4.0",
- "istanbul-lib-coverage": "^2.0.5",
- "semver": "^6.0.0"
+ "@babel/core": "^7.7.5",
+ "@babel/parser": "^7.7.5",
+ "@babel/template": "^7.7.4",
+ "@babel/traverse": "^7.7.4",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.0.0",
+ "semver": "^6.3.0"
},
"dependencies": {
"semver": {
@@ -5887,43 +4393,35 @@
}
},
"istanbul-lib-report": {
- "version": "2.0.8",
- "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz",
- "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
+ "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
"dev": true,
"requires": {
- "istanbul-lib-coverage": "^2.0.5",
- "make-dir": "^2.1.0",
- "supports-color": "^6.1.0"
+ "istanbul-lib-coverage": "^3.0.0",
+ "make-dir": "^3.0.0",
+ "supports-color": "^7.1.0"
},
"dependencies": {
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
"supports-color": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
"dev": true,
"requires": {
- "has-flag": "^3.0.0"
+ "has-flag": "^4.0.0"
}
}
}
},
"istanbul-lib-source-maps": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz",
- "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz",
+ "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==",
"dev": true,
"requires": {
"debug": "^4.1.1",
- "istanbul-lib-coverage": "^2.0.5",
- "make-dir": "^2.1.0",
- "rimraf": "^2.6.3",
+ "istanbul-lib-coverage": "^3.0.0",
"source-map": "^0.6.1"
},
"dependencies": {
@@ -5951,12 +4449,13 @@
}
},
"istanbul-reports": {
- "version": "2.2.6",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.6.tgz",
- "integrity": "sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz",
+ "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==",
"dev": true,
"requires": {
- "handlebars": "^4.1.2"
+ "html-escaper": "^2.0.0",
+ "istanbul-lib-report": "^3.0.0"
}
},
"jasmine": {
@@ -6002,12 +4501,6 @@
}
}
},
- "js-levenshtein": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz",
- "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==",
- "dev": true
- },
"js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -6036,10 +4529,10 @@
"integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
"dev": true
},
- "json-parse-better-errors": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
- "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
+ "json-parse-even-better-errors": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.2.0.tgz",
+ "integrity": "sha512-2tLgY7LRNZ9Hd6gmCuBG5/OjRHQpSgJQqJoYyLLOhUgn8LdOYrjaZLcxkWnDads+AD/haWWioPNziXQcgvQJ/g==",
"dev": true
},
"json-schema": {
@@ -6066,19 +4559,21 @@
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
"dev": true
},
- "json3": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz",
- "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==",
- "dev": true
- },
"json5": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz",
- "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
+ "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==",
"dev": true,
"requires": {
- "minimist": "^1.2.0"
+ "minimist": "^1.2.5"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+ "dev": true
+ }
}
},
"jsonfile": {
@@ -6090,6 +4585,12 @@
"graceful-fs": "^4.1.6"
}
},
+ "jsonparse": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
+ "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=",
+ "dev": true
+ },
"jsprim": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
@@ -6103,32 +4604,23 @@
}
},
"jszip": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.2.2.tgz",
- "integrity": "sha512-NmKajvAFQpbg3taXQXr/ccS2wcucR1AZ+NtyWp2Nq7HHVsXhcJFR8p0Baf32C2yVvBylFWVeKf+WI2AnvlPhpA==",
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.4.0.tgz",
+ "integrity": "sha512-gZAOYuPl4EhPTXT0GjhI3o+ZAz3su6EhLrKUoAivcKqyqC7laS5JEv4XWZND9BgcDcF83vI85yGbDmDR6UhrIg==",
"dev": true,
"requires": {
"lie": "~3.3.0",
"pako": "~1.0.2",
"readable-stream": "~2.3.6",
"set-immediate-shim": "~1.0.1"
- },
- "dependencies": {
- "pako": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz",
- "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==",
- "dev": true
- }
}
},
"karma": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/karma/-/karma-4.4.1.tgz",
- "integrity": "sha512-L5SIaXEYqzrh6b1wqYC42tNsFMx2PWuxky84pK9coK09MvmL7mxii3G3bZBh/0rvD27lqDd0le9jyhzvwif73A==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/karma/-/karma-5.0.4.tgz",
+ "integrity": "sha512-UGqTe2LBiGQBXRN+Fygeiq63tbfOX45639SKSbPkLpARwnxROWJZg+froGkpHxr84FXCe8UGCf+1PITM6frT5w==",
"dev": true,
"requires": {
- "bluebird": "^3.3.0",
"body-parser": "^1.16.1",
"braces": "^3.0.2",
"chokidar": "^3.0.0",
@@ -6140,141 +4632,32 @@
"glob": "^7.1.1",
"graceful-fs": "^4.1.2",
"http-proxy": "^1.13.0",
- "isbinaryfile": "^3.0.0",
+ "isbinaryfile": "^4.0.2",
"lodash": "^4.17.14",
"log4js": "^4.0.0",
"mime": "^2.3.1",
"minimatch": "^3.0.2",
- "optimist": "^0.6.1",
"qjobs": "^1.1.4",
"range-parser": "^1.2.0",
"rimraf": "^2.6.0",
- "safe-buffer": "^5.0.1",
"socket.io": "2.1.1",
"source-map": "^0.6.1",
"tmp": "0.0.33",
- "useragent": "2.3.0"
+ "ua-parser-js": "0.7.21",
+ "yargs": "^15.3.1"
},
"dependencies": {
- "anymatch": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
- "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
- "dev": true,
- "requires": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- }
- },
- "binary-extensions": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz",
- "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==",
- "dev": true
- },
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
- "chokidar": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.2.3.tgz",
- "integrity": "sha512-GtrxGuRf6bzHQmXWRepvsGnXpkQkVU+D2/9a7dAe4a7v1NhrfZOZ2oKf76M3nOs46fFYL8D+Q8JYA4GYeJ8Cjw==",
- "dev": true,
- "requires": {
- "anymatch": "~3.1.1",
- "braces": "~3.0.2",
- "fsevents": "~2.1.1",
- "glob-parent": "~5.1.0",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.2.0"
- }
- },
- "fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "fsevents": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.1.tgz",
- "integrity": "sha512-4FRPXWETxtigtJW/gxzEDsX1LVbPAM93VleB83kZB+ellqbHMkyt2aJfuzNLRvFPnGi6bcE5SvfxgbXPeKteJw==",
- "dev": true,
- "optional": true
- },
- "glob-parent": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
- "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
- "dev": true,
- "requires": {
- "is-glob": "^4.0.1"
- }
- },
- "is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "dev": true,
- "requires": {
- "binary-extensions": "^2.0.0"
- }
- },
- "is-glob": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
- "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
- "dev": true,
- "requires": {
- "is-extglob": "^2.1.1"
- }
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true
- },
"mime": {
- "version": "2.4.4",
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz",
- "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==",
+ "version": "2.4.5",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.5.tgz",
+ "integrity": "sha512-3hQhEUF027BuxZjQA3s7rIv/7VCQPa27hN9u9g87sEkWaKwQPuXOkVKtOeiyUrnWqTDiOs8Ed2rwg733mB0R5w==",
"dev": true
},
- "readdirp": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz",
- "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==",
- "dev": true,
- "requires": {
- "picomatch": "^2.0.4"
- }
- },
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
- },
- "to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "requires": {
- "is-number": "^7.0.0"
- }
}
}
},
@@ -6288,45 +4671,41 @@
}
},
"karma-coverage": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.0.1.tgz",
- "integrity": "sha512-SnFkHsnLsaXfxkey51rRN9JDLAEKYW2Lb0qOEvcruukk0NkSNDkjobNDZPt9Ni3kIhLZkLtpGOz661hN7OaZvQ==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.0.2.tgz",
+ "integrity": "sha512-zge5qiGEIKDdzWciQwP4p0LSac4k/L6VfrBsERMUn5mpDvxhv1sPVOrSlpzpi70T7NhuEy4bgnpAKIYuumIMCw==",
"dev": true,
"requires": {
- "dateformat": "^1.0.6",
- "istanbul": "^0.4.0",
- "istanbul-lib-coverage": "^2.0.5",
- "istanbul-lib-instrument": "^3.3.0",
- "istanbul-lib-report": "^2.0.8",
- "istanbul-lib-source-maps": "^3.0.6",
- "istanbul-reports": "^2.2.4",
- "lodash": "^4.17.11",
- "minimatch": "^3.0.0",
- "source-map": "^0.5.1"
+ "istanbul-lib-coverage": "^3.0.0",
+ "istanbul-lib-instrument": "^4.0.1",
+ "istanbul-lib-report": "^3.0.0",
+ "istanbul-lib-source-maps": "^4.0.0",
+ "istanbul-reports": "^3.0.0",
+ "minimatch": "^3.0.4"
}
},
"karma-firefox-launcher": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-1.2.0.tgz",
- "integrity": "sha512-j9Zp8M8+VLq1nI/5xZGfzeaEPtGQ/vk3G+Y8vpmFWLvKLNZ2TDjD6cu2dUu7lDbu1HXNgatsAX4jgCZTkR9qhQ==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-1.3.0.tgz",
+ "integrity": "sha512-Fi7xPhwrRgr+94BnHX0F5dCl1miIW4RHnzjIGxF8GaIEp7rNqX7LSi7ok63VXs3PS/5MQaQMhGxw+bvD+pibBQ==",
"dev": true,
"requires": {
"is-wsl": "^2.1.0"
}
},
"karma-jasmine": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-2.0.1.tgz",
- "integrity": "sha512-iuC0hmr9b+SNn1DaUD2QEYtUxkS1J+bSJSn7ejdEexs7P8EYvA1CWkEdrDQ+8jVH3AgWlCNwjYsT1chjcNW9lA==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-3.1.1.tgz",
+ "integrity": "sha512-pxBmv5K7IkBRLsFSTOpgiK/HzicQT3mfFF+oHAC7nxMfYKhaYFgxOa5qjnHW4sL5rUnmdkSajoudOnnOdPyW4Q==",
"dev": true,
"requires": {
- "jasmine-core": "^3.3"
+ "jasmine-core": "^3.5.0"
}
},
"karma-sauce-launcher": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-2.0.2.tgz",
- "integrity": "sha512-jLUFaJhHMcKpxFWUesyWYihzM5FvQiJsDwGcCtKeOy2lsWhkVw0V0Byqb1d+wU6myU1mribBtsIcub23HS4kWA==",
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-4.1.4.tgz",
+ "integrity": "sha512-ZKVAYs2QHDDO1wiYU4L2V4dUdo7Dqvllt2ScA3Yq2vizIYGlXDn62PCbLFfEZTHuwIr/YS1JUgSMohEC/wHJ5w==",
"dev": true,
"requires": {
"sauce-connect-launcher": "^1.2.4",
@@ -6334,33 +4713,27 @@
"selenium-webdriver": "^4.0.0-alpha.1"
}
},
- "killable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz",
- "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==",
+ "lcov-parse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-1.0.0.tgz",
+ "integrity": "sha1-6w1GtUER68VhrLTECO+TY73I9+A=",
"dev": true
},
- "kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "leven": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+ "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
"dev": true
},
- "lcid": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
- "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
+ "levenary": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz",
+ "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==",
"dev": true,
"requires": {
- "invert-kv": "^2.0.0"
+ "leven": "^3.1.0"
}
},
- "lcov-parse": {
- "version": "0.0.10",
- "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz",
- "integrity": "sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=",
- "dev": true
- },
"levn": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
@@ -6392,34 +4765,6 @@
"strip-bom": "^3.0.0"
}
},
- "loader-runner": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
- "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==",
- "dev": true
- },
- "loader-utils": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz",
- "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==",
- "dev": true,
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^2.0.0",
- "json5": "^1.0.1"
- },
- "dependencies": {
- "json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.0"
- }
- }
- }
- },
"locate-path": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
@@ -6436,12 +4781,6 @@
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
"dev": true
},
- "lodash.merge": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
- "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true
- },
"log-driver": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz",
@@ -6478,12 +4817,6 @@
}
}
},
- "loglevel": {
- "version": "1.6.4",
- "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.4.tgz",
- "integrity": "sha512-p0b6mOGKcGa+7nnmKbpzR6qloPbrgLcnio++E+14Vo/XffOGwZtRpUhr8dTH/x2oCMmEoIU0Zwm3ZauhvYD17g==",
- "dev": true
- },
"loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
@@ -6493,16 +4826,6 @@
"js-tokens": "^3.0.0 || ^4.0.0"
}
},
- "loud-rejection": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
- "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
- "dev": true,
- "requires": {
- "currently-unhandled": "^0.4.1",
- "signal-exit": "^3.0.0"
- }
- },
"lru-cache": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
@@ -6513,66 +4836,88 @@
}
},
"magic-string": {
- "version": "0.22.5",
- "resolved": "http://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz",
- "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==",
+ "version": "0.25.7",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
+ "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
"dev": true,
"requires": {
- "vlq": "^0.2.2"
+ "sourcemap-codec": "^1.4.4"
}
},
"make-dir": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
- "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
"dev": true,
"requires": {
- "pify": "^4.0.1",
- "semver": "^5.6.0"
+ "semver": "^6.0.0"
},
"dependencies": {
- "pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true
}
}
},
- "mamacro": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz",
- "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==",
- "dev": true
- },
- "map-age-cleaner": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
- "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
- "dev": true,
- "requires": {
- "p-defer": "^1.0.0"
- }
- },
- "map-cache": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
- "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
- "dev": true
- },
- "map-obj": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
- "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
- "dev": true
- },
- "map-visit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
- "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+ "make-fetch-happen": {
+ "version": "8.0.5",
+ "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.5.tgz",
+ "integrity": "sha512-01z8ZJSvzECQ5XzeUbRY9dDh1h69LHU/dWaZdLwJPIJ4Mi4XjQp+muOsNP0pcqNvINkkl7/KjobEb83sR2Nshw==",
"dev": true,
"requires": {
- "object-visit": "^1.0.0"
+ "agentkeepalive": "^4.1.0",
+ "cacache": "^15.0.0",
+ "http-cache-semantics": "^4.0.4",
+ "http-proxy-agent": "^4.0.1",
+ "https-proxy-agent": "^5.0.0",
+ "is-lambda": "^1.0.1",
+ "lru-cache": "^5.1.1",
+ "minipass": "^3.0.0",
+ "minipass-collect": "^1.0.2",
+ "minipass-fetch": "^1.1.2",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.2",
+ "promise-retry": "^1.1.1",
+ "socks-proxy-agent": "^5.0.0",
+ "ssri": "^8.0.0"
+ },
+ "dependencies": {
+ "agent-base": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.0.tgz",
+ "integrity": "sha512-j1Q7cSCqN+AwrmDd+pzgqc0/NpC655x2bUf5ZjRIO77DcNBFmh+OgRNzF6OKdCC9RSCb19fGd99+bhXFdkRNqw==",
+ "dev": true,
+ "requires": {
+ "debug": "4"
+ }
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "https-proxy-agent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
+ "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
+ "dev": true,
+ "requires": {
+ "agent-base": "6",
+ "debug": "4"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ }
}
},
"matched": {
@@ -6589,68 +4934,12 @@
"resolve-dir": "^1.0.0"
}
},
- "md5.js": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
- "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
- "dev": true,
- "requires": {
- "hash-base": "^3.0.0",
- "inherits": "^2.0.1",
- "safe-buffer": "^5.1.2"
- }
- },
"media-typer": {
"version": "0.3.0",
"resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
"dev": true
},
- "mem": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz",
- "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==",
- "dev": true,
- "requires": {
- "map-age-cleaner": "^0.1.1",
- "mimic-fn": "^2.0.0",
- "p-is-promise": "^2.0.0"
- }
- },
- "memory-fs": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
- "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
- "dev": true,
- "requires": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
- }
- },
- "meow": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
- "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
- "dev": true,
- "requires": {
- "camelcase-keys": "^2.0.0",
- "decamelize": "^1.1.2",
- "loud-rejection": "^1.0.0",
- "map-obj": "^1.0.1",
- "minimist": "^1.1.3",
- "normalize-package-data": "^2.3.4",
- "object-assign": "^4.0.1",
- "read-pkg-up": "^1.0.1",
- "redent": "^1.0.0",
- "trim-newlines": "^1.0.0"
- }
- },
- "merge-descriptors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
- "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
- "dev": true
- },
"merge-source-map": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz",
@@ -6666,43 +4955,6 @@
"integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
"dev": true
},
- "methods": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
- "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
- "dev": true
- },
- "micromatch": {
- "version": "3.1.10",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
- "dev": true,
- "requires": {
- "arr-diff": "^4.0.0",
- "array-unique": "^0.3.2",
- "braces": "^2.3.1",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "extglob": "^2.0.4",
- "fragment-cache": "^0.2.1",
- "kind-of": "^6.0.2",
- "nanomatch": "^1.2.9",
- "object.pick": "^1.3.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.2"
- }
- },
- "miller-rabin": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
- "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
- "dev": true,
- "requires": {
- "bn.js": "^4.0.0",
- "brorand": "^1.0.1"
- }
- },
"mime": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
@@ -6730,18 +4982,6 @@
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
"dev": true
},
- "minimalistic-assert": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
- "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
- "dev": true
- },
- "minimalistic-crypto-utils": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
- "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
- "dev": true
- },
"minimatch": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
@@ -6752,46 +4992,122 @@
}
},
"minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
"dev": true
},
- "mississippi": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
- "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
- "dev": true,
- "requires": {
- "concat-stream": "^1.5.0",
- "duplexify": "^3.4.2",
- "end-of-stream": "^1.1.0",
- "flush-write-stream": "^1.0.0",
- "from2": "^2.1.0",
- "parallel-transform": "^1.1.0",
- "pump": "^3.0.0",
- "pumpify": "^1.3.3",
- "stream-each": "^1.1.0",
- "through2": "^2.0.0"
+ "minipass": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.1.tgz",
+ "integrity": "sha512-UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w==",
+ "dev": true,
+ "requires": {
+ "yallist": "^4.0.0"
+ },
+ "dependencies": {
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ }
}
},
- "mixin-deep": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
- "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
+ "minipass-collect": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
+ "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
+ "dev": true,
+ "requires": {
+ "minipass": "^3.0.0"
+ }
+ },
+ "minipass-fetch": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.2.1.tgz",
+ "integrity": "sha512-ssHt0dkljEDaKmTgQ04DQgx2ag6G2gMPxA5hpcsoeTbfDgRf2fC2gNSRc6kISjD7ckCpHwwQvXxuTBK8402fXg==",
"dev": true,
"requires": {
- "for-in": "^1.0.2",
- "is-extendable": "^1.0.1"
+ "encoding": "^0.1.12",
+ "minipass": "^3.1.0",
+ "minipass-pipeline": "^1.2.2",
+ "minipass-sized": "^1.0.3",
+ "minizlib": "^2.0.0"
},
"dependencies": {
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "minizlib": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.0.tgz",
+ "integrity": "sha512-EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA==",
"dev": true,
"requires": {
- "is-plain-object": "^2.0.4"
+ "minipass": "^3.0.0",
+ "yallist": "^4.0.0"
+ }
+ },
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ }
+ }
+ },
+ "minipass-flush": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
+ "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
+ "dev": true,
+ "requires": {
+ "minipass": "^3.0.0"
+ }
+ },
+ "minipass-json-stream": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz",
+ "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==",
+ "dev": true,
+ "requires": {
+ "jsonparse": "^1.3.1",
+ "minipass": "^3.0.0"
+ }
+ },
+ "minipass-pipeline": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.2.tgz",
+ "integrity": "sha512-3JS5A2DKhD2g0Gg8x3yamO0pj7YeKGwVlDS90pF++kxptwx/F+B//roxf9SqYil5tQo65bijy+dAuAFZmYOouA==",
+ "dev": true,
+ "requires": {
+ "minipass": "^3.0.0"
+ }
+ },
+ "minipass-sized": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz",
+ "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==",
+ "dev": true,
+ "requires": {
+ "minipass": "^3.0.0"
+ }
+ },
+ "minizlib": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz",
+ "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==",
+ "dev": true,
+ "requires": {
+ "minipass": "^2.9.0"
+ },
+ "dependencies": {
+ "minipass": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
+ "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "^5.1.2",
+ "yallist": "^3.0.0"
}
}
}
@@ -6813,18 +5129,21 @@
}
}
},
- "move-concurrently": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
- "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
+ "move-file": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/move-file/-/move-file-2.0.0.tgz",
+ "integrity": "sha512-cdkdhNCgbP5dvS4tlGxZbD+nloio9GIimP57EjqFhwLcMjnU+XJKAZzlmg/TN/AK1LuNAdTSvm3CPPP4Xkv0iQ==",
"dev": true,
"requires": {
- "aproba": "^1.1.1",
- "copy-concurrently": "^1.0.0",
- "fs-write-stream-atomic": "^1.0.8",
- "mkdirp": "^0.5.1",
- "rimraf": "^2.5.4",
- "run-queue": "^1.0.3"
+ "path-exists": "^4.0.0"
+ },
+ "dependencies": {
+ "path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true
+ }
}
},
"ms": {
@@ -6833,54 +5152,12 @@
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true
},
- "multicast-dns": {
- "version": "6.2.3",
- "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz",
- "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==",
- "dev": true,
- "requires": {
- "dns-packet": "^1.3.1",
- "thunky": "^1.0.2"
- }
- },
- "multicast-dns-service-types": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz",
- "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=",
- "dev": true
- },
"mute-stream": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
"integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
"dev": true
},
- "nan": {
- "version": "2.14.0",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
- "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==",
- "dev": true,
- "optional": true
- },
- "nanomatch": {
- "version": "1.2.13",
- "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
- "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
- "dev": true,
- "requires": {
- "arr-diff": "^4.0.0",
- "array-unique": "^0.3.2",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "fragment-cache": "^0.2.1",
- "is-windows": "^1.0.2",
- "kind-of": "^6.0.2",
- "object.pick": "^1.3.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- }
- },
"natural-compare": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
@@ -6893,10 +5170,10 @@
"integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
"dev": true
},
- "neo-async": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz",
- "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==",
+ "next-tick": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
+ "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
"dev": true
},
"nice-try": {
@@ -6905,86 +5182,81 @@
"integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
"dev": true
},
- "node-forge": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz",
- "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==",
- "dev": true
- },
- "node-libs-browser": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
- "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==",
- "dev": true,
- "requires": {
- "assert": "^1.1.1",
- "browserify-zlib": "^0.2.0",
- "buffer": "^4.3.0",
- "console-browserify": "^1.1.0",
- "constants-browserify": "^1.0.0",
- "crypto-browserify": "^3.11.0",
- "domain-browser": "^1.1.1",
- "events": "^3.0.0",
- "https-browserify": "^1.0.0",
- "os-browserify": "^0.3.0",
- "path-browserify": "0.0.1",
- "process": "^0.11.10",
- "punycode": "^1.2.4",
- "querystring-es3": "^0.2.0",
- "readable-stream": "^2.3.3",
- "stream-browserify": "^2.0.1",
- "stream-http": "^2.7.2",
- "string_decoder": "^1.0.0",
- "timers-browserify": "^2.0.4",
- "tty-browserify": "0.0.0",
- "url": "^0.11.0",
- "util": "^0.11.0",
- "vm-browserify": "^1.0.1"
+ "node-gyp": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-6.1.0.tgz",
+ "integrity": "sha512-h4A2zDlOujeeaaTx06r4Vy+8MZ1679lU+wbCKDS4ZtvY2A37DESo37oejIw0mtmR3+rvNwts5B6Kpt1KrNYdNw==",
+ "dev": true,
+ "requires": {
+ "env-paths": "^2.2.0",
+ "glob": "^7.1.4",
+ "graceful-fs": "^4.2.2",
+ "mkdirp": "^0.5.1",
+ "nopt": "^4.0.1",
+ "npmlog": "^4.1.2",
+ "request": "^2.88.0",
+ "rimraf": "^2.6.3",
+ "semver": "^5.7.1",
+ "tar": "^4.4.12",
+ "which": "^1.3.1"
},
"dependencies": {
- "buffer": {
- "version": "4.9.1",
- "resolved": "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
- "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
+ "chownr": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
+ "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
+ "dev": true
+ },
+ "fs-minipass": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz",
+ "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==",
"dev": true,
"requires": {
- "base64-js": "^1.0.2",
- "ieee754": "^1.1.4",
- "isarray": "^1.0.0"
+ "minipass": "^2.6.0"
}
},
- "punycode": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
- "dev": true
+ "minipass": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
+ "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "^5.1.2",
+ "yallist": "^3.0.0"
+ }
+ },
+ "tar": {
+ "version": "4.4.13",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz",
+ "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==",
+ "dev": true,
+ "requires": {
+ "chownr": "^1.1.1",
+ "fs-minipass": "^1.2.5",
+ "minipass": "^2.8.6",
+ "minizlib": "^1.2.1",
+ "mkdirp": "^0.5.0",
+ "safe-buffer": "^5.1.2",
+ "yallist": "^3.0.3"
+ }
}
}
},
"node-releases": {
- "version": "1.1.39",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.39.tgz",
- "integrity": "sha512-8MRC/ErwNCHOlAFycy9OPca46fQYUjbJRDcZTHVWIGXIjYLM73k70vv3WkYutVnM4cCo4hE0MqBVVZjP6vjISA==",
- "dev": true,
- "requires": {
- "semver": "^6.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- }
- }
+ "version": "1.1.53",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.53.tgz",
+ "integrity": "sha512-wp8zyQVwef2hpZ/dJH7SfSrIPD6YoJz6BDQDpGEkcA0s3LpAQoxBIYmfIq6QAhC1DhwsyCgTaTTcONwX8qzCuQ==",
+ "dev": true
},
"nopt": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
- "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
+ "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
"dev": true,
"requires": {
- "abbrev": "1"
+ "abbrev": "1",
+ "osenv": "^0.1.4"
}
},
"normalize-package-data": {
@@ -7005,13 +5277,157 @@
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"dev": true
},
- "npm-run-path": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
- "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "npm-bundled": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz",
+ "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==",
+ "dev": true,
+ "requires": {
+ "npm-normalize-package-bin": "^1.0.1"
+ }
+ },
+ "npm-install-checks": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz",
+ "integrity": "sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==",
+ "dev": true,
+ "requires": {
+ "semver": "^7.1.1"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
+ "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
+ "dev": true
+ }
+ }
+ },
+ "npm-normalize-package-bin": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz",
+ "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==",
+ "dev": true
+ },
+ "npm-package-arg": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.0.1.tgz",
+ "integrity": "sha512-/h5Fm6a/exByzFSTm7jAyHbgOqErl9qSNJDQF32Si/ZzgwT2TERVxRxn3Jurw1wflgyVVAxnFR4fRHPM7y1ClQ==",
"dev": true,
"requires": {
- "path-key": "^2.0.0"
+ "hosted-git-info": "^3.0.2",
+ "semver": "^7.0.0",
+ "validate-npm-package-name": "^3.0.0"
+ },
+ "dependencies": {
+ "hosted-git-info": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.4.tgz",
+ "integrity": "sha512-4oT62d2jwSDBbLLFLZE+1vPuQ1h8p9wjrJ8Mqx5TjsyWmBMV5B13eJqn8pvluqubLf3cJPTfiYCIwNwDNmzScQ==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^5.1.1"
+ }
+ },
+ "semver": {
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
+ "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
+ "dev": true
+ }
+ }
+ },
+ "npm-packlist": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-2.1.1.tgz",
+ "integrity": "sha512-95TSDvGwujIhqfSpIiRRLodEF+y6mJMopuZdahoGzqtRDFZXGav46S0p6ngeWaiAkb5R72w6eVARhzej0HvZeQ==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.6",
+ "ignore-walk": "^3.0.3",
+ "npm-bundled": "^1.1.1",
+ "npm-normalize-package-bin": "^1.0.1"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "7.1.6",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+ "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ }
+ }
+ },
+ "npm-pick-manifest": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.0.tgz",
+ "integrity": "sha512-ygs4k6f54ZxJXrzT0x34NybRlLeZ4+6nECAIbr2i0foTnijtS1TJiyzpqtuUAJOps/hO0tNDr8fRV5g+BtRlTw==",
+ "dev": true,
+ "requires": {
+ "npm-install-checks": "^4.0.0",
+ "npm-package-arg": "^8.0.0",
+ "semver": "^7.0.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
+ "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
+ "dev": true
+ }
+ }
+ },
+ "npm-registry-fetch": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-8.0.0.tgz",
+ "integrity": "sha512-975WwLvZjX97y9UWWQ8nAyr7bw02s9xKPHqvEm5T900LQsB1HXb8Gb9ebYtCBLSX+K8gSOrO5KS/9yV/naLZmQ==",
+ "dev": true,
+ "requires": {
+ "@npmcli/ci-detect": "^1.0.0",
+ "lru-cache": "^5.1.1",
+ "make-fetch-happen": "^8.0.2",
+ "minipass": "^3.0.0",
+ "minipass-fetch": "^1.1.2",
+ "minipass-json-stream": "^1.0.1",
+ "minizlib": "^2.0.0",
+ "npm-package-arg": "^8.0.0"
+ },
+ "dependencies": {
+ "minizlib": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.0.tgz",
+ "integrity": "sha512-EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA==",
+ "dev": true,
+ "requires": {
+ "minipass": "^3.0.0",
+ "yallist": "^4.0.0"
+ }
+ },
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ }
+ }
+ },
+ "npmlog": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
+ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+ "dev": true,
+ "requires": {
+ "are-we-there-yet": "~1.1.2",
+ "console-control-strings": "~1.1.0",
+ "gauge": "~2.7.3",
+ "set-blocking": "~2.0.0"
}
},
"number-is-nan": {
@@ -7020,6 +5436,12 @@
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
"dev": true
},
+ "oauth-sign": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+ "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
+ "dev": true
+ },
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@@ -7032,48 +5454,21 @@
"integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=",
"dev": true
},
- "object-copy": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
- "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
- "dev": true,
- "requires": {
- "copy-descriptor": "^0.1.0",
- "define-property": "^0.2.5",
- "kind-of": "^3.0.3"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
"object-inspect": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz",
- "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==",
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
+ "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
"dev": true
},
"object-is": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz",
- "integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY=",
- "dev": true
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.2.tgz",
+ "integrity": "sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5"
+ }
},
"object-keys": {
"version": "1.1.1",
@@ -7081,15 +5476,6 @@
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
"dev": true
},
- "object-visit": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
- "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
- "dev": true,
- "requires": {
- "isobject": "^3.0.0"
- }
- },
"object.assign": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
@@ -7102,43 +5488,99 @@
"object-keys": "^1.0.11"
}
},
- "object.getownpropertydescriptors": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz",
- "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.2",
- "es-abstract": "^1.5.1"
- }
- },
- "object.pick": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
- "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
- "dev": true,
- "requires": {
- "isobject": "^3.0.1"
- }
- },
"object.values": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz",
- "integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz",
+ "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==",
"dev": true,
"requires": {
"define-properties": "^1.1.3",
- "es-abstract": "^1.12.0",
+ "es-abstract": "^1.17.0-next.1",
"function-bind": "^1.1.1",
"has": "^1.0.3"
+ },
+ "dependencies": {
+ "es-abstract": {
+ "version": "1.17.5",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
+ "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
+ "dev": true,
+ "requires": {
+ "es-to-primitive": "^1.2.1",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1",
+ "is-callable": "^1.1.5",
+ "is-regex": "^1.0.5",
+ "object-inspect": "^1.7.0",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.0",
+ "string.prototype.trimleft": "^2.1.1",
+ "string.prototype.trimright": "^2.1.1"
+ }
+ },
+ "es-to-primitive": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+ "dev": true,
+ "requires": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ }
+ },
+ "has-symbols": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+ "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
+ "dev": true
+ },
+ "is-callable": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
+ "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
+ "dev": true
+ },
+ "is-regex": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
+ "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
+ "object-inspect": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
+ "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
+ "dev": true
+ },
+ "string.prototype.trimleft": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz",
+ "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5",
+ "string.prototype.trimstart": "^1.0.0"
+ }
+ },
+ "string.prototype.trimright": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz",
+ "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5",
+ "string.prototype.trimend": "^1.0.0"
+ }
+ }
}
},
- "obuf": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
- "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==",
- "dev": true
- },
"on-finished": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
@@ -7148,12 +5590,6 @@
"ee-first": "1.1.1"
}
},
- "on-headers": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
- "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
- "dev": true
- },
"once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
@@ -7173,145 +5609,46 @@
}
},
"opener": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/opener/-/opener-1.4.3.tgz",
- "integrity": "sha1-XG2ixdflgx6P+jlklQ+NZnSskLg=",
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz",
+ "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==",
"dev": true
},
- "opn": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz",
- "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==",
- "dev": true,
- "requires": {
- "is-wsl": "^1.1.0"
- },
- "dependencies": {
- "is-wsl": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
- "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
- "dev": true
- }
- }
- },
- "optimist": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
- "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
- "dev": true,
- "requires": {
- "minimist": "~0.0.1",
- "wordwrap": "~0.0.2"
- },
- "dependencies": {
- "minimist": {
- "version": "0.0.10",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
- "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
- "dev": true
- },
- "wordwrap": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
- "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
- "dev": true
- }
- }
- },
"optionator": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
- "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
+ "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
"dev": true,
"requires": {
"deep-is": "~0.1.3",
- "fast-levenshtein": "~2.0.4",
+ "fast-levenshtein": "~2.0.6",
"levn": "~0.3.0",
"prelude-ls": "~1.1.2",
"type-check": "~0.3.2",
- "wordwrap": "~1.0.0"
+ "word-wrap": "~1.2.3"
}
},
- "original": {
+ "os-homedir": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz",
- "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==",
- "dev": true,
- "requires": {
- "url-parse": "^1.4.3"
- }
- },
- "os-browserify": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
- "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
"dev": true
},
- "os-locale": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
- "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
- "dev": true,
- "requires": {
- "execa": "^1.0.0",
- "lcid": "^2.0.0",
- "mem": "^4.0.0"
- },
- "dependencies": {
- "cross-spawn": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
- "dev": true,
- "requires": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- }
- },
- "execa": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
- "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
- "dev": true,
- "requires": {
- "cross-spawn": "^6.0.0",
- "get-stream": "^4.0.0",
- "is-stream": "^1.1.0",
- "npm-run-path": "^2.0.0",
- "p-finally": "^1.0.0",
- "signal-exit": "^3.0.0",
- "strip-eof": "^1.0.0"
- }
- }
- }
- },
"os-tmpdir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
"dev": true
},
- "p-defer": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
- "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
- "dev": true
- },
- "p-finally": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
- "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
- "dev": true
- },
- "p-is-promise": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz",
- "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==",
- "dev": true
+ "osenv": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
+ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
+ "dev": true,
+ "requires": {
+ "os-homedir": "^1.0.0",
+ "os-tmpdir": "^1.0.0"
+ }
},
"p-limit": {
"version": "1.3.0",
@@ -7332,18 +5669,12 @@
}
},
"p-map": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
- "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==",
- "dev": true
- },
- "p-retry": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz",
- "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
+ "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
"dev": true,
"requires": {
- "retry": "^0.12.0"
+ "aggregate-error": "^3.0.0"
}
},
"p-try": {
@@ -7352,23 +5683,56 @@
"integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
"dev": true
},
+ "pacote": {
+ "version": "11.1.8",
+ "resolved": "https://registry.npmjs.org/pacote/-/pacote-11.1.8.tgz",
+ "integrity": "sha512-oBXbdsqA0pnk4lNmWDHMm20uSbZiYCjE0MHeSFG3esxw1mubhSJizVc1rKVI0KMkYTMz4M7OTEqY1h2lx+wbPw==",
+ "dev": true,
+ "requires": {
+ "@npmcli/git": "^2.0.1",
+ "@npmcli/installed-package-contents": "^1.0.5",
+ "@npmcli/promise-spawn": "^1.2.0",
+ "@npmcli/run-script": "^1.3.0",
+ "cacache": "^15.0.3",
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.1.0",
+ "infer-owner": "^1.0.4",
+ "minipass": "^3.0.1",
+ "mkdirp": "^1.0.3",
+ "npm-package-arg": "^8.0.1",
+ "npm-packlist": "^2.1.0",
+ "npm-pick-manifest": "^6.0.0",
+ "npm-registry-fetch": "^8.0.0",
+ "promise-retry": "^1.1.1",
+ "read-package-json-fast": "^1.1.3",
+ "rimraf": "^3.0.2",
+ "ssri": "^8.0.0",
+ "tar": "^6.0.1"
+ },
+ "dependencies": {
+ "mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "dev": true
+ },
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ }
+ }
+ },
"pako": {
- "version": "0.2.9",
- "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz",
- "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=",
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
+ "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
"dev": true
},
- "parallel-transform": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz",
- "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==",
- "dev": true,
- "requires": {
- "cyclist": "^1.0.1",
- "inherits": "^2.0.3",
- "readable-stream": "^2.1.5"
- }
- },
"parent-module": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
@@ -7378,20 +5742,6 @@
"callsites": "^3.0.0"
}
},
- "parse-asn1": {
- "version": "5.1.5",
- "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz",
- "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==",
- "dev": true,
- "requires": {
- "asn1.js": "^4.0.0",
- "browserify-aes": "^1.0.0",
- "create-hash": "^1.1.0",
- "evp_bytestokey": "^1.0.0",
- "pbkdf2": "^3.0.3",
- "safe-buffer": "^5.1.1"
- }
- },
"parse-json": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
@@ -7431,24 +5781,6 @@
"integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
"dev": true
},
- "pascalcase": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
- "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
- "dev": true
- },
- "path-browserify": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
- "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==",
- "dev": true
- },
- "path-dirname": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
- "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
- "dev": true
- },
"path-exists": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
@@ -7461,12 +5793,6 @@
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true
},
- "path-is-inside": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
- "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
- "dev": true
- },
"path-key": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
@@ -7479,34 +5805,13 @@
"integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
"dev": true
},
- "path-to-regexp": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
- "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=",
- "dev": true
- },
"path-type": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
- "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- }
- },
- "pbkdf2": {
- "version": "3.0.17",
- "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz",
- "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
+ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
"dev": true,
"requires": {
- "create-hash": "^1.1.2",
- "create-hmac": "^1.1.4",
- "ripemd160": "^2.0.1",
- "safe-buffer": "^5.0.1",
- "sha.js": "^2.4.8"
+ "pify": "^2.0.0"
}
},
"performance-now": {
@@ -7516,9 +5821,9 @@
"dev": true
},
"picomatch": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.1.0.tgz",
- "integrity": "sha512-uhnEDzAbrcJ8R3g2fANnSuXZMBtkpSjxTTgn2LeSiQlfmq72enQJWdQllXW24MBLYnA1SBD2vfvx2o0Zw3Ielw==",
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
+ "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
"dev": true
},
"pify": {
@@ -7527,47 +5832,52 @@
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
},
- "pinkie": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
- "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
- "dev": true
- },
- "pinkie-promise": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
- "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "pkg-dir": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
+ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
"dev": true,
"requires": {
- "pinkie": "^2.0.0"
+ "find-up": "^2.1.0"
}
},
- "pkg-dir": {
+ "pkg-up": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
- "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
+ "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz",
+ "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=",
"dev": true,
"requires": {
"find-up": "^2.1.0"
}
},
"portfinder": {
- "version": "1.0.19",
- "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.19.tgz",
- "integrity": "sha512-23aeQKW9KgHe6citUrG3r9HjeX6vls0h713TAa+CwTKZwNIr/pD2ApaxYF4Um3ZZyq4ar+Siv3+fhoHaIwSOSw==",
+ "version": "1.0.26",
+ "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.26.tgz",
+ "integrity": "sha512-Xi7mKxJHHMI3rIUrnm/jjUgwhbYMkp/XKEcZX3aG4BrumLpq3nmoQMX+ClYnDZnZ/New7IatC1no5RX0zo1vXQ==",
"dev": true,
"requires": {
- "async": "^1.5.2",
- "debug": "^2.2.0",
- "mkdirp": "0.5.x"
+ "async": "^2.6.2",
+ "debug": "^3.1.1",
+ "mkdirp": "^0.5.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ }
}
},
- "posix-character-classes": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
- "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
- "dev": true
- },
"prelude-ls": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
@@ -7580,12 +5890,6 @@
"integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
"dev": true
},
- "process": {
- "version": "0.11.10",
- "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
- "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
- "dev": true
- },
"process-nextick-args": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
@@ -7604,81 +5908,22 @@
"integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
"dev": true
},
- "proxy-addr": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz",
- "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==",
+ "promise-retry": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz",
+ "integrity": "sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=",
"dev": true,
"requires": {
- "forwarded": "~0.1.2",
- "ipaddr.js": "1.9.0"
+ "err-code": "^1.0.0",
+ "retry": "^0.10.0"
}
},
- "prr": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
- "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
- "dev": true
- },
- "pseudomap": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
- "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
- "dev": true
- },
"psl": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz",
- "integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==",
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
+ "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
"dev": true
},
- "public-encrypt": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
- "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
- "dev": true,
- "requires": {
- "bn.js": "^4.1.0",
- "browserify-rsa": "^4.0.0",
- "create-hash": "^1.1.0",
- "parse-asn1": "^5.0.0",
- "randombytes": "^2.0.1",
- "safe-buffer": "^5.1.2"
- }
- },
- "pump": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
- "dev": true,
- "requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
- "pumpify": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
- "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
- "dev": true,
- "requires": {
- "duplexify": "^3.6.0",
- "inherits": "^2.0.3",
- "pump": "^2.0.0"
- },
- "dependencies": {
- "pump": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
- "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
- "dev": true,
- "requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- }
- }
- },
"punycode": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
@@ -7697,24 +5942,6 @@
"integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
"dev": true
},
- "querystring": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
- "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
- "dev": true
- },
- "querystring-es3": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
- "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
- "dev": true
- },
- "querystringify": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz",
- "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==",
- "dev": true
- },
"quote-stream": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/quote-stream/-/quote-stream-1.0.2.tgz",
@@ -7726,25 +5953,6 @@
"through2": "^2.0.0"
}
},
- "randombytes": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
- "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
- "dev": true,
- "requires": {
- "safe-buffer": "^5.1.0"
- }
- },
- "randomfill": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
- "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
- "dev": true,
- "requires": {
- "randombytes": "^2.0.5",
- "safe-buffer": "^5.1.0"
- }
- },
"range-parser": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
@@ -7761,86 +5969,43 @@
"http-errors": "1.7.2",
"iconv-lite": "0.4.24",
"unpipe": "1.0.0"
- },
- "dependencies": {
- "bytes": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
- "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
- "dev": true
- }
+ }
+ },
+ "read-package-json-fast": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-1.1.3.tgz",
+ "integrity": "sha512-MmFqiyfCXV2Dmm4jH24DEGhxdkUDFivJQj4oPZQPOKywxR7HWBE6WnMWDAapfFHi3wm1b+mhR+XHlUH0CL8axg==",
+ "dev": true,
+ "requires": {
+ "json-parse-even-better-errors": "^2.0.1",
+ "npm-normalize-package-bin": "^1.0.1"
}
},
"read-pkg": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
- "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
+ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
"dev": true,
"requires": {
- "load-json-file": "^1.0.0",
+ "load-json-file": "^2.0.0",
"normalize-package-data": "^2.3.2",
- "path-type": "^1.0.0"
- },
- "dependencies": {
- "load-json-file": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
- "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^2.2.0",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0",
- "strip-bom": "^2.0.0"
- }
- },
- "strip-bom": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
- "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
- "dev": true,
- "requires": {
- "is-utf8": "^0.2.0"
- }
- }
+ "path-type": "^2.0.0"
}
},
"read-pkg-up": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
- "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
+ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
"dev": true,
"requires": {
- "find-up": "^1.0.0",
- "read-pkg": "^1.0.0"
- },
- "dependencies": {
- "find-up": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
- "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
- "dev": true,
- "requires": {
- "path-exists": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- }
- },
- "path-exists": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
- "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
- "dev": true,
- "requires": {
- "pinkie-promise": "^2.0.0"
- }
- }
+ "find-up": "^2.0.0",
+ "read-pkg": "^2.0.0"
}
},
"readable-stream": {
- "version": "2.3.6",
- "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
"dev": true,
"requires": {
"core-util-is": "~1.0.0",
@@ -7852,25 +6017,25 @@
"util-deprecate": "~1.0.1"
}
},
- "readdirp": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
- "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
+ "readdir-scoped-modules": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz",
+ "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==",
"dev": true,
"requires": {
- "graceful-fs": "^4.1.11",
- "micromatch": "^3.1.10",
- "readable-stream": "^2.0.2"
+ "debuglog": "^1.0.1",
+ "dezalgo": "^1.0.0",
+ "graceful-fs": "^4.1.2",
+ "once": "^1.3.0"
}
},
- "redent": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
- "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
+ "readdirp": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz",
+ "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==",
"dev": true,
"requires": {
- "indent-string": "^2.1.0",
- "strip-indent": "^1.0.1"
+ "picomatch": "^2.2.1"
}
},
"regenerate": {
@@ -7880,46 +6045,38 @@
"dev": true
},
"regenerate-unicode-properties": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz",
- "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==",
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz",
+ "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==",
"dev": true,
"requires": {
"regenerate": "^1.4.0"
}
},
"regenerator-runtime": {
- "version": "0.13.3",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",
- "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==",
+ "version": "0.13.5",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz",
+ "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==",
"dev": true
},
"regenerator-transform": {
- "version": "0.14.1",
- "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz",
- "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==",
- "dev": true,
- "requires": {
- "private": "^0.1.6"
- }
- },
- "regex-not": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
- "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+ "version": "0.14.4",
+ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.4.tgz",
+ "integrity": "sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==",
"dev": true,
"requires": {
- "extend-shallow": "^3.0.2",
- "safe-regex": "^1.1.0"
+ "@babel/runtime": "^7.8.4",
+ "private": "^0.1.8"
}
},
"regexp.prototype.flags": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz",
- "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz",
+ "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==",
"dev": true,
"requires": {
- "define-properties": "^1.1.2"
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.0-next.1"
}
},
"regexpp": {
@@ -7929,17 +6086,17 @@
"dev": true
},
"regexpu-core": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz",
- "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==",
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz",
+ "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==",
"dev": true,
"requires": {
"regenerate": "^1.4.0",
- "regenerate-unicode-properties": "^8.1.0",
- "regjsgen": "^0.5.0",
- "regjsparser": "^0.6.0",
+ "regenerate-unicode-properties": "^8.2.0",
+ "regjsgen": "^0.5.1",
+ "regjsparser": "^0.6.4",
"unicode-match-property-ecmascript": "^1.0.4",
- "unicode-match-property-value-ecmascript": "^1.1.0"
+ "unicode-match-property-value-ecmascript": "^1.2.0"
}
},
"regjsgen": {
@@ -7949,9 +6106,9 @@
"dev": true
},
"regjsparser": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz",
- "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==",
+ "version": "0.6.4",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz",
+ "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==",
"dev": true,
"requires": {
"jsesc": "~0.5.0"
@@ -7965,37 +6122,10 @@
}
}
},
- "remove-trailing-separator": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
- "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
- "dev": true
- },
- "repeat-element": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
- "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
- "dev": true
- },
- "repeat-string": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
- "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
- "dev": true
- },
- "repeating": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
- "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
- "dev": true,
- "requires": {
- "is-finite": "^1.0.0"
- }
- },
"request": {
- "version": "2.88.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
- "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
+ "version": "2.88.2",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
+ "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
"dev": true,
"requires": {
"aws-sign2": "~0.7.0",
@@ -8005,7 +6135,7 @@
"extend": "~3.0.2",
"forever-agent": "~0.6.1",
"form-data": "~2.3.2",
- "har-validator": "~5.1.0",
+ "har-validator": "~5.1.3",
"http-signature": "~1.2.0",
"is-typedarray": "~1.0.0",
"isstream": "~0.1.2",
@@ -8015,49 +6145,9 @@
"performance-now": "^2.1.0",
"qs": "~6.5.2",
"safe-buffer": "^5.1.2",
- "tough-cookie": "~2.4.3",
+ "tough-cookie": "~2.5.0",
"tunnel-agent": "^0.6.0",
"uuid": "^3.3.2"
- },
- "dependencies": {
- "extend": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
- "dev": true
- },
- "har-validator": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
- "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
- "dev": true,
- "requires": {
- "ajv": "^6.5.5",
- "har-schema": "^2.0.0"
- }
- },
- "oauth-sign": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
- "dev": true
- },
- "punycode": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
- "dev": true
- },
- "tough-cookie": {
- "version": "2.4.3",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
- "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
- "dev": true,
- "requires": {
- "psl": "^1.1.24",
- "punycode": "^1.4.1"
- }
- }
}
},
"require-directory": {
@@ -8087,23 +6177,6 @@
"path-parse": "^1.0.6"
}
},
- "resolve-cwd": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
- "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
- "dev": true,
- "requires": {
- "resolve-from": "^3.0.0"
- },
- "dependencies": {
- "resolve-from": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
- "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
- "dev": true
- }
- }
- },
"resolve-dir": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
@@ -8120,12 +6193,6 @@
"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
"dev": true
},
- "resolve-url": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
- "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
- "dev": true
- },
"restore-cursor": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
@@ -8145,16 +6212,10 @@
"browserify-optional": "^1.0.0"
}
},
- "ret": {
- "version": "0.1.15",
- "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
- "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
- "dev": true
- },
"retry": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
- "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=",
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz",
+ "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=",
"dev": true
},
"rfdc": {
@@ -8172,158 +6233,58 @@
"glob": "^7.1.3"
}
},
- "ripemd160": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
- "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
- "dev": true,
- "requires": {
- "hash-base": "^3.0.0",
- "inherits": "^2.0.1"
- }
- },
"rollup": {
- "version": "1.26.2",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.26.2.tgz",
- "integrity": "sha512-TLM8hlYP85TFFptYlXmr2VnhCLA8GaYXG4LBdWsHu9oBH/Wm5MMPAE9wsAnohfV21Dqq0ZvRHdmsKXomshaDSg==",
+ "version": "2.7.6",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.7.6.tgz",
+ "integrity": "sha512-AdHosxHBKyBsdtbT1/AqbWNQ87O4SSxS4N9iMwEpoCDAT6e4Du3uJSy83mp3ckgmCxly5VeXGx0WHsm21Djytg==",
"dev": true,
"requires": {
- "@types/estree": "*",
- "@types/node": "*",
- "acorn": "^7.1.0"
- },
- "dependencies": {
- "acorn": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz",
- "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==",
- "dev": true
- }
- }
- },
- "rollup-plugin-babel": {
- "version": "4.3.3",
- "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.3.3.tgz",
- "integrity": "sha512-tKzWOCmIJD/6aKNz0H1GMM+lW1q9KyFubbWzGiOG540zxPPifnEAHTZwjo0g991Y+DyOZcLqBgqOdqazYE5fkw==",
- "dev": true,
- "requires": {
- "@babel/helper-module-imports": "^7.0.0",
- "rollup-pluginutils": "^2.8.1"
- }
- },
- "rollup-plugin-commonjs": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.1.0.tgz",
- "integrity": "sha512-jlXbjZSQg8EIeAAvepNwhJj++qJWNJw1Cl0YnOqKtP5Djx+fFGkp3WRh+W0ASCaFG5w1jhmzDxgu3SJuVxPF4Q==",
- "dev": true,
- "requires": {
- "estree-walker": "^0.6.1",
- "is-reference": "^1.1.2",
- "magic-string": "^0.25.2",
- "resolve": "^1.11.0",
- "rollup-pluginutils": "^2.8.1"
- },
- "dependencies": {
- "magic-string": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.4.tgz",
- "integrity": "sha512-oycWO9nEVAP2RVPbIoDoA4Y7LFIJ3xRYov93gAyJhZkET1tNuB0u7uWkZS2LpBWTJUWnmau/To8ECWRC+jKNfw==",
- "dev": true,
- "requires": {
- "sourcemap-codec": "^1.4.4"
- }
- }
+ "fsevents": "~2.1.2"
}
},
"rollup-plugin-filesize": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/rollup-plugin-filesize/-/rollup-plugin-filesize-6.2.1.tgz",
- "integrity": "sha512-JQ2+NMoka81lCR2caGWyngqMKpvJCl7EkFYU7A+T0dA7U1Aml13FW5Ky0aiZIeU3/13cjsKQLRr35SQVmk6i/A==",
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-filesize/-/rollup-plugin-filesize-8.0.2.tgz",
+ "integrity": "sha512-PcOYHPvpRh2sYWLX/1XbaLcRZ//rqwihl9iBiJWWo39XiyQlWv5623XWoXM9PjYcxP1q+7L7hjmlqzNx4kptlw==",
"dev": true,
"requires": {
- "boxen": "^4.1.0",
+ "boxen": "^4.2.0",
"brotli-size": "4.0.0",
- "colors": "^1.3.3",
- "filesize": "^4.1.2",
+ "colors": "^1.4.0",
+ "filesize": "^6.1.0",
"gzip-size": "^5.1.1",
- "lodash.merge": "^4.6.2",
- "terser": "^4.1.3"
- }
- },
- "rollup-plugin-multi-entry": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/rollup-plugin-multi-entry/-/rollup-plugin-multi-entry-2.1.0.tgz",
- "integrity": "sha512-YVVsI15uvbxMKdeYS5NXQa5zbVr/DYdDBBwseC80+KAc7mqDUjM6Qe4wl+jFucVw1yvBDZFk0PPSBZqoLq8xUA==",
- "dev": true,
- "requires": {
- "matched": "^1.0.2"
- }
- },
- "rollup-plugin-node-resolve": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz",
- "integrity": "sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw==",
- "dev": true,
- "requires": {
- "@types/resolve": "0.0.8",
- "builtin-modules": "^3.1.0",
- "is-module": "^1.0.0",
- "resolve": "^1.11.1",
- "rollup-pluginutils": "^2.8.1"
+ "pacote": "^11.1.6",
+ "terser": "^4.6.12"
}
},
"rollup-plugin-terser": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.1.2.tgz",
- "integrity": "sha512-sWKBCOS+vUkRtHtEiJPAf+WnBqk/C402fBD9AVHxSIXMqjsY7MnYWKYEUqGixtr0c8+1DjzUEPlNgOYQPVrS1g==",
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.3.0.tgz",
+ "integrity": "sha512-XGMJihTIO3eIBsVGq7jiNYOdDMb3pVxuzY0uhOE/FM4x/u9nQgr3+McsjzqBn3QfHIpNSZmFnpoKAwHBEcsT7g==",
"dev": true,
"requires": {
- "@babel/code-frame": "^7.0.0",
- "jest-worker": "^24.6.0",
- "rollup-pluginutils": "^2.8.1",
- "serialize-javascript": "^1.7.0",
- "terser": "^4.1.0"
- }
- },
- "rollup-plugin-uglify": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/rollup-plugin-uglify/-/rollup-plugin-uglify-6.0.3.tgz",
- "integrity": "sha512-PIv3CfhZJlOG8C85N0GX+uK09TPggmAS6Nk6fpp2ELzDAV5VUhNzOURDU2j7+MwuRr0zq9IZttUTADc/jH8Gkg==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "jest-worker": "^24.0.0",
- "serialize-javascript": "^1.9.0",
- "uglify-js": "^3.4.9"
- }
- },
- "rollup-plugin-uglify-es": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/rollup-plugin-uglify-es/-/rollup-plugin-uglify-es-0.0.1.tgz",
- "integrity": "sha1-5FZE8raFpZq9uTY0ByB6A6e1qbc=",
- "dev": true,
- "requires": {
- "uglify-es": "3.0.3"
+ "@babel/code-frame": "^7.5.5",
+ "jest-worker": "^24.9.0",
+ "rollup-pluginutils": "^2.8.2",
+ "serialize-javascript": "^2.1.2",
+ "terser": "^4.6.2"
},
"dependencies": {
- "commander": {
- "version": "2.9.0",
- "resolved": "http://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
- "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=",
- "dev": true,
- "requires": {
- "graceful-readlink": ">= 1.0.0"
- }
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
},
- "uglify-es": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.0.3.tgz",
- "integrity": "sha1-Y8yEqpRos0lzpIh3h8ZMAaiodXY=",
+ "terser": {
+ "version": "4.6.13",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.13.tgz",
+ "integrity": "sha512-wMvqukYgVpQlymbnNbabVZbtM6PN63AzqexpwJL8tbh/mRT9LE5o+ruVduAGL7D6Fpjl+Q+06U5I9Ul82odAhw==",
"dev": true,
"requires": {
- "commander": "~2.9.0",
- "source-map": "~0.5.1",
- "uglify-to-browserify": "~1.0.0"
+ "commander": "^2.20.0",
+ "source-map": "~0.6.1",
+ "source-map-support": "~0.5.12"
}
}
}
@@ -8338,27 +6299,15 @@
}
},
"run-async": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
- "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
- "dev": true,
- "requires": {
- "is-promise": "^2.1.0"
- }
- },
- "run-queue": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
- "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
- "dev": true,
- "requires": {
- "aproba": "^1.1.1"
- }
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
+ "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
+ "dev": true
},
"rxjs": {
- "version": "6.5.3",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
- "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
+ "version": "6.5.5",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz",
+ "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==",
"dev": true,
"requires": {
"tslib": "^1.9.0"
@@ -8370,15 +6319,6 @@
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
"dev": true
},
- "safe-regex": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
- "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
- "dev": true,
- "requires": {
- "ret": "~0.1.10"
- }
- },
"safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
@@ -8396,17 +6336,6 @@
"https-proxy-agent": "^3.0.0",
"lodash": "^4.16.6",
"rimraf": "^2.5.4"
- },
- "dependencies": {
- "async": {
- "version": "2.6.3",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
- "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
- "dev": true,
- "requires": {
- "lodash": "^4.17.14"
- }
- }
}
},
"saucelabs": {
@@ -8451,33 +6380,36 @@
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
"dev": true
},
- "schema-utils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
- "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+ "scope-analyzer": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/scope-analyzer/-/scope-analyzer-2.1.1.tgz",
+ "integrity": "sha512-azEAihtQ9mEyZGhfgTJy3IbOWEzeOrYbg7NcYEshPKnKd+LZmC3TNd5dmDxbLBsTG/JVWmCp+vDJ03vJjeXMHg==",
"dev": true,
"requires": {
- "ajv": "^6.1.0",
- "ajv-errors": "^1.0.0",
- "ajv-keywords": "^3.1.0"
+ "array-from": "^2.1.1",
+ "dash-ast": "^1.0.0",
+ "es6-map": "^0.1.5",
+ "es6-set": "^0.1.5",
+ "es6-symbol": "^3.1.1",
+ "estree-is-function": "^1.0.0",
+ "get-assigned-identifiers": "^1.1.0"
}
},
- "select-hose": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
- "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=",
+ "secure-compare": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz",
+ "integrity": "sha1-8aAymzCLIh+uN7mXTz1XjQypmeM=",
"dev": true
},
"selenium-webdriver": {
- "version": "4.0.0-alpha.5",
- "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.0.0-alpha.5.tgz",
- "integrity": "sha512-hktl3DSrhzM59yLhWzDGHIX9o56DvA+cVK7Dw6FcJR6qQ4CGzkaHeXQPcdrslkWMTeq0Ci9AmCxq0EMOvm2Rkg==",
+ "version": "4.0.0-alpha.7",
+ "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.0.0-alpha.7.tgz",
+ "integrity": "sha512-D4qnTsyTr91jT8f7MfN+OwY0IlU5+5FmlO5xlgRUV6hDEV8JyYx2NerdTEqDDkNq7RZDYc4VoPALk8l578RBHw==",
"dev": true,
"requires": {
- "jszip": "^3.1.5",
- "rimraf": "^2.6.3",
- "tmp": "0.0.30",
- "xml2js": "^0.4.19"
+ "jszip": "^3.2.2",
+ "rimraf": "^2.7.1",
+ "tmp": "0.0.30"
},
"dependencies": {
"tmp": {
@@ -8491,109 +6423,18 @@
}
}
},
- "selfsigned": {
- "version": "1.10.7",
- "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz",
- "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==",
- "dev": true,
- "requires": {
- "node-forge": "0.9.0"
- }
- },
"semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"dev": true
},
- "send": {
- "version": "0.17.1",
- "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
- "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
- "dev": true,
- "requires": {
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "destroy": "~1.0.4",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "fresh": "0.5.2",
- "http-errors": "~1.7.2",
- "mime": "1.6.0",
- "ms": "2.1.1",
- "on-finished": "~2.3.0",
- "range-parser": "~1.2.1",
- "statuses": "~1.5.0"
- },
- "dependencies": {
- "ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
- "dev": true
- }
- }
- },
"serialize-javascript": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz",
- "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz",
+ "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==",
"dev": true
},
- "serve-index": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
- "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=",
- "dev": true,
- "requires": {
- "accepts": "~1.3.4",
- "batch": "0.6.1",
- "debug": "2.6.9",
- "escape-html": "~1.0.3",
- "http-errors": "~1.6.2",
- "mime-types": "~2.1.17",
- "parseurl": "~1.3.2"
- },
- "dependencies": {
- "http-errors": {
- "version": "1.6.3",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
- "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
- "dev": true,
- "requires": {
- "depd": "~1.1.2",
- "inherits": "2.0.3",
- "setprototypeof": "1.1.0",
- "statuses": ">= 1.4.0 < 2"
- }
- },
- "inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
- "dev": true
- },
- "setprototypeof": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
- "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
- "dev": true
- }
- }
- },
- "serve-static": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
- "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
- "dev": true,
- "requires": {
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "parseurl": "~1.3.3",
- "send": "0.17.1"
- }
- },
"set-blocking": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
@@ -8606,51 +6447,12 @@
"integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
"dev": true
},
- "set-value": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
- "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
- "dev": true,
- "requires": {
- "extend-shallow": "^2.0.1",
- "is-extendable": "^0.1.1",
- "is-plain-object": "^2.0.3",
- "split-string": "^3.0.1"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
- }
- },
- "setimmediate": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
- "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
- "dev": true
- },
"setprototypeof": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
"integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==",
"dev": true
},
- "sha.js": {
- "version": "2.4.11",
- "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
- "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
- },
"shallow-copy": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz",
@@ -8673,9 +6475,9 @@
"dev": true
},
"signal-exit": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
- "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
+ "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
"dev": true
},
"slice-ansi": {
@@ -8689,112 +6491,11 @@
"is-fullwidth-code-point": "^2.0.0"
}
},
- "snapdragon": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
- "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
- "dev": true,
- "requires": {
- "base": "^0.11.1",
- "debug": "^2.2.0",
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "map-cache": "^0.2.2",
- "source-map": "^0.5.6",
- "source-map-resolve": "^0.5.0",
- "use": "^3.1.0"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
- }
- },
- "snapdragon-node": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
- "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
- "dev": true,
- "requires": {
- "define-property": "^1.0.0",
- "isobject": "^3.0.0",
- "snapdragon-util": "^3.0.1"
- },
- "dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^1.0.0"
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
- }
- },
- "snapdragon-util": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
- "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
- "dev": true,
- "requires": {
- "kind-of": "^3.2.0"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
+ "smart-buffer": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz",
+ "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==",
+ "dev": true
},
"socket.io": {
"version": "2.1.1",
@@ -8822,9 +6523,9 @@
}
},
"socket.io-adapter": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz",
- "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz",
+ "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==",
"dev": true
},
"socket.io-client": {
@@ -8849,12 +6550,6 @@
"to-array": "0.1.4"
},
"dependencies": {
- "component-emitter": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
- "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
- "dev": true
- },
"debug": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
@@ -8877,12 +6572,6 @@
"isarray": "2.0.1"
},
"dependencies": {
- "component-emitter": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
- "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
- "dev": true
- },
"debug": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
@@ -8900,46 +6589,43 @@
}
}
},
- "sockjs": {
- "version": "0.3.19",
- "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz",
- "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==",
+ "socks": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz",
+ "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==",
"dev": true,
"requires": {
- "faye-websocket": "^0.10.0",
- "uuid": "^3.0.1"
+ "ip": "1.1.5",
+ "smart-buffer": "^4.1.0"
}
},
- "sockjs-client": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz",
- "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==",
+ "socks-proxy-agent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.0.tgz",
+ "integrity": "sha512-lEpa1zsWCChxiynk+lCycKuC502RxDWLKJZoIhnxrWNjLSDGYRFflHA1/228VkRcnv9TIb8w98derGbpKxJRgA==",
"dev": true,
"requires": {
- "debug": "^3.2.5",
- "eventsource": "^1.0.7",
- "faye-websocket": "~0.11.1",
- "inherits": "^2.0.3",
- "json3": "^3.3.2",
- "url-parse": "^1.4.3"
+ "agent-base": "6",
+ "debug": "4",
+ "socks": "^2.3.3"
},
"dependencies": {
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "agent-base": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.0.tgz",
+ "integrity": "sha512-j1Q7cSCqN+AwrmDd+pzgqc0/NpC655x2bUf5ZjRIO77DcNBFmh+OgRNzF6OKdCC9RSCb19fGd99+bhXFdkRNqw==",
"dev": true,
"requires": {
- "ms": "^2.1.1"
+ "debug": "4"
}
},
- "faye-websocket": {
- "version": "0.11.3",
- "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz",
- "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==",
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
"dev": true,
"requires": {
- "websocket-driver": ">=0.5.1"
+ "ms": "^2.1.1"
}
},
"ms": {
@@ -8950,31 +6636,12 @@
}
}
},
- "source-list-map": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
- "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
- "dev": true
- },
"source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
},
- "source-map-resolve": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
- "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
- "dev": true,
- "requires": {
- "atob": "^2.1.1",
- "decode-uri-component": "^0.2.0",
- "resolve-url": "^0.2.1",
- "source-map-url": "^0.4.0",
- "urix": "^0.1.0"
- }
- },
"source-map-support": {
"version": "0.5.16",
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz",
@@ -8993,16 +6660,10 @@
}
}
},
- "source-map-url": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
- "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
- "dev": true
- },
"sourcemap-codec": {
- "version": "1.4.6",
- "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz",
- "integrity": "sha512-1ZooVLYFxC448piVLBbtOxFcXwnymH9oUF8nRd3CuYDVvkRBxRl6pB4Mtas5a4drtL+E8LDgFkQNcgIw6tc8Hg==",
+ "version": "1.4.8",
+ "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
+ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
"dev": true
},
"spdx-correct": {
@@ -9016,9 +6677,9 @@
}
},
"spdx-exceptions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
- "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
+ "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
"dev": true
},
"spdx-expression-parse": {
@@ -9037,87 +6698,6 @@
"integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==",
"dev": true
},
- "spdy": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.1.tgz",
- "integrity": "sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==",
- "dev": true,
- "requires": {
- "debug": "^4.1.0",
- "handle-thing": "^2.0.0",
- "http-deceiver": "^1.2.7",
- "select-hose": "^2.0.0",
- "spdy-transport": "^3.0.0"
- },
- "dependencies": {
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- }
- }
- },
- "spdy-transport": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz",
- "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==",
- "dev": true,
- "requires": {
- "debug": "^4.1.0",
- "detect-node": "^2.0.4",
- "hpack.js": "^2.1.6",
- "obuf": "^1.1.2",
- "readable-stream": "^3.0.6",
- "wbuf": "^1.7.3"
- },
- "dependencies": {
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- },
- "readable-stream": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz",
- "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- }
- }
- },
- "split-string": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
- "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
- "dev": true,
- "requires": {
- "extend-shallow": "^3.0.0"
- }
- },
"sprintf-js": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
@@ -9142,71 +6722,53 @@
}
},
"ssri": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
- "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.0.tgz",
+ "integrity": "sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA==",
"dev": true,
"requires": {
- "figgy-pudding": "^3.5.1"
+ "minipass": "^3.1.1"
}
},
"static-eval": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz",
- "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==",
- "dev": true,
- "requires": {
- "escodegen": "^1.8.1"
- }
- },
- "static-extend": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
- "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.5.tgz",
+ "integrity": "sha512-nNbV6LbGtMBgv7e9LFkt5JV8RVlRsyJrphfAt9tOtBBW/SfnzZDf2KnS72an8e434A+9e/BmJuTxeGPvrAK7KA==",
"dev": true,
"requires": {
- "define-property": "^0.2.5",
- "object-copy": "^0.1.0"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- }
+ "escodegen": "^1.11.1"
}
},
"static-module": {
- "version": "2.2.5",
- "resolved": "https://registry.npmjs.org/static-module/-/static-module-2.2.5.tgz",
- "integrity": "sha512-D8vv82E/Kpmz3TXHKG8PPsCPg+RAX6cbCOyvjM6x04qZtQ47EtJFVwRsdov3n5d6/6ynrOY9XB4JkaZwB2xoRQ==",
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/static-module/-/static-module-3.0.4.tgz",
+ "integrity": "sha512-gb0v0rrgpBkifXCa3yZXxqVmXDVE+ETXj6YlC/jt5VzOnGXR2C15+++eXuMDUYsePnbhf+lwW0pE1UXyOLtGCw==",
"dev": true,
"requires": {
+ "acorn-node": "^1.3.0",
"concat-stream": "~1.6.0",
"convert-source-map": "^1.5.1",
"duplexer2": "~0.1.4",
- "escodegen": "~1.9.0",
- "falafel": "^2.1.0",
+ "escodegen": "^1.11.1",
"has": "^1.0.1",
- "magic-string": "^0.22.4",
+ "magic-string": "0.25.1",
"merge-source-map": "1.0.4",
- "object-inspect": "~1.4.0",
- "quote-stream": "~1.0.2",
+ "object-inspect": "^1.6.0",
"readable-stream": "~2.3.3",
+ "scope-analyzer": "^2.0.1",
"shallow-copy": "~0.0.1",
- "static-eval": "^2.0.0",
+ "static-eval": "^2.0.5",
"through2": "~2.0.3"
},
"dependencies": {
- "object-inspect": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.4.1.tgz",
- "integrity": "sha512-wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw==",
- "dev": true
+ "magic-string": {
+ "version": "0.25.1",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.1.tgz",
+ "integrity": "sha512-sCuTz6pYom8Rlt4ISPFn6wuFodbKMIHUMv4Qko9P17dpxb7s52KJTmRuZZqHdGmLCK9AOcDare039nRIcfdkEg==",
+ "dev": true,
+ "requires": {
+ "sourcemap-codec": "^1.4.1"
+ }
}
}
},
@@ -9216,45 +6778,6 @@
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
"dev": true
},
- "stream-browserify": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
- "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
- "dev": true,
- "requires": {
- "inherits": "~2.0.1",
- "readable-stream": "^2.0.2"
- }
- },
- "stream-each": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
- "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
- "dev": true,
- "requires": {
- "end-of-stream": "^1.1.0",
- "stream-shift": "^1.0.0"
- }
- },
- "stream-http": {
- "version": "2.8.3",
- "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
- "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
- "dev": true,
- "requires": {
- "builtin-status-codes": "^3.0.0",
- "inherits": "^2.0.1",
- "readable-stream": "^2.3.6",
- "to-arraybuffer": "^1.0.0",
- "xtend": "^4.0.0"
- }
- },
- "stream-shift": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
- "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=",
- "dev": true
- },
"streamroller": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/streamroller/-/streamroller-1.0.6.tgz",
@@ -9268,15 +6791,6 @@
"lodash": "^4.17.14"
},
"dependencies": {
- "async": {
- "version": "2.6.3",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
- "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
- "dev": true,
- "requires": {
- "lodash": "^4.17.14"
- }
- },
"debug": {
"version": "3.2.6",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
@@ -9305,24 +6819,208 @@
"strip-ansi": "^5.1.0"
}
},
+ "string.prototype.trimend": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz",
+ "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5"
+ },
+ "dependencies": {
+ "es-abstract": {
+ "version": "1.17.5",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
+ "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
+ "dev": true,
+ "requires": {
+ "es-to-primitive": "^1.2.1",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1",
+ "is-callable": "^1.1.5",
+ "is-regex": "^1.0.5",
+ "object-inspect": "^1.7.0",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.0",
+ "string.prototype.trimleft": "^2.1.1",
+ "string.prototype.trimright": "^2.1.1"
+ }
+ },
+ "es-to-primitive": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+ "dev": true,
+ "requires": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ }
+ },
+ "has-symbols": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+ "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
+ "dev": true
+ },
+ "is-callable": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
+ "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
+ "dev": true
+ },
+ "is-regex": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
+ "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
+ "object-inspect": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
+ "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
+ "dev": true
+ },
+ "string.prototype.trimleft": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz",
+ "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5",
+ "string.prototype.trimstart": "^1.0.0"
+ }
+ },
+ "string.prototype.trimright": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz",
+ "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5",
+ "string.prototype.trimend": "^1.0.0"
+ }
+ }
+ }
+ },
"string.prototype.trimleft": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz",
- "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz",
+ "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==",
"dev": true,
"requires": {
"define-properties": "^1.1.3",
- "function-bind": "^1.1.1"
+ "es-abstract": "^1.17.5",
+ "string.prototype.trimstart": "^1.0.0"
}
},
"string.prototype.trimright": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz",
- "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz",
+ "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==",
"dev": true,
"requires": {
"define-properties": "^1.1.3",
- "function-bind": "^1.1.1"
+ "es-abstract": "^1.17.5",
+ "string.prototype.trimend": "^1.0.0"
+ }
+ },
+ "string.prototype.trimstart": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz",
+ "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5"
+ },
+ "dependencies": {
+ "es-abstract": {
+ "version": "1.17.5",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
+ "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
+ "dev": true,
+ "requires": {
+ "es-to-primitive": "^1.2.1",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1",
+ "is-callable": "^1.1.5",
+ "is-regex": "^1.0.5",
+ "object-inspect": "^1.7.0",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.0",
+ "string.prototype.trimleft": "^2.1.1",
+ "string.prototype.trimright": "^2.1.1"
+ }
+ },
+ "es-to-primitive": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+ "dev": true,
+ "requires": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ }
+ },
+ "has-symbols": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+ "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
+ "dev": true
+ },
+ "is-callable": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
+ "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
+ "dev": true
+ },
+ "is-regex": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
+ "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
+ "object-inspect": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
+ "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
+ "dev": true
+ },
+ "string.prototype.trimleft": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz",
+ "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5",
+ "string.prototype.trimstart": "^1.0.0"
+ }
+ },
+ "string.prototype.trimright": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz",
+ "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5",
+ "string.prototype.trimend": "^1.0.0"
+ }
+ }
}
},
"string_decoder": {
@@ -9349,25 +7047,10 @@
"integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
"dev": true
},
- "strip-eof": {
- "version": "1.0.0",
- "resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
- "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
- "dev": true
- },
- "strip-indent": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
- "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
- "dev": true,
- "requires": {
- "get-stdin": "^4.0.1"
- }
- },
"strip-json-comments": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz",
- "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.0.tgz",
+ "integrity": "sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==",
"dev": true
},
"supports-color": {
@@ -9388,13 +7071,12 @@
}
},
"svgdom": {
- "version": "0.0.21",
- "resolved": "https://registry.npmjs.org/svgdom/-/svgdom-0.0.21.tgz",
- "integrity": "sha512-uTtDg/X7fpMKwpG1WC0eQUzqebHcNkpJoH0ZQEe13801+y4UK2Jtl21zlCvCD+OMoC17nkeMGUG2rDPjRcPNHQ==",
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/svgdom/-/svgdom-0.1.3.tgz",
+ "integrity": "sha512-qVZGdM6oVTNd0z+T83sN/Y+gGuuAMDyKqBpq9H2c2oa/PDA83THScKXhL9YL5rhTg6CP5d5yJhdbhnpBqx7XhQ==",
"dev": true,
"requires": {
"fontkit": "^1.5.4",
- "gl-matrix": "^2.3.2",
"image-size": "^0.5.1",
"sax": "^1.2.2"
}
@@ -9411,66 +7093,61 @@
"string-width": "^3.0.0"
}
},
- "tapable": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
- "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
- "dev": true
- },
- "term-size": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.1.0.tgz",
- "integrity": "sha512-I42EWhJ+2aeNQawGx1VtpO0DFI9YcfuvAMNIdKyf/6sRbHJ4P+ZQ/zIT87tE+ln1ymAGcCJds4dolfSAS0AcNg==",
- "dev": true
- },
- "terser": {
- "version": "4.3.9",
- "resolved": "https://registry.npmjs.org/terser/-/terser-4.3.9.tgz",
- "integrity": "sha512-NFGMpHjlzmyOtPL+fDw3G7+6Ueh/sz4mkaUYa4lJCxOPTNzd0Uj0aZJOmsDYoSQyfuVoWDMSWTPU3huyOm2zdA==",
+ "tar": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.2.tgz",
+ "integrity": "sha512-Glo3jkRtPcvpDlAs/0+hozav78yoXKFr+c4wgw62NNMO3oo4AaJdCo21Uu7lcwr55h39W2XD1LMERc64wtbItg==",
"dev": true,
"requires": {
- "commander": "^2.20.0",
- "source-map": "~0.6.1",
- "source-map-support": "~0.5.12"
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "minipass": "^3.0.0",
+ "minizlib": "^2.1.0",
+ "mkdirp": "^1.0.3",
+ "yallist": "^4.0.0"
},
"dependencies": {
- "commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ "minizlib": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.0.tgz",
+ "integrity": "sha512-EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA==",
+ "dev": true,
+ "requires": {
+ "minipass": "^3.0.0",
+ "yallist": "^4.0.0"
+ }
+ },
+ "mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
"dev": true
},
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
}
}
},
- "terser-webpack-plugin": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz",
- "integrity": "sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==",
+ "term-size": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.0.tgz",
+ "integrity": "sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw==",
+ "dev": true
+ },
+ "terser": {
+ "version": "4.6.13",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.13.tgz",
+ "integrity": "sha512-wMvqukYgVpQlymbnNbabVZbtM6PN63AzqexpwJL8tbh/mRT9LE5o+ruVduAGL7D6Fpjl+Q+06U5I9Ul82odAhw==",
"dev": true,
"requires": {
- "cacache": "^12.0.2",
- "find-cache-dir": "^2.1.0",
- "is-wsl": "^1.1.0",
- "schema-utils": "^1.0.0",
- "serialize-javascript": "^1.7.0",
- "source-map": "^0.6.1",
- "terser": "^4.1.2",
- "webpack-sources": "^1.4.0",
- "worker-farm": "^1.7.0"
+ "commander": "^2.20.0",
+ "source-map": "~0.6.1",
+ "source-map-support": "~0.5.12"
},
"dependencies": {
- "is-wsl": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
- "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
- "dev": true
- },
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -9501,25 +7178,10 @@
"xtend": "~4.0.1"
}
},
- "thunky": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
- "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==",
- "dev": true
- },
- "timers-browserify": {
- "version": "2.0.11",
- "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz",
- "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==",
- "dev": true,
- "requires": {
- "setimmediate": "^1.0.4"
- }
- },
"tiny-inflate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.2.tgz",
- "integrity": "sha1-k9nez/yIBb1X6uQxDwt0Xptvs6c=",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz",
+ "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==",
"dev": true
},
"tmp": {
@@ -9537,58 +7199,19 @@
"integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=",
"dev": true
},
- "to-arraybuffer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
- "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
- "dev": true
- },
"to-fast-properties": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
"integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
"dev": true
},
- "to-object-path": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
- "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
- "to-regex": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
- "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
- "dev": true,
- "requires": {
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "regex-not": "^1.0.2",
- "safe-regex": "^1.1.0"
- }
- },
"to-regex-range": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
- "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true,
"requires": {
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1"
+ "is-number": "^7.0.0"
}
},
"toidentifier": {
@@ -9597,22 +7220,20 @@
"integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
"dev": true
},
- "trim-newlines": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
- "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
- "dev": true
+ "tough-cookie": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
+ "dev": true,
+ "requires": {
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ }
},
"tslib": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
- "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==",
- "dev": true
- },
- "tty-browserify": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
- "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz",
+ "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==",
"dev": true
},
"tunnel-agent": {
@@ -9630,6 +7251,12 @@
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
"dev": true
},
+ "type": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
+ "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==",
+ "dev": true
+ },
"type-check": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
@@ -9640,9 +7267,9 @@
}
},
"type-fest": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.5.2.tgz",
- "integrity": "sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw==",
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
"dev": true
},
"type-is": {
@@ -9667,30 +7294,11 @@
"integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==",
"dev": true
},
- "uglify-js": {
- "version": "3.4.9",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz",
- "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==",
- "dev": true,
- "requires": {
- "commander": "~2.17.1",
- "source-map": "~0.6.1"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
- }
- },
- "uglify-to-browserify": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
- "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
- "dev": true,
- "optional": true
+ "ua-parser-js": {
+ "version": "0.7.21",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.21.tgz",
+ "integrity": "sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==",
+ "dev": true
},
"ultron": {
"version": "1.1.1",
@@ -9715,25 +7323,31 @@
}
},
"unicode-match-property-value-ecmascript": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz",
- "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz",
+ "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==",
"dev": true
},
"unicode-properties": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/unicode-properties/-/unicode-properties-1.2.2.tgz",
- "integrity": "sha512-+WhsOj19c93rPymvnPnFisbgFzrI4LjTV8ejMcCCfwS0XhdllZB4NsMFiYb4xUmpn3+aj3PM40h+wlzoG7PCnQ==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/unicode-properties/-/unicode-properties-1.3.1.tgz",
+ "integrity": "sha512-nIV3Tf3LcUEZttY/2g4ZJtGXhWwSkuLL+rCu0DIAMbjyVPj+8j5gNVz4T/sVbnQybIsd5SFGkPKg/756OY6jlA==",
"dev": true,
"requires": {
"base64-js": "^1.3.0",
- "unicode-trie": "^1.0.0"
+ "unicode-trie": "^2.0.0"
},
"dependencies": {
+ "pako": {
+ "version": "0.2.9",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz",
+ "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=",
+ "dev": true
+ },
"unicode-trie": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-1.0.0.tgz",
- "integrity": "sha512-v5raLKsobbFbWLMoX9+bChts/VhPPj3XpkNr/HbqkirXR1DPk8eo9IYKyvk0MQZFkaoRsFj2Rmaqgi2rfAZYtA==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz",
+ "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==",
"dev": true,
"requires": {
"pako": "^0.2.5",
@@ -9743,9 +7357,9 @@
}
},
"unicode-property-aliases-ecmascript": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz",
- "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz",
+ "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==",
"dev": true
},
"unicode-trie": {
@@ -9756,35 +7370,23 @@
"requires": {
"pako": "^0.2.5",
"tiny-inflate": "^1.0.0"
- }
- },
- "union": {
- "version": "0.4.6",
- "resolved": "https://registry.npmjs.org/union/-/union-0.4.6.tgz",
- "integrity": "sha1-GY+9rrolTniLDvy2MLwR8kopWeA=",
- "dev": true,
- "requires": {
- "qs": "~2.3.3"
},
"dependencies": {
- "qs": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/qs/-/qs-2.3.3.tgz",
- "integrity": "sha1-6eha2+ddoLvkyOBHaghikPhjtAQ=",
+ "pako": {
+ "version": "0.2.9",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz",
+ "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=",
"dev": true
}
}
},
- "union-value": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
- "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
+ "union": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz",
+ "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==",
"dev": true,
"requires": {
- "arr-union": "^3.1.0",
- "get-value": "^2.0.6",
- "is-extendable": "^0.1.1",
- "set-value": "^2.0.1"
+ "qs": "^6.4.0"
}
},
"unique-filename": {
@@ -9817,52 +7419,6 @@
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
"dev": true
},
- "unset-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
- "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
- "dev": true,
- "requires": {
- "has-value": "^0.3.1",
- "isobject": "^3.0.0"
- },
- "dependencies": {
- "has-value": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
- "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
- "dev": true,
- "requires": {
- "get-value": "^2.0.3",
- "has-values": "^0.1.4",
- "isobject": "^2.0.0"
- },
- "dependencies": {
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "dev": true,
- "requires": {
- "isarray": "1.0.0"
- }
- }
- }
- },
- "has-values": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
- "dev": true
- }
- }
- },
- "upath": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
- "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
- "dev": true
- },
"uri-js": {
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
@@ -9872,113 +7428,18 @@
"punycode": "^2.1.0"
}
},
- "urix": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
- "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
- "dev": true
- },
- "url": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
- "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
- "dev": true,
- "requires": {
- "punycode": "1.3.2",
- "querystring": "0.2.0"
- },
- "dependencies": {
- "punycode": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
- "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
- "dev": true
- }
- }
- },
"url-join": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/url-join/-/url-join-2.0.5.tgz",
"integrity": "sha1-WvIvGMBSoACkjXuCxenC4v7tpyg=",
"dev": true
},
- "url-parse": {
- "version": "1.4.7",
- "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz",
- "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==",
- "dev": true,
- "requires": {
- "querystringify": "^2.1.1",
- "requires-port": "^1.0.0"
- }
- },
- "use": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
- "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
- "dev": true
- },
- "useragent": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz",
- "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==",
- "dev": true,
- "requires": {
- "lru-cache": "4.1.x",
- "tmp": "0.0.x"
- },
- "dependencies": {
- "lru-cache": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
- "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
- "dev": true,
- "requires": {
- "pseudomap": "^1.0.2",
- "yallist": "^2.1.2"
- }
- },
- "yallist": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
- "dev": true
- }
- }
- },
- "util": {
- "version": "0.11.1",
- "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
- "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
- "dev": true,
- "requires": {
- "inherits": "2.0.3"
- },
- "dependencies": {
- "inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
- "dev": true
- }
- }
- },
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
"dev": true
},
- "util.promisify": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz",
- "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.2",
- "object.getownpropertydescriptors": "^2.0.3"
- }
- },
"utils-merge": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
@@ -9986,15 +7447,15 @@
"dev": true
},
"uuid": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz",
- "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==",
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
"dev": true
},
"v8-compile-cache": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz",
- "integrity": "sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz",
+ "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==",
"dev": true
},
"validate-npm-package-license": {
@@ -10007,11 +7468,14 @@
"spdx-expression-parse": "^3.0.0"
}
},
- "vary": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
- "dev": true
+ "validate-npm-package-name": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz",
+ "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=",
+ "dev": true,
+ "requires": {
+ "builtins": "^1.0.3"
+ }
},
"verror": {
"version": "1.10.0",
@@ -10024,627 +7488,160 @@
"extsprintf": "^1.2.0"
}
},
- "vlq": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz",
- "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==",
- "dev": true
- },
- "vm-browserify": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz",
- "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==",
- "dev": true
- },
"void-elements": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
"integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
"dev": true
},
- "watchpack": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz",
- "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==",
- "dev": true,
- "requires": {
- "chokidar": "^2.0.2",
- "graceful-fs": "^4.1.2",
- "neo-async": "^2.5.0"
- }
- },
- "wbuf": {
- "version": "1.7.3",
- "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz",
- "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==",
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
"dev": true,
"requires": {
- "minimalistic-assert": "^1.0.0"
+ "isexe": "^2.0.0"
}
},
- "webpack": {
- "version": "4.41.2",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.2.tgz",
- "integrity": "sha512-Zhw69edTGfbz9/8JJoyRQ/pq8FYUoY0diOXqW0T6yhgdhCv6wr0hra5DwwWexNRns2Z2+gsnrNcbe9hbGBgk/A==",
- "dev": true,
- "requires": {
- "@webassemblyjs/ast": "1.8.5",
- "@webassemblyjs/helper-module-context": "1.8.5",
- "@webassemblyjs/wasm-edit": "1.8.5",
- "@webassemblyjs/wasm-parser": "1.8.5",
- "acorn": "^6.2.1",
- "ajv": "^6.10.2",
- "ajv-keywords": "^3.4.1",
- "chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^4.1.0",
- "eslint-scope": "^4.0.3",
- "json-parse-better-errors": "^1.0.2",
- "loader-runner": "^2.4.0",
- "loader-utils": "^1.2.3",
- "memory-fs": "^0.4.1",
- "micromatch": "^3.1.10",
- "mkdirp": "^0.5.1",
- "neo-async": "^2.6.1",
- "node-libs-browser": "^2.2.1",
- "schema-utils": "^1.0.0",
- "tapable": "^1.1.3",
- "terser-webpack-plugin": "^1.4.1",
- "watchpack": "^1.6.0",
- "webpack-sources": "^1.4.1"
- },
- "dependencies": {
- "acorn": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz",
- "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==",
- "dev": true
- }
- }
+ "which-module": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+ "dev": true
},
- "webpack-cli": {
- "version": "3.3.10",
- "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.10.tgz",
- "integrity": "sha512-u1dgND9+MXaEt74sJR4PR7qkPxXUSQ0RXYq8x1L6Jg1MYVEmGPrH6Ah6C4arD4r0J1P5HKjRqpab36k0eIzPqg==",
+ "wide-align": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
+ "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
"dev": true,
"requires": {
- "chalk": "2.4.2",
- "cross-spawn": "6.0.5",
- "enhanced-resolve": "4.1.0",
- "findup-sync": "3.0.0",
- "global-modules": "2.0.0",
- "import-local": "2.0.0",
- "interpret": "1.2.0",
- "loader-utils": "1.2.3",
- "supports-color": "6.1.0",
- "v8-compile-cache": "2.0.3",
- "yargs": "13.2.4"
+ "string-width": "^1.0.2 || 2"
},
"dependencies": {
- "cross-spawn": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
- "dev": true,
- "requires": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- }
- },
- "enhanced-resolve": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz",
- "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "memory-fs": "^0.4.0",
- "tapable": "^1.0.0"
- }
- },
- "find-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
- "dev": true,
- "requires": {
- "locate-path": "^3.0.0"
- }
- },
- "global-modules": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
- "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
- "dev": true,
- "requires": {
- "global-prefix": "^3.0.0"
- }
- },
- "global-prefix": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
- "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
- "dev": true,
- "requires": {
- "ini": "^1.3.5",
- "kind-of": "^6.0.2",
- "which": "^1.3.1"
- }
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
- "locate-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
- "dev": true,
- "requires": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
- }
- },
- "p-limit": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
- "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
+ "ansi-regex": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
- "dev": true,
- "requires": {
- "p-limit": "^2.0.0"
- }
- },
- "p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
"dev": true
},
- "supports-color": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
"dev": true,
"requires": {
- "has-flag": "^3.0.0"
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^4.0.0"
}
},
- "yargs": {
- "version": "13.2.4",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz",
- "integrity": "sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==",
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
"dev": true,
"requires": {
- "cliui": "^5.0.0",
- "find-up": "^3.0.0",
- "get-caller-file": "^2.0.1",
- "os-locale": "^3.1.0",
- "require-directory": "^2.1.1",
- "require-main-filename": "^2.0.0",
- "set-blocking": "^2.0.0",
- "string-width": "^3.0.0",
- "which-module": "^2.0.0",
- "y18n": "^4.0.0",
- "yargs-parser": "^13.1.0"
+ "ansi-regex": "^3.0.0"
}
}
}
},
- "webpack-dev-middleware": {
- "version": "3.7.2",
- "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz",
- "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==",
- "dev": true,
- "requires": {
- "memory-fs": "^0.4.1",
- "mime": "^2.4.4",
- "mkdirp": "^0.5.1",
- "range-parser": "^1.2.1",
- "webpack-log": "^2.0.0"
- },
- "dependencies": {
- "mime": {
- "version": "2.4.4",
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz",
- "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==",
- "dev": true
- }
- }
- },
- "webpack-dev-server": {
- "version": "3.9.0",
- "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.9.0.tgz",
- "integrity": "sha512-E6uQ4kRrTX9URN9s/lIbqTAztwEPdvzVrcmHE8EQ9YnuT9J8Es5Wrd8n9BKg1a0oZ5EgEke/EQFgUsp18dSTBw==",
+ "widest-line": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz",
+ "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==",
"dev": true,
"requires": {
- "ansi-html": "0.0.7",
- "bonjour": "^3.5.0",
- "chokidar": "^2.1.8",
- "compression": "^1.7.4",
- "connect-history-api-fallback": "^1.6.0",
- "debug": "^4.1.1",
- "del": "^4.1.1",
- "express": "^4.17.1",
- "html-entities": "^1.2.1",
- "http-proxy-middleware": "0.19.1",
- "import-local": "^2.0.0",
- "internal-ip": "^4.3.0",
- "ip": "^1.1.5",
- "is-absolute-url": "^3.0.3",
- "killable": "^1.0.1",
- "loglevel": "^1.6.4",
- "opn": "^5.5.0",
- "p-retry": "^3.0.1",
- "portfinder": "^1.0.25",
- "schema-utils": "^1.0.0",
- "selfsigned": "^1.10.7",
- "semver": "^6.3.0",
- "serve-index": "^1.9.1",
- "sockjs": "0.3.19",
- "sockjs-client": "1.4.0",
- "spdy": "^4.0.1",
- "strip-ansi": "^3.0.1",
- "supports-color": "^6.1.0",
- "url": "^0.11.0",
- "webpack-dev-middleware": "^3.7.2",
- "webpack-log": "^2.0.0",
- "ws": "^6.2.1",
- "yargs": "12.0.5"
+ "string-width": "^4.0.0"
},
"dependencies": {
"ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "dev": true
- },
- "async": {
- "version": "2.6.3",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
- "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
- "dev": true,
- "requires": {
- "lodash": "^4.17.14"
- }
- },
- "camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
- "dev": true
- },
- "cliui": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
- "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
- "dev": true,
- "requires": {
- "string-width": "^2.1.1",
- "strip-ansi": "^4.0.0",
- "wrap-ansi": "^2.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- }
- }
- },
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "find-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
- "dev": true,
- "requires": {
- "locate-path": "^3.0.0"
- }
- },
- "get-caller-file": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
- "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
- "dev": true
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
"dev": true
},
- "locate-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
- "dev": true,
- "requires": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
- }
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
- "p-limit": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
- "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
+ "is-fullwidth-code-point": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
- "dev": true,
- "requires": {
- "p-limit": "^2.0.0"
- }
- },
- "p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "dev": true
- },
- "portfinder": {
- "version": "1.0.25",
- "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz",
- "integrity": "sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==",
- "dev": true,
- "requires": {
- "async": "^2.6.2",
- "debug": "^3.1.1",
- "mkdirp": "^0.5.1"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- }
- }
- },
- "require-main-filename": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
- "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
- "dev": true
- },
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true
},
"string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"dev": true,
"requires": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- }
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
}
},
"strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
"dev": true,
"requires": {
- "ansi-regex": "^2.0.0"
- }
- },
- "supports-color": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- },
- "wrap-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
- "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
- "dev": true,
- "requires": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1"
- },
- "dependencies": {
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "dev": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dev": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- }
+ "ansi-regex": "^5.0.0"
}
+ }
+ }
+ },
+ "word-wrap": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+ "dev": true
+ },
+ "wrap-ansi": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+ "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
+ "dev": true
},
- "ws": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
- "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==",
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
"dev": true,
"requires": {
- "async-limiter": "~1.0.0"
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
}
},
- "yargs": {
- "version": "12.0.5",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz",
- "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==",
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
- "cliui": "^4.0.0",
- "decamelize": "^1.2.0",
- "find-up": "^3.0.0",
- "get-caller-file": "^1.0.1",
- "os-locale": "^3.0.0",
- "require-directory": "^2.1.1",
- "require-main-filename": "^1.0.1",
- "set-blocking": "^2.0.0",
- "string-width": "^2.0.0",
- "which-module": "^2.0.0",
- "y18n": "^3.2.1 || ^4.0.0",
- "yargs-parser": "^11.1.1"
+ "color-name": "~1.1.4"
}
},
- "yargs-parser": {
- "version": "11.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz",
- "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==",
- "dev": true,
- "requires": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
- }
- }
- }
- },
- "webpack-log": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz",
- "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==",
- "dev": true,
- "requires": {
- "ansi-colors": "^3.0.0",
- "uuid": "^3.3.2"
- }
- },
- "webpack-sources": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
- "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
- "dev": true,
- "requires": {
- "source-list-map": "^2.0.0",
- "source-map": "~0.6.1"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
- }
- }
- },
- "websocket-driver": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz",
- "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==",
- "dev": true,
- "requires": {
- "http-parser-js": ">=0.4.0 <0.4.11",
- "safe-buffer": ">=5.1.0",
- "websocket-extensions": ">=0.1.1"
- }
- },
- "websocket-extensions": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz",
- "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==",
- "dev": true
- },
- "which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- },
- "which-module": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
- "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
- "dev": true
- },
- "widest-line": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz",
- "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==",
- "dev": true,
- "requires": {
- "string-width": "^4.0.0"
- },
- "dependencies": {
+ },
"emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
@@ -10658,44 +7655,27 @@
"dev": true
},
"string-width": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.1.0.tgz",
- "integrity": "sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"dev": true,
"requires": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^5.2.0"
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.0"
}
}
}
},
- "wordwrap": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
- "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
- "dev": true
- },
- "worker-farm": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz",
- "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==",
- "dev": true,
- "requires": {
- "errno": "~0.1.7"
- }
- },
- "wrap-ansi": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
- "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.0",
- "string-width": "^3.0.0",
- "strip-ansi": "^5.0.0"
- }
- },
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
@@ -10722,23 +7702,6 @@
"ultron": "~1.1.0"
}
},
- "xml2js": {
- "version": "0.4.22",
- "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.22.tgz",
- "integrity": "sha512-MWTbxAQqclRSTnehWWe5nMKzI3VmJ8ltiJEco8akcC6j3miOhjjfzKum5sId+CWhfxdOs/1xauYr8/ZDBtQiRw==",
- "dev": true,
- "requires": {
- "sax": ">=0.6.0",
- "util.promisify": "~1.0.0",
- "xmlbuilder": "~11.0.0"
- }
- },
- "xmlbuilder": {
- "version": "11.0.1",
- "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
- "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
- "dev": true
- },
"xmlhttprequest-ssl": {
"version": "1.5.5",
"resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz",
@@ -10764,65 +7727,77 @@
"dev": true
},
"yargs": {
- "version": "14.2.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.0.tgz",
- "integrity": "sha512-/is78VKbKs70bVZH7w4YaZea6xcJWOAwkhbR0CFuZBmYtfTYF0xjGJF43AYd8g2Uii1yJwmS5GR2vBmrc32sbg==",
+ "version": "15.3.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz",
+ "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==",
"dev": true,
"requires": {
- "cliui": "^5.0.0",
+ "cliui": "^6.0.0",
"decamelize": "^1.2.0",
- "find-up": "^3.0.0",
+ "find-up": "^4.1.0",
"get-caller-file": "^2.0.1",
"require-directory": "^2.1.1",
"require-main-filename": "^2.0.0",
"set-blocking": "^2.0.0",
- "string-width": "^3.0.0",
+ "string-width": "^4.2.0",
"which-module": "^2.0.0",
"y18n": "^4.0.0",
- "yargs-parser": "^15.0.0"
+ "yargs-parser": "^18.1.1"
},
"dependencies": {
- "camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "ansi-regex": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
+ "dev": true
+ },
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
"find-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"dev": true,
"requires": {
- "locate-path": "^3.0.0"
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
}
},
- "locate-path": {
+ "is-fullwidth-code-point": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true
+ },
+ "locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dev": true,
"requires": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
+ "p-locate": "^4.1.0"
}
},
"p-limit": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
- "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
"requires": {
"p-try": "^2.0.0"
}
},
"p-locate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dev": true,
"requires": {
- "p-limit": "^2.0.0"
+ "p-limit": "^2.2.0"
}
},
"p-try": {
@@ -10831,34 +7806,42 @@
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
"dev": true
},
- "yargs-parser": {
- "version": "15.0.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.0.tgz",
- "integrity": "sha512-xLTUnCMc4JhxrPEPUYD5IBR1mWCK/aT6+RJ/K29JY2y1vD+FhtgKK0AXRWvI262q3QSffAQuTouFIKUuHX89wQ==",
+ "path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true
+ },
+ "string-width": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
"dev": true,
"requires": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
+ "ansi-regex": "^5.0.0"
}
}
}
},
"yargs-parser": {
- "version": "13.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz",
- "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==",
+ "version": "18.1.3",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
+ "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
"dev": true,
"requires": {
"camelcase": "^5.0.0",
"decamelize": "^1.2.0"
- },
- "dependencies": {
- "camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
- "dev": true
- }
}
},
"yeast": {
diff --git a/package.json b/package.json
index 97bfb9b..f5e3921 100644
--- a/package.json
+++ b/package.json
@@ -19,13 +19,13 @@
"files": [
"/dist",
"/src",
- "/svg.js.d.ts"
+ "/svg.js.d.ts",
+ "/.config"
],
"maintainers": [
{
"name": "Wout Fierens",
- "email": "wout@mick-wout.com",
- "web": "https://svgdotjs.github.io/"
+ "email": "wout@mick-wout.com"
},
{
"name": "Alex Ewerlöf",
@@ -34,7 +34,8 @@
},
{
"name": "Ulrich-Matthias Schäfer",
- "email": "ulima.ums@googlemail.com"
+ "email": "ulima.ums@googlemail.com",
+ "web": "https://svgdotjs.github.io/"
},
{
"name": "Jon Ege Ronnenberg",
@@ -63,64 +64,59 @@
"lint": "npx eslint ./src",
"rollup": "npx rollup -c .config/rollup.config.js",
"server": "npx http-server ./ -d",
- "demo": "run () { cd playgrounds; ../node_modules/.bin/webpack-dev-server --env=$1; }; run",
- "test": "npx karma start .config/karma.conf.js",
+ "test": "npx karma start .config/karma.conf.js || true",
"test:ci": "karma start .config/karma.conf.saucelabs.js",
"test:svgdom": "node -r esm ./spec/runSVGDomTest.js || true",
- "test:es6": "npx karma start .config/karma.es6.js --single-run || true",
"zip": "zip -j dist/svg.js.zip -- LICENSE.txt README.md CHANGELOG.md dist/svg.js dist/svg.js.map dist/svg.min.js dist/svg.min.js.map dist/polyfills.js dist/polyfillsIE.js",
"prepublishOnly": "rm -rf ./dist && npm run build && npm run build:polyfills && npm test",
"postpublish": "npm run zip",
"checkTests": "node spec/checkForAllTests.js"
},
"devDependencies": {
- "@babel/core": "^7.6.4",
- "@babel/plugin-external-helpers": "^7.2.0",
- "@babel/plugin-transform-runtime": "^7.6.2",
- "@babel/polyfill": "^7.6.0",
- "@babel/preset-env": "^7.6.3",
- "@babel/runtime": "^7.6.3",
- "@babel/runtime-corejs2": "^7.6.3",
+ "@babel/core": "^7.9.6",
+ "@babel/plugin-external-helpers": "^7.8.3",
+ "@babel/plugin-transform-classes": "^7.9.5",
+ "@babel/plugin-transform-runtime": "^7.9.6",
+ "@babel/polyfill": "^7.8.7",
+ "@babel/preset-env": "^7.9.6",
+ "@babel/runtime": "^7.9.6",
+ "@babel/runtime-corejs3": "^7.9.6",
+ "@rollup/plugin-babel": "^5.0.0",
+ "@rollup/plugin-commonjs": "^11.1.0",
+ "@rollup/plugin-multi-entry": "^3.0.0",
+ "@rollup/plugin-node-resolve": "^7.1.3",
"@target/custom-event-polyfill": "github:Adobe-Marketing-Cloud/custom-event-polyfill",
- "babel-eslint": "^10.0.3",
- "core-js": "^3.3.6",
- "coveralls": "^3.0.7",
- "eslint": "^6.6.0",
- "eslint-config-standard": "^14.1.0",
- "eslint-plugin-import": "^2.18.2",
- "eslint-plugin-node": "^10.0.0",
+ "babel-eslint": "^10.1.0",
+ "core-js": "^3.6.5",
+ "coveralls": "^3.1.0",
+ "eslint": "^6.8.0",
+ "eslint-config-standard": "^14.1.1",
+ "eslint-plugin-import": "^2.20.2",
+ "eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^4.2.1",
"eslint-plugin-standard": "^4.0.1",
"esm": "^3.2.25",
- "http-server": "^0.11.1",
+ "http-server": "^0.12.3",
"jasmine": "^3.5.0",
"jasmine-core": "^3.5.0",
- "karma": "^4.4.1",
+ "karma": "^5.0.4",
"karma-chrome-launcher": "^3.1.0",
- "karma-coverage": "^2.0.1",
- "karma-firefox-launcher": "^1.2.0",
- "karma-jasmine": "^2.0.1",
- "karma-sauce-launcher": "^2.0.2",
- "rollup": "^1.26.2",
- "rollup-plugin-babel": "^4.3.3",
- "rollup-plugin-commonjs": "^10.1.0",
- "rollup-plugin-filesize": "^6.2.1",
- "rollup-plugin-multi-entry": "^2.1.0",
- "rollup-plugin-node-resolve": "^5.2.0",
- "rollup-plugin-terser": "^5.1.2",
- "rollup-plugin-uglify": "^6.0.3",
- "rollup-plugin-uglify-es": "0.0.1",
- "svgdom": "0.0.21",
+ "karma-coverage": "^2.0.2",
+ "karma-firefox-launcher": "^1.3.0",
+ "karma-jasmine": "^3.1.1",
+ "karma-sauce-launcher": "^4.1.4",
+ "rollup": "^2.7.6",
+ "rollup-plugin-filesize": "^8.0.2",
+ "rollup-plugin-terser": "^5.3.0",
+ "svgdom": "^0.1.3",
"typescript": "^3.8.3",
- "webpack": "^4.41.2",
- "webpack-cli": "^3.3.10",
- "webpack-dev-server": "^3.9.0",
- "yargs": "^14.2.0"
+ "yargs": "^15.3.1"
},
"browserslist": [
"last 1 version",
"> 0.25%",
"not maintained node versions",
"not dead"
- ]
+ ],
+ "dependencies": {}
}
diff --git a/spec/RAFPlugin.js b/spec/RAFPlugin.js
index c644ee4..61eed46 100644
--- a/spec/RAFPlugin.js
+++ b/spec/RAFPlugin.js
@@ -1,3 +1,4 @@
+/* globals jasmine */
/**
* Jasmine RequestAnimationFrame: a set of helpers for testing funcionality
* that uses requestAnimationFrame under the Jasmine BDD framework for JavaScript.
@@ -83,9 +84,4 @@ function RAFPlugin (jasmine) {
jasmine.RequestAnimationFrame = new MockRAF()
}
-// if (!module) {
RAFPlugin(jasmine)
-// } else {
-// module.exports.RAFPlugin = RAFPlugin
-
-// }
diff --git a/spec/SpecRunner.html b/spec/SpecRunner.html
index d5b20af..56a8885 100644
--- a/spec/SpecRunner.html
+++ b/spec/SpecRunner.html
@@ -14,91 +14,14 @@
<link rel="stylesheet" href="fixtures/fixture.css">
- <!-- include source files here... -->
- <script src="../dist/polyfills.js" charset="utf-8"></script>
- <script src="../dist/polyfillsIE.js" charset="utf-8"></script>
- <script src="../dist/svg.js" charset="utf-8"></script>
-
</head>
<body>
- <svg height="0" width="0" id="inlineSVG">
- <defs>
- <linearGradient>
- <stop offset="5%" stop-color="green"/>
- <stop offset="95%" stop-color="gold"/>
- </linearGradient>
- <radialGradient>
- <stop offset="10%" stop-color="gold"/>
- <stop offset="95%" stop-color="green"/>
- </radialGradient>
- </defs>
- <desc>Some description</desc>
- <path id="lineAB" d="M 100 350 l 150 -300" stroke="red" stroke-width="3" fill="none" />
- <path id="lineBC" d="M 250 50 l 150 300" stroke="red" stroke-width="3" fill="none" />
- <path d="M 175 200 l 150 0" stroke="green" stroke-width="3" fill="none" />
- <path d="M 100 350 q 150 -300 300 0" stroke="blue" stroke-width="5" fill="none" />
- <g stroke="black" stroke-width="3" fill="black" id="pointGroup">
- <circle id="pointA" cx="100" cy="350" r="3" />
- <circle id="pointB" cx="250" cy="50" r="3" />
- <circle id="pointC" cx="400" cy="350" r="3" />
- </g>
- <g font-size="30" font="sans-serif" fill="black" stroke="none" text-anchor="middle" id="labelGroup">
- <text x="100" y="350" dx="-30">A</text>
- <text x="250" y="50" dy="-10">B</text>
- <text x="400" y="350" dx="30">C</text>
- </g>
- <polygon points="200,10 250,190 160,210" />
- <polyline points="20,20 40,25 60,40 80,120 120,140 200,180" />
- </svg>
-
<!-- include spec files here... -->
- <script src="spec/adopter.js"></script>
- <script src="spec/arrange.js"></script>
- <script src="spec/array.js"></script>
- <script src="spec/bare.js"></script>
- <script src="spec/boxes.js"></script>
- <script src="spec/circle.js"></script>
- <script src="spec/clip.js"></script>
- <script src="spec/color.js"></script>
- <script src="spec/container.js"></script>
- <script src="spec/defs.js"></script>
- <script src="spec/doc.js"></script>
- <script src="spec/easing.js"></script>
- <script src="spec/element.js"></script>
- <script src="spec/ellipse.js"></script>
- <script src="spec/event.js"></script>
- <script src="spec/fx.js"></script>
- <script src="spec/gradient.js"></script>
- <script src="spec/helper.js"></script>
- <script src="spec/image.js"></script>
- <script src="spec/line.js"></script>
- <script src="spec/mask.js"></script>
- <script src="spec/matrix.js"></script>
- <script src="spec/memory.js"></script>
- <script src="spec/number.js"></script>
- <script src="spec/path.js"></script>
- <script src="spec/pattern.js"></script>
- <script src="spec/point.js"></script>
- <script src="spec/polygon.js"></script>
- <script src="spec/polyline.js"></script>
- <script src="spec/rect.js"></script>
- <script src="spec/regex.js"></script>
- <script src="spec/selector.js"></script>
- <script src="spec/sugar.js"></script>
- <script src="spec/svg.js"></script>
- <script src="spec/symbol.js"></script>
- <script src="spec/textpath.js"></script>
- <script src="spec/transformations.js"></script>
- <script src="spec/use.js"></script>
- <script src="spec/utils.js"></script>
- <script src="spec/morphing.js"></script>
- <script src="spec/animator.js"></script>
- <script src="spec/runner.js"></script>
- <script src="spec/queue.js"></script>
- <script src="spec/timeline.js"></script>
+ <script src="../dist/polyfillsIE.js"></script>
+ <script src="es5TestBundle.js"></script>
</body>
</html>
diff --git a/spec/spec/adopter.js b/spec/spec/adopter.js
deleted file mode 100644
index 05c1517..0000000
--- a/spec/spec/adopter.js
+++ /dev/null
@@ -1,79 +0,0 @@
-describe('Adopter', function() {
- var path, polyline, polygon, linearGradient, radialGradient
-
- beforeEach(function() {
- path = SVG('#lineAB')
- polyline = SVG('#inlineSVG').find('polyline')[0]
- polygon = SVG('#inlineSVG').find('polygon')[0]
- linearGradient = SVG('#inlineSVG').find('linearGradient')[0]
- radialGradient = SVG('#inlineSVG').find('radialGradient')[0]
- })
-
- describe('with SVG.Svg instance', function() {
- it('adopts the main svg document when parent() method is called on first level children', function() {
- expect(path.parent() instanceof SVG.Svg).toBeTruthy()
- })
- it('defines a xmlns attribute', function() {
- expect(path.parent().node.getAttribute('xmlns')).toBe(SVG.namespaces.ns)
- })
- it('defines a version attribute', function() {
- expect(path.parent().node.getAttribute('version')).toBe('1.1')
- })
- it('defines a xmlns:xlink attribute', function() {
- expect(path.parent().node.getAttribute('xmlns:xlink')).toBe(SVG.namespaces.xlink)
- })
- it('initializes a defs node', function() {
- expect(path.defs() instanceof SVG.Defs).toBe(true)
- })
- })
-
- describe('with SVG.Path instance', function() {
- it('adopts an exiting path element', function() {
- expect(path instanceof SVG.Path).toBeTruthy()
- })
- it('modifies an adopted element', function() {
- path.fill('#f06')
- expect(path.node.getAttribute('fill')).toBe('#ff0066')
- })
- it('parses d attribute to SVG.PathArray', function() {
- expect(path.array() instanceof SVG.PathArray).toBeTruthy()
- })
- })
-
- describe('with SVG.Polyline instance', function() {
- it('parses points attribute to SVG.PointArray', function() {
- expect(polyline.array() instanceof SVG.PointArray).toBeTruthy()
- })
- })
-
- describe('with SVG.Polygon instance', function() {
- it('parses points attribute to SVG.PointArray', function() {
- expect(polygon.array() instanceof SVG.PointArray).toBeTruthy()
- })
- })
-
- describe('with linear SVG.Gradient instance', function() {
- it('is instance of SVG.Gradient', function() {
- expect(linearGradient instanceof SVG.Gradient).toBeTruthy()
- })
- it('has type of linearGradient', function() {
- expect(linearGradient.type).toBe('linearGradient') // actually it should be 'linear'. see #606
- })
- })
-
- describe('with radial SVG.Gradient instance', function() {
- it('is instance of SVG.Gradient', function() {
- expect(radialGradient instanceof SVG.Gradient).toBeTruthy()
- })
- it('has type of radialGradient', function() {
- expect(radialGradient.type).toBe('radialGradient') // actually it should be 'radial'. see #606
- })
- })
-
- describe('with node that has no matching svg.js class', function() {
- it('wraps the node in the Dom class', function() {
- var desc = SVG('#inlineSVG').find('desc')[0]
- expect(desc instanceof SVG.Dom).toBeTruthy()
- })
- })
-})
diff --git a/spec/spec/animation/Morphable.js b/spec/spec/animation/Morphable.js
index f703f97..510398c 100644
--- a/spec/spec/animation/Morphable.js
+++ b/spec/spec/animation/Morphable.js
@@ -360,5 +360,14 @@ describe('Morphable.js', () => {
expect(bag.valueOf()).toEqual({ fill: objectContaining(new Color()), bar: 2 })
})
})
+
+ describe('align()', () => {
+ it('aligns color spaces between two object bags', () => {
+ const bag1 = new ObjectBag({ x: 1, y: '#fff' })
+ const bag2 = new ObjectBag({ x: 2, y: new Color().hsl() })
+ bag1.align(bag2.toArray())
+ expect(bag1.toArray()).toEqual([ 'x', SVGNumber, 2, 1, '', 'y', Color, 5, 0, 0, 100, 0, 'hsl' ])
+ })
+ })
})
})
diff --git a/spec/spec/animation/Runner.js b/spec/spec/animation/Runner.js
index 08fdbdc..b22bdcc 100644
--- a/spec/spec/animation/Runner.js
+++ b/spec/spec/animation/Runner.js
@@ -1,6 +1,6 @@
/* globals describe, expect, it, beforeEach, afterEach, spyOn, jasmine */
-import { Runner, defaults, Ease, Controller, SVG, Timeline, Rect, Morphable, Animator, Queue, Matrix, Color, Box, Polygon, PathArray, PointArray } from '../../../src/main.js'
+import { Runner, defaults, Ease, Controller, SVG, Timeline, Rect, Morphable, Animator, Queue, Matrix, Color, Box, Polygon, PointArray } from '../../../src/main.js'
import { FakeRunner, RunnerArray } from '../../../src/animation/Runner.js'
import { getWindow } from '../../../src/utils/window.js'
import SVGNumber from '../../../src/types/SVGNumber.js'
diff --git a/spec/spec/arrange.js b/spec/spec/arrange.js
deleted file mode 100644
index ea0ea2b..0000000
--- a/spec/spec/arrange.js
+++ /dev/null
@@ -1,172 +0,0 @@
-describe('Arrange', function() {
- var e1, e2, e3
-
- beforeEach(function() {
- draw.clear()
-
- e1 = draw.rect(100,100).move(10,10).attr('id', 'e1')
- e2 = draw.ellipse(100,100).move(20,20).attr('id', 'e2')
- e3 = draw.line(0,0,100,100).move(30,30).attr('id', 'e3')
- })
-
- describe('siblings()', function() {
- it('returns all siblings of targeted element', function() {
- expect(e1.siblings().length).toBe(3+parserInDoc)
- expect(parser.concat([e1,e2,e3])).toEqual(e2.siblings())
- })
- })
-
- describe('position()', function() {
- it('returns the index position within it\'s parent', function() {
- expect(e1.siblings().length).toBe(3+parserInDoc)
- expect(e1.position()).toBe(0+parserInDoc)
- expect(e2.position()).toBe(1+parserInDoc)
- expect(e3.position()).toBe(2+parserInDoc)
- })
- })
-
- describe('next()', function() {
- it('returns the next sibling within the parent element', function() {
- expect(e1.next()).toBe(e2)
- expect(e2.next()).toBe(e3)
- expect(e3.next()).toBe(undefined)
- })
- })
-
- describe('prev()', function() {
- it('returns the previous sibling within the parent element', function() {
- expect(e1.prev()).toBe(parser[0])
- expect(e2.prev()).toBe(e1)
- expect(e3.prev()).toBe(e2)
- })
- })
-
- describe('forward()', function() {
- it('returns the element itself', function() {
- expect(e1.forward()).toBe(e1)
- })
- it('moves the element one step forward within its parent', function() {
- e1.forward()
- expect(e1.position()).toBe(1+parserInDoc)
- expect(e2.position()).toBe(0+parserInDoc)
- expect(e3.position()).toBe(2+parserInDoc)
- })
- it('keeps the last element at the same position', function() {
- e3.forward()
- expect(e3.position()).toBe(2+parserInDoc)
- })
- it('keeps the defs on top of the stack', function() {
- draw.defs()
- e3.forward()
-
- expect(draw.node.childNodes[2+parserInDoc]).toBe(e3.node)
- expect(draw.node.childNodes[3+parserInDoc]).toBe(draw.defs().node)
- })
- })
-
- describe('backward()', function() {
- it('returns the element itself', function() {
- if(parserInDoc){
- expect(parser[0].backward()).toBe(parser[0])
- }else{
- expect(e1.backward()).toBe(e1)
- }
- })
- it('moves the element one step backwards within its parent', function() {
- e3.backward()
- expect(e1.position()).toBe(0+parserInDoc)
- expect(e2.position()).toBe(2+parserInDoc)
- expect(e3.position()).toBe(1+parserInDoc)
- })
- it('keeps the first element at the same position', function() {
- e3.backward()
- expect(e1.position()).toBe(0+parserInDoc)
- })
- })
-
- describe('front()', function() {
- it('returns the element itself', function() {
- expect(e3.front()).toBe(e3)
- })
- it('moves the element to the top of the stack within its parent', function() {
- e1.front()
- expect(e1.position()).toBe(2+parserInDoc)
- expect(e2.position()).toBe(0+parserInDoc)
- expect(e3.position()).toBe(1+parserInDoc)
- })
- it('keeps the last element at the same position', function() {
- e3.front()
- expect(e3.position()).toBe(2+parserInDoc)
- })
- it('keeps the defs on top of the stack', function() {
- e1.front()
- expect(draw.node.childNodes[2+parserInDoc]).toBe(e1.node)
- expect(draw.node.childNodes[3+parserInDoc]).toBe(draw.defs().node)
- })
- })
-
- describe('back()', function() {
- it('returns the element itself', function() {
- expect(e3.back()).toBe(e3)
- })
- it('moves the element to the bottom of the stack within its parent', function() {
- e3.back()
- expect(e1.position()).toBe(1+parserInDoc)
- expect(e2.position()).toBe(2+parserInDoc)
- expect(e3.position()).toBe(0)
- })
- it('keeps the first element at the same position', function() {
- e1.back()
- expect(e1.position()).toBe(0)
- })
- })
-
- describe('before()', function() {
- it('returns the targeted element itself', function() {
- expect(e3.before(e1)).toBe(e3)
- })
- it('inserts a given element before the targeted element', function() {
- e3.before(e1)
- expect(e1.position()).toBe(1+parserInDoc)
- expect(e2.position()).toBe(0+parserInDoc)
- expect(e3.position()).toBe(2+parserInDoc)
- })
- it('moves elements between containers', function() {
- var group = draw.group()
- , e4 = group.rect(80,120)
- , e5 = group.rect(80,120)
- , e6 = group.rect(80,120)
-
- e2.before(e5)
- expect(e1.position()).toBe(0+parserInDoc)
- expect(e2.position()).toBe(2+parserInDoc)
- expect(e3.position()).toBe(3+parserInDoc)
- expect(e5.position()).toBe(1+parserInDoc)
- })
- })
-
- describe('after()', function() {
- it('returns the targeted element itself', function() {
- expect(e3.after(e1)).toBe(e3)
- })
- it('inserts a given element after the targeted element', function() {
- e3.after(e1)
- expect(e1.position()).toBe(2+parserInDoc)
- expect(e2.position()).toBe(0+parserInDoc)
- expect(e3.position()).toBe(1+parserInDoc)
- })
- it('moves elements between containers', function() {
- var group = draw.group()
- , e4 = group.rect(80,120)
- , e5 = group.rect(80,120)
- , e6 = group.rect(80,120)
-
- e2.after(e5)
- expect(e1.position()).toBe(0+parserInDoc)
- expect(e2.position()).toBe(1+parserInDoc)
- expect(e3.position()).toBe(3+parserInDoc)
- expect(e5.position()).toBe(2+parserInDoc)
- })
- })
-
-})
diff --git a/spec/spec/array.js b/spec/spec/array.js
deleted file mode 100644
index 03cffa3..0000000
--- a/spec/spec/array.js
+++ /dev/null
@@ -1,324 +0,0 @@
-describe('Array', function () {
- var array, arr1, arr2
-
- it('parses a matrix array correctly to string', function() {
- array = new SVG.Array([ .343, .669, .119, 0, 0
- , .249, -.626, .130, 0, 0
- , .172, .334, .111, 0, 0
- , .000, .000, .000, 1, -0 ])
-
- expect(array + '').toBe('0.343 0.669 0.119 0 0 0.249 -0.626 0.13 0 0 0.172 0.334 0.111 0 0 0 0 0 1 0')
- })
- it('parses space seperated string and converts it to array', function() {
- expect((new SVG.Array('1 2 3 4')).valueOf()).toEqual([1,2,3,4])
- })
- it('parses comma seperated string and converts it to array', function() {
- expect((new SVG.Array('1,2,3,4')).valueOf()).toEqual([1,2,3,4])
- })
- describe('reverse()', function() {
- it('reverses the array', function() {
- array = new SVG.Array([1 ,2 ,3, 4, 5]).reverse()
- expect(array.valueOf()).toEqual([5, 4, 3, 2, 1])
- })
- it('returns itself', function() {
- array = new SVG.Array()
- expect(array.reverse()).toBe(array)
- })
- })
- describe('clone()', function() {
- it('creates a deep clone of the array', function() {
- array = new SVG.Array([1, 2, 3, 4, 5])
-
- clone = array.clone()
-
- expect(array).toEqual(clone)
- expect(array).not.toBe(clone)
-
- array = new SVG.Array([[1,2], [3, 4], [5]])
- clone = array.clone()
-
- expect(array).toEqual(array)
- for(var i = 0, len = array.length; i; ++i){
- expect(array[i]).not.toBe(clone[i])
- }
- })
- it('also works with PointArray', function() {
- array = new SVG.PointArray([1,2,3,4,5,6])
- clone = array.clone()
-
- expect(array).toEqual(clone)
- expect(array).not.toBe(clone)
-
- for(var i = 0, len = array.length; i; ++i){
- expect(array[i]).not.toBe(clone[i])
- }
- })
- it('also works with PathArray', function() {
- array = new SVG.PathArray([['M',1,2],['L',3,4],['L',5,6]])
- clone = array.clone()
-
- expect(array).toEqual(clone)
- expect(array).not.toBe(clone)
-
- for(var i = 0, len = array.length; i; ++i){
- expect(array[i]).not.toBe(clone[i])
- }
- })
- })
-})
-
-
-describe('PointArray', function () {
- it('parses a string to a point array', function() {
- var array = new SVG.PointArray('0,1 -.05,7.95 1000.0001,-200.222')
-
- expect(array.valueOf()).toEqual([[0, 1], [-0.05, 7.95], [1000.0001, -200.222]])
- })
- it('parses a points array correctly to string', function() {
- var array = new SVG.PointArray([[0,.15], [-100,-3.141592654], [50,100]])
-
- expect(array + '').toBe('0,0.15 -100,-3.141592654 50,100')
- })
- it('parses a flat array of x/y coordinates to a point array', function() {
- var array = new SVG.PointArray([1,4, 5,68, 12,24])
-
- expect(array.valueOf()).toEqual([[1,4], [5,68], [12,24]])
- })
- it('parses points with space delimitered x/y coordinates', function() {
- var array = new SVG.PointArray('221.08 191.79 0.46 191.79 0.46 63.92 63.8 0.46 284.46 0.46 284.46 128.37 221.08 191.79')
-
- expect(array + '').toBe('221.08,191.79 0.46,191.79 0.46,63.92 63.8,0.46 284.46,0.46 284.46,128.37 221.08,191.79')
- })
- it('parses points with comma delimitered x/y coordinates', function() {
- var array = new SVG.PointArray('221.08,191.79,0.46,191.79,0.46,63.92,63.8,0.46,284.46,0.46,284.46,128.37,221.08,191.79')
-
- expect(array + '').toBe('221.08,191.79 0.46,191.79 0.46,63.92 63.8,0.46 284.46,0.46 284.46,128.37 221.08,191.79')
- })
- it('parses points with comma and space delimitered x/y coordinates', function() {
- var array = new SVG.PointArray('221.08, 191.79, 0.46, 191.79, 0.46, 63.92, 63.8, 0.46, 284.46, 0.46, 284.46, 128.37, 221.08, 191.79')
-
- expect(array + '').toBe('221.08,191.79 0.46,191.79 0.46,63.92 63.8,0.46 284.46,0.46 284.46,128.37 221.08,191.79')
- })
- it('parses points with space and comma delimitered x/y coordinates', function() {
- var array = new SVG.PointArray('221.08 ,191.79 ,0.46 ,191.79 ,0.46 ,63.92 ,63.8 ,0.46 ,284.46 ,0.46 ,284.46 ,128.37 ,221.08 ,191.79')
-
- expect(array + '').toBe('221.08,191.79 0.46,191.79 0.46,63.92 63.8,0.46 284.46,0.46 284.46,128.37 221.08,191.79')
- })
- it('parses points with redundant spaces at the end', function() {
- var array = new SVG.PointArray('2176.6,1708.8 2176.4,1755.8 2245.8,1801.5 2297,1787.8 ')
-
- expect(array + '').toBe('2176.6,1708.8 2176.4,1755.8 2245.8,1801.5 2297,1787.8')
- })
- it('parses points with space delimitered x/y coordinates - even with leading or trailing space', function() {
- var array = new SVG.PointArray(' 1 2 3 4 ')
-
- expect(array + '').toBe('1,2 3,4')
- })
- it('parses odd number of points with space delimitered x/y coordinates and silently remove the odd point', function() {
- // this is according to spec: https://svgwg.org/svg2-draft/shapes.html#DataTypePoints
-
- var array = new SVG.PointArray('1 2 3')
-
- expect(array + '').toBe('1,2')
- })
- it('parses odd number of points in a flat array of x/y coordinates and silently remove the odd point', function() {
- // this is according to spec: https://svgwg.org/svg2-draft/shapes.html#DataTypePoints
-
- var array = new SVG.PointArray([1, 2, 3])
-
- expect(array.valueOf()).toEqual([[1,2]])
- })
-
- describe('size()', function() {
- it('correctly sizes the points over the whole area', function() {
- var array = new SVG.PointArray([10, 10, 20, 20, 30, 30])
- expect(array.size(60, 60).valueOf()).toEqual([[10,10], [40, 40], [70, 70]])
- })
-
- it('let coordinates untouched when width/height is zero', function() {
- var array = new SVG.PointArray([10, 10, 10, 20, 10, 30])
- expect(array.size(60, 60).valueOf()).toEqual([[10,10], [10, 40], [10, 70]])
-
- array = new SVG.PointArray([10, 10, 20, 10, 30, 10])
- expect(array.size(60, 60).valueOf()).toEqual([[10,10], [40, 10], [70, 10]])
- })
-
- })
-})
-
-describe('PathArray', function () {
- var p1, p2, p3, p4, p5, p6, p7
-
- beforeEach(function() {
- p1 = new SVG.PathArray('m10 10 h 80 v 80 h -80 l 300 400 z')
- p2 = new SVG.PathArray('m10 80 c 40 10 65 10 95 80 s 150 150 180 80 t 300 300 q 52 10 95 80 z')
- p3 = new SVG.PathArray('m80 80 A 45 45, 0, 0, 0, 125 125 L 125 80 z')
- p4 = new SVG.PathArray('M215.458,245.23c0,0,77.403,0,94.274,0S405,216.451,405,138.054S329.581,15,287.9,15c-41.68,0-139.924,0-170.688,0C86.45,15,15,60.65,15,134.084c0,73.434,96.259,112.137,114.122,112.137C146.984,246.221,215.458,245.23,215.458,245.23z')
- p5 = new SVG.PathArray('M10 10-45-30.5.5 .89L2e-2.5.5.5-.5C.5.5.5.5.5.5L-3-4z')
- p6 = new SVG.PathArray('m 0,0 0,3189 2209,0 0,-3189 -2209,0 z m 154,154 1901,0 0,2881 -1901,0 0,-2881 z')
-
- })
-
- it('converts to absolute values', function() {
- expect(p1.toString()).toBe('M10 10H90V90H10L310 490Z ')
- expect(p2.toString()).toBe('M10 80C50 90 75 90 105 160S255 310 285 240T585 540Q637 550 680 620Z ')
- expect(p3.toString()).toBe('M80 80A45 45 0 0 0 125 125L125 80Z ')
- expect(p4.toString()).toBe('M215.458 245.23C215.458 245.23 292.861 245.23 309.73199999999997 245.23S405 216.451 405 138.054S329.581 15 287.9 15C246.21999999999997 15 147.97599999999997 15 117.21199999999999 15C86.45 15 15 60.65 15 134.084C15 207.518 111.259 246.221 129.122 246.221C146.984 246.221 215.458 245.23 215.458 245.23Z ')
- expect(p6.toString()).toBe('M0 0L0 3189L2209 3189L2209 0L0 0ZM154 154L2055 154L2055 3035L154 3035L154 154Z ')
- })
-
- it('parses difficult syntax correctly', function() {
- expect(p5.toString()).toBe('M10 10L-45 -30.5L0.5 0.89L0.02 0.5L0.5 -0.5C0.5 0.5 0.5 0.5 0.5 0.5L-3 -4Z ')
- })
-
- it('parses flat arrays correctly', function() {
- p6 = new SVG.PathArray([ 'M', 0, 0, 'L', 100, 100, 'z' ])
- expect(p6.toString()).toBe('M0 0L100 100Z ')
- })
-
- it('parses nested arrays correctly', function() {
- p7 = new SVG.PathArray([ ['M', 0, 0], ['L', 100, 100], ['z'] ])
- expect(p7.toString()).toBe('M0 0L100 100Z ')
- })
-
- // this test is designed to cover a certain line but it doesnt work because of #608
- it('returns the valueOf when PathArray is given', function() {
- var p = new SVG.PathArray('m10 10 h 80 v 80 h -80 l 300 400 z')
-
- expect((new SVG.PathArray(p))).toEqual(p)
- })
-
- it('can handle all formats which can be used', function() {
- // when no command is specified after move, line is used automatically (specs say so)
- expect(new SVG.PathArray('M10 10 80 80 30 30 Z').toString()).toBe('M10 10L80 80L30 30Z ')
-
- // parsing can handle 0.5.3.3.2 stuff
- expect(new SVG.PathArray('M10 10L.5.5.3.3Z').toString()).toBe('M10 10L0.5 0.5L0.3 0.3Z ')
- })
-
- describe('move()', function() {
- it('moves all points in a straight path', function() {
- expect(p1.move(100,200).toString()).toBe('M100 200H180V280H100L400 680Z ')
- })
- it('moves all points in a curved path', function() {
- expect(p2.move(100,200).toString()).toBe('M100 200C140 210 165 210 195 280S345 430 375 360T675 660Q727 670 770 740Z ')
- })
- it('moves all points in a arc path', function() {
- expect(p3.move(100,200).toString()).toBe('M100 200A45 45 0 0 0 145 245L145 200Z ')
- })
- })
-
- describe('size()', function() {
- it('resizes all points in a straight path', function() {
- expect(p1.size(600,200).toString()).toBe('M10 10H170V43.333333333333336H10L610 210Z ')
- })
- it('resizes all points in a curved path', function() {
- expect(p2.size(600,200).toString()).toBe('M10 80C45.82089552238806 83.70370370370371 68.2089552238806 83.70370370370371 95.07462686567165 109.62962962962963S229.40298507462686 165.1851851851852 256.2686567164179 139.25925925925927T524.9253731343283 250.37037037037038Q571.4925373134329 254.07407407407408 610 280Z ')
- })
- it('resizes all points in a arc path', function() {
- var expected = [
- ['M', 80, 80],
- ['A', 600, 200, 0, 0, 0, 680, 280],
- ['L', 680, 80],
- ['Z']
- ]
-
- var toBeTested = p3.size(600,200)
-
- for(var i = toBeTested.length; i--;) {
- expect(toBeTested[i].shift().toUpperCase()).toBe(expected[i].shift().toUpperCase())
- for(var j = toBeTested[i].length; j--;) {
- expect(toBeTested[i][j]).toBeCloseTo(expected[i][j])
- }
- }
- })
- })
-
- describe('equalCommands()', function() {
- it('return true if the passed path array use the same commands', function() {
- var pathArray1 = new SVG.PathArray('m -1500,-478 a 292,195 0 0 1 262,205 l -565,319 c 0,0 -134,-374 51,-251 185,122 251,-273 251,-273 z')
- , pathArray2 = new SVG.PathArray('m -680, 527 a 292,195 0 0 1 262,205 l -565,319 c 0,0 -134,-374 51,-251 185,122 251,-273 251,-273 z')
-
- expect(pathArray1.equalCommands(pathArray2)).toBe(true)
- })
- it('return false if the passed path array does not use the same commands', function() {
- var pathArray1 = new SVG.PathArray('m -1500,-478 a 292,195 0 0 1 262,205 l -565,319 c 0,0 -134,-374 51,-251 185,122 251,-273 251,-273 z')
- , pathArray2 = new SVG.PathArray('m - 663, 521 c 147,178 118,-25 245,210 l -565,319 c 0,0 -134,-374 51,-251 185,122 268,-278 268,-278 z')
-
- expect(pathArray1.equalCommands(pathArray2)).toBe(false)
- })
- })
- //
- // describe('morph()', function() {
- // it('should set the attribute destination to the passed path array when it have the same comands as this path array', function() {
- // var pathArray1 = new SVG.PathArray('m -1500,-478 a 292,195 0 0 1 262,205 l -565,319 c 0,0 -134,-374 51,-251 185,122 251,-273 251,-273 z')
- // , pathArray2 = new SVG.PathArray('m -680, 527 a 292,195 0 0 1 262,205 l -565,319 c 0,0 -134,-374 51,-251 185,122 251,-273 251,-273 z')
- //
- // pathArray1.morph(pathArray2)
- // expect(pathArray1.destination).toEqual(pathArray2)
- // })
- // it('should set the attribute destination to null when the passed path array does not have the same comands as this path array', function() {
- // var pathArray1 = new SVG.PathArray('m -1500,-478 a 292,195 0 0 1 262,205 l -565,319 c 0,0 -134,-374 51,-251 185,122 251,-273 251,-273 z')
- // , pathArray2 = new SVG.PathArray('m - 663, 521 c 147,178 118,-25 245,210 l -565,319 c 0,0 -134,-374 51,-251 185,122 268,-278 268,-278 z')
- //
- // pathArray1.morph(pathArray2)
- // expect(pathArray1.destination).toBeNull()
- // })
- // })
- //
- // describe('at()', function() {
- // it('returns a morphed path array at a given position', function() {
- // var pathArray1 = new SVG.PathArray("M 63 25 A 15 15 0 0 1 73 40 A 15 15 0 0 1 61 53 C 49 36 50 59 50 59 L 33 55 Z")
- // , pathArray2 = new SVG.PathArray("M 132 40 A 15 15 0 0 1 141 54 A 15 15 0 0 1 130 67 C 118 51 119 73 119 73 L 103 69 Z")
- // , morphedPathArray = pathArray1.morph(pathArray2).at(0.5)
- // , sourceArray = pathArray1, destinationArray = pathArray1.destination
- // , morphedArray = morphedPathArray
- // , i, il, j, jl
- //
- // expect(morphedArray.length).toBe(sourceArray.length)
- //
- // // For all the commands
- // for(i = 0, il = sourceArray.length; i < il; i++) {
- // // Expect the current command to be the same
- // expect(morphedArray[i][0]).toBe(sourceArray[i][0])
- // expect(morphedArray[i].length).toBe(sourceArray[i].length)
- //
- // // For all the parameters of the current command
- // for(j = 1, jl = sourceArray[i].length; j < jl; j++) {
- // expect(morphedArray[i][j]).toBe((sourceArray[i][j] + destinationArray[i][j]) / 2)
- // }
- // }
- // })
- // it('should interpolate flags and booleans as fractions between zero and one, with any non-zero value considered to be a value of one/true', function() {
- // // Only the Elliptical arc command use flags, it has the following form:
- // // A rx ry x-axis-rotation large-arc-flag sweep-flag x y
- // var pathArray1 = new SVG.PathArray('M 13 13 A 25 37 0 0 1 43 25')
- // , pathArray2 = new SVG.PathArray('M 101 55 A 25 37 0 1 0 130 67')
- // , morphedPathArray
- //
- // pathArray1.morph(pathArray2)
- //
- // // The morphedPathArray contain 2 commands: [['M', ...], ['A', ...]]
- // // Elliptical arc command in a path array followed by corresponding indexes:
- // // ['A', rx, ry, x-axis-rotation, large-arc-flag, sweep-flag, x, y]
- // // 0 1 2 3 4 5 6 7
- // morphedPathArray = pathArray1.at(0)
- // expect(morphedPathArray[1][4]).toBe(0)
- // expect(morphedPathArray[1][5]).toBe(1)
- //
- // morphedPathArray = pathArray1.at(0.5)
- // expect(morphedPathArray[1][4]).toBe(1)
- // expect(morphedPathArray[1][5]).toBe(1)
- //
- // morphedPathArray = pathArray1.at(1)
- // expect(morphedPathArray[1][4]).toBe(1)
- // expect(morphedPathArray[1][5]).toBe(0)
- // })
- // it('return itself if the destination attribute is null', function(){
- // var pathArray = new SVG.PathArray('M 13 13 A 25 37 0 0 1 43 25')
- // pathArray.destination = null
- // expect(pathArray.at(0.45)).toBe(pathArray)
- // })
- // })
-
-})
diff --git a/spec/spec/boxes.js b/spec/spec/boxes.js
deleted file mode 100644
index d5581b2..0000000
--- a/spec/spec/boxes.js
+++ /dev/null
@@ -1,237 +0,0 @@
-describe('Box', function() {
- describe('initialization', function() {
- var box
-
- it('creates a new box with default values', function() {
- box = new SVG.Box
-
- expect(box instanceof SVG.Box).toBe(true)
- expect(box).toEqual(jasmine.objectContaining({
- x:0, y:0, cx:0, cy:0, width:0, height:0
- }))
- })
-
- it('creates a new box from parsed string', function() {
- box = new SVG.Box('10. 100 200 300')
- expect(box.x).toBe(10)
- expect(box.y).toBe(100)
- expect(box.width).toBe(200)
- expect(box.height).toBe(300)
- expect(box.cx).toBe(110)
- expect(box.cy).toBe(250)
- expect(box.x2).toBe(210)
- expect(box.y2).toBe(400)
- })
-
- it('creates a new box from parsed string with comma as delimiter', function() {
- box = new SVG.Box('10,100, 200 , 300')
- expect(box.x).toBe(10)
- expect(box.y).toBe(100)
- expect(box.width).toBe(200)
- expect(box.height).toBe(300)
- })
-
- it('creates a new box from array', function() {
- box = new SVG.Box([10, 100, 200, 300])
-
- expect(box.x).toBe(10)
- expect(box.y).toBe(100)
- expect(box.width).toBe(200)
- expect(box.height).toBe(300)
- })
-
- it('creates a new box from object', function() {
- box = new SVG.Box({x:10, y:100, width:200, height:300})
-
- expect(box.x).toBe(10)
- expect(box.y).toBe(100)
- expect(box.width).toBe(200)
- expect(box.height).toBe(300)
- })
-
- it('creates a new box from object width left and top instead of x and y', function() {
- box = new SVG.Box({left:10, top:100, width:200, height:300})
-
- expect(box.x).toBe(10)
- expect(box.y).toBe(100)
- expect(box.width).toBe(200)
- expect(box.height).toBe(300)
- })
-
- it('creates a new viewbox from 4 arguments', function() {
- box = new SVG.Box(10, 100, 200, 300)
-
- expect(box.x).toBe(10)
- expect(box.y).toBe(100)
- expect(box.width).toBe(200)
- expect(box.height).toBe(300)
- })
-
- it('creates a new box from parsed string with exponential values', function() {
- box = new SVG.Box('-1.12e1 1e-2 +2e2 +.3e+4')
-
- expect(box.x).toBe(-11.2)
- expect(box.y).toBe(0.01)
- expect(box.width).toBe(200)
- expect(box.height).toBe(3000)
- })
-
- })
-
- describe('merge()', function() {
- it('merges various bounding boxes', function() {
- var box1 = new SVG.Box(50, 50, 100, 100)
- var box2 = new SVG.Box(300, 400, 100, 100)
- var box3 = new SVG.Box(500, 100, 100, 100)
- var merged = box1.merge(box2).merge(box3)
-
- expect(merged).toEqual(jasmine.objectContaining({
- x: 50, y: 50, cx: 325, cy: 275, width: 550, height: 450
- }))
- })
- it('returns a new instance', function() {
- var box1 = new SVG.Box(50, 50, 100, 100)
- var box2 = new SVG.Box(300, 400, 100, 100)
- var merged = box1.merge(box2)
- expect(box1).not.toBe(merged)
- expect(box2).not.toBe(merged)
-
- expect(merged instanceof SVG.Box).toBe(true)
- })
- })
-
- describe('transform()', function() {
- it('transforms the box with given matrix', function() {
- var box1 = new SVG.Box(50, 50, 100, 100).transform(new SVG.Matrix(1,0,0,1,20,20))
- var box2 = new SVG.Box(50, 50, 100, 100).transform(new SVG.Matrix(2,0,0,2,0,0))
- var box3 = new SVG.Box(-200, -200, 100, 100).transform(new SVG.Matrix(1,0,0,1,-20,-20))
-
- expect(box1).toEqual(jasmine.objectContaining({
- x: 70, y: 70, cx: 120, cy: 120, width: 100, height: 100
- }))
-
- expect(box2).toEqual(jasmine.objectContaining({
- x: 100, y: 100, cx: 200, cy: 200, width: 200, height: 200
- }))
-
- expect(box3).toEqual(jasmine.objectContaining({
- x: -220, y: -220, cx: -170, cy: -170, width: 100, height: 100
- }))
- })
- })
-})
-
-
-describe('Boxes', function() {
- var rect, nested, offset
-
- beforeEach(function() {
- offset = draw.screenCTM()
- draw.viewbox(100,100, 200, 200)
- nested = draw.nested().size(200, 200).move(100,100).viewbox(0, 0, 100, 100)
- rect = nested.rect(50, 180).stroke({width:0}).move(25, 90).transform({scale: 2, origin: [0, 0]}).relative(10, 10)
- })
- afterEach(function() {
- draw.clear().attr('viewBox', null)
- })
-
- describe('bbox()', function() {
- it('returns an instance of SVG.Box', function() {
- expect(rect.bbox() instanceof SVG.Box).toBeTruthy()
- })
- it('matches the size of the target element, ignoring transformations', function() {
- var box = rect.bbox()
-
- expect(box).toEqual(jasmine.objectContaining({
- x: 25, y: 90, cx: 50, cy: 180, width: 50, height: 180
- }))
- })
- it('returns a box even if the element is not in the dom', function() {
- var line = new SVG.Line().plot(0, 0, 50, 50)
- var box = line.bbox()
-
- expect(box).toEqual(jasmine.objectContaining({
- x: 0, y: 0, width: 50, height: 50
- }))
-
- expect('Should not result into infinite loop').toBe('Should not result into infinite loop')
- })
- it('returns a box even if the element is not in the dom and invisible', function() {
- var line = new SVG.Line().plot(0, 0, 50, 50).hide()
- var box = line.bbox()
-
- expect(box).toEqual(jasmine.objectContaining({
- x: 0, y: 0, width: 50, height: 50
- }))
-
- expect('Should not result into infinite loop').toBe('Should not result into infinite loop')
- })
- })
-
- describe('rbox()', function() {
- it('returns an instance of SVG.Box', function() {
- expect(rect.rbox() instanceof SVG.Box).toBeTruthy()
- })
-
- it('returns the elements box in absolute screen coordinates by default', function() {
- var box = rect.rbox()
-
- expect(window.roundBox(box)).toEqual(jasmine.objectContaining(window.roundBox({
- x: 70 + offset.e, y: 200 + offset.f, width: 100, height: 360
- })))
-
- })
-
- it('returns the elements box in coordinates of given element (root)', function() {
- var box = rect.rbox(draw)
-
- expect(window.roundBox(box)).toEqual(jasmine.objectContaining({
- x: 240, y: 500, width: 200, height: 720
- }))
- })
-
- it('returns the elements box in coordinates of given element (nested)', function() {
- var box = rect.rbox(nested)
-
- expect(window.roundBox(box)).toEqual(jasmine.objectContaining({
- x: 70, y: 200, width: 100, height: 360
- }))
- })
- })
-
- describe('viewbox()', function() {
-
- beforeEach(function() {
- draw.attr('viewBox', null)
- })
-
- it('should set the viewbox when four arguments are provided', function() {
- draw.viewbox(0,0,100,100)
- expect(draw.node.getAttribute('viewBox')).toBe('0 0 100 100')
- })
- it('should set the viewbox when an object is provided as first argument', function() {
- draw.viewbox({ x: 0, y: 0, width: 50, height: 50 })
- expect(draw.node.getAttribute('viewBox')).toBe('0 0 50 50')
- })
- it('should set the viewbox when a string is provided as first argument', function() {
- draw.viewbox('0 0 50 50')
- expect(draw.node.getAttribute('viewBox')).toBe('0 0 50 50')
- })
- it('should set the viewbox when an array is provided as first argument', function() {
- draw.viewbox([0, 0, 50, 50])
- expect(draw.node.getAttribute('viewBox')).toBe('0 0 50 50')
- })
- it('should accept negative values', function() {
- draw.size(100,100).viewbox(-100, -100, 50, 50)
- expect(draw.node.getAttribute('viewBox')).toEqual('-100 -100 50 50')
- })
- it('should get the viewbox if no arguments are given', function() {
- draw.viewbox(0, 0, 100, 100)
- expect(draw.viewbox()).toEqual(new SVG.Box(0,0,100,100))
- })
- it('should get a nulled viewbox when no viewbox attribute is set', function() {
- expect(draw.viewbox()).toEqual(new SVG.Box())
- })
- })
-
-})
diff --git a/spec/spec/circle.js b/spec/spec/circle.js
deleted file mode 100644
index 0f2c8f4..0000000
--- a/spec/spec/circle.js
+++ /dev/null
@@ -1,177 +0,0 @@
-
-describe('Circle', function() {
- var circle
-
- beforeEach(function() {
- circle = draw.circle(240)
- })
-
- afterEach(function() {
- draw.clear()
- })
-
- describe('x()', function() {
- it('returns the value of x without an argument', function() {
- expect(circle.x()).toBe(0)
- })
- it('sets the value of x with the first argument', function() {
- circle.x(123)
- var box = circle.bbox()
- expect(box.x).toBeCloseTo(123)
- })
- })
-
- describe('y()', function() {
- it('returns the value of y without an argument', function() {
- expect(circle.y()).toBe(0)
- })
- it('sets the value of cy with the first argument', function() {
- circle.y(345)
- var box = circle.bbox()
- expect(box.y).toBe(345)
- })
- })
-
- describe('cx()', function() {
- it('returns the value of cx without an argument', function() {
- expect(circle.cx()).toBe(120)
- })
- it('sets the value of cx with the first argument', function() {
- circle.cx(123)
- var box = circle.bbox()
- expect(box.cx).toBe(123)
- })
- })
-
- describe('cy()', function() {
- it('returns the value of cy without an argument', function() {
- expect(circle.cy()).toBe(120)
- })
- it('sets the value of cy with the first argument', function() {
- circle.cy(345)
- var box = circle.bbox()
- expect(box.cy).toBe(345)
- })
- })
-
- describe('radius()', function() {
- it('sets the r attribute with the first argument', function() {
- circle.radius(10)
- expect(circle.node.getAttribute('r')).toBe('10')
- })
- })
-
- describe('rx()', function() {
- it('sets the r attribute with the first argument', function() {
- circle.rx(11)
- expect(circle.node.getAttribute('r')).toBe('11')
- })
- it('gets the r attribute without and argument', function() {
- circle.rx()
- expect(circle.node.getAttribute('r')).toBe('120')
- })
- })
-
- describe('ry()', function() {
- it('sets the r attribute with the first argument', function() {
- circle.ry(12)
- expect(circle.node.getAttribute('r')).toBe('12')
- })
- it('gets the r attribute without and argument', function() {
- circle.ry()
- expect(circle.node.getAttribute('r')).toBe('120')
- })
- })
-
- describe('move()', function() {
- it('sets the x and y position', function() {
- circle.move(123, 456)
- var box = circle.bbox()
- expect(box.x).toBeCloseTo(123)
- expect(box.y).toBe(456)
- })
- })
-
- describe('dx()', function() {
- it('moves the x positon of the element relative to the current position', function() {
- circle.move(50, 60)
- circle.dx(100)
- expect(circle.node.getAttribute('cx')).toBe('270')
- })
- })
-
- describe('dy()', function() {
- it('moves the y positon of the element relative to the current position', function() {
- circle.move(50, 60)
- circle.dy(120)
- expect(circle.node.getAttribute('cy')).toBe('300')
- })
- })
-
- describe('dmove()', function() {
- it('moves the x and y positon of the element relative to the current position', function() {
- circle.move(50,60)
- circle.dmove(80, 25)
- expect(circle.node.getAttribute('cx')).toBe('250')
- expect(circle.node.getAttribute('cy')).toBe('205')
- })
- })
-
- describe('center()', function() {
- it('sets the cx and cy position', function() {
- circle.center(321,567)
- var box = circle.bbox()
- expect(box.cx).toBe(321)
- expect(box.cy).toBe(567)
- })
- })
-
- describe('width()', function() {
- it('sets the width and height of the element', function() {
- circle.width(82)
- expect(circle.node.getAttribute('r')).toBe('41')
- })
- it('gets the width and height of the element if the argument is null', function() {
- expect((circle.width() / 2).toString()).toBe(circle.node.getAttribute('r'))
- })
- })
-
- describe('height()', function() {
- it('sets the height and width of the element', function() {
- circle.height(1236)
- expect(circle.node.getAttribute('r')).toBe('618')
- })
- it('gets the height and width of the element if the argument is null', function() {
- expect((circle.height() / 2).toString()).toBe(circle.node.getAttribute('r'))
- })
- })
-
- describe('size()', function() {
- it('defines the r of the element', function() {
- circle.size(987)
- expect(circle.node.getAttribute('r')).toBe((987 / 2).toString())
- })
- })
-
- describe('scale()', function() {
- it('should scale the element universally with one argument', function() {
- var box = circle.scale(2).rbox()
-
- expect(box.width).toBe(circle.attr('r') * 2 * 2)
- expect(box.height).toBe(circle.attr('r') * 2 * 2)
- })
- it('should scale the element over individual x and y axes with two arguments', function() {
- var box = circle.scale(2, 3.5).rbox()
-
- expect(box.width).toBe(circle.attr('r') * 2 * 2)
- expect(box.height).toBe(circle.attr('r') * 2 * 3.5)
- })
- })
-
- describe('translate()', function() {
- it('sets the translation of an element', function() {
- circle.transform({ tx: 12, ty: 12 })
- expect(window.matrixStringToArray(circle.node.getAttribute('transform'))).toEqual([1,0,0,1,12,12])
- })
- })
-})
diff --git a/spec/spec/clip.js b/spec/spec/clip.js
deleted file mode 100644
index f333039..0000000
--- a/spec/spec/clip.js
+++ /dev/null
@@ -1,62 +0,0 @@
-describe('ClipPath', function() {
- var rect, circle
-
- beforeEach(function() {
- rect = draw.rect(100,100)
- circle = draw.circle(100).move(50, 50)
- rect.clipWith(circle)
- })
-
- afterEach(function() {
- draw.clear()
- })
-
- it('moves the clipping element to a new clip node', function() {
- expect(circle.parent() instanceof SVG.ClipPath).toBe(true)
- })
-
- it('creates the clip node in the defs node', function() {
- expect(circle.parent().parent()).toBe(draw.defs())
- })
-
- it('sets the "clip-path" attribute on the cliped element with the clip id', function() {
- expect(rect.attr('clip-path')).toBe('url("#' + circle.parent().id() + '")')
- })
-
- it('references the clip element in the masked element', function() {
- expect(rect.clipper()).toBe(circle.parent())
- })
-
- it('references the clipped element in the clipPath target list', function() {
- expect(rect.clipper().targets().indexOf(rect) > -1).toBe(true)
- })
-
- it('reuses clip element when clip was given', function() {
- var clip = rect.clipper()
- expect(draw.rect(100,100).clipWith(clip).clipper()).toBe(clip)
- })
-
- it('unclips all clipped elements when being removed', function() {
- rect.clipper().remove()
- expect(rect.attr('clip-path')).toBe(undefined)
- })
-
- describe('unclip()', function() {
-
- it('clears the "clip-path" attribute on the clipped element', function() {
- rect.unclip()
- expect(rect.attr('clip-path')).toBe(undefined)
- })
-
- it('removes the reference to the clipping element', function() {
- rect.unclip()
- expect(rect.clipper()).toBe(null)
- })
-
- it('returns the clipPath element', function() {
- expect(rect.unclip()).toBe(rect)
- })
-
- })
-
-}) \ No newline at end of file
diff --git a/spec/spec/container.js b/spec/spec/container.js
deleted file mode 100644
index 6f63ba5..0000000
--- a/spec/spec/container.js
+++ /dev/null
@@ -1,377 +0,0 @@
-describe('Container', function() {
-
- beforeEach(function() {
- draw.clear()
- })
-
- describe('rect()', function() {
- it('should increase children by 1', function() {
- var initial = draw.children().length
- draw.rect(100,100)
- expect(draw.children().length).toBe(initial + 1)
- })
- it('should create a rect', function() {
- expect(draw.rect(100,100).type).toBe('rect')
- })
- it('should create an instance of SVG.Rect', function() {
- expect(draw.rect(100,100) instanceof SVG.Rect).toBe(true)
- })
- it('should be an instance of SVG.Shape', function() {
- expect(draw.rect(100,100) instanceof SVG.Shape).toBe(true)
- })
- it('should be an instance of SVG.Element', function() {
- expect(draw.rect(100,100) instanceof SVG.Element).toBe(true)
- })
- })
-
- describe('ellipse()', function() {
- it('should increase children by 1', function() {
- var initial = draw.children().length
- draw.ellipse(100,100)
- expect(draw.children().length).toBe(initial + 1)
- })
- it('should create an ellipse', function() {
- expect(draw.ellipse(100,100).type).toBe('ellipse')
- })
- it('should create an instance of SVG.Ellipse', function() {
- expect(draw.ellipse(100,100) instanceof SVG.Ellipse).toBe(true)
- })
- it('should be an instance of SVG.Shape', function() {
- expect(draw.ellipse(100,100) instanceof SVG.Shape).toBe(true)
- })
- it('should be an instance of SVG.Element', function() {
- expect(draw.ellipse(100,100) instanceof SVG.Element).toBe(true)
- })
- })
-
- describe('circle()', function() {
- it('should increase children by 1', function() {
- var initial = draw.children().length
- draw.circle(100)
- expect(draw.children().length).toBe(initial + 1)
- })
- it('should create an circle', function() {
- expect(draw.circle(100).type).toBe('circle')
- })
- it('should create an instance of SVG.Circle', function() {
- expect(draw.circle(100) instanceof SVG.Circle).toBe(true)
- })
- it('should be an instance of SVG.Shape', function() {
- expect(draw.circle(100) instanceof SVG.Shape).toBe(true)
- })
- it('should be an instance of SVG.Element', function() {
- expect(draw.circle(100) instanceof SVG.Element).toBe(true)
- })
- })
-
- describe('line()', function() {
- it('should increase children by 1', function() {
- var initial = draw.children().length
- draw.line(0,100,100,0)
- expect(draw.children().length).toBe(initial + 1)
- })
- it('should create a line', function() {
- expect(draw.line(0,100,100,0).type).toBe('line')
- })
- it('should create an instance of SVG.Line', function() {
- expect(draw.line(0,100,100,0) instanceof SVG.Line).toBe(true)
- })
- it('should be an instance of SVG.Shape', function() {
- expect(draw.line(0,100,100,0) instanceof SVG.Shape).toBe(true)
- })
- it('should be an instance of SVG.Element', function() {
- expect(draw.line(0,100,100,0) instanceof SVG.Element).toBe(true)
- })
- })
-
- describe('polyline()', function() {
- it('should increase children by 1', function() {
- var initial = draw.children().length
- draw.polyline('0,0 100,0 100,100 0,100')
- expect(draw.children().length).toBe(initial + 1)
- })
- it('should create a polyline', function() {
- expect(draw.polyline('0,0 100,0 100,100 0,100').type).toBe('polyline')
- })
- it('should be an instance of SVG.Polyline', function() {
- expect(draw.polyline('0,0 100,0 100,100 0,100') instanceof SVG.Polyline).toBe(true)
- })
- it('should be an instance of SVG.Shape', function() {
- expect(draw.polyline('0,0 100,0 100,100 0,100') instanceof SVG.Shape).toBe(true)
- })
- it('should be an instance of SVG.Element', function() {
- expect(draw.polyline('0,0 100,0 100,100 0,100') instanceof SVG.Element).toBe(true)
- })
- })
-
- describe('polygon()', function() {
- it('should increase children by 1', function() {
- var initial = draw.children().length
- draw.polygon('0,0 100,0 100,100 0,100')
- expect(draw.children().length).toBe(initial + 1)
- })
- it('should create a polygon', function() {
- expect(draw.polygon('0,0 100,0 100,100 0,100').type).toBe('polygon')
- })
- it('should be an instance of SVG.Polygon', function() {
- expect(draw.polygon('0,0 100,0 100,100 0,100') instanceof SVG.Polygon).toBe(true)
- })
- it('should be an instance of SVG.Shape', function() {
- expect(draw.polygon('0,0 100,0 100,100 0,100') instanceof SVG.Shape).toBe(true)
- })
- it('should be an instance of SVG.Element', function() {
- expect(draw.polygon('0,0 100,0 100,100 0,100') instanceof SVG.Element).toBe(true)
- })
- })
-
- describe('path()', function() {
- it('should increase children by 1', function() {
- var initial = draw.children().length
- draw.path(svgPath)
- expect(draw.children().length).toBe(initial + 1)
- })
- it('should create a path', function() {
- expect(draw.path(svgPath).type).toBe('path')
- })
- it('should be an instance of SVG.Path', function() {
- expect(draw.path(svgPath) instanceof SVG.Path).toBe(true)
- })
- it('should be an instance of SVG.Shape', function() {
- expect(draw.path(svgPath) instanceof SVG.Shape).toBe(true)
- })
- it('should be an instance of SVG.Element', function() {
- expect(draw.path(svgPath) instanceof SVG.Element).toBe(true)
- })
- })
-
- describe('image()', function() {
- it('should increase children by 1', function() {
- var initial = draw.children().length
- draw.image(imageUrl)
- expect(draw.children().length).toBe(initial + 1)
- })
- it('should create a rect', function() {
- expect(draw.image(imageUrl).type).toBe('image')
- })
- it('should create an instance of SVG.Rect', function() {
- expect(draw.image(imageUrl) instanceof SVG.Image).toBe(true)
- })
- it('should be an instance of SVG.Shape', function() {
- expect(draw.image(imageUrl) instanceof SVG.Shape).toBe(true)
- })
- it('should be an instance of SVG.Element', function() {
- expect(draw.image(imageUrl) instanceof SVG.Element).toBe(true)
- })
- })
-
- describe('text()', function() {
- it('increases children by 1', function() {
- var initial = draw.children().length
- draw.text(loremIpsum)
- expect(draw.children().length).toBe(initial + 1)
- })
- it('creates a text element', function() {
- expect(draw.text(loremIpsum).type).toBe('text')
- })
- it('creates an instance of SVG.Text', function() {
- expect(draw.text(loremIpsum) instanceof SVG.Text).toBe(true)
- })
- it('is an instance of SVG.Shape', function() {
- expect(draw.text(loremIpsum) instanceof SVG.Shape).toBe(true)
- })
- it('is an instance of SVG.Element', function() {
- expect(draw.text(loremIpsum) instanceof SVG.Element).toBe(true)
- })
- })
-
- describe('plain()', function() {
- it('increases children by 1', function() {
- var initial = draw.children().length
- draw.plain(loremIpsum)
- expect(draw.children().length).toBe(initial + 1)
- })
- it('creates a plain element', function() {
- expect(draw.plain(loremIpsum).type).toBe('text')
- })
- it('creates an instance of SVG.Rect', function() {
- expect(draw.plain(loremIpsum) instanceof SVG.Text).toBe(true)
- })
- it('is an instance of SVG.Parent', function() {
- expect(draw.plain(loremIpsum) instanceof SVG.Shape).toBe(true)
- })
- it('is an instance of SVG.Element', function() {
- expect(draw.plain(loremIpsum) instanceof SVG.Element).toBe(true)
- })
- })
-
- describe('clear()', function() {
- it('removes all children except the parser if present', function() {
- draw.rect(100,100)
- draw.clear()
- expect(draw.children().length).toBe(parserInDoc)
- })
- it('creates a new defs node', function() {
- var oldDefs = draw.defs()
- draw.rect(100,100).maskWith(draw.circle(100, 100))
- draw.clear()
- expect(draw.defs()).not.toBe(oldDefs)
- })
- it('clears all children in the defs node', function() {
- draw.rect(100,100).maskWith(draw.circle(100, 100))
- draw.clear()
- expect(draw.defs().children().length).toBe(0)
- })
- })
-
- describe('each()', function() {
- it('should iterate over all children', function() {
- var children = []
-
- draw.rect(100,100)
- draw.ellipse(100, 100)
- draw.polygon()
-
- draw.each(function() {
- children.push(this.type)
- })
- expect(children).toEqual((parserInDoc ? [parser[0].type] : []).concat(['rect', 'ellipse', 'polygon']))
- })
- it('should only include its own children', function() {
- var children = []
- , group = draw.group()
-
- draw.rect(100,200)
- draw.circle(300)
-
- group.rect(100,100)
- group.ellipse(100, 100)
- group.polygon()
-
- group.each(function() {
- children.push(this)
- })
-
- expect(children).toEqual(group.children())
- })
- it('should traverse recursively when set to deep', function() {
- var children = []
- , group = draw.group()
-
- draw.rect(100,200)
- draw.circle(300)
-
- group.rect(100,100)
- group.ellipse(100, 100)
- group.polygon()
-
- draw.each(function() {
- children.push(this)
- }, true)
-
- expect(children.length).toEqual(draw.children().length + group.children().length + (parserInDoc ? parser[0].children().length : 0))
- })
- })
-
- describe('get()', function() {
- it('gets an element at a given index', function() {
- draw.clear()
- var rect = draw.rect(100,100)
- var circle = draw.circle(100)
- var line = draw.line(0,0,100,100)
- expect(draw.get(0+parserInDoc)).toBe(rect)
- expect(draw.get(1+parserInDoc)).toBe(circle)
- expect(draw.get(2+parserInDoc)).toBe(line)
- expect(draw.get(3+parserInDoc)).toBeNull()
- })
- })
-
- describe('first()', function() {
- it('gets the first child', function() {
- draw.clear()
- var rect = draw.rect(100,100)
- var circle = draw.circle(100)
- var line = draw.line(0,0,100,100)
- expect(draw.first()).toBe(parserInDoc ? parser[0] : rect)
- })
- })
-
- describe('last()', function() {
- it('gets the last child', function() {
- draw.clear()
- var rect = draw.rect(100,100)
- var circle = draw.circle(100)
- var line = draw.line(0,0,100,100)
- expect(draw.last()).toBe(line)
- })
- })
-
- describe('has()', function() {
- it('determines if a given element is a child of the parent', function() {
- var rect = draw.rect(100,100)
- var circle = draw.circle(100)
- var group = draw.group()
- var line = group.line(0,0,100,100)
- expect(draw.has(rect)).toBe(true)
- expect(draw.has(circle)).toBe(true)
- expect(draw.has(group)).toBe(true)
- expect(draw.has(line)).toBe(false)
- expect(group.has(line)).toBe(true)
- })
- })
-
- describe('index()', function() {
- it('determines the index of given element', function() {
- var rect = draw.rect(100,100)
- var circle = draw.circle(100)
- var group = draw.group()
- var line = group.line(0,0,100,100)
- expect(draw.index(rect)).toBe(0+parserInDoc)
- expect(draw.index(circle)).toBe(1+parserInDoc)
- expect(draw.index(group)).toBe(2+parserInDoc)
- expect(draw.index(line)).toBe(-1)
- expect(group.index(line)).toBe(0)
- })
- })
-
- describe('parent()', function() {
- it('returns the parent element instance', function() {
- var rect = draw.rect(100,100)
- expect(rect.parent()).toBe(rect.node.parentNode.instance)
- })
- })
-
- describe('add()', function() {
- it('adds element at the end of the parent element when no position given', function() {
- var rect = draw.rect(100,100)
- var line = draw.line(100,100, 50, 50)
- var group = draw.group()
- group.circle(10,10)
-
- expect(group.add(rect)).toBe(group)
- expect(rect.position()).toBe(1)
- })
- it('adds element at the given position', function() {
- var rect = draw.rect(100,100)
- var line = draw.line(100,100, 50, 50)
- var group = draw.group()
- group.circle(10,10)
-
- expect(group.add(rect)).toBe(group)
- expect(group.add(line, 1)).toBe(group)
- expect(line.position()).toBe(1)
- })
- })
-
- describe('put()', function() {
- it('calls add() but returns added element', function() {
- var rect = draw.rect(100,100)
- var group = draw.group()
-
- spyOn(group, 'add')
-
- expect(group.put(rect, 0)).toBe(rect)
- expect(group.add).toHaveBeenCalledWith(rect, 0)
- })
- })
-
-})
diff --git a/spec/spec/defs.js b/spec/spec/defs.js
deleted file mode 100644
index 5e5da08..0000000
--- a/spec/spec/defs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-describe('Defs', function() {
- var defs
-
- beforeEach(function() {
- defs = draw.defs()
- })
-
- it('creates an instance of SVG.Defs', function() {
- expect(defs instanceof SVG.Defs).toBeTruthy()
- })
-
-}) \ No newline at end of file
diff --git a/spec/spec/doc.js b/spec/spec/doc.js
deleted file mode 100644
index 19dda04..0000000
--- a/spec/spec/doc.js
+++ /dev/null
@@ -1,66 +0,0 @@
-describe('Svg', function() {
-
- describe('create()', function(){
- it('doenst alter size when adopting width SVG()', function() {
- var svg = SVG('#inlineSVG')
- expect(svg.width()).toBe(0)
- expect(svg.height()).toBe(0)
- })
- })
-
- it('is an instance of SVG.Container', function() {
- expect(draw instanceof SVG.Container).toBe(true)
- })
-
- it('is an instance of SVG.Svg', function() {
- expect(draw instanceof SVG.Svg).toBe(true)
- })
-
- it('returns itself as Svg when root', function() {
- expect(draw.root()).toBe(draw)
- })
-
- it('has a defs element when root', function() {
- expect(draw.defs() instanceof SVG.Defs).toBe(true)
- })
-
- describe('defs()', function() {
- it('returns defs element', function(){
- expect(draw.defs()).toBe(draw.node.getElementsByTagName('defs')[0].instance)
- })
- it('references parent node', function(){
- expect(draw.defs().parent()).toBe(draw)
- })
- })
-
- describe('isRoot()', function() {
- it('returns true when the Svg is not attached to dom', function() {
- expect(SVG().isRoot()).toBe(true)
- })
- it('returns true when its outer element is not an svg element', function () {
- expect(SVG().addTo(document.createElement('div')).isRoot()).toBe(true)
- })
- it('returns true when its the root element of the dom', function () {
- expect(draw.isRoot()).toBe(true)
- })
- it('returns false when parent is svg element', function () {
- expect(SVG().addTo(SVG()).isRoot()).toBe(false)
- })
- })
-
- describe('remove()', function() {
- it('removes the Svg from the dom only if Svg is not root element', function() {
- var cnt = window.document.querySelectorAll('svg').length
- draw.remove()
- if(parserInDoc){
- expect(window.document.querySelectorAll('svg').length).toBe(cnt)
- }else{
- expect(window.document.querySelectorAll('svg').length).toBe(cnt-1)
- }
-
- draw = SVG().addTo(drawing).size(100,100);
- expect(window.document.querySelectorAll('svg').length).toBe(cnt)
- })
- })
-
-})
diff --git a/spec/spec/element.js b/spec/spec/element.js
deleted file mode 100644
index 87f4481..0000000
--- a/spec/spec/element.js
+++ /dev/null
@@ -1,1090 +0,0 @@
-describe('Element', function () {
-
- beforeEach(function () {
- draw.clear()
- draw.attr('viewBox', null)
- })
-
- it('should create a circular reference on the node', function () {
- var rect = draw.rect(100, 100)
- expect(rect.node.instance).toBe(rect)
- })
-
- describe('attr()', function () {
- var rect
-
- beforeEach(function () {
- rect = draw.rect(100, 100)
- })
-
- afterEach(function () {
- rect.remove()
- // draw.defs().find('pattern').forEach(function(el) { el.remove() })
- draw.defs().clear()
- })
-
- it('sets one attribute when two arguments are given', function () {
- rect.attr('fill', '#ff0066')
- expect(rect.node.getAttribute('fill')).toBe('#ff0066')
- })
- it('sets various attributes when an object is given', function () {
- rect.attr({ fill: '#00ff66', stroke: '#ff2233', 'stroke-width': 10 })
- expect(rect.node.getAttribute('fill')).toBe('#00ff66')
- expect(rect.node.getAttribute('stroke')).toBe('#ff2233')
- expect(rect.node.getAttribute('stroke-width')).toBe('10')
- })
- it('gets the value of the string value given as first argument', function () {
- rect.attr('fill', '#ff0066')
- expect(rect.attr('fill')).toEqual('#ff0066')
- })
- it('gets an object with all attributes without any arguments', function () {
- rect.attr({ fill: '#00ff66', stroke: '#ff2233' })
- var attr = rect.attr()
- expect(attr.fill).toBe('#00ff66')
- expect(attr.stroke).toBe('#ff2233')
- })
- it('removes an attribute if the second argument is explicitly set to null', function () {
- rect.attr('stroke-width', 10)
- expect(rect.node.getAttribute('stroke-width')).toBe('10')
- rect.attr('stroke-width', null)
- expect(rect.node.getAttribute('stroke-width')).toBe(null)
- })
- it('correctly parses numeric values as a getter', function () {
- rect.attr('stroke-width', 11)
- expect(rect.node.getAttribute('stroke-width')).toBe('11')
- expect(rect.attr('stroke-width')).toBe(11)
- })
- it('correctly parses negative numeric values as a getter', function () {
- rect.attr('x', -120)
- expect(rect.node.getAttribute('x')).toBe('-120')
- expect(rect.attr('x')).toBe(-120)
- })
- it('falls back on default values if attribute is not present', function () {
- expect(rect.attr('stroke-linejoin')).toBe('miter')
- })
- it('gets the "style" attribute as a string', function () {
- rect.css('cursor', 'pointer')
- expect(rect.node.style.cursor).toBe('pointer')
- })
- it('sets the style attribute correctly', function () {
- rect.attr('style', 'cursor:move;')
- expect(rect.node.style.cursor).toBe('move')
- })
- it('acts as a global getter when no arguments are given', function () {
- rect.fill('#ff0066')
- expect(rect.attr().fill).toBe('#ff0066')
- })
- it('correctly parses numeric values as a global getter', function () {
- rect.stroke({ width: 20 })
- expect(rect.attr()['stroke-width']).toBe(20)
- })
- it('correctly parses negative numeric values as a global getter', function () {
- rect.x(-30)
- expect(rect.attr().x).toBe(-30)
- })
- it('leaves unit values alone as a global getter', function () {
- rect.attr('x', '69%')
- expect(rect.attr().x).toBe('69%')
- })
- it('acts as getter for an array of values passed', function () {
- rect.attr({
- x: 1,
- y: 2,
- width: 20,
- 'fill-opacity': 0.5
- })
-
- expect(rect.attr([ 'x', 'fill-opacity' ])).toEqual(jasmine.objectContaining({
- x: 1,
- 'fill-opacity': 0.5
- }))
- })
- it('creates an image in defs when image path is specified for fill', function () {
- rect.attr('fill', imageUrl)
- expect(draw.defs().find('pattern').length).toBe(1)
- expect(draw.defs().find('pattern image').length).toBe(1)
- expect(draw.defs().find('pattern image')[0].attr('href')).toBe(imageUrl)
- })
- it('creates pattern in defs when image object is specified for fill', function () {
- rect.attr('fill', new SVG.Image().load(imageUrl))
- expect(draw.defs().find('pattern').length).toBe(1)
- expect(draw.defs().find('pattern image').length).toBe(1)
- expect(draw.defs().find('pattern image')[0].attr('href')).toBe(imageUrl)
- })
- it('correctly creates SVG.Array if array given', function () {
- rect.attr('something', [ 2, 3, 4 ])
- expect(rect.attr('something')).toBe('2 3 4')
- })
- it('redirects to the leading() method when setting leading', function () {
- var text = draw.text(loremIpsum)
- spyOn(text, 'leading')
-
- text.attr('leading', 2)
- expect(text.leading).toHaveBeenCalled()
- text.remove()
- })
- })
-
- describe('id()', function () {
- var rect
-
- beforeEach(function () {
- rect = draw.rect(100, 100)
- })
-
- it('generates an id when getting if no id is set on the element', function () {
- expect(rect.attr('id')).toBe(undefined)
- expect(rect.id()).not.toBe(null)
- expect(rect.node.id).not.toBe(null)
- })
- // it('increases the global id sequence', function() {
- // var did = SVG.did
- // rect.id()
- //
- // expect(did + 1).toBe(SVG.did)
- // })
- it('adds a unique id containing the node name', function () {
- rect.id()
-
- expect(rect.attr('id').includes('Rect')).toBe(true)
- })
- it('gets the value if the id attribute without an argument', function () {
- expect(rect.id()).toBe(rect.attr('id'))
- })
- it('sets the value of the id', function () {
- rect.id('new_id')
- expect(rect.id()).toBe('new_id')
- })
- })
-
- describe('css()', function () {
- it('sets the style with key and value arguments', function () {
- var rect = draw.rect(100, 100).css('cursor', 'crosshair')
- expect(window.stripped(rect.node.style.cssText)).toBe('cursor:crosshair')
- })
- it('sets multiple styles with an object as the first argument', function () {
- var rect = draw.rect(100, 100).css({ cursor: 'help', display: 'block' })
- expect(window.stripped(rect.node.style.cssText)).toMatch(/cursor:help/)
- expect(window.stripped(rect.node.style.cssText)).toMatch(/display:block/)
- expect(window.stripped(rect.node.style.cssText).length).toBe(('display:block;cursor:help').length)
- })
- it('gets a style with a string key as the first argument', function () {
- var rect = draw.rect(100, 100).css({ cursor: 'progress', display: 'block' })
- expect(rect.css('cursor')).toBe('progress')
- })
- it('gets multiple sytyles with array as first argument', function () {
- var rect = draw.rect(100, 100).css({ cursor: 'progress', display: 'block' })
- expect(rect.css([ 'cursor', 'display' ])).toEqual({ cursor: 'progress', display: 'block' })
- })
- it('gets an object with all styles with zero arguments', function () {
- var rect = draw.rect(100, 100).css({ cursor: 's-resize', display: 'none' })
- expect(rect.css()).toEqual({ cursor: 's-resize', display: 'none' })
- })
- it('removes a style if the value is an empty string', function () {
- var rect = draw.rect(100, 100).css({ cursor: 'n-resize', display: '' })
- expect(rect.css('display')).toBe('')
- })
- it('removes a style if the value explicitly set to null', function () {
- var rect = draw.rect(100, 100).css('cursor', 'w-resize')
- expect(rect.css()).toEqual({ cursor: 'w-resize' })
- rect.css('cursor', null)
- expect(rect.css('cursor')).toBe('')
- })
- })
-
- describe('transform()', function () {
- var rect, ctm
-
- beforeEach(function () {
- rect = draw.rect(100, 100)
- })
-
- it('gets the current transformation matrix', function () {
- expect(rect.transform()).toEqual(jasmine.objectContaining({
- a: 1,
- b: 0,
- c: 0,
- d: 1,
- e: 0,
- f: 0,
- scaleX: 1,
- scaleY: 1,
- shear: 0,
- rotate: 0,
- translateX: 0,
- translateY: 0
- }))
- })
- it('sets the translation of and element', function () {
- rect.transform({ translate: [ 10, 11 ] })
- expect(window.matrixStringToArray(rect.node.getAttribute('transform'))).toEqual([ 1, 0, 0, 1, 10, 11 ])
- })
- it('performs an absolute translation', function () {
- rect.transform({ translate: [ 10, 11 ] }).transform({ translate: [ 20, 21 ] })
- expect(window.matrixStringToArray(rect.node.getAttribute('transform'))).toEqual([ 1, 0, 0, 1, 20, 21 ])
- })
- it('performs a relative translation with relative flag', function () {
- rect.transform({ translate: [ 10, 11 ] }).transform({ translate: [ 20, 21 ] }, true)
- expect(window.matrixStringToArray(rect.node.getAttribute('transform'))).toEqual([ 1, 0, 0, 1, 30, 32 ])
- })
- it('sets the scaleX and scaleY of an element', function () {
- rect.transform({ scaleX: 0.5, scaleY: 2 })
- expect(window.matrixStringToArray(rect.node.getAttribute('transform'))).toEqual([ 0.5, 0, 0, 2, 25, -50 ])
- })
- it('performs a uniform scale with scale given', function () {
- rect.transform({ scale: 3 })
- expect(window.matrixStringToArray(rect.node.getAttribute('transform'))).toEqual([ 3, 0, 0, 3, -100, -100 ])
- })
- it('also works with only skaleX', function () {
- rect.transform({ scaleX: 3 })
- expect(window.matrixStringToArray(rect.node.getAttribute('transform'))).toEqual([ 3, 0, 0, 1, -100, 0 ])
- })
- it('also works with only skaleY', function () {
- rect.transform({ scaleY: 3 })
- expect(window.matrixStringToArray(rect.node.getAttribute('transform'))).toEqual([ 1, 0, 0, 3, 0, -100 ])
- })
-
- it('performs an absolute scale by default', function () {
- rect.transform({ scale: 3 }).transform({ scale: 0.5 })
- expect(window.matrixStringToArray(rect.node.getAttribute('transform'))).toEqual([ 0.5, 0, 0, 0.5, 25, 25 ])
- })
- it('performs a relative scale with a relative flag', function () {
- rect.transform({ scaleX: 0.5, scaleY: 2 }).transform({ scaleX: 3, scaleY: 4 }, true)
- expect(window.matrixStringToArray(rect.node.getAttribute('transform'))).toEqual([ 1.5, 0, 0, 8, -25, -350 ])
- })
- it('sets the skewX of an element with center on the element', function () {
- ctm = rect.transform({ skewX: 10 }).ctm()
- expect(ctm.a).toBe(1)
- expect(ctm.b).toBe(0)
- expect(ctm.c).toBeCloseTo(0.17632698070846498)
- expect(ctm.d).toBe(1)
- expect(ctm.e).toBeCloseTo(-8.81634903542325)
- expect(ctm.f).toBe(0)
- })
- it('sets the skewX of an element with given center', function () {
- ctm = rect.transform({ skewX: 10, ox: 0, oy: 0 }).ctm()
- expect(ctm.a).toBe(1)
- expect(ctm.b).toBe(0)
- expect(ctm.c).toBeCloseTo(0.17632698070846498)
- expect(ctm.d).toBe(1)
- expect(ctm.e).toBe(0)
- expect(ctm.f).toBe(0)
- })
- it('sets the skewY of an element', function () {
- ctm = rect.transform({ skewY: -10, ox: 0, oy: 0 }).ctm()
- expect(ctm.a).toBe(1)
- expect(ctm.b).toBeCloseTo(-0.17632698070846498)
- expect(ctm.c).toBe(0)
- expect(ctm.d).toBe(1)
- expect(ctm.e).toBe(0)
- expect(ctm.f).toBe(0)
- })
- it('sets the skewX and skewY of an element', function () {
- ctm = rect.transform({ skewX: 10, skewY: -10, ox: 0, oy: 0 }).ctm()
- expect(ctm.a).toBe(1)
- expect(ctm.b).toBeCloseTo(-0.17632698070846498)
- expect(ctm.c).toBeCloseTo(0.17632698070846498)
- expect(ctm.d).toBe(1)
- expect(ctm.e).toBe(0)
- expect(ctm.f).toBe(0)
- })
- it('performs a uniform skew with skew given', function () {
- ctm = rect.transform({ skew: 5, ox: 0, oy: 0 }).ctm()
- expect(ctm.a).toBe(1)
- expect(ctm.b).toBeCloseTo(0.08748866352592401)
- expect(ctm.c).toBeCloseTo(0.08748866352592401)
- expect(ctm.d).toBe(1)
- expect(ctm.e).toBe(0)
- expect(ctm.f).toBe(0)
- })
- it('rotates the element around its centre if no rotation point is given', function () {
- ctm = rect.center(100, 100).transform({ rotate: 45 }).ctm()
- expect(ctm.a).toBeCloseTo(0.7071068286895752)
- expect(ctm.b).toBeCloseTo(0.7071068286895752)
- expect(ctm.c).toBeCloseTo(-0.7071068286895752)
- expect(ctm.d).toBeCloseTo(0.7071068286895752)
- expect(ctm.e).toBeCloseTo(100)
- expect(ctm.f).toBeCloseTo(-41.421356201171875)
- })
- it('rotates the element around the given rotation point', function () {
- ctm = rect.transform({ rotate: 55, origin: [ 80, 2 ] }).ctm()
- expect(ctm.a).toBeCloseTo(0.5735765099525452)
- expect(ctm.b).toBeCloseTo(0.8191521167755127)
- expect(ctm.c).toBeCloseTo(-0.8191521167755127)
- expect(ctm.d).toBeCloseTo(0.5735765099525452)
- expect(ctm.e).toBeCloseTo(35.75218963623047)
- expect(ctm.f).toBeCloseTo(-64.67931365966797)
- })
- it('transforms element using a matrix', function () {
- rect.transform({ a: 0.5, c: 0.5 })
- expect(window.matrixStringToArray(rect.node.getAttribute('transform'))).toEqual([ 0.5, 0, 0.5, 1, 0, 0 ])
- })
- it('transforms relative using a matrix', function () {
- rect.transform({ a: 0.5, c: 0.5 }).transform(new SVG.Matrix({ e: 20, f: 20 }), true)
- expect(window.matrixStringToArray(rect.node.getAttribute('transform'))).toEqual([ 0.5, 0, 0.5, 1, 20, 20 ])
- })
- it('flips the element on x axis', function () {
- rect.transform({ flip: 'x' })
- expect(window.matrixStringToArray(rect.node.getAttribute('transform'))).toEqual([ -1, 0, 0, 1, 100, 0 ])
- })
- it('flips the element on x axis with offset', function () {
- rect.transform({ flip: 'x', origin: [ 20, 0 ] })
- expect(window.matrixStringToArray(rect.node.getAttribute('transform'))).toEqual([ -1, 0, 0, 1, 40, 0 ])
- })
- it('flips the element on y axis with offset', function () {
- rect.transform({ flip: 'y', origin: [ 0, 20 ] })
- expect(window.matrixStringToArray(rect.node.getAttribute('transform'))).toEqual([ 1, 0, 0, -1, 0, 40 ])
- })
- it('flips the element on both axis with offset', function () {
- rect.transform({ flip: 'both', origin: [ 20, 20 ] })
- expect(window.matrixStringToArray(rect.node.getAttribute('transform'))).toEqual([ -1, 0, 0, -1, 40, 40 ])
- })
- it('flips the element on both axis', function () {
- rect.transform({ flip: 'both' })
- expect(window.matrixStringToArray(rect.node.getAttribute('transform'))).toEqual([ -1, 0, 0, -1, 100, 100 ])
- })
- })
-
- describe('untransform()', function () {
- var circle
-
- beforeEach(function () {
- circle = draw.circle(100).translate(50, 100)
- })
-
- it('removes the transform attribute', function () {
- expect(window.matrixStringToArray(circle.node.getAttribute('transform'))).toEqual([ 1, 0, 0, 1, 50, 100 ])
- circle.untransform()
- expect(circle.node.getAttribute('transform')).toBeNull()
- })
- it('resets the current transform matix', function () {
- expect(circle.ctm()).toEqual(new SVG.Matrix(1, 0, 0, 1, 50, 100))
- circle.untransform()
- expect(circle.ctm()).toEqual(new SVG.Matrix())
- })
- })
-
- describe('matrixify', function () {
- var rect
-
- beforeEach(function () {
- rect = draw.rect(100, 100)
- })
-
- it('allow individual transform definitions to be separated by whitespace', function () {
- // One space
- rect.attr('transform', 'translate(20) translate(20)')
- expect(rect.matrixify().toString()).toBe('matrix(1,0,0,1,40,0)')
-
- // More than one space
- rect.attr('transform', 'translate(20) translate(-60)')
- expect(rect.matrixify().toString()).toBe('matrix(1,0,0,1,-40,0)')
- })
-
- it('allow individual transform definitions to be separated by a comma', function () {
- rect.attr('transform', 'translate(20,16),translate(20)')
- expect(rect.matrixify().toString()).toBe('matrix(1,0,0,1,40,16)')
- })
-
- it('allow individual transform definitions to be separated by whitespace and a comma', function () {
- // Spaces before the comma
- rect.attr('transform', 'translate(20,16) ,translate(20)')
- expect(rect.matrixify().toString()).toBe('matrix(1,0,0,1,40,16)')
-
- // Spaces after the comma
- rect.attr('transform', 'translate(12), translate(10,14)')
- expect(rect.matrixify().toString()).toBe('matrix(1,0,0,1,22,14)')
-
- // Spaces before and after the comma
- rect.attr('transform', 'translate(24,14) , translate(36,6)')
- expect(rect.matrixify().toString()).toBe('matrix(1,0,0,1,60,20)')
- })
-
- it('merges non-commutative transformations correctly', function () {
- // Spaces before the comma
- rect.attr('transform', 'scale(3, 2) translate(20,16)')
- expect(rect.matrixify().toString()).toBe('matrix(3,0,0,2,60,32)')
- })
-
- it('doesn\'t care if you have matrices there', function () {
- // Spaces before the comma
- rect.attr('transform', 'matrix(3, 0, 0, 2, 0, 0) translate(20,16)')
- expect(rect.matrixify().toString()).toBe('matrix(3,0,0,2,60,32)')
- })
-
- })
-
- describe('toParent()', function () {
- var nested, g1, g2, rect1
-
- beforeEach(function () {
- nested = draw.nested()
- g1 = nested.group().translate(20, 20)
- g2 = g1.group().translate(100, 100)
- rect1 = g2.rect(100, 100).scale(2)
- rect2 = nested.rect(100, 100).scale(0.5)
- })
-
- afterEach(function () {
- draw.clear()
- })
-
- it('returns itself when given parent and it is the same', function () {
- expect(g2.toParent(g2)).toBe(g2)
- })
-
- it('moves the element to other parent while maintaining the same visal representation', function () {
- expect(window.roundMatrix(rect1.toParent(nested).matrix()))
- .toEqual(new SVG.Matrix(2, 0, 0, 2, 70, 70))
- expect(rect1.parent()).toEqual(nested)
- expect(window.roundMatrix(rect2.toParent(g2).matrix()))
- .toEqual(new SVG.Matrix(0.5, 0, 0, 0.5, -95, -95))
- expect(rect2.parent()).toEqual(g2)
- })
- })
-
- describe('toRoot()', function () {
- var nested, g1, g2, rect
-
- beforeEach(function () {
- rect = draw.rect(100, 100)
- spyOn(rect, 'toParent')
- })
-
- afterEach(function () {
- draw.clear()
- })
-
- it('redirects to toParent(root)', function () {
- rect.toRoot()
- expect(rect.toParent).toHaveBeenCalledWith(rect.root(), undefined)
- })
- })
-
- // FIXME
- // describe('flatten()', function() {
- // var nested, g1, g2, rect1
- //
- // beforeEach(function() {
- // draw.defs()
- // nested = draw.nested()
- // g1 = nested.group().translate(20, 20)
- // g2 = g1.group().translate(100, 100)
- // rect1 = g2.rect(100,100).scale(2)
- // rect2 = g1.rect(100,100).scale(0.5)
- // })
- //
- // afterEach(function() {
- // draw.clear()
- // })
- //
- // it('returns itself when depths is 0 or this is SVG.Defs', function() {
- // expect(draw.defs().flatten()).toBe(draw.defs())
- // expect(g1.flatten(null, 0)).toBe(g1)
- // })
- //
- // it('breaks up all container and move the elements to the parent', function() {
- // g1.flatten()
- // expect(rect1.parent()).toBe(nested)
- // expect(rect2.parent()).toBe(nested)
- //
- // expect(g1.node.parentNode).toBeFalsy()
- // expect(g2.node.parentNode).toBeFalsy()
- //
- // expect(window.roundMatrix(rect1.matrix())).toEqual(new SVG.Matrix(2, 0, 0, 2, 70, 70))
- // expect(window.roundMatrix(rect2.matrix())).toEqual(new SVG.Matrix(0.5, 0, 0, 0.5, 45, 45))
- // })
- //
- // it('ungroups everything to the doc root when called on SVG.Doc / does not ungroup defs/parser', function() {
- // draw.flatten()
- //
- // expect(rect1.parent()).toBe(draw)
- // expect(rect2.parent()).toBe(draw)
- //
- // expect(g1.node.parentNode).toBeFalsy()
- // expect(g2.node.parentNode).toBeFalsy()
- // expect(nested.node.parentNode).toBeFalsy()
- //
- // expect(window.roundMatrix(rect1.matrix())).toEqual(new SVG.Matrix(2, 0, 0, 2, 70, 70))
- // expect(window.roundMatrix(rect2.matrix())).toEqual(new SVG.Matrix(0.5, 0, 0, 0.5, 45, 45))
- //
- // expect(draw.children().length).toBe(3+parserInDoc) // 2 * rect + defs
- // })
- // })
-
- describe('ctm()', function () {
- var rect
-
- beforeEach(function () {
- rect = draw.rect(100, 100)
- })
-
- it('gets the current transform matrix of the element', function () {
- rect.translate(10, 20)
- expect(rect.ctm().toString()).toBe('matrix(1,0,0,1,10,20)')
- })
- it('returns an instance of SVG.Matrix', function () {
- expect(rect.ctm() instanceof SVG.Matrix).toBeTruthy()
- })
- })
-
- describe('data()', function () {
- it('sets a data attribute and convert value to json', function () {
- var rect = draw.rect(100, 100).data('test', 'value')
- expect(rect.node.getAttribute('data-test')).toBe('value')
- })
- it('sets a data attribute and not convert value to json if flagged raw', function () {
- var rect = draw.rect(100, 100).data('test', 'value', true)
- expect(rect.node.getAttribute('data-test')).toBe('value')
- })
- it('sets multiple data attributes and convert values to json when an object is passed', function () {
- var rect = draw.rect(100, 100).data({
- forbidden: 'fruit',
- multiple: {
- values: 'in',
- an: 'object'
- }
- })
- expect(rect.node.getAttribute('data-forbidden')).toBe('fruit')
- expect(rect.node.getAttribute('data-multiple')).toEqual('{"values":"in","an":"object"}')
- })
- it('gets data value if only one argument is passed', function () {
- var rect = draw.rect(100, 100).data('test', 101)
- expect(rect.data('test')).toBe(101)
- })
- it('gets the raw value when value is no valid json', function () {
- var rect = draw.rect(100, 100).data('test', '{["sd":12}]', true)
- expect(rect.data('test')).toBe('{["sd":12}]')
- })
- it('removes data when null given', function () {
- var rect = draw.rect(100, 100).data('test', '{"sd":12}', true)
- expect(rect.data('test', null).attr('data-test')).toBeFalsy()
- })
- it('maintains data type for a number', function () {
- var rect = draw.rect(100, 100).data('test', 101)
- expect(typeof rect.data('test')).toBe('number')
- })
- it('maintains data type for an object', function () {
- var rect = draw.rect(100, 100).data('test', { string: 'value', array: [ 1, 2, 3 ] })
- expect(typeof rect.data('test')).toBe('object')
- expect(Array.isArray(rect.data('test').array)).toBe(true)
- })
- })
-
- describe('remove()', function () {
- it('removes an element and return it', function () {
- var rect = draw.rect(100, 100)
- expect(rect.remove()).toBe(rect)
- })
- it('removes an element from its parent', function () {
- var rect = draw.rect(100, 100)
- rect.remove()
- expect(draw.has(rect)).toBe(false)
- })
- })
-
- describe('addTo()', function () {
- it('adds an element to a given parent and returns itself', function () {
- var rect = draw.rect(100, 100)
- var group = draw.group()
-
- expect(rect.addTo(group)).toBe(rect)
- expect(rect.parent()).toBe(group)
- })
- })
-
- describe('putIn()', function () {
- it('adds an element to a given parent and returns parent', function () {
- var rect = draw.rect(100, 100)
- var group = draw.group()
-
- expect(rect.putIn(group)).toBe(group)
- expect(rect.parent()).toBe(group)
- })
- })
-
- describe('rbox()', function () {
- it('returns an instance of SVG.Box', function () {
- var rect = draw.rect(100, 100)
- expect(rect.rbox() instanceof SVG.Box).toBe(true)
- })
- it('returns the correct rectangular box', function () {
- // stroke has to be set in order to get the correct result when calling getBoundingClientRect in IE11
- var rect = draw.size(200, 150).viewbox(0, 0, 200, 150).rect(105, 210).move(2, 12)// .stroke({width:0})
- var box = rect.rbox(draw)
- expect(box.x).toBeCloseTo(2)
- expect(box.y).toBeCloseTo(12)
- expect(box.cx).toBeCloseTo(54.5)
- expect(box.cy).toBeCloseTo(117)
- expect(box.width).toBeCloseTo(105)
- expect(box.height).toBeCloseTo(210)
- })
- })
-
- describe('root()', function () {
- it('returns the parent document', function () {
- var rect = draw.rect(100, 100)
- expect(rect.root()).toBe(draw)
- })
- })
-
- describe('parent()', function () {
- it('contains the parent svg', function () {
- var rect = draw.rect(100, 100)
- expect(rect.parent()).toBe(draw)
- })
- it('contains the parent group when in a group', function () {
- var group = draw.group()
- var rect = group.rect(100, 100)
- expect(rect.parent()).toBe(group)
- })
- it('contains the parent which matches type', function () {
- var group = draw.group()
- var rect = group.rect(100, 100)
- expect(rect.parent(SVG.Svg)).toBe(draw)
- })
- it('contains the parent which matches selector', function () {
- var group1 = draw.group().addClass('test')
- var group2 = group1.group()
- var rect = group2.rect(100, 100)
- expect(rect.parent('.test')).toBe(group1)
- })
- })
-
- describe('parents()', function () {
- it('returns array of parents until the passed element or root svg', function () {
- var group1 = draw.group().addClass('test')
- var group2 = group1.group()
- var group3 = group2.group()
- var rect = group3.rect(100, 100)
-
- expect(rect.parents('.test')).toEqual([ group3, group2, group1 ])
- expect(rect.parents(group2)).toEqual([ group3, group2 ])
- expect(rect.parents(group1).length).toBe(3)
- })
- })
-
- describe('clone()', function () {
- var rect, group, circle
-
- beforeEach(function () {
- rect = draw.rect(100, 100).center(321, 567).fill('#f06')
- group = draw.group().add(rect)
- circle = group.circle(100)
- })
-
- it('makes an exact copy of the element', function () {
- clone = rect.clone()
- expect(clone.attr('id', null).attr()).toEqual(rect.attr('id', null).attr())
- })
- it('assigns a new id to the cloned element', function () {
- clone = rect.clone()
- expect(clone.id()).not.toBe(rect.id())
- })
- it('copies all child nodes as well', function () {
- clone = group.clone()
- expect(clone.children().length).toBe(group.children().length)
- })
- it('assigns a new id to cloned child elements', function () {
- clone = group.clone()
- expect(clone.id()).not.toEqual(group.id())
- expect(clone.get(0).id()).not.toBe(group.get(0).id())
- expect(clone.get(1).id()).not.toBe(group.get(1).id())
- })
- it('deep copies over dom data', function () {
- group.dom = { foo: 'bar' }
- rect.dom = { foo: 'baz' }
- clone = group.clone()
- expect(clone.dom.foo).toBe('bar')
- expect(clone.get(0).dom.foo).toBe('baz')
- })
- })
-
- describe('toString()', function () {
- it('returns the element id', function () {
- var rect = draw.rect(100, 100).center(321, 567).fill('#f06')
- expect(rect + '').toBe(rect.id())
- })
- })
-
- describe('replace()', function () {
- it('replaces the original element by another given element', function () {
- var rect = draw.rect(100, 100).center(321, 567).fill('#f06')
- var circle = draw.circle(200)
- var rectIndex = draw.children().indexOf(rect)
-
- rect.replace(circle)
-
- expect(rectIndex).toBe(draw.children().indexOf(circle))
- })
- it('removes the original element', function () {
- var rect = draw.rect(100, 100).center(321, 567).fill('#f06')
-
- rect.replace(draw.circle(200))
-
- expect(draw.has(rect)).toBe(false)
- })
- it('returns the new element', function () {
- var circle = draw.circle(200)
- var element = draw.rect(100, 100).center(321, 567).fill('#f06').replace(circle)
-
- expect(element).toBe(circle)
- })
- })
-
- describe('classes()', function () {
- it('returns an array of classes on the node', function () {
- var element = draw.rect(100, 100)
- element.node.setAttribute('class', 'one two')
- expect(element.classes()).toEqual([ 'one', 'two' ])
- })
- })
-
- describe('hasClass()', function () {
- it('returns true if the node has the class', function () {
- var element = draw.rect(100, 100)
- element.node.setAttribute('class', 'one')
- expect(element.hasClass('one')).toBeTruthy()
- })
-
- it('returns false if the node does not have the class', function () {
- var element = draw.rect(100, 100)
- element.node.setAttribute('class', 'one')
- expect(element.hasClass('two')).toBeFalsy()
- })
- })
-
- describe('addClass()', function () {
- it('adds the class to the node', function () {
- var element = draw.rect(100, 100)
- element.addClass('one')
- expect(element.hasClass('one')).toBeTruthy()
- })
-
- it('does not add duplicate classes', function () {
- var element = draw.rect(100, 100)
- element.addClass('one')
- element.addClass('one')
- expect(element.node.getAttribute('class')).toEqual('one')
- })
-
- it('returns the svg instance', function () {
- var element = draw.rect(100, 100)
- expect(element.addClass('one')).toEqual(element)
- })
- })
-
- describe('removeClass()', function () {
- it('removes the class from the node when the class exists', function () {
- var element = draw.rect(100, 100)
- element.addClass('one')
- element.removeClass('one')
- expect(element.hasClass('one')).toBeFalsy()
- })
-
- it('does nothing when the class does not exist', function () {
- var element = draw.rect(100, 100)
- element.removeClass('one')
- expect(element.hasClass('one')).toBeFalsy()
- })
-
- it('returns the element', function () {
- var element = draw.rect(100, 100)
- expect(element.removeClass('one')).toEqual(element)
- })
- })
-
- describe('toggleClass()', function () {
- it('adds the class when it does not already exist', function () {
- var element = draw.rect(100, 100)
- element.toggleClass('one')
- expect(element.hasClass('one')).toBeTruthy()
- })
- it('removes the class when it already exists', function () {
- var element = draw.rect(100, 100)
- element.addClass('one')
- element.toggleClass('one')
- expect(element.hasClass('one')).toBeFalsy()
- })
- it('returns the svg instance', function () {
- var element = draw.rect(100, 100)
- expect(element.toggleClass('one')).toEqual(element)
- })
- })
-
- describe('reference()', function () {
- it('gets a referenced element from a given attribute', function () {
- var rect = draw.defs().rect(100, 100)
- var use = draw.use(rect)
- var mark = draw.marker(10, 10)
- var path = draw.path(svgPath).marker('end', mark)
-
- expect(use.reference('href')).toBe(rect)
- expect(path.reference('marker-end')).toBe(mark)
- })
- })
-
- describe('svg()', function () {
- describe('without an argument', function () {
- it('returns full raw svg when called on the root svg', function () {
- draw.size(100, 100).rect(100, 100).id(null)
- draw.circle(100).fill('#f06').id(null)
-
- var toBeTested = draw.svg()
-
- // Test for different browsers namely Firefox and Chrome
- expect(
- // IE
- toBeTested === '<svg xmlns:svgjs="http://svgjs.com/svgjs" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" xmlns="http://www.w3.org/2000/svg" height="100" width="100"><rect height="100" width="100"></rect><circle fill="#ff0066" cy="50" cx="50" r="50"></circle></svg>'
-
- // Firefox
- || toBeTested === '<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.com/svgjs" width="100" height="100"><rect width="100" height="100"></rect><circle r="50" cx="50" cy="50" fill="#ff0066"></circle></svg>'
-
- // svgdom
- || toBeTested === '<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.com/svgjs" width="100" height="100"><svg id="SvgjsSvg1002" width="2" height="0" style="overflow: hidden; top: -100%; left: -100%; position: absolute; opacity: 0"><polyline id="SvgjsPolyline1003" points="10,10 20,10 30,10"></polyline><path id="SvgjsPath1004" d="M80 80A45 45 0 0 0 125 125L125 80Z "></path></svg><rect width="100" height="100"></rect><circle r="50" cx="50" cy="50" fill="#ff0066"></circle></svg>'
- ).toBeTruthy()
-
- })
- it('returns partial raw svg when called on a sub group', function () {
- var group = draw.group().id(null)
- group.rect(100, 100).id(null)
- group.circle(100).fill('#f06').id(null)
-
- var toBeTested = group.svg()
-
- expect(
- toBeTested === '<g><rect width="100" height="100"></rect><circle r="50" cx="50" cy="50" fill="#ff0066"></circle></g>'
- || toBeTested === '<g><rect height="100" width="100"></rect><circle fill="#ff0066" cy="50" cx="50" r="50"></circle></g>'
- || toBeTested === '<g xmlns="http://www.w3.org/2000/svg"><rect width="100" height="100"></rect><circle r="50" cx="50" cy="50" fill="#ff0066"></circle></g>'
- ).toBeTruthy()
- })
- it('returns a single element when called on an element', function () {
- var group = draw.group().id(null)
- group.rect(100, 100).id(null)
- var circle = group.circle(100).fill('#f06').id(null)
- var toBeTested = circle.svg()
-
- expect(
- toBeTested === '<circle r="50" cx="50" cy="50" fill="#ff0066"></circle>'
- || toBeTested === '<circle fill="#ff0066" cy="50" cx="50" r="50"></circle>'
- || toBeTested === '<circle xmlns="http://www.w3.org/2000/svg" r="50" cx="50" cy="50" fill="#ff0066"></circle>'
- ).toBeTruthy()
- })
- })
- describe('with raw svg given', function () {
- it('imports a full svg document', function () {
- draw.svg('<svg id="SvgjsSvg1000" xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="100" height="100" viewBox="0 0 50 50"><rect id="SvgjsRect1183" width="100" height="100"></rect><circle id="SvgjsCircle1184" r="50" cx="25" cy="25" fill="#ff0066"></circle></svg>')
-
- expect(draw.get(0 + parserInDoc).type).toBe('svg')
- expect(draw.get(0 + parserInDoc).children().length).toBe(2)
- expect(draw.get(0 + parserInDoc).get(0).type).toBe('rect')
- expect(draw.get(0 + parserInDoc).get(1).type).toBe('circle')
- expect(draw.get(0 + parserInDoc).get(1).attr('fill')).toBe('#ff0066')
- })
- it('imports partial svg content', function () {
- draw.svg('<g id="SvgjsG1185"><rect id="SvgjsRect1186" width="100" height="100"></rect><circle id="SvgjsCircle1187" r="50" cx="25" cy="25" fill="#ff0066"></circle></g>')
- expect(draw.get(0 + parserInDoc).type).toBe('g')
- expect(draw.get(0 + parserInDoc).get(0).type).toBe('rect')
- expect(draw.get(0 + parserInDoc).get(1).type).toBe('circle')
- expect(draw.get(0 + parserInDoc).get(1).attr('fill')).toBe('#ff0066')
- })
- })
- describe('with a modifier function', function () {
- var rect, circle, group
- beforeEach(function () {
- rect = draw.rect(10, 10)
- circle = draw.circle(20, 20)
- group = draw.group()
-
- group.add(rect)
- group.add(circle)
- })
-
- it('executes the modifier', function () {
- var result = group.svg(function (instance) {
- instance.addClass('test')
- })
-
- expect(
- result === '<g class="test"><rect width="10" height="10" class="test"></rect><circle r="10" cx="10" cy="10" class="test"></circle></g>'
- || result === '<g class="test"><rect height="10" width="10" class="test"></rect><circle r="10" cx="10" cy="10" class="test"></circle></g>'
- || result === '<g class="test" xmlns="http://www.w3.org/2000/svg"><rect width="10" height="10" class="test"></rect><circle r="10" cx="10" cy="10" class="test"></circle></g>'
- ).toBeTruthy()
- })
-
- it('execute the modifier to replace the node', function () {
- var result = group.svg(function (instance) {
- if (instance instanceof SVG.Circle) {
- return draw.rect(15, 15)
- }
- })
-
- expect(
- result === '<g><rect width="10" height="10"></rect><rect width="15" height="15"></rect></g>'
- || result === '<g><rect height="10" width="10"></rect><rect height="15" width="15"></rect></g>'
- || result === '<g xmlns="http://www.w3.org/2000/svg"><rect width="10" height="10"></rect><rect width="15" height="15"></rect></g>'
- ).toBeTruthy()
- })
-
- it('it deletes the node if the modifier returns false', function () {
- var result = group.svg(function (instance) {
- if (instance instanceof SVG.Circle) {
- return false
- }
- })
-
- expect(
- result === '<g><rect width="10" height="10"></rect></g>'
- || result === '<g><rect height="10" width="10"></rect></g>'
- || result === '<g xmlns="http://www.w3.org/2000/svg"><rect width="10" height="10"></rect></g>'
- ).toBeTruthy()
- })
- })
- })
-
- describe('writeDataToDom()', function () {
- it('set all properties in el.dom to the svgjs:data attribute', function () {
- var rect = draw.rect(100, 100)
- rect.dom.foo = 'bar'
- rect.dom.number = new SVG.Number('3px')
-
- rect.writeDataToDom()
-
- expect(rect.attr('svgjs:data')).toBe('{"foo":"bar","number":"3px"}')
- })
- it('recursively dumps the data', function () {
- var g = draw.group()
- rect = g.rect(100, 100)
- g.dom.foo = 'bar'
- rect.dom.number = new SVG.Number('3px')
-
- g.writeDataToDom()
-
- expect(g.attr('svgjs:data')).toBe('{"foo":"bar"}')
- expect(rect.attr('svgjs:data')).toBe('{"number":"3px"}')
- })
- })
-
- describe('setData()', function () {
- it('read all data from the svgjs:data attribute and assign it to el.dom', function () {
- var rect = draw.rect(100, 100)
-
- rect.attr('svgjs:data', '{"foo":"bar","number":"3px"}')
- rect.setData(JSON.parse(rect.attr('svgjs:data')))
-
- expect(rect.dom.foo).toBe('bar')
- expect(rect.dom.number).toBe('3px')
- })
- })
-
- describe('point()', function () {
- it('creates a point from screen coordinates transformed in the elements space', function () {
- var rect = draw.rect(100, 100)
-
- var m = draw.node.getScreenCTM()
- // alert([m.a, m.a, m.c, m.d, m.e, m.f].join(', '))
-
- var translation = { x: m.e, y: m.f }
- var pos = { x: 2, y: 5 }
-
- expect(rect.point(pos.x, pos.y).x).toBeCloseTo(pos.x - translation.x)
- expect(rect.point(pos.x, pos.y).y).toBeCloseTo(pos.y - translation.y)
- })
- })
-
- describe('inside()', function () {
- it('checks whether the given point inside the bounding box of the element', function () {
- var rect = draw.rect(100, 100)
- expect(rect.inside(50, 50)).toBeTruthy()
- expect(rect.inside(150, 150)).toBeFalsy()
- })
- })
- describe('show()', function () {
- it('sets display property to ""', function () {
- var rect = draw.rect(100, 100).show()
- expect(rect.css('display')).toBe('')
- })
- })
- describe('hide()', function () {
- it('sets display property to none', function () {
- var rect = draw.rect(100, 100).hide()
- expect(rect.css('display')).toBe('none')
- })
- })
- describe('visible()', function () {
- it('checks if element is hidden or not', function () {
- var rect = draw.rect(100, 100).hide()
- expect(rect.visible()).toBeFalsy()
- rect.show()
- expect(rect.visible()).toBeTruthy()
- })
- })
- // describe('is()', function() {
- // it('checks if element is instance of a certain kind', function() {
- // var rect = draw.rect(100,100)
- // expect(rect.is(SVG.Rect)).toBeTruthy()
- // expect(rect.is(SVG.Element)).toBeTruthy()
- // expect(rect.is(SVG.Parent)).toBeFalsy()
- // })
- // })
- describe('defs()', function () {
- it('returns the defs from the svg', function () {
- var g = draw.group()
- expect(g.defs()).toBe(draw.root().defs())
- expect(g.defs() instanceof SVG.Defs).toBeTruthy()
- })
- })
- describe('round()', function () {
- it('round all attribues of a node to a specific precision', function () {
- var rect = draw.rect(100.123456, 200.987654)
-
- expect(rect.round(2).attr()).toEqual(jasmine.objectContaining({
- width: 100.12,
- height: 200.99
- }))
- })
- it('round specified attributes of a node to a specific precision', function () {
- var rect = draw.rect(100.123456, 200.987654)
-
- expect(rect.round(2, [ 'width' ]).attr()).toEqual(jasmine.objectContaining({
- width: 100.12,
- height: 200.987654
- }))
- })
- })
-
- describe('words()', function () {
- it('inserts plain text in a node', function () {
- var element = draw.element('title').words('These are some words.').id(null)
- var result = element.svg()
- expect(
- result == '<title>These are some words.</title>'
- || result == '<title xmlns="http://www.w3.org/2000/svg">These are some words.</title>'
- ).toBe(true)
- })
- it('removes all nodes before adding words', function () {
- var element = draw.element('title').words('These are some words.').id(null)
- element.words('These are some words.')
- var result = element.svg()
- expect(
- result == '<title>These are some words.</title>'
- || result == '<title xmlns="http://www.w3.org/2000/svg">These are some words.</title>'
- ).toBe(true)
- })
- })
-
- describe('element()', function () {
- var element
-
- beforeEach(function () {
- element = draw.element('rect')
- })
-
- it('creates an instance of Dom', function () {
- expect(element instanceof SVG.Dom).toBeTruthy()
- })
- it('creates element in called parent', function () {
- expect(element.parent()).toBe(draw)
- })
- })
-})
diff --git a/spec/spec/elements/Dom.js b/spec/spec/elements/Dom.js
index 2310473..bcf0ed5 100644
--- a/spec/spec/elements/Dom.js
+++ b/spec/spec/elements/Dom.js
@@ -2,6 +2,7 @@
import { SVG, G, Rect, Svg, Dom, List, Fragment, Circle, Tspan, create } from '../../../src/main.js'
import { getWindow } from '../../../src/utils/window.js'
+import { svg, html } from '../../../src/modules/core/namespaces.js'
const { any, createSpy, objectContaining } = jasmine
describe('Dom.js', function () {
@@ -58,7 +59,7 @@ describe('Dom.js', function () {
it('handles svg strings', () => {
const g = new G()
- g.add('<rect>')
+ g.add('<rect />')
expect(g.children().length).toBe(1)
expect(g.get(0)).toEqual(any(Rect))
})
@@ -98,7 +99,7 @@ describe('Dom.js', function () {
it('works with svg strings', () => {
const rect = new Rect()
- rect.addTo('<g>')
+ rect.addTo('<g />')
expect(rect.parent()).toEqual(any(G))
})
@@ -269,6 +270,15 @@ describe('Dom.js', function () {
})
})
+ describe('html()', () => {
+ it('calls xml with the html namespace', () => {
+ const group = new G()
+ const spy = spyOn(group, 'xml')
+ group.html('<foo>')
+ expect(spy).toHaveBeenCalledWith('<foo>', undefined, html)
+ })
+ })
+
describe('id()', () => {
it('returns current element when called as setter', () => {
const g = new G()
@@ -375,7 +385,7 @@ describe('Dom.js', function () {
it('creates object from svg string', () => {
const g = new G()
- const rect = '<rect>'
+ const rect = '<rect />'
const spy = spyOn(g, 'add').and.callThrough()
const ret = g.put(rect, 0)
expect(ret).toEqual(any(Rect))
@@ -409,7 +419,7 @@ describe('Dom.js', function () {
})
it('returns an instance when svg string given', () => {
- const g = '<g>'
+ const g = '<g />'
const rect = new Rect()
const ret = rect.putIn(g)
expect(ret).toEqual(any(G))
@@ -522,93 +532,12 @@ describe('Dom.js', function () {
})
describe('svg()', () => {
- describe('as setter', () => {
- it('returns itself', () => {
- const g = new G()
- expect(g.svg('<rect>')).toBe(g)
- })
-
- it('imports a single element', () => {
- const g = new G().svg('<rect>')
- expect(g.children()).toEqual([ any(Rect) ])
- })
-
- it('imports multiple elements', () => {
- const g = new G().svg('<rect /><circle />')
- expect(g.children()).toEqual([ any(Rect), any(Circle) ])
- })
-
- it('replaces the current element with the imported elements with outerHtml = true', () => {
- const canvas = new Svg()
- const g = canvas.group()
- g.svg('<rect /><circle />', true)
- expect(canvas.children()).toEqual([ any(Rect), any(Circle) ])
- })
-
- it('returns the parent when outerHtml = true', () => {
- const canvas = new Svg()
- const g = canvas.group()
- expect(g.svg('<rect /><circle />', true)).toBe(canvas)
- expect(canvas.children()).toEqual([ any(Rect), any(Circle) ])
- })
-
- it('works without a parent', () => {
- const canvas = new Svg()
- expect(canvas.svg('<rect><circle>')).toBe(canvas)
- })
- })
-
- describe('as getter', () => {
- let canvas, group, rect
-
- beforeEach(() => {
- canvas = new Svg().removeNamespace()
- group = canvas.group()
- rect = group.rect(123.456, 234.567)
- })
-
- it('returns the svg string of the element by default', () => {
- expect(rect.svg()).toBe('<rect width="123.456" height="234.567"></rect>')
- expect(canvas.svg()).toBe('<svg><g><rect width="123.456" height="234.567"></rect></g></svg>')
- })
-
- it('returns the innerHtml when outerHtml = false', () => {
- expect(rect.svg(false)).toBe('')
- expect(canvas.svg(false)).toBe('<g><rect width="123.456" height="234.567"></rect></g>')
- })
-
- it('runs a function on every exported node', () => {
- expect(rect.svg((el) => el.round(1))).toBe('<rect width="123.5" height="234.6"></rect>')
- })
-
- it('runs a function on every exported node and replaces node with returned node if return value is not falsy', () => {
- expect(rect.svg((el) => new Circle())).toBe('<circle></circle>')
- expect(canvas.svg((el) => new G())).toBe('<g></g>') // outer <svg> was replaced by an empty g
- expect(canvas.svg((el) => {
- if (el instanceof Rect) return new Circle()
- if (el instanceof Svg) el.removeNamespace()
- })).toBe('<svg><g><circle></circle></g></svg>')
- })
-
- it('runs a function on every exported node and removes node if return value is false', () => {
- expect(group.svg(() => false)).toBe('')
- expect(canvas.svg(() => false)).toBe('')
- expect(canvas.svg((el) => {
- if (el instanceof Svg) {
- el.removeNamespace()
- } else {
- return false
- }
- })).toBe('<svg></svg>')
- })
-
- it('runs a function on every inner node and exports it when outerHtml = false', () => {
- expect(canvas.svg(() => false), false).toBe('')
- expect(canvas.svg(() => undefined, false)).toBe('<g><rect width="123.456" height="234.567"></rect></g>')
- })
-
+ it('calls xml with the svg namespace', () => {
+ const group = new G()
+ const spy = spyOn(group, 'xml')
+ group.svg('<foo>')
+ expect(spy).toHaveBeenCalledWith('<foo>', undefined, svg)
})
-
})
describe('toString()', () => {
@@ -662,20 +591,20 @@ describe('Dom.js', function () {
})
it('allows to pass an svg string as element', () => {
- rect.wrap('<g>')
+ rect.wrap('<g />')
expect(rect.parent()).toEqual(any(G))
expect(rect.parent().parent()).toBe(canvas)
})
it('allows to pass an svg string as element', () => {
- rect.wrap('<g>')
+ rect.wrap('<g />')
expect(rect.parent()).toEqual(any(G))
expect(rect.parent().parent()).toBe(canvas)
})
it('allows to pass an svg string as element when element not in the dom', () => {
var rect = new Rect()
- rect.wrap(SVG('<g>'))
+ rect.wrap(SVG('<g />'))
expect(rect.parent()).toEqual(any(G))
expect(rect.parent().parent()).toBe(null)
})
@@ -692,4 +621,95 @@ describe('Dom.js', function () {
describe('writeDataToDom()', () => {
// not really testable
})
+
+ describe('xml()', () => {
+ describe('as setter', () => {
+ it('returns itself', () => {
+ const g = new G()
+ expect(g.xml('<rect />', undefined, svg)).toBe(g)
+ })
+
+ it('imports a single element', () => {
+ const g = new G().xml('<rect />', undefined, svg)
+ expect(g.children()).toEqual([ any(Rect) ])
+ expect(g.children()[0].node.namespaceURI).toBe(svg)
+ })
+
+ it('imports multiple elements', () => {
+ const g = new G().xml('<rect /><circle />', undefined, svg)
+ expect(g.children()).toEqual([ any(Rect), any(Circle) ])
+ })
+
+ it('replaces the current element with the imported elements with outerHtml = true', () => {
+ const canvas = new Svg()
+ const g = canvas.group()
+ g.xml('<rect /><circle />', true, svg)
+ expect(canvas.children()).toEqual([ any(Rect), any(Circle) ])
+ })
+
+ it('returns the parent when outerHtml = true', () => {
+ const canvas = new Svg()
+ const g = canvas.group()
+ expect(g.xml('<rect /><circle />', true, svg)).toBe(canvas)
+ expect(canvas.children()).toEqual([ any(Rect), any(Circle) ])
+ })
+
+ it('works without a parent', () => {
+ const canvas = new Svg()
+ expect(canvas.xml('<rect /><circle>', undefined, svg)).toBe(canvas)
+ })
+ })
+
+ describe('as getter', () => {
+ let canvas, group, rect
+
+ beforeEach(() => {
+ canvas = new Svg().removeNamespace()
+ group = canvas.group()
+ rect = group.rect(123.456, 234.567)
+ })
+
+ it('returns the svg string of the element by default', () => {
+ expect(rect.xml(), svg).toBe('<rect width="123.456" height="234.567"></rect>')
+ expect(canvas.xml(), svg).toBe('<svg><g><rect width="123.456" height="234.567"></rect></g></svg>')
+ })
+
+ it('returns the innerHtml when outerHtml = false', () => {
+ expect(rect.xml(false, svg)).toBe('')
+ expect(canvas.xml(false, svg)).toBe('<g><rect width="123.456" height="234.567"></rect></g>')
+ })
+
+ it('runs a function on every exported node', () => {
+ expect(rect.xml((el) => el.round(1))).toBe('<rect width="123.5" height="234.6"></rect>')
+ })
+
+ it('runs a function on every exported node and replaces node with returned node if return value is not falsy', () => {
+ expect(rect.xml((el) => new Circle(), svg)).toBe('<circle></circle>')
+ expect(canvas.xml((el) => new G(), svg)).toBe('<g></g>') // outer <svg> was replaced by an empty g
+ expect(canvas.xml((el) => {
+ if (el instanceof Rect) return new Circle()
+ if (el instanceof Svg) el.removeNamespace()
+ }, svg)).toBe('<svg><g><circle></circle></g></svg>')
+ })
+
+ it('runs a function on every exported node and removes node if return value is false', () => {
+ expect(group.xml(() => false, svg)).toBe('')
+ expect(canvas.xml(() => false, svg)).toBe('')
+ expect(canvas.xml((el) => {
+ if (el instanceof Svg) {
+ el.removeNamespace()
+ } else {
+ return false
+ }
+ }, svg)).toBe('<svg></svg>')
+ })
+
+ it('runs a function on every inner node and exports it when outerHtml = false', () => {
+ expect(canvas.xml(() => false, false, svg)).toBe('')
+ expect(canvas.xml(() => undefined, false, svg)).toBe('<g><rect width="123.456" height="234.567"></rect></g>')
+ })
+
+ })
+
+ })
})
diff --git a/spec/spec/elements/Fragment.js b/spec/spec/elements/Fragment.js
index c0f5f0f..8e6503d 100644
--- a/spec/spec/elements/Fragment.js
+++ b/spec/spec/elements/Fragment.js
@@ -2,6 +2,7 @@
import { Fragment, Dom } from '../../../src/main.js'
import { getWindow } from '../../../src/utils/window.js'
+import { svg } from '../../../src/modules/core/namespaces.js'
const { any } = jasmine
@@ -25,13 +26,13 @@ describe('Fragment.js', () => {
})
})
- describe('svg()', () => {
+ describe('xml()', () => {
describe('as setter', () => {
it('calls parent method with outerHtml = false', () => {
const frag = new Fragment()
- const spy = spyOn(Dom.prototype, 'svg').and.callThrough()
- frag.svg('<rect>', true)
- expect(spy).toHaveBeenCalledWith('<rect>', false)
+ const spy = spyOn(Dom.prototype, 'xml').and.callThrough()
+ frag.xml('<rect />', true, svg)
+ expect(spy).toHaveBeenCalledWith('<rect />', false, svg)
})
})
@@ -40,20 +41,20 @@ describe('Fragment.js', () => {
const frag = new Fragment()
const group = frag.group()
group.rect(123.456, 234.567)
- const spy = spyOn(Dom.prototype, 'svg').and.callThrough()
+ const spy = spyOn(Dom.prototype, 'xml').and.callThrough()
- expect(frag.svg(false)).toBe('<g><rect width="123.456" height="234.567"></rect></g>')
- expect(spy).toHaveBeenCalledWith(null, false)
+ expect(frag.xml(false, svg)).toBe('<g><rect width="123.456" height="234.567"></rect></g>')
+ expect(spy).toHaveBeenCalledWith(false, svg)
})
it('calls parent method with outerHtml = false - 2', () => {
const frag = new Fragment()
const group = frag.group()
group.rect(123.456, 234.567)
- const spy = spyOn(Dom.prototype, 'svg').and.callThrough()
+ const spy = spyOn(Dom.prototype, 'xml').and.callThrough()
- expect(frag.svg(null, true)).toBe('<g><rect width="123.456" height="234.567"></rect></g>')
- expect(spy).toHaveBeenCalledWith(null, false)
+ expect(frag.xml(true, svg)).toBe('<g><rect width="123.456" height="234.567"></rect></g>')
+ expect(spy).toHaveBeenCalledWith(false, svg)
})
})
diff --git a/spec/spec/elements/G.js b/spec/spec/elements/G.js
index e9f803f..2cd73fe 100644
--- a/spec/spec/elements/G.js
+++ b/spec/spec/elements/G.js
@@ -147,6 +147,7 @@ describe('G.js', () => {
expect(g.y()).toBe(g.bbox().y)
expect(g.y()).toBe(20)
})
+
it('calls move with the paramater as y', () => {
const canvas = SVG().addTo(container)
const g = canvas.group()
diff --git a/spec/spec/elements/Svg.js b/spec/spec/elements/Svg.js
index 1fa6fd5..990992a 100644
--- a/spec/spec/elements/Svg.js
+++ b/spec/spec/elements/Svg.js
@@ -54,12 +54,12 @@ describe('Svg.js', () => {
describe('namespace()', () => {
it('returns itself', () => {
- const svg = SVG('<svg>')
+ const svg = SVG('<svg />')
expect(svg.namespace()).toBe(svg)
})
it('creates the namespace attributes on the svg', () => {
- const svg = SVG('<svg>')
+ const svg = SVG('<svg />')
expect(svg.attr('xmlns')).toBe(undefined)
diff --git a/spec/spec/elements/Use.js b/spec/spec/elements/Use.js
new file mode 100644
index 0000000..b1b4464
--- /dev/null
+++ b/spec/spec/elements/Use.js
@@ -0,0 +1,42 @@
+/* globals describe, expect, it, jasmine, container */
+
+import { Use, Rect, SVG } from '../../../src/main.js'
+
+const { any } = jasmine
+
+describe('Use.js', () => {
+ describe('()', () => {
+ it('creates a new object of type Use', () => {
+ expect(new Use()).toEqual(any(Use))
+ })
+
+ it('sets passed attributes on the element', () => {
+ expect(new Use({ id: 'foo' }).id()).toBe('foo')
+ })
+ })
+
+ describe('use()', () => {
+ it('links an element', () => {
+ const rect = new Rect()
+ const use = new Use().use(rect)
+ expect(use.attr('href')).toBe('#' + rect.id())
+ })
+
+ it('links an element from a different file', () => {
+ const use = new Use().use('id', 'file')
+ expect(use.attr('href')).toBe('file#id')
+ })
+ })
+
+ describe('Container', () => {
+ describe('use()', () => {
+ it('creates a use element linked to the given element', () => {
+ const canvas = new SVG().addTo(container)
+ const rect = canvas.rect(100, 100)
+ const use = canvas.use(rect)
+ expect(use.attr('href')).toBe('#' + rect.id())
+ expect(use.reference('href')).toBe(rect)
+ })
+ })
+ })
+})
diff --git a/spec/spec/ellipse.js b/spec/spec/ellipse.js
deleted file mode 100644
index 76f16e6..0000000
--- a/spec/spec/ellipse.js
+++ /dev/null
@@ -1,179 +0,0 @@
-describe('Ellipse', function() {
- var ellipse
-
- beforeEach(function() {
- ellipse = draw.ellipse(240,90)
- })
-
- afterEach(function() {
- draw.clear()
- })
-
- describe('x()', function() {
- it('returns the value of x without an argument', function() {
- expect(ellipse.x()).toBe(0)
- })
- it('sets the value of x with the first argument', function() {
- ellipse.x(123)
- var box = ellipse.bbox()
- expect(box.x).toBeCloseTo(123)
- })
- })
-
- describe('y()', function() {
- it('returns the value of y without an argument', function() {
- expect(ellipse.y()).toBe(0)
- })
- it('sets the value of cy with the first argument', function() {
- ellipse.y(345)
- var box = ellipse.bbox()
- expect(box.y).toBe(345)
- })
- })
-
- describe('cx()', function() {
- it('returns the value of cx without an argument', function() {
- expect(ellipse.cx()).toBe(120)
- })
- it('sets the value of cx with the first argument', function() {
- ellipse.cx(123)
- var box = ellipse.bbox()
- expect(box.cx).toBe(123)
- })
- })
-
- describe('cy()', function() {
- it('returns the value of cy without an argument', function() {
- expect(ellipse.cy()).toBe(45)
- })
- it('sets the value of cy with the first argument', function() {
- ellipse.cy(345)
- var box = ellipse.bbox()
- expect(box.cy).toBe(345)
- })
- })
-
- describe('radius()', function() {
- it('sets the rx and ry', function() {
- ellipse.radius(10, 20)
- expect(ellipse.node.getAttribute('rx')).toBe('10')
- expect(ellipse.node.getAttribute('ry')).toBe('20')
- })
- it('sets the rx and ry if only rx given', function() {
- ellipse.radius(30)
- expect(ellipse.node.getAttribute('rx')).toBe('30')
- expect(ellipse.node.getAttribute('ry')).toBe('30')
- })
- it('sets the rx and ry value correctly when given 0', function() {
- ellipse.radius(11, 0)
- expect(ellipse.node.getAttribute('rx')).toBe('11')
- expect(ellipse.node.getAttribute('ry')).toBe('0')
- })
- })
-
- describe('move()', function() {
- it('sets the x and y position', function() {
- ellipse.move(123, 456)
- var box = ellipse.bbox()
- expect(box.x).toBeCloseTo(123)
- expect(box.y).toBeCloseTo(456)
- })
- })
-
- describe('dx()', function() {
- it('moves the x positon of the element relative to the current position', function() {
- ellipse.move(50, 60)
- ellipse.dx(100)
- expect(ellipse.node.getAttribute('cx')).toBe('270')
- })
- })
-
- describe('dy()', function() {
- it('moves the y positon of the element relative to the current position', function() {
- ellipse.move(50, 60)
- ellipse.dy(120)
- expect(ellipse.node.getAttribute('cy')).toBe('225')
- })
- })
-
- describe('dmove()', function() {
- it('moves the x and y positon of the element relative to the current position', function() {
- ellipse.move(50,60)
- ellipse.dmove(80, 25)
- expect(ellipse.node.getAttribute('cx')).toBe('250')
- expect(ellipse.node.getAttribute('cy')).toBe('130')
- })
- })
-
- describe('center()', function() {
- it('sets the cx and cy position', function() {
- ellipse.center(321,567)
- var box = ellipse.bbox()
- expect(box.cx).toBe(321)
- expect(box.cy).toBe(567)
- })
- })
-
- describe('width()', function() {
- it('sets the width of the element', function() {
- ellipse.width(82)
- expect(ellipse.node.getAttribute('rx')).toBe('41')
- })
- it('gets the width of the element if the argument is null', function() {
- expect((ellipse.width() / 2).toString()).toBe(ellipse.node.getAttribute('rx'))
- })
- })
-
- describe('height()', function() {
- it('sets the height of the element', function() {
- ellipse.height(1236)
- expect(ellipse.node.getAttribute('ry')).toBe('618')
- })
- it('gets the height of the element if the argument is null', function() {
- expect((ellipse.height() / 2).toString()).toBe(ellipse.node.getAttribute('ry'))
- })
- })
-
- describe('size()', function() {
- it('defines the rx and ry of the element', function() {
- ellipse.size(987,654)
- expect(ellipse.node.getAttribute('rx')).toBe((987 / 2).toString())
- expect(ellipse.node.getAttribute('ry')).toBe((654 / 2).toString())
- })
- it('defines the width and height proportionally with only the width value given', function() {
- var box = ellipse.bbox()
- ellipse.size(500)
- expect(ellipse.width()).toBe(500)
- expect(ellipse.width() / ellipse.height()).toBe(box.width / box.height)
- })
- it('defines the width and height proportionally with only the height value given', function() {
- var box = ellipse.bbox()
- ellipse.size(null, 525)
- expect(ellipse.height()).toBe(525)
- expect(ellipse.width() / ellipse.height()).toBe(box.width / box.height)
- })
- })
-
- describe('scale()', function() {
- it('should scale the element universally with one argument', function() {
- var box = ellipse.scale(2).rbox()
-
- expect(box.width).toBe(ellipse.attr('rx') * 2 * 2)
- expect(box.height).toBe(ellipse.attr('ry') * 2 * 2)
- })
- it('should scale the element over individual x and y axes with two arguments', function() {
- var box = ellipse.scale(2, 3.5).rbox()
-
- expect(box.width).toBe(ellipse.attr('rx') * 2 * 2)
- expect(box.height).toBe(ellipse.attr('ry') * 2 * 3.5)
- })
- })
-
- describe('translate()', function() {
- it('sets the translation of an element', function() {
- ellipse.transform({ tx: 12, ty: 12 })
- expect(ellipse.node.getAttribute('transform')).toBe('matrix(1,0,0,1,12,12)')
- })
- })
-
-})
diff --git a/spec/spec/event.js b/spec/spec/event.js
deleted file mode 100644
index 8515d21..0000000
--- a/spec/spec/event.js
+++ /dev/null
@@ -1,277 +0,0 @@
-describe('Event', function() {
- var rect, context
- , toast = null
- , fruitsInDetail = null,
- action = function(e) {
- toast = 'ready'
- context = this
- fruitsInDetail = e.detail || null
- }
-
- beforeEach(function() {
- rect = draw.rect(100, 100)
- spyOn(SVG, 'on').and.callThrough()
- spyOn(rect, 'dispatch').and.callThrough()
- })
-
- afterEach(function() {
- toast = context = null
- })
-
- // FIXME: cannot be spied like that with es6 modules
- // if (!this.isTouchDevice) {
- // [ 'click'
- // , 'dblclick'
- // , 'mousedown'
- // , 'mouseup'
- // , 'mouseover'
- // , 'mouseout'
- // , 'mousemove'
- // , 'mouseenter'
- // , 'mouseleave'
- // ].forEach(function(event) {
- // describe(event+'()', function() {
- // it('calls `on()` with '+event+' as event', function() {
- // rect[event](action)
- // expect(SVG.on).toHaveBeenCalledWith(rect, event, action)
- // })
- // })
- // })
- // } else {
- // [ 'touchstart'
- // , 'touchmove'
- // , 'touchleave'
- // , 'touchend'
- // , 'touchcancel'
- // ].forEach(function(event) {
- // describe(event+'()', function() {
- // it('calls `on()` with '+event+' as event', function() {
- // rect[event](action)
- // expect(SVG.on).toHaveBeenCalledWith(rect, event, action)
- // })
- // })
- // })
- // }
-
-
- describe('on()', function() {
-
- it('attaches an event to the element', function() {
- rect.on('event', action).fire('event')
- expect(toast).toBe('ready')
- })
- it('attaches multiple events to an element', function() {
- var cnt = 0
- rect.on('bla sq.ns , wf,wq.ns2', function(){++cnt}).fire('wf').fire('sq').fire('wq')
- expect(cnt).toBe(3)
- })
- it('attaches an event to a non svg element', function() {
- var el = document.createElement('div')
- SVG.on(el, 'event', action)
- el.dispatchEvent(new window.CustomEvent('event'))
- expect(toast).toBe('ready')
- SVG.off(el, 'event', action)
- })
- it('attaches multiple handlers on different element', function() {
- var rect2 = draw.rect(100, 100)
- var rect3 = draw.rect(100, 100)
-
- rect.on('event', action)
- rect2.on('event', action)
- rect3.on('event', function(){ butter = 'melting' })
- rect3.on('event', action)
-
- expect(Object.keys(rect.events['event']['*']).length).toBe(1) // 1 listener on rect
- expect(Object.keys(rect2.events['event']['*']).length).toBe(1) // 1 listener on rect2
- expect(Object.keys(rect3.events['event']['*']).length).toBe(2) // 2 listener on rect3
- })
- if('attaches a handler to a namespaced event', function(){
- var rect2 = draw.rect(100, 100)
- var rect3 = draw.rect(100, 100)
-
- rect.on('event.namespace1', action)
- rect2.on('event.namespace2', action)
- rect3.on('event.namespace3', function(){ butter = 'melting' })
- rect3.on('event', action)
-
- expect(Object.keys(rect.events['event']['*'])).toBeUndefined() // no global listener on rect
- expect(Object.keys(rect.events['event']['namespace1']).length).toBe( 1) // 1 namespaced listener on rect
- expect(Object.keys(rect2.events['namespace2']).length).toBe(1) // 1 namespaced listener on rect2
- expect(Object.keys(rect3.events['event']['*']).length).toBe(1) // 1 gobal listener on rect3
- expect(Object.keys(rect3.events['event']['namespace3']).length).toBe(1) // 1 namespaced listener on rect3
- })
- it('applies the element as context', function() {
- rect.on('event', action).fire('event')
- expect(context).toBe(rect)
- })
- it('applies given object as context', function() {
- rect.on('event', action, this).fire('event')
- expect(context).toBe(this)
- })
- it('stores the listener for future reference', function() {
- rect.on('event', action)
- expect(rect.events['event']['*'][action._svgjsListenerId]).not.toBeUndefined()
- })
- it('returns the called element', function() {
- expect(rect.on('event', action)).toBe(rect)
- })
- })
-
- describe('off()', function() {
- var butter = null
-
- beforeEach(function() {
- butter = null
- })
-
- it('detaches a specific event listener, all other still working', function() {
- rect2 = draw.rect(100,100)
- rect3 = draw.rect(100,100)
-
- rect.on('event', action)
- rect2.on('event', action)
- rect3.on('event', function(){ butter = 'melting' })
-
- rect.off('event', action)
-
- expect(Object.keys(rect.events['event']['*']).length).toBe(0)
-
- rect.fire('event')
- expect(toast).toBeNull()
-
- rect2.fire('event')
- expect(toast).toBe('ready')
-
- rect3.fire('event')
- expect(butter).toBe('melting')
-
- expect(rect.events['event']['*'][action]).toBeUndefined()
- })
- it('detaches a specific namespaced event listener, all other still working', function() {
- rect2 = draw.rect(100,100)
- rect3 = draw.rect(100,100)
-
- rect.on('event.namespace', action)
- rect2.on('event.namespace', action)
- rect3.on('event.namespace', function(){ butter = 'melting' })
-
- rect.off('event.namespace', action)
-
- expect(Object.keys(rect.events['event']['namespace']).length).toBe(0)
- expect(Object.keys(rect2.events['event']['namespace']).length).toBe(1)
-
- rect.fire('event')
- expect(toast).toBeNull()
-
- rect2.fire('event')
- expect(toast).toBe('ready')
-
- rect3.fire('event')
- expect(butter).toBe('melting')
-
- expect(rect.events['event']['namespace'][action]).toBeUndefined()
- })
- it('detaches all listeners for a specific namespace', function() {
- rect.on('event', action)
- rect.on('event.namespace', function() { butter = 'melting'; })
- rect.off('.namespace')
-
- rect.fire('event')
- expect(toast).toBe('ready')
- expect(butter).toBeNull()
- })
- it('detaches all listeners for an event without a listener given', function() {
- rect.on('event', action)
- rect.on('event.namespace', function() { butter = 'melting'; })
- rect.off('event')
-
- rect.fire('event')
- expect(toast).toBeNull()
- expect(butter).toBeNull()
- expect(rect.events['event']).toBeUndefined()
- })
- it('detaches all listeners without an argument', function() {
- rect.on('event', action)
- rect.on('click', function() { butter = 'melting' })
- rect.off()
- rect.fire('event')
- rect.fire('click')
- expect(toast).toBeNull()
- expect(butter).toBeNull()
- expect(Object.keys(rect.events).length).toBe(0)
- })
- it('detaches multiple listeners at once', function() {
- rect2 = draw.rect(100,100)
- rect3 = draw.rect(100,100)
-
- rect.on('event.namespace bla foo.bar otherfoo.bar keepthis', action)
- rect.off('event.namespace bla .bar')
-
- expect(Object.keys(rect.events['event']).length).toBe(0)
- expect(rect.events['bla']).toBeUndefined()
- expect(Object.keys(rect.events['foo']).length).toBe(0)
- expect(Object.keys(rect.events['otherfoo']).length).toBe(0)
- expect(Object.keys(rect.events['keepthis']['*']).length).toBe(1)
- })
- it('returns the called element', function() {
- expect(rect.off('event', action)).toBe(rect)
- })
- it('does not throw when event is removed which was already removed with a global off', function() {
- var undefined
-
- rect.on('event', action)
- rect.off()
- try{
- rect.off('event')
- }catch(e){
- expect('Should not error out').toBe(true)
- }
-
- expect(Object.keys(rect.events).length).toBe(0)
- })
- })
-
- describe('fire()', function() {
- it('calls dispatch with its parameters', function() {
- var data = {}
- rect.dispatch('event', data)
- expect(rect.dispatch).toHaveBeenCalledWith('event', data)
- })
-
- it('returns the called element', function() {
- expect(rect.fire('event')).toBe(rect)
- })
- })
-
- describe('dispatch()', function() {
- beforeEach(function() {
- rect.on('event', action)
- })
-
- it('fires an event for the element', function() {
- expect(toast).toBeNull()
- rect.fire('event')
- expect(toast).toBe('ready')
- expect(fruitsInDetail).toBe(null)
- })
-
- it('fires event with additional data', function() {
- expect(fruitsInDetail).toBeNull()
- rect.fire('event', {apple:1})
- expect(fruitsInDetail).not.toBe(null)
- expect(fruitsInDetail.apple).toBe(1)
- })
- it('fires my own event', function() {
- toast = null
- rect.fire(new window.CustomEvent('event'))
- expect(toast).toBe('ready')
- })
- it('returns the dispatched event and makes it cancelable', function() {
- rect.on('event', function(e) {
- e.preventDefault()
- })
- var event = rect.dispatch('event')
- expect(event.defaultPrevented).toBe(true)
- })
- })
-})
diff --git a/spec/spec/fx.js b/spec/spec/fx.js
deleted file mode 100644
index 365a196..0000000
--- a/spec/spec/fx.js
+++ /dev/null
@@ -1,2867 +0,0 @@
-// describe('FX', function() {
-// var rect, fx, undefined;
-//
-// beforeEach(function() {
-// rect = draw.rect(100,100).move(100,100)
-// fx = rect.animate(500)
-//
-// jasmine.clock().install()
-// jasmine.clock().mockDate() // This freeze the Date
-// })
-//
-// afterEach(function() {
-// jasmine.clock().uninstall()
-//
-// fx.stop(false, true)
-// })
-//
-//
-// it('creates an instance of SVG.FX and sets parameter', function() {
-// expect(fx instanceof SVG.FX).toBe(true)
-// expect(fx._target).toBe(rect)
-// expect(fx.absPos).toBe(0)
-// expect(fx.pos).toBe(0)
-// expect(fx.lastPos).toBe(0)
-// expect(fx.paused).toBe(false)
-// expect(fx.active).toBe(false)
-// expect(fx._speed).toBe(1)
-// expect(fx.situations).toEqual([])
-// expect(fx.situation.init).toBe(false)
-// expect(fx.situation.reversed).toBe(false)
-// expect(fx.situation.duration).toBe(500)
-// expect(fx.situation.delay).toBe(0)
-// expect(fx.situation.loops).toBe(false)
-// expect(fx.situation.loop).toBe(0)
-// expect(fx.situation.animations).toEqual({})
-// expect(fx.situation.attrs).toEqual({})
-// expect(fx.situation.styles).toEqual({})
-// expect(fx.situation.transforms).toEqual([])
-// expect(fx.situation.once).toEqual({})
-// })
-//
-// describe('animate()', function () {
-// it('set duration, ease and delay of the new situation to their default value when they are not passed', function() {
-// var defaultDuration = 1000
-// , defaultEase = SVG.easing['-']
-// , defaultDelay = 0
-// , lastSituation = fx.animate().last()
-//
-// expect(lastSituation.duration).toBe(defaultDuration)
-// expect(lastSituation.ease).toBe(defaultEase)
-// expect(lastSituation.delay).toBe(defaultDelay)
-// })
-//
-// it('use the passed values to set duration, ease and delay of the new situation', function() {
-// var duration = 14502
-// , ease = '>'
-// , delay = 450
-// , lastSituation = fx.animate(duration, ease, delay).last()
-//
-// expect(lastSituation.duration).toBe(duration)
-// expect(lastSituation.ease).toBe(SVG.easing[ease])
-// expect(lastSituation.delay).toBe(delay)
-// })
-//
-// it('allow duration, ease and delay to be passed in an object', function() {
-// var o = {
-// duration: 7892
-// , ease: '<'
-// , delay: 1145
-// }
-// , lastSituation = fx.animate(o).last()
-//
-// expect(lastSituation.duration).toBe(o.duration)
-// expect(lastSituation.ease).toBe(SVG.easing[o.ease])
-// expect(lastSituation.delay).toBe(o.delay)
-// })
-//
-// it('allow ease to be a custom function', function () {
-// var customEase = function() {}
-// , lastSituation = fx.animate({ease: customEase}).last()
-//
-// expect(lastSituation.ease).toBe(customEase)
-// })
-// })
-//
-// describe('target()', function(){
-// it('returns the current fx object with no argument given', function(){
-// expect(fx.target()).toBe(rect)
-// })
-//
-// it('changes the target of the animation when parameter given', function(){
-// var c = draw.circle(5)
-// expect(fx.target(c).target()).toBe(c)
-// })
-// })
-//
-//
-// describe('timeToAbsPos()', function() {
-// it('converts a timestamp to an absolute progress', function() {
-// expect(fx.timeToAbsPos( fx.situation.start + fx.situation.duration*0.5 )).toBe(0.5)
-// })
-//
-// it('should take speed into consideration', function() {
-// var spd
-//
-// spd = 4
-// fx.speed(spd)
-// expect(fx.timeToAbsPos( fx.situation.start + (fx.situation.duration/spd)*0.5 )).toBe(0.5)
-//
-// spd = 0.5
-// fx.speed(spd)
-// expect(fx.timeToAbsPos( fx.situation.start + (fx.situation.duration/spd)*0.25 )).toBe(0.25)
-// })
-// })
-//
-//
-// describe('absPosToTime()', function() {
-// it('converts an absolute progress to a timestamp', function() {
-// expect(fx.absPosToTime(0.5)).toBe( fx.situation.start + fx.situation.duration*0.5 )
-// })
-//
-// it('should take speed into consideration', function() {
-// var spd
-//
-// spd = 4
-// fx.speed(spd)
-// expect(fx.absPosToTime(0.5)).toBe( fx.situation.start + (fx.situation.duration/spd)*0.5 )
-//
-// spd = 0.5
-// fx.speed(spd)
-// expect(fx.absPosToTime(0.25)).toBe( fx.situation.start + (fx.situation.duration/spd)*0.25 )
-// })
-// })
-//
-//
-// describe('atStart()', function () {
-// it('sets the animation at the start', function() {
-// // When the animation is running forward, the start position is 0
-// fx.pos = 0.5
-// expect(fx.atStart().pos).toBe(0)
-//
-// // When the animation is running backward, the start position is 1
-// fx.pos = 0.5
-// expect(fx.reverse(true).atStart().pos).toBe(1)
-// })
-//
-// it('sets the animation at the start, before any loops', function() {
-// fx.loop(true)
-//
-// // When the animation is running forward, the start position is 0
-// fx.at(3.7, true)
-// expect(fx.absPos).toBe(3.7)
-// expect(fx.pos).toBeCloseTo(0.7)
-// expect(fx.situation.loop).toBe(3)
-//
-// fx.atStart()
-// expect(fx.absPos).toBe(0)
-// expect(fx.pos).toBe(0)
-// expect(fx.situation.loop).toBe(0)
-//
-// // When the animation is running backward, the start position is 1
-// fx.reverse(true).at(2.14, true)
-// expect(fx.absPos).toBe(2.14)
-// expect(fx.pos).toBeCloseTo(1 - 0.14)
-// expect(fx.situation.loop).toBe(2)
-// expect(fx.situation.reversed).toBe(true)
-//
-// fx.atStart()
-// expect(fx.absPos).toBe(0)
-// expect(fx.pos).toBe(1)
-// expect(fx.situation.loop).toBe(0)
-// expect(fx.situation.reversed).toBe(true)
-// })
-//
-// it('sets the animation at the start, before any loops when reversing is true', function() {
-// fx.loop(true, true) // Set reversing to true
-//
-// // When the animation is running forward, the start position is 0
-// fx.at(11.21, true)
-// expect(fx.absPos).toBe(11.21)
-// expect(fx.pos).toBeCloseTo(1 - 0.21)
-// expect(fx.situation.loop).toBe(11)
-// expect(fx.situation.reversed).toBe(true)
-//
-// fx.atStart()
-// expect(fx.absPos).toBe(0)
-// expect(fx.pos).toBe(0)
-// expect(fx.situation.loop).toBe(0)
-// expect(fx.situation.reversed).toBe(false)
-//
-// // When the animation is running backward, the start position is 1
-// fx.reverse(true).at(14.10, true)
-// expect(fx.absPos).toBe(14.10)
-// expect(fx.pos).toBeCloseTo(1 - 0.10)
-// expect(fx.situation.loop).toBe(14)
-// expect(fx.situation.reversed).toBe(true)
-//
-// fx.atStart()
-// expect(fx.absPos).toBe(0)
-// expect(fx.pos).toBe(1)
-// expect(fx.situation.loop).toBe(0)
-// expect(fx.situation.reversed).toBe(true)
-// })
-// })
-//
-//
-// describe('atEnd()', function () {
-// it('sets the animation at the end', function() {
-// // When the animation is running forward, the end position is 1
-// fx.pos = 0.5
-// expect(fx.atEnd().pos).toBe(1)
-// expect(fx.situation).toBeNull()
-//
-// // Recreate an animation since the other one was ended
-// fx.animate()
-//
-// // When the animation is running backward, the end position is 0
-// fx.pos = 0.5
-// expect(fx.reverse(true).atEnd().pos).toBe(0)
-// expect(fx.situation).toBeNull()
-// })
-//
-// it('sets the animation at the end, after all loops', function() {
-// var loops
-//
-// // When the animation is running forward, the end position is 1
-// loops = 12
-// fx.loop(loops).start().step()
-// expect(fx.absPos).toBe(0)
-// expect(fx.pos).toBe(0)
-// expect(fx.active).toBe(true)
-// expect(fx.situation.loop).toBe(0)
-// expect(fx.situation.loops).toBe(loops)
-//
-// fx.atEnd()
-// expect(fx.absPos).toBe(loops)
-// expect(fx.pos).toBe(1)
-// expect(fx.active).toBe(false)
-// expect(fx.situation).toBeNull()
-//
-// // Recreate an animation since the other one was ended
-// fx.animate()
-//
-//
-// // When the animation is running backward, the end position is 0
-// loops = 21
-// fx.reverse(true).loop(loops).start().step()
-// expect(fx.absPos).toBe(0)
-// expect(fx.pos).toBe(1)
-// expect(fx.active).toBe(true)
-// expect(fx.situation.loop).toBe(0)
-// expect(fx.situation.loops).toBe(loops)
-// expect(fx.situation.reversed).toBe(true)
-//
-// fx.atEnd()
-// expect(fx.absPos).toBe(loops)
-// expect(fx.pos).toBe(0)
-// expect(fx.active).toBe(false)
-// expect(fx.situation).toBeNull()
-// })
-//
-// it('sets the animation at the end, after all loops when reversing is true', function() {
-// var loops
-//
-// // When reversing is true, the end position is 0 when loops is even and
-// // 1 when loops is odd
-//
-// // The animation is running forward
-// loops = 6
-// fx.loop(loops, true).start().step()
-// expect(fx.absPos).toBe(0)
-// expect(fx.pos).toBe(0)
-// expect(fx.active).toBe(true)
-// expect(fx.situation.loop).toBe(0)
-// expect(fx.situation.loops).toBe(loops)
-// expect(fx.situation.reversed).toBe(false)
-//
-// fx.atEnd()
-// expect(fx.absPos).toBe(loops)
-// expect(fx.pos).toBe(0) // End position is 0 because loops is even
-// expect(fx.active).toBe(false)
-// expect(fx.situation).toBeNull()
-//
-// // Recreate an animation since the other one was ended
-// fx.animate()
-//
-// // When reversing is true and the animation is running backward,
-// // the end position is 1 when loops is even and 0 when loops is odd
-//
-// // The animation is running backward
-// loops = 3
-// fx.reverse(true).loop(loops, true).start().step()
-// expect(fx.absPos).toBe(0)
-// expect(fx.pos).toBe(1)
-// expect(fx.active).toBe(true)
-// expect(fx.situation.loop).toBe(0)
-// expect(fx.situation.loops).toBe(loops)
-// expect(fx.situation.reversed).toBe(true)
-//
-// fx.atEnd()
-// expect(fx.absPos).toBe(loops)
-// expect(fx.pos).toBe(0) // End position is 0 because loops is odd
-// expect(fx.active).toBe(false)
-// expect(fx.situation).toBeNull()
-// })
-//
-// it('sets the animation at the end of the current iteration when in an infinite loop', function () {
-// // When the animation is running forward, the end position is 1
-// fx.loop(true).start().step()
-// expect(fx.absPos).toBe(0)
-// expect(fx.pos).toBe(0)
-// expect(fx.active).toBe(true)
-// expect(fx.situation.loop).toBe(0)
-// expect(fx.situation.loops).toBe(true)
-//
-// // Should be halfway through iteration 10
-// jasmine.clock().tick(500 * 10 + 250)
-// fx.step()
-// expect(fx.absPos).toBe(10.5)
-// expect(fx.pos).toBe(0.5)
-// expect(fx.active).toBe(true)
-// expect(fx.situation.loop).toBe(10)
-// expect(fx.situation.loops).toBe(true)
-//
-// fx.atEnd()
-// expect(fx.absPos).toBe(11)
-// expect(fx.pos).toBe(1)
-// expect(fx.active).toBe(false)
-// expect(fx.situation).toBeNull()
-//
-// // Recreate an animation since the other one was ended
-// fx.animate(500)
-//
-// // When the animation is running backward, the end position is 0
-// fx.reverse(true).loop(true).start().step()
-// expect(fx.absPos).toBe(0)
-// expect(fx.pos).toBe(1)
-// expect(fx.active).toBe(true)
-// expect(fx.situation.loop).toBe(0)
-// expect(fx.situation.loops).toBe(true)
-// expect(fx.situation.reversed).toBe(true)
-//
-// // Should be halfway through iteration 21
-// jasmine.clock().tick(500 * 21 + 250)
-// fx.step()
-// expect(fx.absPos).toBe(21.5)
-// expect(fx.pos).toBe(0.5)
-// expect(fx.active).toBe(true)
-// expect(fx.situation.loop).toBe(21)
-// expect(fx.situation.loops).toBe(true)
-//
-// fx.atEnd()
-// expect(fx.absPos).toBe(22)
-// expect(fx.pos).toBe(0)
-// expect(fx.active).toBe(false)
-// expect(fx.situation).toBeNull()
-// })
-//
-//
-// it('sets the animation at the end of the current iteration when in an infinite loop and reversing is true', function () {
-// // When reversing is true, the end position is 1 when ending on an even
-// // iteration and 0 when ending on an odd iteration as illustrated below:
-//
-// // 0 Iteration 1
-// // |--------------0------------->|
-// // |<-------------1--------------|
-// // |--------------2------------->|
-// // |<-------------3--------------|
-// // ...
-//
-//
-// // The animation is running forward
-// fx.loop(true, true).start().step()
-// expect(fx.absPos).toBe(0)
-// expect(fx.pos).toBe(0)
-// expect(fx.active).toBe(true)
-// expect(fx.situation.loop).toBe(0)
-// expect(fx.situation.loops).toBe(true)
-//
-// // Should be halfway through iteration 11
-// jasmine.clock().tick(500 * 11 + 250)
-// fx.step()
-// expect(fx.absPos).toBe(11.5)
-// expect(fx.pos).toBe(0.5)
-// expect(fx.active).toBe(true)
-// expect(fx.situation.loop).toBe(11)
-// expect(fx.situation.loops).toBe(true)
-//
-// fx.atEnd()
-// expect(fx.absPos).toBe(12)
-// expect(fx.pos).toBe(0) // End position is 0 because ended on a odd iteration
-// expect(fx.active).toBe(false)
-// expect(fx.situation).toBeNull()
-//
-// // Recreate an animation since the other one was ended
-// fx.animate(500)
-//
-// // When reversing is true and the animation is running backward,
-// // the end position is 0 when ending on an even iteration and
-// // 1 when ending on an odd iteration as illustrated below:
-//
-// // 0 Iteration 1
-// // |<-------------0--------------|
-// // |--------------1------------->|
-// // |<-------------2--------------|
-// // |--------------3------------->|
-// // ...
-//
-// // The animation is running backward
-// fx.reverse(true).loop(true).start().step()
-// expect(fx.absPos).toBe(0)
-// expect(fx.pos).toBe(1)
-// expect(fx.active).toBe(true)
-// expect(fx.situation.loop).toBe(0)
-// expect(fx.situation.loops).toBe(true)
-// expect(fx.situation.reversed).toBe(true)
-//
-// // Should be halfway through iteration 42
-// jasmine.clock().tick(500 * 42 + 250)
-// fx.step()
-// expect(fx.absPos).toBe(42.5)
-// expect(fx.pos).toBe(0.5)
-// expect(fx.active).toBe(true)
-// expect(fx.situation.loop).toBe(42)
-// expect(fx.situation.loops).toBe(true)
-//
-// fx.atEnd()
-// expect(fx.absPos).toBe(43)
-// expect(fx.pos).toBe(0) // End position is 0 because ended on an even iteration
-// expect(fx.active).toBe(false)
-// expect(fx.situation).toBeNull()
-// })
-// })
-//
-//
-// describe('at()', function() {
-// it('sets the progress to the specified position', function() {
-// var pos
-//
-// // Animation running forward
-// pos = 0.5
-// expect(fx.at(pos).pos).toBe(pos)
-// expect(fx.situation.start).toBe(+new Date - fx.situation.duration * pos)
-//
-// // Animation running backward
-// pos = 0.4
-// expect(fx.reverse(true).at(pos).pos).toBe(pos)
-// expect(fx.situation.start).toBe(+new Date - fx.situation.duration * (1-pos))
-// })
-//
-// it('should convert a position to an absolute position', function () {
-// var pos, loop, absPos
-//
-// fx.loop(true)
-//
-// // Animation running forward
-// pos = 0.7
-// loop = 4
-// absPos = pos+loop
-// fx.situation.loop = loop
-// expect(fx.at(pos).absPos).toBe(absPos)
-// expect(fx.situation.start).toBe(+new Date - fx.situation.duration * absPos)
-//
-// // Animation running backward
-// pos = 0.23
-// loop = 9
-// absPos = (1-pos)+loop
-// fx.situation.loop = loop
-// fx.situation.reversed = true
-// expect(fx.at(pos).absPos).toBe(absPos)
-// expect(fx.situation.start).toBe(+new Date - fx.situation.duration * absPos)
-//
-// })
-//
-// it('should end the animation when the end position is passed', function() {
-// var pos
-//
-// fx.start()
-// expect(fx.active).toBe(true)
-// expect(fx.situation).not.toBeNull()
-//
-// // When running forward, the end position is 1
-// pos = 1
-// expect(fx.at(pos).pos).toBe(pos)
-// expect(fx.active).toBe(false)
-// expect(fx.situation).toBeNull()
-//
-// // Recreate an animation since the other one was ended
-// fx.animate().start()
-// expect(fx.active).toBe(true)
-// expect(fx.situation).not.toBeNull()
-//
-// // When running backward, the end position is 0
-// pos = 0
-// expect(fx.reverse(true).at(pos).pos).toBe(pos)
-// expect(fx.active).toBe(false)
-// expect(fx.situation).toBeNull()
-// })
-//
-// it('correct the passed position when it is out of [0,1] and the animation is not looping', function () {
-// var pos
-//
-// pos = -0.7
-// expect(fx.at(pos).pos).toBe(0)
-//
-// pos = 1.3
-// expect(fx.at(pos).pos).toBe(1)
-//
-// // Recreate an animation since the other one was ended
-// fx.animate()
-//
-// // Should work even when animation is running backward
-// pos = 1.3
-// expect(fx.reverse(true).at(pos).pos).toBe(1)
-//
-// pos = -0.7
-// expect(fx.reverse(true).at(pos).pos).toBe(0)
-// })
-//
-// it('should, when the animation is looping and the passed position is out of [0,1], use the integer part of postion to update the loop counter and set position to its fractional part', function(){
-// var loop, pos, posFrac, posInt
-//
-// // Without the reverse flag
-// fx.loop(10)
-// expect(fx.situation.loops).toBe(10)
-// expect(fx.situation.loop).toBe(loop = 0)
-//
-// pos = 1.3
-// posFrac = pos % 1
-// posInt = pos - posFrac
-// expect(fx.at(pos).pos).toBeCloseTo(posFrac)
-// expect(fx.situation.loop).toBe(loop += posInt)
-//
-// pos = 7.723
-// posFrac = pos % 1
-// posInt = pos - posFrac
-// expect(fx.at(pos).pos).toBeCloseTo(posFrac)
-// expect(fx.situation.loop).toBe(loop += posInt)
-//
-// // In this case, pos is above the remaining number of loops, so we expect
-// // the position to be set to 1 and the animation to be ended
-// pos = 4.3
-// posFrac = pos % 1
-// posInt = pos - posFrac
-// expect(fx.at(pos).pos).toBe(1)
-// expect(fx.situation).toBeNull()
-//
-// // Recreate an animation since the other one was ended
-// fx.animate()
-//
-// // With the reverse flag, the position is reversed each time loop is odd
-// fx.loop(10, true)
-// expect(fx.situation.loops).toBe(10)
-// expect(fx.situation.loop).toBe(loop = 0)
-// expect(fx.situation.reversed).toBe(false)
-//
-// pos = 3.3
-// posFrac = pos % 1
-// posInt = pos - posFrac
-// expect(fx.at(pos).pos).toBeCloseTo(1-posFrac) // Animation is reversed because 0+3 is odd
-// expect(fx.situation.loop).toBe(loop += posInt)
-// expect(fx.situation.reversed).toBe(true)
-//
-// // When the passed position is below 0, the integer part of position is
-// // substracted from 1, so, in this case, -0.6 has 1 as is integer part
-// // This is necessary so we can add something to the loop counter
-// pos = -0.645
-// posFrac = (1-pos) % 1
-// posInt = (1-pos) - posFrac
-// expect(fx.at(pos).pos).toBeCloseTo(posFrac)
-// expect(fx.situation.loop).toBe(loop += posInt)
-// expect(fx.situation.reversed).toBe(false)
-//
-// // In this case, pos is above the remaining number of loop, so we expect
-// // the position to be set to 0 (since we end reversed) and the animation to
-// // be ended
-// pos = 7.2
-// posFrac = pos % 1
-// posInt = pos - posFrac
-// expect(fx.at(pos).pos).toBe(0)
-// expect(fx.situation).toBeNull()
-// })
-//
-// it('should, when the animation is in a infinite loop and the passed position is out of [0,1], use the integer part of postion to update the loop counter and set position to its fractional part', function(){
-// var loop, pos, posFrac, posInt
-//
-// // Without the reverse flag
-// fx.loop(true)
-// expect(fx.situation.loops).toBe(true)
-// expect(fx.situation.loop).toBe(loop = 0)
-//
-// pos = 10.34
-// posFrac = pos % 1
-// posInt = pos - posFrac
-// expect(fx.at(pos).pos).toBeCloseTo(posFrac)
-// expect(fx.situation.loop).toBe(loop += posInt)
-//
-// // With the reverse flag, the position is reversed each time loop is odd
-// fx.loop(true, true)
-// expect(fx.situation.loops).toBe(true)
-// expect(fx.situation.loop).toBe(loop = 0)
-// expect(fx.situation.reversed).toBe(false)
-//
-// pos = 3.3
-// posFrac = pos % 1
-// posInt = pos - posFrac
-// expect(fx.at(pos).pos).toBeCloseTo(1-posFrac) // Animation is reversed because 3+0 is odd
-// expect(fx.situation.loop).toBe(loop += posInt)
-// expect(fx.situation.reversed).toBe(true)
-//
-// pos = -8.41
-// posFrac = (1-pos) % 1
-// posInt = (1-pos) - posFrac
-// expect(fx.at(pos).pos).toBeCloseTo(posFrac)
-// expect(fx.situation.loop).toBe(loop += posInt)
-// expect(fx.situation.reversed).toBe(false)
-// })
-//
-// it('should take speed into consideration', function() {
-// var dur, spd
-//
-// dur = fx.situation.duration
-//
-// spd = 4
-// fx.speed(spd).at(0)
-// expect(fx.situation.finish-fx.situation.start).toBe(dur/spd)
-//
-// spd = 5
-// fx.speed(spd).at(0.15)
-// expect(fx.situation.finish-fx.situation.start).toBe(dur/spd)
-//
-// spd = 0.25
-// fx.speed(spd).at(0.75)
-// expect(fx.situation.finish-fx.situation.start).toBe(dur/spd)
-//
-// spd = 0.5
-// fx.speed(spd).at(0.83)
-// expect(fx.situation.finish-fx.situation.start).toBe(dur/spd)
-// })
-//
-// it('should consider the first parameter as an absolute position when the second parameter is true', function() {
-// var absPos
-//
-// fx.loop(true)
-//
-// absPos = 3.2
-// expect(fx.at(absPos, true).absPos).toBe(absPos)
-//
-// absPos = -4.27
-// expect(fx.at(absPos, true).absPos).toBe(absPos)
-//
-// absPos = 0
-// expect(fx.at(absPos, true).absPos).toBe(absPos)
-//
-// absPos = 1
-// expect(fx.at(absPos, true).absPos).toBe(absPos)
-// })
-// })
-//
-//
-// describe('start()', function(){
-// it('starts the animation', function() {
-// fx.start()
-// expect(fx.active).toBe(true)
-//
-// jasmine.clock().tick(200)
-// fx.step() // Call step to update the animation
-//
-// expect(fx.pos).toBeGreaterThan(0)
-// })
-//
-// it('should take speed into consideration', function() {
-// var dur = 500
-// , delay = 300
-// , spd = 4
-//
-//
-// fx.stop().animate(dur, '-', delay).speed(spd).start()
-// expect(fx.situation.finish - new Date).toBe(delay/spd + dur/spd)
-// })
-//
-// it('should do the delay', function() {
-// fx.situation.delay = 1000
-// expect(fx.start().active).toBe(true)
-//
-// jasmine.clock().tick(501)
-// fx.step() // Call step to update the animation
-// expect(fx.active).toBe(true)
-//
-// jasmine.clock().tick(501)
-// fx.step() // Call step to update the animation
-// expect(fx.active).toBe(true)
-//
-// jasmine.clock().tick(501)
-// fx.step() // Call step to update the animation
-// expect(fx.active).toBe(false)
-// })
-// })
-//
-// describe('delay()', function() {
-// it('should push an empty situation with its duration attribute set to the duration of the delay', function() {
-// var delay = 8300
-// fx.delay(delay)
-// expect(fx.situations[0].duration).toBe(delay)
-// })
-// })
-//
-//
-// describe('pause()', function() {
-// it('pause the animation', function() {
-// expect(fx.pause().paused).toBe(true)
-// })
-// })
-//
-// describe('play()', function() {
-// it('returns itself when animation not paused', function() {
-// expect(fx.paused).toBe(false)
-// expect(fx.play()).toBe(fx)
-// })
-//
-// it('unpause the animation', function() {
-// var start = fx.start().pause().situation.start
-//
-// jasmine.clock().tick(200)
-//
-// expect(fx.situation.start).toBe(start)
-// expect(fx.play().paused).toBe(false)
-// expect(fx.situation.start).not.toBe(start)
-// })
-//
-// it('should not change the position when the animation is unpaused while it is set to run backward', function(){
-// var pos = 0.4
-//
-// expect(fx.reverse(true).at(pos).pause().play().pos).toBe(pos)
-// })
-//
-// it('should be able to unpause the delay', function () {
-// fx.stop().animate(500, '-', 300).start().step()
-// expect(fx.pos).toBe(0)
-// expect(fx.absPos).toBeCloseTo(-0.6)
-//
-// // At this point, we should have an animation of 500 ms with a delay of
-// // 300 ms that should be running.
-//
-// jasmine.clock().tick(150)
-//
-// // Should be halfway through the delay
-// fx.step()
-// expect(fx.pos).toBe(0)
-// expect(fx.absPos).toBe(-0.3)
-//
-// expect(fx.pause().paused).toBe(true) // Pause the delay
-//
-// jasmine.clock().tick(150)
-//
-// // Unpause, should still be halfway through the delay
-// expect(fx.play().paused).toBe(false)
-// expect(fx.pos).toBe(0)
-// expect(fx.absPos).toBe(-0.3)
-//
-// jasmine.clock().tick(150)
-//
-// // Delay should be done
-// fx.step()
-// expect(fx.pos).toBe(0)
-// expect(fx.absPos).toBe(0)
-//
-// jasmine.clock().tick(500)
-//
-// // Animation and delay should be done
-// fx.step()
-// expect(fx.active).toBe(false)
-// expect(fx.pos).toBe(1)
-// expect(fx.absPos).toBe(1)
-// })
-// })
-//
-//
-// describe('speed()', function() {
-// it('set the speed of the animation', function(){
-// var dur, spd
-//
-// dur = fx.situation.duration
-//
-// spd = 2
-// fx.speed(spd)
-// expect(fx._speed).toBe(spd)
-// expect(fx.situation.finish-fx.situation.start).toBe(dur/spd)
-//
-// spd = 0.5
-// fx.speed(spd)
-// expect(fx._speed).toBe(spd)
-// expect(fx.situation.finish-fx.situation.start).toBe(dur/spd)
-//
-// spd = 2
-// fx.at(0.2).speed(spd)
-// expect(fx._speed).toBe(spd)
-// expect(fx.situation.finish-fx.situation.start).toBe(dur/spd)
-//
-// spd = 1
-// fx.speed(spd)
-// expect(fx._speed).toBe(spd)
-// expect(fx.situation.finish-fx.situation.start).toBe(dur)
-// })
-//
-// it('should not change the position when the animation is run backward', function(){
-// var pos = 0.4
-//
-// expect(fx.reverse(true).at(pos).speed(2).pos).toBe(pos)
-// })
-//
-// it('return the current speed with no argument given', function(){
-// var spd
-//
-// spd = 2
-// fx._speed = spd
-// expect(fx.speed()).toBe(spd)
-//
-// spd = 0.5
-// fx._speed = spd
-// expect(fx.speed()).toBe(spd)
-//
-// spd = 1
-// fx._speed = spd
-// expect(fx.speed()).toBe(spd)
-// })
-//
-// it('pause the animation when a speed of 0 is passed', function(){
-// var spd = fx._speed
-//
-// expect(fx.speed(0)).toBe(fx)
-// expect(fx._speed).toBe(spd)
-// expect(fx.paused).toBe(true)
-// })
-//
-// it('should affect all animations in the queue', function(){
-// fx.speed(2).animate(300)
-// expect(fx.situations.length).not.toBe(0)
-// expect(fx.pos).not.toBe(1)
-//
-// // At this point, there should be 2 animations in the queue to be played:
-// // the one of 500ms that is added before every test and the one of 300ms
-// // we just added. Normally, it would take 800ms before both of these
-// // animations are done, but because we set the speed to 2, it should
-// // only take 400ms to do both animations.
-// fx.start().step()
-//
-// jasmine.clock().tick(250)
-//
-// // Should be playing the second animation
-// fx.step()
-// expect(fx.active).toBe(true)
-// expect(fx.situations.length).toBe(0)
-// expect(fx.pos).not.toBe(1)
-//
-// jasmine.clock().tick(150) // 400ms have passed
-//
-// // All animations should be done
-// fx.step()
-// expect(fx.active).toBe(false)
-// expect(fx.situations.length).toBe(0)
-// expect(fx.pos).toBe(1)
-// })
-//
-// it('should affect the delay', function() {
-// fx.stop().animate(500, '-', 300).start().step()
-// expect(fx.pos).toBe(0)
-// expect(fx.absPos).toBeCloseTo(-0.6)
-//
-// fx.speed(2)
-// expect(fx.pos).toBe(0)
-// expect(fx.absPos).toBeCloseTo(-0.6)
-//
-// // At this point, we should have an animation of 500 ms with a delay of
-// // 300 ms that should be running. Normally, it would take 800 ms for the
-// // animation and its delay to complete, but because the speed is set to 2
-// // , it should only take 400ms
-//
-// jasmine.clock().tick(75)
-//
-// // Should be halfway through the delay
-// fx.step()
-// expect(fx.pos).toBe(0)
-// expect(fx.absPos).toBe(-0.3)
-//
-// jasmine.clock().tick(75)
-//
-// // Delay should be done
-// fx.step()
-// expect(fx.pos).toBe(0)
-// expect(fx.absPos).toBe(0)
-//
-// jasmine.clock().tick(250)
-//
-// // Animation and delay should be done
-// fx.step()
-// expect(fx.active).toBe(false)
-// expect(fx.pos).toBe(1)
-// expect(fx.absPos).toBe(1)
-// })
-// })
-//
-//
-// describe('reverse()', function() {
-// it('toggles the direction of the animation without a parameter', function() {
-// expect(fx.reverse().situation.reversed).toBe(true)
-// })
-// it('sets the direction to backwards with true given', function() {
-// expect(fx.reverse(true).situation.reversed).toBe(true)
-// })
-// it('sets the direction to forwards with false given', function() {
-// expect(fx.reverse(false).situation.reversed).toBe(false)
-// })
-// })
-//
-//
-// describe('queue()', function() {
-// it('can add a situation to the queue', function() {
-// var situation = new SVG.Situation({duration: 1000, delay: 0, ease: SVG.easing['-']})
-//
-// fx.queue(situation)
-// expect(fx.situations[0]).toBe(situation)
-// })
-//
-// it('can add a function to the queue', function() {
-// var f = function(){}
-//
-// fx.queue(f)
-// expect(fx.situations[0]).toBe(f)
-// })
-//
-// it('should set the situation attribute before pushing something in the situations queue', function(){
-// var situation = new SVG.Situation({duration: 1000, delay: 0, ease: SVG.easing['-']})
-//
-// // Clear the animation that is created before each test
-// fx.stop()
-//
-// expect(fx.situation).toBeNull()
-// expect(fx.situations.length).toBe(0)
-// fx.queue(situation)
-// expect(fx.situation).toBe(situation)
-// expect(fx.situations.length).toBe(0)
-// })
-// })
-//
-//
-// describe('dequeue()', function() {
-// it('should pull the next situtation from the queue', function() {
-// var situation = new SVG.Situation({duration: 1000, delay: 0, ease: SVG.easing['-']})
-//
-// fx.queue(situation)
-// expect(fx.situtation).not.toBe(situation)
-// expect(fx.situations[0]).toBe(situation)
-//
-// fx.dequeue()
-// expect(fx.situation).toBe(situation)
-// expect(fx.situations.length).toBe(0)
-// })
-//
-// it('initialize the animation pulled from the queue to its start position', function() {
-// // When the animation is forward, the start position is 0
-// fx.animate()
-// fx.pos = 0.5
-// expect(fx.dequeue().pos).toBe(0)
-//
-// // When the animation backward, the start position is 1
-// fx.animate().reverse(true)
-// fx.pos = 0.5
-// expect(fx.dequeue().pos).toBe(1)
-// })
-//
-// it('when the first element of the queue is a function, it should execute it', function() {
-// var called = false
-//
-// fx.queue(function(){
-// called = true
-// expect(this).toBe(fx)
-// this.dequeue()
-// }).dequeue()
-//
-// expect(called).toBe(true)
-// })
-//
-// it('should stop the currently running animation when there is one', function() {
-// fx.start()
-// expect(fx.active).toBe(true)
-// fx.queue(function() {
-// expect(this.active).toBe(false)
-// this.dequeue()
-// })
-// fx.dequeue()
-// })
-// })
-//
-//
-// describe('stop()', function() {
-// it('stops the animation immediately without a parameter', function() {
-// fx.animate(500).start()
-// expect(fx.stop().situation).toBeNull()
-// expect(fx.active).toBe(false)
-// expect(fx.situations.length).toBe(1)
-// })
-// it('stops the animation immediately and fullfill it if first parameter true', function() {
-// fx.animate(500).start()
-// expect(fx.stop(true).situation).toBeNull()
-// expect(fx.active).toBe(false)
-// expect(fx.pos).toBe(1)
-// expect(fx.situations.length).toBe(1)
-// })
-// it('stops the animation immediately and remove all items from queue when second parameter true', function() {
-// fx.animate(500).start()
-// expect(fx.stop(false, true).situation).toBeNull()
-// expect(fx.active).toBe(false)
-// expect(fx.situations.length).toBe(0)
-// })
-// })
-//
-//
-// describe('reset()', function() {
-// it('resets the element to the state it was when the current animation was started', function() {
-// var loops = 4
-// , situation = fx.situation
-//
-// // These settings make the animations run backward
-// fx.situation.loop = 2
-// fx.situation.loops = loops
-// fx.situation.reversed = true
-// fx.pos = 0.5
-// fx.absPos = 2.5
-//
-// fx.reset()
-//
-// expect(fx.situation).toBe(situation)
-// expect(fx.situation.loops).toBe(loops)
-// expect(fx.situation.loop).toBe(0)
-// expect(fx.situation.reversed).toBe(true) // True because the animation is backward
-// expect(fx.pos).toBe(1)
-// expect(fx.absPos).toBe(0)
-// })
-// })
-//
-//
-// describe('finish()', function() {
-// it('finish the whole animation by fullfilling every single one', function() {
-// fx.animate(500)
-// expect(fx.finish().pos).toBe(1)
-// expect(fx.situations.length).toBe(0)
-// expect(fx.situation).toBeNull()
-// })
-// })
-//
-//
-// describe('progress()', function() {
-// it('returns the current position', function() {
-// expect(fx.progress()).toBe(0)
-// expect(fx.progress()).toBe(fx.pos)
-// })
-// it('returns the current position as eased value if fist argument is true', function() {
-// var anim = draw.rect(100,100).animate(500,'>').start()
-// expect(anim.progress(true)).toBe(0)
-//
-// anim.at(0.25)
-// expect(anim.progress(true)).toBeCloseTo(anim.situation.ease(0.25))
-// })
-// })
-//
-//
-// describe('after()', function() {
-// it('adds a callback which is called when the current animation is finished', function() {
-// var called = false
-//
-// fx.start().after(function(situation){
-// expect(fx.situation).toBe(situation)
-// expect(fx.pos).toBe(1)
-// called = true
-// })
-//
-// jasmine.clock().tick(500)
-// fx.step()
-// expect(called).toBe(true)
-// })
-// })
-//
-//
-// describe('afterAll()', function() {
-// it('adds a callback which is called when all animations are finished', function() {
-// var called = false
-//
-// fx.animate(150).animate(125).start().afterAll(function(){
-// expect(fx.pos).toBe(1)
-// expect(fx.situations.length).toBe(0)
-// called = true
-// })
-//
-// expect(fx.situations.length).toBe(2)
-//
-// // End of the first animation
-// jasmine.clock().tick(500)
-// fx.step()
-// expect(fx.situations.length).toBe(1)
-// expect(called).toBe(false)
-//
-// // End of the second animation
-// jasmine.clock().tick(150)
-// fx.step()
-// expect(fx.situations.length).toBe(0)
-// expect(called).toBe(false)
-//
-// // End of the third and last animation
-// jasmine.clock().tick(125)
-// fx.step()
-// expect(fx.situation).toBeNull()
-// expect(called).toBe(true)
-// })
-// })
-//
-//
-// describe('during()', function() {
-// it('adds a callback which is called on every animation step', function() {
-// var called = 0
-//
-// fx.start().during(function(pos, morph, eased, situation){
-//
-// expect(fx.situation).toBe(situation)
-//
-// switch(++called) {
-// case 1:
-// expect(pos).toBeCloseTo(0.25)
-// break
-//
-// case 2:
-// expect(pos).toBeCloseTo(0.5)
-// break
-//
-// case 3:
-// expect(pos).toBeCloseTo(0.65)
-// break
-//
-// case 4:
-// expect(pos).toBe(1)
-// break
-// }
-//
-// expect(morph(0, 100)).toBeCloseTo(pos*100)
-//
-// })
-//
-// jasmine.clock().tick(125)
-// fx.step()
-// expect(called).toBe(1)
-//
-// jasmine.clock().tick(125) // 250 ms have passed
-// fx.step()
-// expect(called).toBe(2)
-//
-// jasmine.clock().tick(75) // 325 ms have passed
-// fx.step()
-// expect(called).toBe(3)
-//
-// jasmine.clock().tick(175) // 500 ms have passed
-// fx.step()
-// expect(called).toBe(4)
-// })
-// })
-//
-//
-// describe('duringAll()', function() {
-// it('adds a callback which is called on every animation step for the whole chain', function() {
-//
-// fx.finish()
-// rect.off('.fx')
-//
-// fx.animate(500).start().animate(500)
-//
-// var sit = null
-//
-// var pos1 = false
-// var pos2 = false
-//
-// fx.duringAll(function(pos, morph, eased, situation){
-//
-// if(pos1){
-// pos1 = false
-// sit = situation
-// expect(this.fx.pos).toBeCloseTo(0.6)
-// }
-//
-// if(pos2){
-// pos2 = null
-// expect(situation).not.toBe(sit)
-// expect(this.fx.pos).toBeCloseTo(0.75)
-// }
-// })
-//
-// pos1 = true
-// jasmine.clock().tick(300)
-// fx.step()
-//
-// jasmine.clock().tick(200) // End of the first animation
-// fx.step()
-//
-// pos2 = true
-// jasmine.clock().tick(375)
-// fx.step()
-//
-// if(pos1 || pos2) {
-// fail('Not enough situations called')
-// }
-// })
-// })
-//
-//
-// describe('once()', function() {
-// it('adds a callback which is called once at the specified position', function() {
-// var called = false
-//
-// fx.start().once(0.5, function(pos, eased){
-// called = true
-// expect(pos).toBeCloseTo(0.5)
-// })
-//
-// jasmine.clock().tick(125)
-// fx.step()
-// expect(called).toBe(false)
-//
-// jasmine.clock().tick(125) // 250 ms have passed
-// fx.step()
-// expect(called).toBe(true)
-// })
-//
-// it('adds the callback on the last situation', function () {
-// var callback = function () {}
-//
-// fx.animate(500).animate(500).once(0.5, callback)
-// expect(fx.situation.once['0.5']).toBeUndefined()
-// expect(fx.situations[0].once['0.5']).toBeUndefined()
-// expect(fx.situations[1].once['0.5']).toBe(callback)
-// })
-// })
-//
-//
-// describe('loop()', function() {
-// it('should create an eternal loop when no arguments are given', function() {
-// var time = 10523, dur = fx.situation.duration
-//
-// fx.loop()
-// expect(fx.situation.loop).toBe(0)
-// expect(fx.situation.loops).toBe(true)
-// expect(fx.pos).toBe(0)
-// expect(fx.absPos).toBe(0)
-//
-// fx.start().step()
-// jasmine.clock().tick(time)
-// fx.step()
-//
-// expect(fx.active).toBe(true)
-// expect(fx.situation.loop).toBe( Math.floor(time/dur) )
-// expect(fx.situation.loops).toBe(true)
-// expect(fx.pos).toBeCloseTo((time/dur) % 1)
-// expect(fx.absPos).toBeCloseTo(time/dur)
-// })
-//
-// it('should create an eternal loop when the first argument is true', function() {
-// var time = 850452, dur = fx.situation.duration
-//
-// fx.loop(true)
-// expect(fx.situation.loop).toBe(0)
-// expect(fx.situation.loops).toBe(true)
-// expect(fx.pos).toBe(0)
-// expect(fx.absPos).toBe(0)
-//
-// fx.start().step()
-// jasmine.clock().tick(time)
-// fx.step()
-//
-// expect(fx.active).toBe(true)
-// expect(fx.situation.loop).toBe( Math.floor(time/dur) )
-// expect(fx.situation.loops).toBe(true)
-// expect(fx.pos).toBeCloseTo((time/dur) % 1)
-// expect(fx.absPos).toBeCloseTo(time/dur)
-// })
-//
-// it('should loop for the specified number of times', function() {
-// var time = 0, dur = fx.situation.duration
-//
-// fx.loop(3)
-// expect(fx.situation.loop).toBe(0)
-// expect(fx.situation.loops).toBe(3)
-// expect(fx.pos).toBe(0)
-// expect(fx.absPos).toBe(0)
-//
-// fx.start().step()
-// jasmine.clock().tick(200)
-// time = 200
-//
-// fx.step()
-// expect(fx.active).toBe(true)
-// expect(fx.situation.loop).toBe(0)
-// expect(fx.situation.loops).toBe(3)
-// expect(fx.pos).toBeCloseTo((time/dur) % 1)
-// expect(fx.absPos).toBeCloseTo(time/dur)
-//
-// jasmine.clock().tick(550)
-// time += 550 // time at 750
-//
-// fx.step()
-// expect(fx.active).toBe(true)
-// expect(fx.situation.loop).toBe(1)
-// expect(fx.situation.loops).toBe(3)
-// expect(fx.pos).toBeCloseTo((time/dur) % 1)
-// expect(fx.absPos).toBeCloseTo(time/dur)
-//
-// jasmine.clock().tick(570)
-// time += 570 // time at 1320
-//
-// fx.step()
-// expect(fx.active).toBe(true)
-// expect(fx.situation.loop).toBe(2)
-// expect(fx.situation.loops).toBe(3)
-// expect(fx.pos).toBeCloseTo((time/dur) % 1)
-// expect(fx.absPos).toBeCloseTo(time/dur)
-//
-// jasmine.clock().tick(180)
-// time += 180 // time at 1500
-//
-// fx.step()
-// expect(fx.active).toBe(false)
-// expect(fx.situation).toBeNull()
-// expect(fx.pos).toBe(1)
-// expect(fx.absPos).toBe(3)
-// })
-//
-// it('should go from beginning to end and start over again (0->1.0->1.0->1.) by default', function() {
-// var time = 0, dur = fx.situation.duration
-//
-// fx.loop(2)
-// expect(fx.situation.loop).toBe(0)
-// expect(fx.situation.loops).toBe(2)
-// expect(fx.situation.reversing).toBe(false)
-// expect(fx.situation.reversed).toBe(false)
-// expect(fx.pos).toBe(0)
-// expect(fx.absPos).toBe(0)
-//
-// fx.start().step()
-// jasmine.clock().tick(325)
-// time = 325
-//
-// fx.step()
-// expect(fx.active).toBe(true)
-// expect(fx.situation.loop).toBe(0)
-// expect(fx.situation.loops).toBe(2)
-// expect(fx.situation.reversing).toBe(false)
-// expect(fx.situation.reversed).toBe(false)
-// expect(fx.pos).toBeCloseTo((time/dur) % 1)
-// expect(fx.absPos).toBeCloseTo(time/dur)
-//
-// jasmine.clock().tick(575)
-// time += 575 // time at 900
-//
-// fx.step()
-// expect(fx.active).toBe(true)
-// expect(fx.situation.loop).toBe(1)
-// expect(fx.situation.loops).toBe(2)
-// expect(fx.situation.reversing).toBe(false)
-// expect(fx.situation.reversed).toBe(false)
-// expect(fx.pos).toBeCloseTo((time/dur) % 1)
-// expect(fx.absPos).toBeCloseTo(time/dur)
-//
-// jasmine.clock().tick(200)
-// time += 200 // time at 1100
-//
-// fx.step()
-// expect(fx.active).toBe(false)
-// expect(fx.situation).toBeNull()
-// expect(fx.pos).toBe(1)
-// expect(fx.absPos).toBe(2)
-// })
-//
-// it('should be completely reversed before starting over (0->1->0->1->0->1.) when the reverse flag is passed', function() {
-// var time = 0, dur = fx.situation.duration
-//
-// fx.loop(2, true)
-// expect(fx.situation.loop).toBe(0)
-// expect(fx.situation.loops).toBe(2)
-// expect(fx.situation.reversing).toBe(true)
-// expect(fx.situation.reversed).toBe(false)
-// expect(fx.pos).toBe(0)
-// expect(fx.absPos).toBe(0)
-//
-// fx.start().step()
-// jasmine.clock().tick(325)
-// time = 325
-//
-// fx.step()
-// expect(fx.active).toBe(true)
-// expect(fx.situation.loop).toBe(0)
-// expect(fx.situation.loops).toBe(2)
-// expect(fx.situation.reversing).toBe(true)
-// expect(fx.situation.reversed).toBe(false)
-// expect(fx.pos).toBeCloseTo((time/dur) % 1)
-// expect(fx.absPos).toBeCloseTo(time/dur)
-//
-// jasmine.clock().tick(575)
-// time += 575 // time at 900
-//
-// fx.step()
-// expect(fx.active).toBe(true)
-// expect(fx.situation.loop).toBe(1)
-// expect(fx.situation.loops).toBe(2)
-// expect(fx.situation.reversing).toBe(true)
-// expect(fx.situation.reversed).toBe(true)
-// expect(fx.pos).toBeCloseTo(1 - (time/dur) % 1)
-// expect(fx.absPos).toBeCloseTo(time/dur)
-//
-// jasmine.clock().tick(200)
-// time += 200 // time at 1100
-//
-// fx.step()
-// expect(fx.active).toBe(false)
-// expect(fx.situation).toBeNull()
-// expect(fx.pos).toBe(0)
-// expect(fx.absPos).toBe(2)
-// })
-//
-// it('should be applied on the last situation', function() {
-// fx.loop(5)
-// expect(fx.situation.loop).toBe(0)
-// expect(fx.situation.loops).toBe(5)
-// expect(fx.situation.reversing).toBe(false)
-//
-// fx.animate().loop(3, true)
-// expect(fx.situation.loop).toBe(0)
-// expect(fx.situation.loops).toBe(5)
-// expect(fx.situation.reversing).toBe(false)
-//
-// var c = fx.last()
-// expect(c.loop).toBe(0)
-// expect(c.loops).toBe(3)
-// expect(c.reversing).toBe(true)
-// })
-//
-// it('should be possible to call it with false as the first argument', function() {
-// fx.situation.loops = true
-// fx.loop(false)
-// expect(fx.situation.loops).toBe(false)
-// })
-// })
-//
-//
-// describe('step()', function() {
-// it('should not recalculate the absolute position if the first parameter is true', function() {
-// var absPos
-//
-// // We shift start to help us see if the absolute position get recalculated
-// // If it get recalculated, the result would be 0.5
-// fx.situation.start -= 250
-//
-// absPos = 0.4
-// fx.absPos = absPos
-// expect(fx.step(true).absPos).toBe(absPos)
-//
-// absPos = 0
-// fx.absPos = absPos
-// expect(fx.step(true).absPos).toBe(absPos)
-//
-// absPos = -3.7
-// fx.absPos = absPos
-// expect(fx.step(true).absPos).toBe(absPos)
-//
-// absPos = 1
-// fx.absPos = absPos
-// expect(fx.step(true).absPos).toBe(absPos)
-// })
-//
-// it('should not allow an absolute position to be above the end', function() {
-// var absPos, loops
-//
-// // With no loops, absolute position should not go above 1
-// absPos = 4.26
-// fx.absPos = absPos
-// expect(fx.step(true).absPos).toBe(1)
-// expect(fx.situation).toBeNull()
-//
-// fx.animate() // Recreate an animation since the other one was ended
-//
-// // With loops, absolute position should not go above loops
-// loops = 4
-// absPos = 7.42
-// fx.absPos = absPos
-// expect(fx.loop(loops).step(true).absPos).toBe(loops)
-// expect(fx.situation).toBeNull()
-// })
-//
-// describe('when converting an absolute position to a position', function() {
-// it('should, when the absolute position is below the maximum number of loops, use the integer part of the absolute position to set the loop counter and use its fractional part to set the position', function(){
-// var absPos, absPosFrac, absPosInt, loops
-//
-// // Without the reverse flag
-// loops = 12
-// absPos = 4.52
-// absPosInt = Math.floor(absPos)
-// absPosFrac = absPos - absPosInt
-// fx.absPos = absPos
-// fx.loop(loops).step(true)
-// expect(fx.pos).toBe(absPosFrac)
-// expect(fx.situation.loop).toBe(absPosInt)
-//
-// fx.stop().animate()
-//
-// loops = true
-// absPos = 2.57
-// absPosInt = Math.floor(absPos)
-// absPosFrac = absPos - absPosInt
-// fx.absPos = absPos
-// fx.loop(loops).step(true)
-// expect(fx.pos).toBe(absPosFrac)
-// expect(fx.situation.loop).toBe(absPosInt)
-//
-// fx.stop().animate()
-//
-// // With the reverse flag, the position is reversed at each odd loop
-// loops = 412
-// absPos = 6.14
-// absPosInt = Math.floor(absPos)
-// absPosFrac = absPos - absPosInt
-// fx.absPos = absPos
-// fx.loop(loops, true).step(true)
-// expect(fx.pos).toBe(absPosFrac)
-// expect(fx.situation.loop).toBe(absPosInt)
-// expect(fx.situation.reversed).toBe(false)
-//
-// fx.stop().animate()
-//
-// loops = true
-// absPos = 5.12
-// absPosInt = Math.floor(absPos)
-// absPosFrac = absPos - absPosInt
-// fx.absPos = absPos
-// fx.loop(loops, true).step(true)
-// expect(fx.pos).toBe(1-absPosFrac) // Odd loop, so it is reversed
-// expect(fx.situation.loop).toBe(absPosInt)
-// expect(fx.situation.reversed).toBe(true)
-//
-// fx.stop().animate()
-//
-// // When the animation is set to run backward, it is the opposite, the position is reversed at each even loop
-// loops = 14
-// absPos = 8.46
-// absPosInt = Math.floor(absPos)
-// absPosFrac = absPos - absPosInt
-// fx.absPos = absPos
-// fx.reverse(true).loop(loops, true).step(true)
-// expect(fx.pos).toBe(1-absPosFrac) // Even loop, so it is reversed
-// expect(fx.situation.loop).toBe(absPosInt)
-// expect(fx.situation.reversed).toBe(true)
-//
-// fx.stop().animate()
-//
-// loops = true
-// absPos = 3.12
-// absPosInt = Math.floor(absPos)
-// absPosFrac = absPos - absPosInt
-// fx.absPos = absPos
-// fx.reverse(true).loop(loops, true).step(true)
-// expect(fx.pos).toBe(absPosFrac)
-// expect(fx.situation.loop).toBe(absPosInt)
-// expect(fx.situation.reversed).toBe(false)
-// })
-//
-// it('should, when the absolute position is above or equal to the the maximum number of loops, set the position to its end value and end the animation', function() {
-// var absPos, loops
-//
-// // Without the reverse flag, the end value of position is 1
-// loops = 6
-// absPos = 13.52
-// fx.absPos = absPos
-// fx.loop(loops).step(true)
-// expect(fx.pos).toBe(1)
-// expect(fx.situation).toBeNull()
-//
-// fx.animate() // Recreate an animation since the other one was ended
-//
-// loops = false
-// absPos = 146.22
-// fx.absPos = absPos
-// fx.loop(loops).step(true)
-// expect(fx.pos).toBe(1)
-// expect(fx.situation).toBeNull()
-//
-// fx.animate() // Recreate an animation since the other one was ended
-//
-// // With the reverse flag, the end value of position is 0 when loops is even and 1 when loops is an odd number or false
-// loops = 6
-// absPos = 6
-// fx.absPos = absPos
-// fx.loop(loops, true).step(true)
-// expect(fx.pos).toBe(0) // Even loops
-// expect(fx.situation).toBeNull()
-//
-// fx.animate() // Recreate an animation since the other one was ended
-//
-// loops = false
-// absPos = 4.47
-// fx.absPos = absPos
-// fx.loop(loops, true).step(true)
-// expect(fx.pos).toBe(1) // 1 since loops is false
-// expect(fx.situation).toBeNull()
-//
-// fx.animate() // Recreate an animation since the other one was ended
-//
-// // When the animation is set to run backward, it is the opposite, the end value of position is 1 when loops is even and 0 when loops is an odd number or false
-// loops = 8
-// absPos = 12.65
-// fx.absPos = absPos
-// fx.reverse(true).loop(loops, true).step(true)
-// expect(fx.pos).toBe(1) // Even loops
-// expect(fx.situation).toBeNull()
-//
-// fx.animate() // Recreate an animation since the other one was ended
-//
-// loops = 11
-// absPos = 12.41
-// fx.absPos = absPos
-// fx.reverse(true).loop(loops, true).step(true)
-// expect(fx.pos).toBe(0) // Odd loops
-// expect(fx.situation).toBeNull()
-// })
-//
-// it('should set the position to its start value when the absolute position is below 0', function() {
-// var absPos
-//
-// // When the animation is not set to run backward the start value is 0
-// absPos = -2.27
-// fx.loop(7)
-// fx.situation.loop = 3
-// fx.absPos = absPos
-// fx.step(true)
-// expect(fx.pos).toBe(0)
-// expect(fx.absPos).toBe(absPos)
-// expect(fx.situation.loop).toBe(0)
-//
-// fx.stop().animate()
-//
-// // When the animation is set to run backward the start value is 1
-// absPos = -4.12
-// fx.absPos = absPos
-// fx.reverse(true).step(true)
-// expect(fx.pos).toBe(1)
-// expect(fx.absPos).toBe(absPos)
-// })
-//
-// it('should, when looping with the reverse flag, toggle reversed only when the difference between the new value of loop counter and its old value is odd', function() {
-// // The new value of the loop counter is the integer part of absPos
-//
-// fx.loop(9, true)
-// expect(fx.situation.loop).toBe(0)
-// expect(fx.pos).toBe(0)
-// expect(fx.situation.reversed).toBe(false)
-//
-// fx.absPos = 3
-// fx.step(true)
-// expect(fx.situation.reversed).toBe(true) // (3-0) is odd
-//
-// fx.absPos = 1
-// fx.step(true)
-// expect(fx.situation.reversed).toBe(true) // (1-3) is even
-//
-// fx.absPos = 6
-// fx.step(true)
-// expect(fx.situation.reversed).toBe(false) // (6-1) is odd
-//
-// fx.absPos = 9
-// fx.step(true)
-// expect(fx.situation).toBeNull()
-// expect(fx.pos).toBe(1) // It should end not reversed, which mean the position is expected to be 1
-// // ((9-1)-6) is even, the -1 is because we do not want reversed to be toggled after the last loop
-// })
-// })
-//
-//
-// it('should not throw an error when stop is called in a during callback', function () {
-// fx.move(100,100).start()
-// fx.during(function () {this.stop()})
-// expect(fx.step.bind(fx)).not.toThrow()
-// })
-//
-// it('should not throw an error when finish is called in a during callback', function () {
-// fx.move(100,100).start()
-// fx.during(function () {this.finish()})
-// expect(fx.step.bind(fx)).not.toThrow()
-// })
-//
-// it('should not set active to false if the afterAll callback add situations to the situations queue', function () {
-// fx.afterAll(function(){this.animate(500).move(0,0)})
-//
-// jasmine.clock().tick(500)
-// fx.step()
-// expect(fx.active).toBe(true)
-// expect(fx.situation).not.toBeNull()
-// expect(fx.situations.length).toBe(0)
-//
-// jasmine.clock().tick(500)
-// fx.step()
-// expect(fx.active).toBe(false)
-// expect(fx.situation).toBeNull()
-// expect(fx.situations.length).toBe(0)
-// })
-// })
-//
-//
-// it('animates the x/y-attr', function() {
-// var called = false
-//
-// fx.move(200,200).after(function(){
-//
-// expect(rect.x()).toBe(200)
-// expect(rect.y()).toBe(200)
-// called = true
-//
-// })
-//
-// jasmine.clock().tick(250)
-// fx.step()
-// expect(rect.x()).toBeGreaterThan(100)
-// expect(rect.y()).toBeGreaterThan(100)
-//
-// jasmine.clock().tick(250)
-// fx.step()
-// expect(called).toBe(true)
-// })
-//
-// // it('animates matrix', function() {
-// // var ctm, called = false
-// //
-// // fx.transform({a:0.8, b:0.4, c:-0.15, d:0.7, e: 90.3, f: 27.07}).after(function(){
-// //
-// // var ctm = rect.ctm()
-// // expect(ctm.a).toBeCloseTo(0.8)
-// // expect(ctm.b).toBeCloseTo(0.4)
-// // expect(ctm.c).toBeCloseTo(-0.15)
-// // expect(ctm.d).toBeCloseTo(0.7)
-// // expect(ctm.e).toBeCloseTo(90.3)
-// // expect(ctm.f).toBeCloseTo(27.07)
-// // called = true
-// //
-// // })
-// //
-// // jasmine.clock().tick(250)
-// // fx.step()
-// // ctm = rect.ctm()
-// // expect(ctm.a).toBeLessThan(1)
-// // expect(ctm.b).toBeGreaterThan(0)
-// // expect(ctm.c).toBeLessThan(0)
-// // expect(ctm.d).toBeGreaterThan(0)
-// // expect(ctm.e).toBeGreaterThan(0)
-// // expect(ctm.f).toBeGreaterThan(0)
-// //
-// // jasmine.clock().tick(250)
-// // fx.step()
-// // expect(called).toBe(true)
-// // })
-//
-// // it('animate a scale transform using the passed center point when there is already a transform in place', function(){
-// // var ctm
-// //
-// // // When no ceter point is passed to the method scale, it use the center of the element as the center point
-// //
-// // rect.scale(2) // The transform in place
-// //
-// // fx.scale(0.5)
-// // jasmine.clock().tick(500) // Have the animation reach its end
-// // fx.step()
-// //
-// // ctm = rect.ctm()
-// // expect(ctm.a).toBe(0.5)
-// // expect(ctm.b).toBe(0)
-// // expect(ctm.c).toBe(0)
-// // expect(ctm.d).toBe(0.5)
-// // expect(ctm.e).toBe(75)
-// // expect(ctm.f).toBe(75)
-// // })
-//
-// // it('animate a flip(x) transform', function() {
-// // var ctm
-// //
-// // fx.transform({flip: 'x'}).start()
-// //
-// // jasmine.clock().tick(125) // Have the animation be 1/4 of the way (not halfway as usual because of a bug in the node method getCTM on Firefox)
-// // fx.step()
-// //
-// // ctm = rect.ctm()
-// // expect(ctm.a).toBe(0.5)
-// // expect(ctm.b).toBe(0)
-// // expect(ctm.c).toBe(0)
-// // expect(ctm.d).toBe(1)
-// // expect(ctm.e).toBe(75)
-// // expect(ctm.f).toBe(0)
-// //
-// // jasmine.clock().tick(475) // Have the animation reach its end
-// // fx.step()
-// //
-// // ctm = rect.ctm()
-// // expect(ctm.a).toBe(-1)
-// // expect(ctm.b).toBe(0)
-// // expect(ctm.c).toBe(0)
-// // expect(ctm.d).toBe(1)
-// // expect(ctm.e).toBe(300)
-// // expect(ctm.f).toBe(0)
-// // })
-//
-// // it('animate a flip(x) transform with an offset', function() {
-// // var ctm
-// //
-// // fx.transform({flip: 'x', offset: 20}).start()
-// //
-// // jasmine.clock().tick(125) // Have the animation be 1/4 of the way (not halfway as usual because of a bug in the node method getCTM on Firefox)
-// // fx.step()
-// //
-// // ctm = rect.ctm()
-// // expect(ctm.a).toBe(0.5)
-// // expect(ctm.b).toBe(0)
-// // expect(ctm.c).toBe(0)
-// // expect(ctm.d).toBe(1)
-// // expect(ctm.e).toBe(10)
-// // expect(ctm.f).toBe(0)
-// //
-// // jasmine.clock().tick(475) // Have the animation reach its end
-// // fx.step()
-// //
-// // ctm = rect.ctm()
-// // expect(ctm.a).toBe(-1)
-// // expect(ctm.b).toBe(0)
-// // expect(ctm.c).toBe(0)
-// // expect(ctm.d).toBe(1)
-// // expect(ctm.e).toBe(40)
-// // expect(ctm.f).toBe(0)
-// // })
-//
-// // it('animate a flip(y) transform', function() {
-// // var ctm
-// //
-// // fx.transform({flip: 'y'}).start()
-// //
-// // jasmine.clock().tick(125) // Have the animation be 1/4 of the way (not halfway as usual because of a bug in the node method getCTM on Firefox)
-// // fx.step()
-// //
-// // ctm = rect.ctm()
-// // expect(ctm.a).toBe(1)
-// // expect(ctm.b).toBe(0)
-// // expect(ctm.c).toBe(0)
-// // expect(ctm.d).toBe(0.5)
-// // expect(ctm.e).toBe(0)
-// // expect(ctm.f).toBe(75)
-// //
-// // jasmine.clock().tick(475) // Have the animation reach its end
-// // fx.step()
-// //
-// // ctm = rect.ctm()
-// // expect(ctm.a).toBe(1)
-// // expect(ctm.b).toBe(0)
-// // expect(ctm.c).toBe(0)
-// // expect(ctm.d).toBe(-1)
-// // expect(ctm.e).toBe(0)
-// // expect(ctm.f).toBe(300)
-// // })
-//
-// // it('animate a flip(y) transform with an offset', function() {
-// // var ctm
-// //
-// // fx.transform({flip: 'y', offset: 20}).start()
-// //
-// // jasmine.clock().tick(125) // Have the animation be 1/4 of the way (not halfway as usual because of a bug in the node method getCTM on Firefox)
-// // fx.step()
-// //
-// // ctm = rect.ctm()
-// // expect(ctm.a).toBe(1)
-// // expect(ctm.b).toBe(0)
-// // expect(ctm.c).toBe(0)
-// // expect(ctm.d).toBe(0.5)
-// // expect(ctm.e).toBe(0)
-// // expect(ctm.f).toBe(10)
-// //
-// // jasmine.clock().tick(475) // Have the animation reach its end
-// // fx.step()
-// //
-// // ctm = rect.ctm()
-// // expect(ctm.a).toBe(1)
-// // expect(ctm.b).toBe(0)
-// // expect(ctm.c).toBe(0)
-// // expect(ctm.d).toBe(-1)
-// // expect(ctm.e).toBe(0)
-// // expect(ctm.f).toBe(40)
-// // })
-//
-// // it('animate a flip() transform', function() {
-// // var ctm
-// //
-// // fx.transform({flip: 'both'}).start()
-// //
-// // jasmine.clock().tick(125) // Have the animation be 1/4 of the way (not halfway as usual because of a bug in the node method getCTM on Firefox)
-// // fx.step()
-// //
-// // ctm = rect.ctm()
-// // expect(ctm.a).toBe(0.5)
-// // expect(ctm.b).toBe(0)
-// // expect(ctm.c).toBe(0)
-// // expect(ctm.d).toBe(0.5)
-// // expect(ctm.e).toBe(75)
-// // expect(ctm.f).toBe(75)
-// //
-// // jasmine.clock().tick(475) // Have the animation reach its end
-// // fx.step()
-// //
-// // ctm = rect.ctm()
-// // expect(ctm.a).toBe(-1)
-// // expect(ctm.b).toBe(0)
-// // expect(ctm.c).toBe(0)
-// // expect(ctm.d).toBe(-1)
-// // expect(ctm.e).toBe(300)
-// // expect(ctm.f).toBe(300)
-// // })
-//
-// // it('animate a flip() transform with an offset', function() {
-// // var ctm
-// //
-// // fx.transform({flip: 'both', offset: 20}).start()
-// //
-// // jasmine.clock().tick(125) // Have the animation be 1/4 of the way (not halfway as usual because of a bug in the node method getCTM on Firefox)
-// // fx.step()
-// //
-// // ctm = rect.ctm()
-// // expect(ctm.a).toBe(0.5)
-// // expect(ctm.b).toBe(0)
-// // expect(ctm.c).toBe(0)
-// // expect(ctm.d).toBe(0.5)
-// // expect(ctm.e).toBe(10)
-// // expect(ctm.f).toBe(10)
-// //
-// // jasmine.clock().tick(475) // Have the animation reach its end
-// // fx.step()
-// //
-// // ctm = rect.ctm()
-// // expect(ctm.a).toBe(-1)
-// // expect(ctm.b).toBe(0)
-// // expect(ctm.c).toBe(0)
-// // expect(ctm.d).toBe(-1)
-// // expect(ctm.e).toBe(40)
-// // expect(ctm.f).toBe(40)
-// // })
-//
-// // it('animate relative matrix transform', function(){
-// // var ctm
-// //
-// // fx.transform(new SVG.Matrix().scale(2,0,0), true)
-// //
-// // jasmine.clock().tick(250) // Have the animation be half way
-// // fx.step()
-// //
-// // ctm = rect.ctm()
-// // expect(ctm.a).toBe(1.5)
-// // expect(ctm.b).toBe(0)
-// // expect(ctm.c).toBe(0)
-// // expect(ctm.d).toBe(1.5)
-// // expect(ctm.e).toBe(0)
-// // expect(ctm.f).toBe(0)
-// //
-// // jasmine.clock().tick(250) // Have the animation reach its end
-// // fx.step()
-// //
-// // ctm = rect.ctm()
-// // expect(ctm.a).toBe(2)
-// // expect(ctm.b).toBe(0)
-// // expect(ctm.c).toBe(0)
-// // expect(ctm.d).toBe(2)
-// // expect(ctm.e).toBe(0)
-// // expect(ctm.f).toBe(0)
-// // })
-//
-// describe('when animating plots', function() {
-// it('should allow plot animations to be chained', function() {
-// var pathString1 = 'M10 80 C 40 10, 65 10, 95 80 S 150 150, 180 80'
-// , pathString2 = 'M10 80 C 40 150, 65 150, 95 80 S 150 10, 180 80'
-// , path = draw.path(pathString1)
-// , morph
-//
-// fx = path.animate(1000).plot(pathString2).animate(1000).plot(pathString1)
-// morph = new SVG.PathArray(pathString1).morph(pathString2)
-//
-// fx.start()
-// expect(path.array()).toEqual(morph.at(0))
-//
-// jasmine.clock().tick(500) // Have the first animation be half way
-// fx.step()
-// expect(path.array()).toEqual(morph.at(0.5))
-//
-// jasmine.clock().tick(500) // Have the first animation reach its end
-// fx.step()
-// expect(path.array()).toEqual(morph.at(1))
-// morph = new SVG.PathArray(pathString2).morph(pathString1)
-// expect(path.array()).toEqual(morph.at(0))
-//
-// jasmine.clock().tick(500) // Have the second animation be half way
-// fx.step()
-// expect(path.array()).toEqual(morph.at(0.5))
-//
-// jasmine.clock().tick(500) // Have the second animation reach its end
-// fx.step()
-// expect(path.array()).toEqual(morph.at(1))
-// })
-//
-// it('should allow plot to be called on a polyline', function() {
-// var startValue = [[0,0], [100,50], [50,100], [150,50], [200,50]]
-// , endValue = [[0,0], [100,50], [50,100], [150,50], [200,50], [250,100], [300,50], [350,50]]
-// , morph = new SVG.PointArray(startValue).morph(endValue)
-// , polyline = draw.polyline(startValue)
-//
-// fx = polyline.animate(3000).plot(endValue)
-//
-// fx.start()
-// expect(polyline.array()).toEqual(morph.at(0))
-//
-// jasmine.clock().tick(1500) // Have the animation be half way
-// fx.step()
-// expect(polyline.array()).toEqual(morph.at(0.5))
-//
-// jasmine.clock().tick(1500) // Have the animation reach its end
-// fx.step()
-// expect(polyline.array()).toEqual(morph.at(1))
-// })
-//
-// it('should allow plot to be called on a polygon', function() {
-// var startValue = [[0,0], [100,50], [50,100], [150,50], [200,50]]
-// , endValue = [[0,0], [100,50], [50,100], [150,50], [200,50], [250,100], [300,50], [350,50]]
-// , morph = new SVG.PointArray(startValue).morph(endValue)
-// , polygon = draw.polygon(startValue)
-//
-// fx = polygon.animate(3000).plot(endValue)
-//
-// fx.start()
-// expect(polygon.array()).toEqual(morph.at(0))
-//
-// jasmine.clock().tick(1500) // Have the animation be half way
-// fx.step()
-// expect(polygon.array()).toEqual(morph.at(0.5))
-//
-// jasmine.clock().tick(1500) // Have the animation reach its end
-// fx.step()
-// expect(polygon.array()).toEqual(morph.at(1))
-// })
-//
-// it('should allow plot to be called on a path', function() {
-// var startValue = new SVG.PathArray('M10 80 C 40 10, 65 10, 95 80 S 150 150, 180 80')
-// , endValue = new SVG.PathArray('M10 80 C 40 150, 65 150, 95 80 S 150 10, 180 80')
-// , morph = new SVG.PathArray(startValue).morph(endValue)
-// , path = draw.path(startValue)
-//
-// fx = path.animate(2000).plot(endValue)
-//
-// fx.start()
-// expect(path.array()).toEqual(morph.at(0))
-//
-// jasmine.clock().tick(1000) // Have the animation be half way
-// fx.step()
-// expect(path.array()).toEqual(morph.at(0.5))
-//
-// jasmine.clock().tick(1000) // Have the animation reach its end
-// fx.step()
-// expect(path.array()).toEqual(morph.at(1))
-// })
-//
-// it('should allow plot to be called on a textpath', function() {
-// var startValue = new SVG.PathArray('M10 80 C 40 10, 65 10, 95 80 S 150 150, 180 80')
-// , endValue = new SVG.PathArray('M10 80 C 40 150, 65 150, 95 80 S 150 10, 180 80')
-// , morph = new SVG.PathArray(startValue).morph(endValue)
-// , textPath
-//
-// var text = draw.text(function(add) {
-// add.tspan("We go up and down, then we go down, then up again")
-// })
-//
-// textPath = text.path(startValue)
-// fx = textPath.animate(500).plot(endValue)
-//
-// fx.start()
-// expect(textPath.array()).toEqual(morph.at(0))
-//
-// jasmine.clock().tick(250) // Have the animation be half way
-// fx.step()
-// expect(textPath.array()).toEqual(morph.at(0.5))
-//
-// jasmine.clock().tick(250) // Have the animation reach its end
-// fx.step()
-// expect(textPath.array()).toEqual(morph.at(1))
-// })
-//
-// it('should allow plot to be called on a line', function() {
-// var startValue = '0,0 100,150'
-// , endValue = [[50,30], [120,250]]
-// , morph = new SVG.PointArray(startValue).morph(endValue)
-// , line = draw.line(startValue)
-//
-// fx = line.animate(3000).plot(endValue)
-//
-// fx.start()
-// expect(line.array()).toEqual(morph.at(0))
-//
-// jasmine.clock().tick(1500) // Have the animation be half way
-// fx.step()
-// expect(line.array()).toEqual(morph.at(0.5))
-//
-// jasmine.clock().tick(1500) // Have the animation reach its end
-// fx.step()
-// expect(line.array()).toEqual(morph.at(1))
-// })
-//
-// it('should allow plot to be called with 4 parameters on a line', function () {
-// var startPointArray = new SVG.PointArray('0,0 100,150')
-// , endPointArray = new SVG.PointArray([[50,30], [120,250]])
-// , morph = new SVG.PointArray(startPointArray).morph(endPointArray)
-// , a
-//
-// a = startPointArray.value
-// var line = draw.line(a[0][0], a[0][1], a[1][0], a[1][1])
-//
-// a = endPointArray.value
-// fx = line.animate(3000).plot(a[0][0], a[0][1], a[1][0], a[1][1])
-//
-// fx.start()
-// expect(line.array()).toEqual(morph.at(0))
-//
-// jasmine.clock().tick(1500) // Have the animation be half way
-// fx.step()
-// expect(line.array()).toEqual(morph.at(0.5))
-//
-// jasmine.clock().tick(1500) // Have the animation reach its end
-// fx.step()
-// expect(line.array()).toEqual(morph.at(1))
-// })
-// })
-//
-//
-// describe('when animating attributes', function() {
-// it('should be possible to animate numeric attributes', function () {
-// var startValue = 0
-// , endValue = 150
-// , morph = new SVG.Number(startValue).morph(endValue)
-//
-// var text = draw.text(function(add) {
-// add.tspan('We go ')
-// add.tspan('up').fill('#f09').dy(-40)
-// add.tspan(', then we go down, then up again').dy(40)
-// })
-//
-// var path = 'M 100 200 C 200 100 300 0 400 100 C 500 200 600 300 700 200 C 800 100 900 100 900 100'
-//
-// var textPath = text.path(path).font({ size: 42.5, family: 'Verdana' })
-//
-//
-// textPath.attr('startOffset', startValue)
-// fx = textPath.animate(1000).attr('startOffset', endValue)
-//
-// fx.start()
-// expect(textPath.attr('startOffset')).toBe(morph.at(0).value)
-//
-// jasmine.clock().tick(500) // Have the animation be half way
-// fx.step()
-// expect(textPath.attr('startOffset')).toBe(morph.at(0.5).value)
-//
-// jasmine.clock().tick(500) // Have the animation reach its end
-// fx.step()
-// expect(textPath.attr('startOffset')).toBe(morph.at(1).value)
-// })
-//
-// it('should be possible to animate non-numeric attributes', function () {
-// var startValue = 'butt'
-// , endValue = 'round'
-// , line = draw.line('0,0 100,150').attr('stroke-linecap', startValue)
-//
-// fx = line.animate(3000).attr('stroke-linecap', endValue)
-//
-// fx.start()
-// expect(line.attr('stroke-linecap')).toBe(startValue)
-//
-// jasmine.clock().tick(1500) // Have the animation be half way
-// fx.step()
-// expect(line.attr('stroke-linecap')).toBe(startValue)
-//
-// jasmine.clock().tick(1500) // Have the animation reach its end
-// fx.step()
-// expect(line.attr('stroke-linecap')).toBe(endValue)
-// })
-//
-// it('should be possible to animate color attributes by using SVG.Color', function() {
-// var startValue = 'rgb(42,251,100)'
-// , endValue = 'rgb(10,80,175)'
-// , morph = new SVG.Color(startValue).morph(endValue)
-//
-// rect.attr('fill', startValue)
-// fx.attr('fill', endValue)
-//
-// fx.start()
-// expect(rect.attr('fill')).toBe(morph.at(0).toString())
-//
-// jasmine.clock().tick(250) // Have the animation be half way
-// fx.step()
-// expect(rect.attr('fill')).toBe(morph.at(0.5).toString())
-//
-// jasmine.clock().tick(250) // Have the animation reach its end
-// fx.step()
-// expect(rect.attr('fill')).toBe(morph.at(1).toString())
-// })
-//
-// it('should be possible to pass percentage strings to numeric attributes', function () {
-// var startValue = '0%'
-// , endValue = '80%'
-// , morph = new SVG.Number(startValue).morph(endValue)
-//
-// var text = draw.text(function(add) {
-// add.tspan('We go ')
-// add.tspan('up').fill('#f09').dy(-40)
-// add.tspan(', then we go down, then up again').dy(40)
-// })
-//
-// var path = 'M 100 200 C 200 100 300 0 400 100 C 500 200 600 300 700 200 C 800 100 900 100 900 100'
-//
-// var textPath = text.path(path).font({ size: 42.5, family: 'Verdana' })
-//
-// textPath.attr('startOffset', startValue)
-// fx = textPath.animate(1000).attr('startOffset', endValue)
-//
-// fx.start()
-// expect(textPath.attr('startOffset')).toBe(morph.at(0).toString())
-//
-// jasmine.clock().tick(500) // Have the animation be half way
-// fx.step()
-// expect(textPath.attr('startOffset')).toBe(morph.at(0.5).toString())
-//
-// jasmine.clock().tick(500) // Have the animation reach its end
-// fx.step()
-// expect(textPath.attr('startOffset')).toBe(morph.at(1).toString())
-// })
-//
-// it('should allow 0 to be specified without unit', function () {
-// // This code snippet come from issue #552
-//
-// var gradient = draw.gradient('linear', function(add) {
-// s1 = add.stop(0, '#33235b')
-// s2 = add.stop(0.5, '#E97639')
-// s3 = add.stop(1, '#33235b')
-// })
-//
-// var r1, r2;
-// var fill = draw.pattern('300%', '100%', function(add) {
-// r1 = add.rect('150%', '100%').fill(gradient)
-// r2 = add.rect('150%', '100%').fill(gradient)
-// });
-// fill.attr({patternUnits: 'userSpaceOnUse'})
-//
-// r1.attr('x', 0).animate('0.5s').attr('x', '150%')
-// r2.attr('x', '-150%').animate('0.5s').attr('x', 0)
-//
-// var text = draw.text('Manifesto').move('50%', '50%').fill(fill)
-// text.font({
-// size: 70
-// , anchor: 'middle'
-// , leading: 1
-// })
-//
-// r1.fx.start()
-// r2.fx.start()
-//
-// jasmine.clock().tick(250) // Have the animation be half way
-// r1.fx.step()
-// r2.fx.step()
-// expect(r1.attr('x')).toBe('75%')
-// expect(r2.attr('x')).toBe('-75%')
-//
-// jasmine.clock().tick(250) // Have the animation reach its end
-// r1.fx.step()
-// r2.fx.step()
-// expect(r1.attr('x')).toBe('150%')
-// expect(r2.attr('x')).toBe('0%')
-// })
-// })
-//
-//
-// describe('when animating styles', function() {
-// it('should be possible to animate numeric styles', function () {
-// var startValue = 0
-// , endValue = 5
-// , morph = new SVG.Number(startValue).morph(endValue)
-//
-// rect.css('stroke-width', startValue)
-// fx.css('stroke-width', endValue)
-//
-// fx.start()
-// expect(rect.css('stroke-width')).toBe(morph.at(0).toString())
-//
-// jasmine.clock().tick(250) // Have the animation be half way
-// fx.step()
-// expect(rect.css('stroke-width')).toBe(morph.at(0.5).toString())
-//
-// jasmine.clock().tick(250) // Have the animation reach its end
-// fx.step()
-// expect(rect.css('stroke-width')).toBe(morph.at(1).toString())
-// })
-//
-// it('should be possible to animate non-numeric styles', function () {
-// var startValue = 'butt'
-// , endValue = 'round'
-// , line = draw.line('0,0 100,150').css('stroke-linecap', startValue)
-//
-// fx = line.animate(3000).css('stroke-linecap', endValue)
-//
-// fx.start()
-// expect(line.css('stroke-linecap')).toBe(startValue)
-//
-// jasmine.clock().tick(1500) // Have the animation be half way
-// fx.step()
-// expect(line.css('stroke-linecap')).toBe(startValue)
-//
-// jasmine.clock().tick(1500) // Have the animation reach its end
-// fx.step()
-// expect(line.css('stroke-linecap')).toBe(endValue)
-// })
-//
-// it('should be possible to animate color styles by using SVG.Color', function() {
-// var startValue = '#81DE01'
-// , endValue = '#B1835D'
-// , morph = new SVG.Color(startValue).morph(endValue)
-//
-// rect.css('fill', startValue)
-// fx.css('fill', endValue)
-//
-//
-// fx.start()
-// // When setting a style color, it get saved as a rgb() string even if it was passed as an hex code
-// // The style rgb string has spaces while the one returned by SVG.Color do not as show bellow
-// // CSS: rgb(255, 255, 255) SVG.Color: rgb(255,255,255)
-// // The space in the style rbg string are removed so they can be equal
-// expect(rect.css('fill').replace(/\s+/g, '')).toBe(morph.at(0).toRgb())
-//
-// jasmine.clock().tick(250) // Have the animation be half way
-// fx.step()
-// expect(rect.css('fill').replace(/ /g, '')).toBe(morph.at(0.5).toRgb())
-//
-// jasmine.clock().tick(250) // Have the animation reach its end
-// fx.step()
-// expect(rect.css('fill').replace(/ /g, '')).toBe(morph.at(1).toRgb())
-// })
-//
-// it('should be possible to pass percentage strings to numeric styles', function () {
-// var startValue = '0%'
-// , endValue = '5%'
-// , morph = new SVG.Number(startValue).morph(endValue)
-//
-// rect.css('stroke-width', startValue)
-// fx.css('stroke-width', endValue)
-//
-// fx.start()
-// expect(rect.css('stroke-width')).toBe(morph.at(0).toString())
-//
-// jasmine.clock().tick(250) // Have the animation be half way
-// fx.step()
-// expect(rect.css('stroke-width')).toBe(morph.at(0.5).toString())
-//
-// jasmine.clock().tick(250) // Have the animation reach its end
-// fx.step()
-// expect(rect.css('stroke-width')).toBe(morph.at(1).toString())
-// })
-//
-// it('should allow 0 to be specified without a unit', function () {
-// var r1 = draw.rect(100,100).move(200,200)
-// , r2 = draw.rect(100,100).move(400,400)
-//
-// r1.css('stroke-width', '100%').animate(500).css('stroke-width', 0)
-// r2.css('stroke-width', 0).animate(500).css('stroke-width', '100%')
-//
-// r1.fx.start()
-// r2.fx.start()
-// expect(r1.css('stroke-width')).toBe('100%')
-// expect(r2.css('stroke-width')).toBe('0%')
-//
-// jasmine.clock().tick(250) // Have the animation be half way
-// r1.fx.step()
-// r2.fx.step()
-// expect(r1.css('stroke-width')).toBe('50%')
-// expect(r2.css('stroke-width')).toBe('50%')
-//
-// jasmine.clock().tick(250) // Have the animation reach its end
-// r1.fx.step()
-// r2.fx.step()
-// expect(r1.css('stroke-width')).toBe('0%')
-// expect(r2.css('stroke-width')).toBe('100%')
-// })
-// })
-//
-//
-// describe('add()', function() {
-// it('adds to animations obj by default', function() {
-// fx.add('x', new SVG.Number(20))
-// expect(fx.situation.animations.x.value).toBe(20)
-// })
-//
-// it('adds to specified obj', function() {
-// fx.add('x', new SVG.Number(20), 'animations')
-// fx.add('x', new SVG.Number(20), 'attrs')
-// fx.add('x', new SVG.Number(20), 'styles')
-// expect(fx.situation.animations.x.value).toBe(20)
-// expect(fx.situation.attrs.x.value).toBe(20)
-// expect(fx.situation.styles.x.value).toBe(20)
-// })
-// })
-//
-// describe('attr()', function() {
-// it('should allow an object to be passed', function() {
-// spyOn(fx, 'attr').and.callThrough()
-// fx.attr({
-// x: 20,
-// y: 20
-// })
-//
-// expect(fx.attr).toHaveBeenCalledWith('x', 20)
-// expect(fx.attr).toHaveBeenCalledWith('y', 20)
-// })
-//
-// it('should call add() with attrs as method', function() {
-// spyOn(fx, 'add')
-// fx.attr('x', 20)
-// expect(fx.add).toHaveBeenCalledWith('x', 20, 'attrs')
-// })
-// })
-//
-// describe('css()', function() {
-// it('should allow an object to be passed', function() {
-// spyOn(fx, 'css').and.callThrough()
-// fx.css({
-// x: 20,
-// y: 20
-// })
-//
-// expect(fx.css).toHaveBeenCalledWith('x', 20)
-// expect(fx.css).toHaveBeenCalledWith('y', 20)
-// })
-//
-// it('should call add() with styles as method', function() {
-// spyOn(fx, 'add')
-// fx.css('x', 20)
-// expect(fx.add).toHaveBeenCalledWith('x', 20, 'styles')
-// })
-// })
-//
-// describe('x() / y()', function() {
-// it('should add an entry to the animations obj', function() {
-// spyOn(fx, 'add')
-// fx.x(20)
-// fx.y(20)
-//
-// expect(fx.add).toHaveBeenCalledWith('x', jasmine.objectContaining({value:20}))
-// expect(fx.add).toHaveBeenCalledWith('y', jasmine.objectContaining({value:20}))
-// })
-//
-// it('allows relative move with relative flag set', function() {
-// spyOn(fx, 'add')
-// fx.x(20, true)
-// fx.y(20, true)
-//
-// expect(fx.add).toHaveBeenCalledWith('x', jasmine.objectContaining({value:20, relative:true }))
-// expect(fx.add).toHaveBeenCalledWith('y', jasmine.objectContaining({value:20, relative:true }))
-// })
-//
-// it('redirects to transform when target is a group', function() {
-// var group = draw.group()
-// , fx = group.animate(500)
-//
-// spyOn(fx, 'transform')
-//
-// fx.x(20)
-// fx.y(20)
-//
-// expect(fx.transform).toHaveBeenCalledWith({x: 20}, undefined)
-// expect(fx.transform).toHaveBeenCalledWith({y: 20}, undefined)
-// })
-//
-// it('redirects to transform when target is a group with relative flag set', function() {
-// var group = draw.group()
-// , fx = group.animate(500)
-//
-// spyOn(fx, 'transform')
-//
-// fx.x(20, true)
-// fx.y(20, true)
-//
-// expect(fx.transform).toHaveBeenCalledWith({x: 20}, true)
-// expect(fx.transform).toHaveBeenCalledWith({y: 20}, true)
-// })
-// })
-//
-// describe('cx() / cy()', function() {
-// it('should call add with method and argument', function() {
-// spyOn(fx, 'add')
-// fx.cx(20)
-// fx.cy(20)
-//
-// expect(fx.add).toHaveBeenCalledWith('cx', jasmine.objectContaining({value:20}))
-// expect(fx.add).toHaveBeenCalledWith('cy', jasmine.objectContaining({value:20}))
-// })
-// })
-//
-// describe('move()', function() {
-// it('should redirect call to x() and y()', function() {
-// spyOn(fx, 'x').and.callThrough()
-// spyOn(fx, 'y').and.callThrough()
-// fx.move(20, 20)
-//
-// expect(fx.x).toHaveBeenCalledWith(20)
-// expect(fx.y).toHaveBeenCalledWith(20)
-// })
-// })
-//
-// describe('center()', function() {
-// it('should redirect call to cx() and cy()', function() {
-// spyOn(fx, 'cx').and.callThrough()
-// spyOn(fx, 'cy').and.callThrough()
-// fx.center(20, 20)
-//
-// expect(fx.cx).toHaveBeenCalledWith(20)
-// expect(fx.cy).toHaveBeenCalledWith(20)
-// })
-// })
-//
-// describe('size()', function() {
-// it('should set font-size with attr() when called on a text', function() {
-// var text = draw.text('Hello World')
-// , fx = text.animate(500)
-//
-// spyOn(fx, 'attr')
-// fx.size(20)
-// expect(fx.attr).toHaveBeenCalledWith('font-size', 20)
-// })
-//
-// it('should set width and height with add()', function() {
-// spyOn(fx, 'add').and.callThrough()
-// fx.size(20, 20)
-//
-// expect(fx.add).toHaveBeenCalledWith('width', jasmine.objectContaining({value:20}))
-// expect(fx.add).toHaveBeenCalledWith('height', jasmine.objectContaining({value:20}))
-// })
-//
-// it('should calculate proportional size when only height or width is given', function() {
-// spyOn(fx, 'add').and.callThrough()
-// fx.size(40, null)
-// fx.size(null, 60)
-//
-// expect(fx.add).toHaveBeenCalledWith('width', jasmine.objectContaining({value:40}))
-// expect(fx.add).toHaveBeenCalledWith('height', jasmine.objectContaining({value:40}))
-//
-// expect(fx.add).toHaveBeenCalledWith('width', jasmine.objectContaining({value:60}))
-// expect(fx.add).toHaveBeenCalledWith('height', jasmine.objectContaining({value:60}))
-// })
-// })
-//
-// describe('width()', function() {
-// it('should set width with add()', function() {
-// spyOn(fx, 'add').and.callThrough()
-// fx.width(20)
-// expect(fx.add).toHaveBeenCalledWith('width', jasmine.objectContaining({value:20}))
-// })
-//
-// it('should animate the width attribute', function() {
-// fx.width(200)
-// expect(rect.width()).toBe(100)
-//
-// jasmine.clock().tick(250)
-// fx.step()
-// expect(rect.width()).toBe(150)
-//
-// jasmine.clock().tick(250)
-// fx.step()
-// expect(rect.width()).toBe(200)
-// })
-// })
-//
-// describe('height()', function() {
-// it('should set height with add()', function() {
-// spyOn(fx, 'add').and.callThrough()
-// fx.height(20)
-// expect(fx.add).toHaveBeenCalledWith('height', jasmine.objectContaining({value:20}))
-// })
-//
-// it('should animate the height attribute', function() {
-// fx.height(200)
-// expect(rect.height()).toBe(100)
-//
-// jasmine.clock().tick(250)
-// fx.step()
-// expect(rect.height()).toBe(150)
-//
-// jasmine.clock().tick(250)
-// fx.step()
-// expect(rect.height()).toBe(200)
-// })
-// })
-//
-// describe('plot()', function() {
-// it('should call add with plot as method', function() {
-// var polyline = draw.polyline('10 10 20 20 30 10 50 20')
-// , fx = polyline.animate(500)
-//
-// spyOn(fx, 'add')
-// fx.plot('5 5 30 29 40 19 12 30')
-// expect(fx.add).toHaveBeenCalledWith('plot', new SVG.PointArray('5 5 30 29 40 19 12 30'))
-// })
-//
-// it('also accept parameter list', function() {
-// var line = draw.line('10 10 20 20')
-// , fx = line.animate(500)
-//
-// spyOn(fx, 'add')
-// fx.plot(5, 5, 10, 10)
-// expect(fx.add).toHaveBeenCalledWith('plot', new SVG.PointArray([5, 5, 10, 10]))
-// })
-// })
-//
-// describe('leading()', function() {
-// it('should call add with method and argument', function() {
-// var text = draw.text('Hello World')
-// , fx = text.animate(500)
-// spyOn(fx, 'add')
-// fx.leading(3)
-//
-// expect(fx.add).toHaveBeenCalledWith('leading', jasmine.objectContaining({value:3}))
-// })
-//
-// it('does nothiing when not called on text', function() {
-// spyOn(fx, 'add')
-// fx.leading(3)
-// expect(fx.add).not.toHaveBeenCalled()
-// })
-// })
-//
-// describe('viewbox()', function() {
-// it('should call add with method and argument', function() {
-// var nested = draw.nested()
-// , fx = nested.animate(500)
-// spyOn(fx, 'add')
-// fx.viewbox(1,2,3,4)
-//
-// expect(fx.add).toHaveBeenCalledWith('viewbox', jasmine.objectContaining({x:1, y:2, width:3, height:4}))
-// })
-//
-// it('does nothing when not called on SVG.Container', function() {
-// spyOn(fx, 'add')
-// fx.viewbox(1,2,3,4)
-// expect(fx.add).not.toHaveBeenCalled()
-// })
-// })
-//
-// describe('update()', function() {
-// it('should convert call with 3 arguments to call with obj', function() {
-// var stop = new SVG.Stop()
-// , fx = stop.animate()
-// spyOn(fx, 'update').and.callThrough()
-// fx.update(1,'#ccc',0.5)
-//
-// expect(fx.update).toHaveBeenCalledWith({offset: 1, color: '#ccc', opacity: 0.5})
-// })
-//
-// it('calls add with method argument and attrs as type', function() {
-// var stop = new SVG.Stop()
-// , fx = stop.animate()
-// spyOn(fx, 'add')
-// fx.update({offset: 1, color: '#ccc', opacity: 0.5})
-//
-// expect(fx.add).toHaveBeenCalledWith('stop-opacity', 0.5, 'attrs')
-// expect(fx.add).toHaveBeenCalledWith('stop-color', '#ccc', 'attrs')
-// expect(fx.add).toHaveBeenCalledWith('offset', 1, 'attrs')
-// })
-//
-// it('does nothing when not called on SVG.Stop', function() {
-// spyOn(fx, 'add')
-// fx.update({offset: 1, color: '#ccc', opacity: 0.5})
-// expect(fx.add).not.toHaveBeenCalled()
-// })
-// })
-//
-// // describe('transform()', function() {
-// // it('returns itself when no valid transformation was found', function() {
-// // expect(fx.transform({})).toBe(fx)
-// // })
-// // it('gets the current transforms', function() {
-// // expect(fx.transform()).toEqual(new SVG.Matrix(rect).extract())
-// // })
-// // it('gets a certain transformation if used with an argument', function() {
-// // expect(fx.transform('x')).toEqual(0)
-// // })
-// // it('adds an entry to transforms when matrix given', function() {
-// // var matrix = new SVG.Matrix(1,2,3,4,5,6)
-// // fx.transform(matrix)
-// // expect(fx.situation.transforms[0]).toEqual(jasmine.objectContaining(matrix))
-// // })
-// // it('sets relative flag when given', function() {
-// // var matrix = new SVG.Matrix(1,2,3,4,5,6)
-// // fx.transform(matrix, true)
-// // expect(fx.situation.transforms[0]).toEqual(jasmine.objectContaining(matrix))
-// // expect(fx.situation.transforms[0].relative).toBe(true)
-// // })
-// // it('adds an entry to transforms when rotation given', function() {
-// // fx.transform({rotation: 30, cx:0, cy:0})
-// // expect(fx.situation.transforms[0]).toEqual(jasmine.objectContaining(new SVG.Rotate(30, 0, 0)))
-// // })
-// // it('adds an entry to transforms when scale given', function() {
-// // fx.transform({scale: 2, cx:0, cy:0})
-// // expect(fx.situation.transforms[0]).toEqual(jasmine.objectContaining(new SVG.Scale(2, 2, 0, 0)))
-// // })
-// // it('adds an entry to transforms when scaleX given', function() {
-// // fx.transform({scaleX: 2, cx:0, cy:0})
-// // expect(fx.situation.transforms[0]).toEqual(jasmine.objectContaining(new SVG.Scale(2, 1, 0, 0)))
-// // })
-// // it('adds an entry to transforms when scaleY given', function() {
-// // fx.transform({scaleY: 2, cx:0, cy:0})
-// // expect(fx.situation.transforms[0]).toEqual(jasmine.objectContaining(new SVG.Scale(1, 2, 0, 0)))
-// // })
-// // it('adds an entry to transforms when skewX given', function() {
-// // fx.transform({skewX: 2, cx:0, cy:0})
-// // expect(fx.situation.transforms[0]).toEqual(jasmine.objectContaining(new SVG.Skew(2, 0, 0, 0)))
-// // })
-// // it('adds an entry to transforms when skewY given', function() {
-// // fx.transform({skewY: 2, cx:0, cy:0})
-// // expect(fx.situation.transforms[0]).toEqual(jasmine.objectContaining(new SVG.Skew(0, 2, 0, 0)))
-// // })
-// // it('adds an entry to transforms when flip x given', function() {
-// // fx.transform({flip: 'x'})
-// // expect(fx.situation.transforms[0]).toEqual(jasmine.objectContaining((new SVG.Matrix()).flip('x', 150)))
-// // })
-// // it('adds an entry to transforms when flip x with offset given', function() {
-// // fx.transform({flip: 'x', offset: 100})
-// // expect(fx.situation.transforms[0]).toEqual(jasmine.objectContaining((new SVG.Matrix()).flip('x', 100)))
-// // })
-// // it('adds an entry to transforms when flip y given', function() {
-// // fx.transform({flip: 'y'})
-// // expect(fx.situation.transforms[0]).toEqual(jasmine.objectContaining((new SVG.Matrix()).flip('y', 150)))
-// // })
-// // it('adds an entry to transforms when x given', function() {
-// // fx.transform({x:20})
-// // expect(fx.situation.transforms[0]).toEqual(jasmine.objectContaining(new SVG.Translate(20, undefined)))
-// // })
-// // it('adds an entry to transforms when y given', function() {
-// // fx.transform({y:20})
-// // expect(fx.situation.transforms[0]).toEqual(jasmine.objectContaining(new SVG.Translate(undefined, 20)))
-// // })
-// // })
-//
-// /* shortcuts for animation */
-// describe('animate()', function() {
-// it('creates a new fx instance on the element', function() {
-// var rect = draw.rect(100,100)
-// rect.animate(100)
-// expect(rect.fx instanceof SVG.FX).toBeTruthy()
-// })
-//
-// it('redirects the call to fx.animate()', function() {
-// spyOn(fx, 'animate')
-// rect.animate()
-// expect(fx.animate).toHaveBeenCalled()
-// })
-// })
-//
-// describe('delay()', function() {
-// it('creates a new fx instance on the element', function() {
-// var rect = draw.rect(100,100)
-// rect.delay(100)
-// expect(rect.fx instanceof SVG.FX).toBeTruthy()
-// })
-//
-// it('redirects the call to fx.delay()', function() {
-// spyOn(fx, 'delay')
-// rect.delay(5)
-// expect(fx.delay).toHaveBeenCalled()
-// })
-// })
-//
-// describe('stop()', function() {
-// it('redirects the call to fx.stop()', function() {
-// spyOn(fx, 'stop')
-// rect.stop()
-// expect(fx.stop).toHaveBeenCalled()
-// })
-// })
-//
-// describe('finish()', function() {
-// it('redirects the call to fx.finish()', function() {
-// spyOn(fx, 'finish')
-// rect.finish()
-// expect(fx.finish).toHaveBeenCalled()
-// })
-// })
-//
-// describe('pause()', function() {
-// it('redirects the call to fx.pause()', function() {
-// spyOn(fx, 'pause')
-// rect.pause()
-// expect(fx.pause).toHaveBeenCalled()
-// })
-// })
-//
-// describe('play()', function() {
-// it('redirects the call to fx.play()', function() {
-// spyOn(fx, 'play')
-// rect.play()
-// expect(fx.play).toHaveBeenCalled()
-// })
-// })
-//
-// describe('speed()', function() {
-// it('redirects the call to fx.speed() as getter', function() {
-// spyOn(fx, 'speed')
-// rect.speed()
-// expect(fx.speed).toHaveBeenCalled()
-// })
-//
-// it('redirects the call to fx.speed() as setter', function() {
-// spyOn(fx, 'speed').and.callThrough()
-// expect(rect.speed(5)).toBe(rect)
-// expect(fx.speed).toHaveBeenCalled()
-// })
-// })
-// })
-//
-// describe('SVG.MorphObj', function() {
-// it('accepts color strings and converts them to SVG.Color', function() {
-// var obj = new SVG.MorphObj('#000', '#fff')
-// expect(obj instanceof SVG.Color).toBeTruthy()
-//
-// obj = new SVG.MorphObj('rgb(0,0,0)', 'rgb(255,255,255)')
-// expect(obj instanceof SVG.Color).toBeTruthy()
-// })
-//
-// it('accepts numbers and converts them to SVG.Number', function() {
-// var obj = new SVG.MorphObj('0', '10')
-// expect(obj instanceof SVG.Number).toBeTruthy()
-//
-// var obj = new SVG.MorphObj(0, 10)
-// expect(obj instanceof SVG.Number).toBeTruthy()
-// })
-//
-// it('accepts any other values', function() {
-// var obj = new SVG.MorphObj('Hello', 'World')
-//
-// expect(obj.value).toBe('Hello')
-// expect(obj.destination).toBe('World')
-// })
-//
-// it('morphes unmorphable objects with plain morphing', function() {
-// var obj = new SVG.MorphObj('Hello', 'World')
-//
-// expect(obj.at(0,0)).toBe('Hello')
-// expect(obj.at(0.5,0.5)).toBe('Hello')
-// expect(obj.at(1,1)).toBe('World')
-// })
-//
-// it('converts to its value when casted', function() {
-// var obj = new SVG.MorphObj('Hello', 'World')
-// expect(obj.valueOf()).toBe('Hello')
-// expect(obj + 'World').toBe('HelloWorld')
-// })
-// })
diff --git a/spec/spec/gradient.js b/spec/spec/gradient.js
deleted file mode 100644
index 7280a98..0000000
--- a/spec/spec/gradient.js
+++ /dev/null
@@ -1,151 +0,0 @@
-describe('Gradient', function () {
- var rect, gradient
-
- beforeEach(function () {
- rect = draw.rect(100, 100)
- gradient = draw.gradient('linear', function (add) {
- add.stop({ offset: 0, color: '#333', opacity: 1 })
- add.stop({ offset: 1, color: '#fff', opacity: 1 })
- })
- radial = draw.gradient('radial', function (add) {
- add.stop({ offset: 0, color: '#333', opacity: 1 })
- add.stop({ offset: 1, color: '#fff', opacity: 1 })
- })
- })
-
- afterEach(function () {
- rect.remove()
- gradient.remove()
- })
-
- it('is an instance of SVG.Gradient', function () {
- expect(gradient instanceof SVG.Gradient).toBe(true)
- })
-
- it('allows creation of a new gradient without block', function () {
- gradient = draw.gradient('linear')
- expect(gradient.children().length).toBe(0)
- })
-
- describe('url()', function () {
- it('returns the id of the gradient wrapped in url()', function () {
- expect(gradient.url()).toBe('url("#' + gradient.id() + '")')
- })
- })
-
- describe('from()', function () {
- it('sets fx and fy attribute for radial gradients', function () {
- radial.from(7, 10)
- expect(radial.attr('fx')).toBe(7)
- expect(radial.attr('fy')).toBe(10)
- })
- it('sets x1 and y1 attribute for linear gradients', function () {
- gradient.from(7, 10)
- expect(gradient.attr('x1')).toBe(7)
- expect(gradient.attr('y1')).toBe(10)
- })
- })
-
- describe('to()', function () {
- it('sets cx and cy attribute for radial gradients', function () {
- radial.to(75, 105)
- expect(radial.attr('cx')).toBe(75)
- expect(radial.attr('cy')).toBe(105)
- })
- it('sets x2 and y2 attribute for linear gradients', function () {
- gradient.to(75, 105)
- expect(gradient.attr('x2')).toBe(75)
- expect(gradient.attr('y2')).toBe(105)
- })
- })
-
- describe('attr()', function () {
- it('will catch transform attribues and convert them to gradientTransform', function () {
- expect(gradient.translate(100, 100).attr('gradientTransform')).toBe('matrix(1,0,0,1,100,100)')
- })
- })
-
- describe('toString()', function () {
- it('returns the id of the gradient wrapped in url()', function () {
- expect(gradient + '').toBe('url("#' + gradient.id() + '")')
- })
- it('is called when instance is passed as an attribute value', function () {
- rect.attr('fill', gradient)
- expect(rect.attr('fill')).toBe('url("#' + gradient.id() + '")')
- })
- })
-
- describe('input values', function () {
- var s1, s2
-
- it('accepts floats', function () {
- gradient = draw.gradient('linear', function (add) {
- s1 = add.stop({ offset: 0.12, color: '#333', opacity: 1 })
- s2 = add.stop({ offset: 0.93, color: '#fff', opacity: 1 })
- })
- expect(s1.attr('offset')).toBe(0.12)
- expect(s2.attr('offset')).toBe(0.93)
- })
- it('accepts string floats', function () {
- gradient = draw.gradient('linear', function (add) {
- s1 = add.stop({ offset: '0.13', color: '#333', opacity: 1 })
- s2 = add.stop({ offset: '0.92', color: '#fff', opacity: 1 })
- })
- expect(s1.attr('offset')).toBe(0.13)
- expect(s2.attr('offset')).toBe(0.92)
- })
- it('accept percentages', function () {
- gradient = draw.gradient('linear', function (add) {
- s1 = add.stop({ offset: '14%', color: '#333', opacity: 1 })
- s2 = add.stop({ offset: '91%', color: '#fff', opacity: 1 })
- })
- expect(s1.attr('offset')).toBe('14%')
- expect(s2.attr('offset')).toBe('91%')
- })
- })
-
- describe('update()', function () {
-
- it('removes all existing children first', function () {
- gradient = draw.gradient('linear', function (add) {
- s1 = add.stop({ offset: 0.12, color: '#333', opacity: 1 })
- s2 = add.stop({ offset: 0.93, color: '#fff', opacity: 1 })
- })
- expect(gradient.children().length).toBe(2)
- gradient.update(function (add) {
- s1 = add.stop({ offset: 0.33, color: '#666', opacity: 1 })
- s2 = add.stop({ offset: 1, color: '#000', opacity: 1 })
- })
- expect(gradient.children().length).toBe(2)
- })
-
- it('accepts multiple aruments on fixed positions', function () {
- gradient = draw.gradient('linear', function (add) {
- s1 = add.stop(0.11, '#333')
- s2 = add.stop(0.94, '#fff', 0.5)
- })
- expect(gradient.children().length).toBe(2)
- expect(s1.attr('offset')).toBe(0.11)
- expect(s1.attr('stop-color')).toBe('#333333')
- expect(s2.attr('offset')).toBe(0.94)
- expect(s2.attr('stop-color')).toBe('#ffffff')
- expect(s2.attr('stop-opacity')).toBe(0.5)
- })
-
- })
-
- describe('get()', function () {
-
- it('returns the stop at a given index', function () {
- gradient = draw.gradient('linear', function (add) {
- s1 = add.stop({ offset: 0.12, color: '#333', opacity: 1 })
- s2 = add.stop({ offset: 0.93, color: '#fff', opacity: 1 })
- })
- expect(gradient.get(0)).toBe(s1)
- expect(gradient.get(1)).toBe(s2)
- expect(gradient.get(2)).toBeNull()
- })
-
- })
-
-})
diff --git a/spec/spec/helper.js b/spec/spec/helper.js
deleted file mode 100644
index 4c9fe4a..0000000
--- a/spec/spec/helper.js
+++ /dev/null
@@ -1,188 +0,0 @@
-parserInDoc = false
-
-if(typeof exports === 'object'){
- window = require('svgdom')
- SVG = require('../../dist/svg.js')
- document = window.document
- drawing = document.documentElement
- imageUrl = 'spec/fixtures/pixel.png'
- parserInDoc = true
-
- function tag(name, attrs, children) {
- var el = document.createElement(name)
- for(var i in attrs){
- el.setAttribute(i, attrs[i])
- }
-
- for(var i in children){
- if(typeof children[i] == 'string')
- children[i] = document.createTextNode(children[i])
-
- el.appendChild(children[i])
- }
-
- return el
- }
-
- // create fixtures in svgdom
- var el = tag('svg', {
- height:0,
- width:0,
- id:'inlineSVG'
- },[
- tag('defs', {}, [
- tag('linearGradient', {}, [
- tag('stop', {offset: '5%', 'stop-color': 'green'}),
- tag('stop', {offset: '95%', 'stop-color': 'gold'}),
- ]),
- tag('radialGradient', {}, [
- tag('stop', {offset: '5%', 'stop-color': 'green'}),
- tag('stop', {offset: '95%', 'stop-color': 'gold'}),
- ])
- ]),
- tag('desc', {}, ['Some description']),
- tag('path', {
- id: 'lineAB',
- d: 'M 100 350 l 150 -300',
- stroke: 'red',
- 'stroke-width': '3',
- fill: 'none'
- }),
- tag('path', {
- id: 'lineBC',
- d: 'M 250 50 l 150 300',
- stroke: 'red',
- 'stroke-width': '3',
- fill: 'none'
- }),
- tag('path', {
- d: 'M 175 200 l 150 0',
- stroke: 'green',
- 'stroke-width': '3',
- fill: 'none'
- }),
- tag('path', {
- d: 'M 100 350 q 150 -300 300 0',
- stroke: 'blue',
- 'stroke-width': '5',
- fill: 'none'
- }),
- tag('g', {
- stroke: 'black',
- 'stroke-width': '2',
- fill: 'black',
- id: 'pointGroup'
- },[
- tag('circle', {
- id: 'pointA',
- cx: '100',
- cy: '350',
- r: '3',
- }),
- tag('circle', {
- id: 'pointB',
- cx: '250',
- cy: '50',
- r: '50',
- }),
- tag('circle', {
- id: 'pointC',
- cx: '400',
- cy: '350',
- r: '50',
- })
- ]),
- tag('g', {
- 'font-size': '30',
- font: 'sans-serif',
- fill: 'black',
- stroke: 'none',
- 'text-anchor': 'middle',
- id: 'labelGroup'
- },[
- tag('text', {
- x: '100',
- y: '350',
- dy: '-30',
- }, ['A']),
- tag('text', {
- x: '250',
- y: '50',
- dy: '-10',
- }, ['B']),
- tag('text', {
- x: '400',
- y: '350',
- dx: '30',
- }, ['C'])
- ]),
- tag('polygon', {points: '200,10 250,190 160,210'}),
- tag('polyline', {points: '20,20 40,25 60,40 80,120 120,140 200,180'})
- ])
-
- document.appendChild(el)
-
-}else{
- drawing = document.createElement('div')
- document.getElementsByTagName('body')[0].appendChild(drawing)
- imageUrl = 'fixtures/pixel.png'
-}
-
-parserInDoc |= 0
-drawing.id = 'drawing'
-//draw = SVG().addTo(drawing)
-
-parser = parserInDoc ? [SVG.parser.draw.instance] : []
-
-// raw path data
-svgPath = 'M88.006,61.994c3.203,0,6.216-1.248,8.481-3.514C98.752,56.215,100,53.203,100,50c0-3.204-1.248-6.216-3.513-8.481 c-2.266-2.265-5.278-3.513-8.481-3.513c-2.687,0-5.237,0.877-7.327,2.496h-7.746l5.479-5.479 c5.891-0.757,10.457-5.803,10.457-11.896c0-6.614-5.381-11.995-11.994-11.995c-6.093,0-11.14,4.567-11.896,10.457l-5.479,5.479 v-7.747c1.618-2.089,2.495-4.641,2.495-7.327c0-3.204-1.247-6.216-3.513-8.481C56.216,1.248,53.204,0,50,0 c-3.204,0-6.216,1.248-8.481,3.513c-2.265,2.265-3.513,5.277-3.513,8.481c0,2.686,0.877,5.237,2.495,7.327v7.747l-5.479-5.479 c-0.757-5.89-5.803-10.457-11.896-10.457c-6.614,0-11.995,5.381-11.995,11.995c0,6.093,4.567,11.139,10.458,11.896l5.479,5.479 h-7.747c-2.089-1.619-4.641-2.496-7.327-2.496c-3.204,0-6.216,1.248-8.481,3.513C1.248,43.784,0,46.796,0,50 c0,3.203,1.248,6.216,3.513,8.48c2.265,2.266,5.277,3.514,8.481,3.514c2.686,0,5.237-0.877,7.327-2.496h7.747l-5.479,5.479 c-5.891,0.757-10.458,5.804-10.458,11.896c0,6.614,5.381,11.994,11.995,11.994c6.093,0,11.139-4.566,11.896-10.457l5.479-5.479 v7.749c-3.63,4.7-3.291,11.497,1.018,15.806C43.784,98.752,46.796,100,50,100c3.204,0,6.216-1.248,8.481-3.514 c4.309-4.309,4.647-11.105,1.018-15.806v-7.749l5.479,5.479c0.757,5.891,5.804,10.457,11.896,10.457 c6.613,0,11.994-5.38,11.994-11.994c0-6.093-4.566-11.14-10.457-11.896l-5.479-5.479h7.746 C82.769,61.117,85.319,61.994,88.006,61.994z M76.874,68.354c4.705,0,8.52,3.814,8.52,8.521c0,4.705-3.814,8.52-8.52,8.52 s-8.52-3.814-8.52-8.52l-12.33-12.33V81.98c3.327,3.328,3.327,8.723,0,12.049c-3.327,3.328-8.722,3.328-12.049,0 c-3.327-3.326-3.327-8.721,0-12.049V64.544l-12.33,12.33c0,4.705-3.814,8.52-8.52,8.52s-8.52-3.814-8.52-8.52 c0-4.706,3.814-8.521,8.52-8.521l12.33-12.33H18.019c-3.327,3.328-8.722,3.328-12.049,0c-3.327-3.326-3.327-8.721,0-12.048 s8.722-3.327,12.049,0h17.438l-12.33-12.33c-4.706,0-8.52-3.814-8.52-8.52c0-4.706,3.814-8.52,8.52-8.52s8.52,3.814,8.52,8.52 l12.33,12.33V18.019c-3.327-3.327-3.327-8.722,0-12.049s8.722-3.327,12.049,0s3.327,8.722,0,12.049v17.438l12.33-12.33 c0-4.706,3.814-8.52,8.52-8.52s8.52,3.814,8.52,8.52c0,4.705-3.814,8.52-8.52,8.52l-12.33,12.33h17.438 c3.327-3.327,8.722-3.327,12.049,0s3.327,8.722,0,12.048c-3.327,3.328-8.722,3.328-12.049,0H64.544L76.874,68.354z'
-
-// lorem ipsum text
-loremIpsum = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras sodales\n imperdiet auctor. Nunc ultrices lectus at erat dictum pharetra\n elementum ante posuere. Duis turpis risus, blandit nec elementum et,\n posuere eget lacus. Aliquam et risus magna, eu aliquet nibh. Fusce\n consequat mi quis purus varius sagittis euismod urna interdum.\n Curabitur aliquet orci quis felis semper vulputate. Vestibulum ac nisi\n magna, id dictum diam. Proin sed metus vel magna blandit\n sodales. Pellentesque at neque ultricies nunc euismod rutrum ut in\n lorem. Mauris euismod tellus in tellus tempus interdum. Phasellus\n mattis sapien et leo feugiat dictum. Vestibulum at volutpat velit.'
-
-beforeEach(function(){
- // test for touch device
- this.isTouchDevice = 'ontouchstart' in document.documentElement
- draw = SVG().addTo(drawing).size(100,100)
-})
-
-afterEach(function(){
- draw.remove()
-})
-
-// strip spaces from result
-window.stripped = function(string) {
- string = string.replace(/\s+/g, '')
- if(string.slice(-1) == ';') string = string.slice(0, -1)
- return string
-}
-
-// This is needed because of IE11 which uses space as a delimiter in matrix
-window.matrixStringToArray = function(source){
- return source
- .replace(/matrix\(|\)/, '')
- .split(SVG.regex.delimiter)
- .map(parseFloat)
-}
-
-// This is needed because of IE11 creating values like 2.99999 when calculating a transformed box
-window.roundBox = function(box) {
- return new SVG.Box(
- Math.round(box.x),
- Math.round(box.y),
- Math.round(box.width),
- Math.round(box.height)
- )
-}
-
-// Same thing here with matrices
-window.roundMatrix = function (mat) {
- return new SVG.Matrix(
- +(mat.a.toFixed(5)),
- +(mat.b.toFixed(5)),
- +(mat.c.toFixed(5)),
- +(mat.d.toFixed(5)),
- +(mat.e.toFixed(5)),
- +(mat.f.toFixed(5))
- )
-}
diff --git a/spec/spec/image.js b/spec/spec/image.js
deleted file mode 100644
index 589116d..0000000
--- a/spec/spec/image.js
+++ /dev/null
@@ -1,38 +0,0 @@
-describe('Image', function() {
- var image, loadCb
-
- beforeEach(function(done) {
- loadCb = {cb: function(){ done() }}
- spyOn(loadCb, 'cb').and.callThrough()
- image = draw.image(imageUrl, loadCb.cb).size(100,100)
- })
-
- afterEach(function() {
- draw.clear()
- })
-
-
- describe('()', function() {
- it('should set width and height automatically if no size is given', function(done) {
- image = draw.image(imageUrl, function() {
- expect(image.node.getAttribute('height')).toBe('1')
- expect(image.node.getAttribute('width')).toBe('1')
- done()
- })
- })
- it('should not change with and height when size already set', function(done) {
- image = draw.image(imageUrl, function() {
- expect(image.node.getAttribute('height')).toBe('100')
- expect(image.node.getAttribute('width')).toBe('100')
- done()
- }).size(100,100)
- })
- it('returns itself when no url given', function() {
- var img = new SVG.Image()
- expect(img.load()).toBe(img)
- })
- it('executes the load callback', function() {
- expect(loadCb.cb).toHaveBeenCalledWith(jasmine.any(Event))
- })
- })
-})
diff --git a/spec/spec/line.js b/spec/spec/line.js
deleted file mode 100644
index 48b1c8b..0000000
--- a/spec/spec/line.js
+++ /dev/null
@@ -1,244 +0,0 @@
-describe('Line', function() {
- var line
-
- beforeEach(function() {
- line = draw.line(0,100,100,0)
- })
-
- afterEach(function() {
- draw.clear()
- })
-
- // #487
- describe('()', function(){
- it('will take an array as input', function(){
- line = draw.line([[0,100],[100,0]])
- var attrs = line.attr()
- expect(attrs.x1).toBe(0)
- expect(attrs.y1).toBe(100)
- expect(attrs.x2).toBe(100)
- expect(attrs.y2).toBe(0)
- })
-
- it('falls back to a line with its two points at [0,0] without an argument', function() {
- line = draw.line()
- var attrs = line.attr()
- expect(attrs.x1).toBe(0)
- expect(attrs.y1).toBe(0)
- expect(attrs.x2).toBe(0)
- expect(attrs.y2).toBe(0)
- })
- })
-
- describe('x()', function() {
- it('should return the value of x without an argument', function() {
- expect(line.x()).toBe(0)
- })
- it('should set the value of x with the first argument', function() {
- line.x(123)
- var box = line.bbox()
- expect(box.x).toBe(123)
- })
- })
-
- describe('y()', function() {
- it('should return the value of y without an argument', function() {
- expect(line.y()).toBe(0)
- })
- it('should set the value of y with the first argument', function() {
- line.y(345)
- var box = line.bbox()
- expect(box.y).toBe(345)
- })
- })
-
- describe('cx()', function() {
- it('should return the value of cx without an argument', function() {
- expect(line.cx()).toBe(50)
- })
- it('should set the value of cx with the first argument', function() {
- line.cx(123)
- var box = line.bbox()
- expect(box.cx).toBe(123)
- })
- })
-
- describe('cy()', function() {
- it('should return the value of cy without an argument', function() {
- expect(line.cy()).toBe(50)
- })
- it('should set the value of cy with the first argument', function() {
- line.cy(345)
- var box = line.bbox()
- expect(box.cy).toBe(345)
- })
- })
-
- describe('move()', function() {
- it('should set the x and y position', function() {
- line.move(123,456)
- var box = line.bbox()
- expect(box.x).toBe(123)
- expect(box.y + box.height).toBe(556)
- expect(box.x + box.width).toBe(223)
- expect(box.y).toBe(456)
- })
- })
-
- describe('dx()', function() {
- it('moves the x positon of the element relative to the current position', function() {
- line.move(50,60)
- line.dx(100)
- var box = line.bbox()
- expect(box.x).toBe(150)
- expect(box.y + box.height).toBe(160)
- expect(box.x + box.width).toBe(250)
- expect(box.y).toBe(60)
- })
- })
-
- describe('dy()', function() {
- it('moves the y positon of the element relative to the current position', function() {
- line.move(50, 60)
- line.dy(120)
- var box = line.bbox()
- expect(box.x).toBe(50)
- expect(box.y + box.height).toBe(280)
- expect(box.x + box.width).toBe(150)
- expect(box.y).toBe(180)
- })
- })
-
- describe('dmove()', function() {
- it('moves the x and y positon of the element relative to the current position', function() {
- line.move(50,60)
- line.dmove(80, 25)
- var box = line.bbox()
- expect(box.x).toBe(130)
- expect(box.y + box.height).toBe(185)
- expect(box.x + box.width).toBe(230)
- expect(box.y).toBe(85)
- })
- })
-
- describe('center()', function() {
- it('should set the cx and cy position', function() {
- line.center(321,567)
- var box = line.bbox()
- expect(box.x).toBe(271)
- expect(box.y + box.height).toBe(617)
- expect(box.x + box.width).toBe(371)
- expect(box.y).toBe(517)
- })
- })
-
- describe('width()', function() {
- it('sets the width of the element', function() {
- line.width(400)
- var box = line.bbox()
- expect(box.x).toBe(0)
- expect(box.x + box.width).toBe(400)
- })
- it('get the width of the element without argument', function() {
- line.width(123)
- var box = line.bbox()
- expect(line.width()).toBe(box.width)
- })
- })
-
- describe('height()', function() {
- it('sets the height of the element', function() {
- line.height(300)
- var box = line.bbox()
- expect(box.y).toBe(0)
- expect(box.y + box.height).toBe(300)
- })
- it('gets the height of the element without argument', function() {
- line.height(456)
- var box = line.bbox()
- expect(line.height()).toBe(box.height)
- })
- })
-
- describe('size()', function() {
- it('should define the width and height of the element', function() {
- line.size(987,654)
- var box = line.bbox()
- expect(box.x).toBe(0)
- expect(box.y + box.height).toBe(654)
- expect(box.x + box.width).toBe(987)
- expect(box.y).toBe(0)
- })
- it('defines the width and height proportionally with only the width value given', function() {
- var box = line.bbox()
- line.size(500)
- expect(line.width()).toBe(500)
- expect(line.width() / line.height()).toBe(box.width / box.height)
- })
- it('defines the width and height proportionally with only the height value given', function() {
- var box = line.bbox()
- line.size(null, 525)
- expect(line.height()).toBe(525)
- expect(line.width() / line.height()).toBe(box.width / box.height)
- })
- })
-
- describe('scale()', function() {
- it('should scale the element universally with one argument', function() {
- var box1 = line.rbox()
- , box2 = line.scale(2).rbox()
-
- expect(box2.width).toBe(box1.width * 2)
- expect(box2.height).toBe(box1.height * 2)
- })
- it('should scale the element over individual x and y axes with two arguments', function() {
- var box1 = line.rbox()
- , box2 = line.scale(2,3.5).rbox()
-
- expect(box2.width).toBe(box1.width * 2)
- expect(box2.height).toBe(box1.height * 3.5)
- })
- })
-
- describe('translate()', function() {
- it('should set the translation of an element', function() {
- line.transform({ tx: 12, ty: 12 })
- expect(line.node.getAttribute('transform')).toBe('matrix(1,0,0,1,12,12)')
- })
- })
-
- describe('plot()', function() {
- it('should update the start and end points', function() {
- line.plot(100,200,300,400)
- var box = line.bbox()
- expect(box.x).toBe(100)
- expect(box.y).toBe(200)
- expect(box.x + box.width).toBe(300)
- expect(box.y + box.height).toBe(400)
- })
- it('change the x1,y1,x2,y2 attributes of the underlying line node when a string is passed', function() {
- expect(line.plot('100,50 200,10')).toBe(line)
-
- var attrs = line.attr()
- expect(attrs.x1).toBe(100)
- expect(attrs.y1).toBe(50)
- expect(attrs.x2).toBe(200)
- expect(attrs.y2).toBe(10)
- })
- it('change the x1,y1,x2,y2 attributes of the underlying line node when 4 numbers are passed', function() {
- expect(line.plot(45, 24, 220, 300)).toBe(line)
-
- var attrs = line.attr()
- expect(attrs.x1).toBe(45)
- expect(attrs.y1).toBe(24)
- expect(attrs.x2).toBe(220)
- expect(attrs.y2).toBe(300)
- })
- it('return the coordinates in a point array when no arguments are passed', function () {
- var attrs = line.attr()
- , pointArray = new SVG.PointArray([[attrs.x1, attrs.y1], [attrs.x2, attrs.y2]])
-
- expect(line.plot()).toEqual(pointArray)
- })
- })
-})
diff --git a/spec/spec/mask.js b/spec/spec/mask.js
deleted file mode 100644
index e61ccbd..0000000
--- a/spec/spec/mask.js
+++ /dev/null
@@ -1,62 +0,0 @@
-describe('Mask', function() {
- var rect, circle
-
- beforeEach(function() {
- rect = draw.rect(100,100)
- circle = draw.circle(100).move(50, 50).fill('#fff')
- rect.maskWith(circle)
- })
-
- afterEach(function() {
- draw.clear()
- })
-
- it('moves the masking element to a new mask node', function() {
- expect(circle.parent() instanceof SVG.Mask).toBe(true)
- })
-
- it('creates the mask node in the defs node', function() {
- expect(circle.parent().parent()).toBe(draw.defs())
- })
-
- it('sets the "mask" attribute on the masked element with the mask id', function() {
- expect(rect.attr('mask')).toBe('url("#' + circle.parent().id() + '")')
- })
-
- it('references the mask element in the masked element', function() {
- expect(rect.masker()).toBe(circle.parent())
- })
-
- it('references the masked element in the mask target list', function() {
- expect(rect.masker().targets().indexOf(rect) > -1).toBe(true)
- })
-
- it('reuses mask element when mask was given', function() {
- var mask = rect.masker()
- expect(draw.rect(100,100).maskWith(mask).masker()).toBe(mask)
- })
-
- it('unmasks all masked elements when being removed', function() {
- rect.masker().remove()
- expect(rect.attr('mask')).toBe(undefined)
- })
-
- describe('unmask()', function() {
-
- it('clears the "mask" attribute on the masked element', function() {
- rect.unmask()
- expect(rect.attr('mask')).toBe(undefined)
- })
-
- it('removes the reference to the masking element', function() {
- rect.unmask()
- expect(rect.masker()).toBe(null)
- })
-
- it('returns the element itslef', function() {
- expect(rect.unmask()).toBe(rect)
- })
-
- })
-
-}) \ No newline at end of file
diff --git a/spec/spec/matrix.js b/spec/spec/matrix.js
deleted file mode 100644
index b6c0348..0000000
--- a/spec/spec/matrix.js
+++ /dev/null
@@ -1,375 +0,0 @@
-describe('Matrix', function() {
- let comp = {a:2, b:0, c:0, d:2, e:100, f:50}
-
- describe('initialization', function() {
-
- it('creates a new matrix with default values', function() {
- let matrix = new SVG.Matrix()
- expect(matrix).toEqual(jasmine.objectContaining(
- {a:1, b:0, c:0, d:1, e:0, f:0}
- ))
- })
-
- it('parses the current transform matrix from an element', function() {
- let rect = draw.rect(100, 100).transform(comp)
- let matrix = new SVG.Matrix(rect)
- expect(matrix).toEqual(jasmine.objectContaining(comp))
- })
-
- it('parses a string value correctly', function() {
- let matrix = new SVG.Matrix('2, 0, 0, 2, 100, 50')
- expect(matrix).toEqual(jasmine.objectContaining(comp))
- })
-
- it('parses an array correctly', function() {
- let matrix = new SVG.Matrix([2, 0, 0, 2, 100, 50])
- expect(matrix).toEqual(jasmine.objectContaining(comp))
- })
-
- it('parses an object correctly', function() {
- let matrix = new SVG.Matrix(comp)
- expect(matrix).toEqual(jasmine.objectContaining(comp))
- })
-
- it('parses a transform object correctly', function() {
- let matrix = new SVG.Matrix({scale: 2, translate: [100, 50]})
- expect(matrix).toEqual(jasmine.objectContaining(comp))
- })
-
- it('parses 6 arguments correctly', function() {
- let matrix = new SVG.Matrix(2, 0, 0, 2, 100, 50)
- expect(matrix).toEqual(jasmine.objectContaining(comp))
- })
- })
-
- describe('toString()' , function() {
- it('exports correctly to a string', function() {
- expect(new SVG.Matrix().toString()).toBe('matrix(1,0,0,1,0,0)')
- })
- })
-
- describe('compose()', function() {
- it('composes a matrix to form the correct result', function() {
- let composed = new SVG.Matrix().compose({
- scaleX: 3, scaleY: 20, shear: 4, rotate: 50, translateX: 23, translateY: 52,
- })
-
- let expected = new SVG.Matrix().scale(3, 20).shear(4).rotate(50).translate(23, 52)
- expect(composed).toEqual(expected)
- })
- })
-
- describe('decompose()', function () {
- it('decomposes a matrix properly', function () {
- var matrix = new SVG.Matrix().scale(3, 2.5).shear(4).rotate(30).translate(20, 30)
- var decomposed = matrix.decompose()
- expect(decomposed.scaleX).toBeCloseTo(3)
- expect(decomposed.scaleY).toBeCloseTo(2.5)
- expect(decomposed.shear).toBeCloseTo(4)
- expect(decomposed.rotate).toBeCloseTo(30)
- expect(decomposed.translateX).toBeCloseTo(20)
- expect(decomposed.translateY).toBeCloseTo(30)
- })
-
- it('can be recomposed to the same matrix', function () {
- var matrix = new SVG.Matrix().scale(3, 2.5).shear(4).rotate(30).translate(20, 30)
- var decomposed = matrix.decompose()
- var composed = new SVG.Matrix().compose(decomposed)
- expect(matrix.a).toBeCloseTo(composed.a)
- expect(matrix.b).toBeCloseTo(composed.b)
- expect(matrix.c).toBeCloseTo(composed.c)
- expect(matrix.d).toBeCloseTo(composed.d)
- expect(matrix.e).toBeCloseTo(composed.e)
- expect(matrix.f).toBeCloseTo(composed.f)
- })
- })
-
- describe('clone()', function() {
- it('returns a clone of the matrix', function() {
- var matrix = new SVG.Matrix(2, 0, 0, 5, 0, 0)
- , clone = matrix.clone()
- expect(matrix).not.toBe(clone)
- for(var i in 'abcdef') {
- expect(matrix[i]).toEqual(clone[i])
- }
- })
- })
-
- describe('multiply()', function() {
- it('multiplies two matrices', function() {
- var matrix1 = new SVG.Matrix(1, 4, 2, 5, 3, 6)
- , matrix2 = new SVG.Matrix(7, 8, 8, 7, 9, 6)
- , matrix3 = matrix1.multiply(matrix2)
-
- expect(matrix1.toString()).toBe('matrix(1,4,2,5,3,6)')
- expect(matrix2.toString()).toBe('matrix(7,8,8,7,9,6)')
- expect(matrix3.toString()).toBe('matrix(23,68,22,67,24,72)')
- })
-
- it('accepts matrices in any form', function() {
- var matrix1 = new SVG.Matrix(1, 4, 2, 5, 3, 6)
- , matrix2 = matrix1.multiply('7,8,8,7,9,6')
-
- expect(matrix1.toString()).toBe('matrix(1,4,2,5,3,6)')
- expect(matrix2.toString()).toBe('matrix(23,68,22,67,24,72)')
- })
- })
-
- describe('inverse()', function() {
- it('inverses matrix', function() {
-
- var matrix1 = new SVG.Matrix(2, 0, 0, 5, 4, 3)
- , matrix2 = matrix1.inverse()
- , abcdef = [0.5, 0, 0, 0.2, -2, -0.6]
-
- for(var i in 'abcdef') {
- expect(matrix2['abcdef'[i]]).toBeCloseTo(abcdef[i])
- }
- })
- })
-
- describe('translate()', function() {
- it('translates matrix by given x and y values', function() {
- var matrix = new SVG.Matrix(1, 0, 0, 1, 4, 3).translate(10, 12.5)
- expect(matrix.e).toBe(14)
- expect(matrix.f).toBe(15.5)
- })
-
- it('does nothing if you give it no x or y value', function() {
- var matrix = new SVG.Matrix(1, 2, 3, 4, 5, 6).translate()
- expect(matrix.e).toBe(5)
- expect(matrix.f).toBe(6)
- })
- })
-
- describe('scale()', function() {
- it('performs a uniformal scale with one value', function() {
- var matrix = new SVG.Matrix(1, 0, 0, 1, 4, 3).scale(3)
-
- expect(matrix.a).toBe(3)
- expect(matrix.d).toBe(3)
- expect(matrix.e).toBe(4 * 3)
- expect(matrix.f).toBe(3 * 3)
- })
- it('performs a non-uniformal scale with two values', function() {
- var matrix = new SVG.Matrix(1, 0, 0, 1, 4, 3).scale(2.5, 3.5)
-
- expect(matrix.a).toBe(2.5)
- expect(matrix.d).toBe(3.5)
- expect(matrix.e).toBe(4 * 2.5)
- expect(matrix.f).toBe(3 * 3.5)
- })
- it('performs a uniformal scale at a given center point with three values', function() {
- var matrix = new SVG.Matrix(1, 3, 2, 3, 4, 3).scale(3, 2, 3)
-
- expect(matrix.a).toBe(3)
- expect(matrix.b).toBe(9)
- expect(matrix.c).toBe(6)
- expect(matrix.d).toBe(9)
- expect(matrix.e).toBe(8)
- expect(matrix.f).toBe(3)
- })
- it('performs a non-uniformal scale at a given center point with four values', function() {
- var matrix = new SVG.Matrix(1, 3, 2, 3, 4, 3).scale(3, 2, 2, 3)
-
- expect(matrix.a).toBe(3)
- expect(matrix.b).toBe(6)
- expect(matrix.c).toBe(6)
- expect(matrix.d).toBe(6)
- expect(matrix.e).toBe(8)
- expect(matrix.f).toBe(3)
- })
- })
-
- describe('rotate()', function() {
- it('performs a rotation with one argument', function() {
- var matrix = new SVG.Matrix(1, 3, 2, 3, 4, 3).rotate(30)
-
- expect(matrix.a).toBeCloseTo(-0.6339746)
- expect(matrix.b).toBeCloseTo(3.09807621)
- expect(matrix.c).toBeCloseTo(0.23205081)
- expect(matrix.d).toBeCloseTo(3.59807621)
- expect(matrix.e).toBeCloseTo(1.96410162)
- expect(matrix.f).toBeCloseTo(4.59807621)
- })
- it('performs a rotation around a given point with three arguments', function() {
- var matrix = new SVG.Matrix(1, 3, 2, 3, 4, 3).rotate(30, 2, 3)
-
- expect(matrix.a).toBeCloseTo(-0.633974596216)
- expect(matrix.b).toBeCloseTo(3.09807621135)
- expect(matrix.c).toBeCloseTo(0.232050807569)
- expect(matrix.d).toBeCloseTo(3.59807621135)
- expect(matrix.e).toBeCloseTo(3.73205080757)
- expect(matrix.f).toBeCloseTo(4.0)
- })
- })
-
- describe('flip()', function() {
- describe('with x given', function() {
- it('performs a flip over the horizontal axis with one argument', function() {
- var matrix = new SVG.Matrix(1, 0, 0, 1, 4, 3).flip('x')
-
- expect(matrix.a).toBe(-1)
- expect(matrix.d).toBe(1)
- expect(matrix.e).toBe(-4)
- expect(matrix.f).toBe(3)
- })
- it('performs a flip over the horizontal axis over a given point with two arguments', function() {
- var matrix = new SVG.Matrix(1, 0, 0, 1, 4, 3).flip('x', 150)
-
- expect(matrix.a).toBe(-1)
- expect(matrix.d).toBe(1)
- expect(matrix.e).toBe(296)
- expect(matrix.f).toBe(3)
- })
- })
- describe('with y given', function() {
- it('performs a flip over the vertical axis with one argument', function() {
- var matrix = new SVG.Matrix(1, 0, 0, 1, 4, 3).flip('y')
-
- expect(matrix.a).toBe(1)
- expect(matrix.d).toBe(-1)
- expect(matrix.e).toBe(4)
- expect(matrix.f).toBe(-3)
- })
- it('performs a flip over the vertical axis over a given point with two arguments', function() {
- var matrix = new SVG.Matrix(1, 0, 0, 1, 4, 3).flip('y', 100)
-
- expect(matrix.a).toBe(1)
- expect(matrix.d).toBe(-1)
- expect(matrix.e).toBe(4)
- expect(matrix.f).toBe(197)
- })
- })
- describe('with no axis given', function() {
- it('performs a flip over the horizontal and vertical axis with no argument', function() {
- var matrix = new SVG.Matrix(1, 0, 0, 1, 4, 3).flip()
-
- expect(matrix.a).toBe(-1)
- expect(matrix.d).toBe(-1)
- expect(matrix.e).toBe(-4)
- expect(matrix.f).toBe(-3)
- })
- it('performs a flip over the horizontal and vertical axis over a given point with one argument that represent both coordinates', function() {
- var matrix = new SVG.Matrix(1, 0, 0, 1, 4, 3).flip(100)
-
- expect(matrix.a).toBe(-1)
- expect(matrix.d).toBe(-1)
- expect(matrix.e).toBe(196)
- expect(matrix.f).toBe(197)
- })
- it('performs a flip over the horizontal and vertical axis over a given point with two arguments', function() {
- var matrix = new SVG.Matrix(1, 0, 0, 1, 4, 3).flip(50, 100)
-
- expect(matrix.a).toBe(-1)
- expect(matrix.d).toBe(-1)
- expect(matrix.e).toBe(96)
- expect(matrix.f).toBe(197)
- })
- })
- })
-
- describe('skew()', function() {
- it('performs a uniformal skew with one value', function() {
- var matrix = new SVG.Matrix(1, 0, 0, 1, 4, 3).skew(30)
-
- expect(matrix.a).toBe(1)
- expect(matrix.b).toBeCloseTo(0.57735026919)
- expect(matrix.c).toBeCloseTo(0.57735026919)
- expect(matrix.d).toBe(1)
- expect(matrix.e).toBeCloseTo(5.73205080757)
- expect(matrix.f).toBeCloseTo(5.30940107676)
- })
-
- it('performs a non-uniformal skew with two values', function() {
- var matrix = new SVG.Matrix(1, 0, 0, 1, 4, 3).skew(30, 20)
-
- expect(matrix.a).toBe(1)
- expect(matrix.b).toBeCloseTo(0.363970234266)
- expect(matrix.c).toBeCloseTo(0.57735026919)
- expect(matrix.d).toBe(1)
- expect(matrix.e).toBeCloseTo(5.73205080757)
- expect(matrix.f).toBeCloseTo(4.45588093706)
- })
-
- it('performs a uniformal skew at a given center point with three values', function() {
- var matrix = new SVG.Matrix(1, 0, 0, 1, 4, 3).skew(30, 150, 100)
-
- expect(matrix.a).toBe(1)
- expect(matrix.b).toBeCloseTo(0.57735026919)
- expect(matrix.c).toBeCloseTo(0.57735026919)
- expect(matrix.d).toBe(1)
- expect(matrix.e).toBeCloseTo(-52.0029761114)
- expect(matrix.f).toBeCloseTo(-81.2931393017)
- })
-
- it('performs a non-uniformal skew at a given center point with four values', function() {
- var matrix = new SVG.Matrix(1, 0, 0, 1, 4, 3).skew(30, 20, 150, 100)
-
- expect(matrix.a).toBe(1.0)
- expect(matrix.b).toBeCloseTo(0.363970234266)
- expect(matrix.c).toBeCloseTo(0.57735026919)
- expect(matrix.d).toBe(1.0)
- expect(matrix.e).toBeCloseTo(-52.0029761114)
- expect(matrix.f).toBeCloseTo(-50.1396542029)
- })
-
- it('can be chained', function(){
- var matrix = new SVG.Matrix(1, 0, 0, 1, 4, 3).skew(20, 30).skew(30, 20)
- expect(matrix.a).toBeCloseTo(1.33333333333)
- expect(matrix.b).toBeCloseTo(0.941320503456)
- expect(matrix.c).toBeCloseTo(0.941320503456)
- expect(matrix.d).toBeCloseTo(1.13247433143)
- expect(matrix.e).toBeCloseTo(8.1572948437)
- expect(matrix.f).toBeCloseTo(7.16270500812)
- })
- })
-
- describe('skewX', function(){
- it('performs a skew along the x axis with one value', function() {
- var matrix = new SVG.Matrix(1, 0, 0, 1, 4, 3).skewX(30)
-
- expect(matrix.a).toBe(1)
- expect(matrix.b).toBe(0)
- expect(matrix.c).toBeCloseTo(0.57735026919)
- expect(matrix.d).toBe(1)
- expect(matrix.e).toBeCloseTo(5.73205080757)
- expect(matrix.f).toBe(3)
- })
-
- it('performs a skew along the x axis at a given center point with three values', function() {
- var matrix = new SVG.Matrix(1, 0, 0, 1, 4, 3).skewX(30, 150, 100)
-
- expect(matrix.a).toBe(1)
- expect(matrix.b).toBe(0)
- expect(matrix.c).toBeCloseTo(0.57735026919)
- expect(matrix.d).toBe(1)
- expect(matrix.e).toBeCloseTo(-52.0029761114)
- expect(matrix.f).toBe(3)
- })
- })
-
- describe('skewY', function(){
- it('performs a skew along the y axis with one value', function() {
- var matrix = new SVG.Matrix(1, 0, 0, 1, 4, 3).skewY(30)
-
- expect(matrix.a).toBe(1)
- expect(matrix.b).toBeCloseTo(0.57735026919)
- expect(matrix.c).toBe(0)
- expect(matrix.d).toBe(1)
- expect(matrix.e).toBe(4)
- expect(matrix.f).toBeCloseTo(5.30940107676)
- })
-
- it('performs a skew along the y axis at a given center point with three values', function() {
- var matrix = new SVG.Matrix(1, 0, 0, 1, 4, 3).skewY(30, 150, 100)
-
- expect(matrix.a).toBe(1)
- expect(matrix.b).toBeCloseTo(0.57735026919)
- expect(matrix.c).toBe(0)
- expect(matrix.d).toBe(1)
- expect(matrix.e).toBe(4)
- expect(matrix.f).toBeCloseTo(-81.2931393017)
- })
- })
-})
diff --git a/spec/spec/memory.js b/spec/spec/memory.js
deleted file mode 100644
index 32773a0..0000000
--- a/spec/spec/memory.js
+++ /dev/null
@@ -1,58 +0,0 @@
-describe('Memory', function () {
- var rect, circle
-
- beforeEach(function() {
- rect = draw.rect(100,120)
- circle = draw.circle(100)
- })
-
- afterEach(function() {
- draw.clear()
- })
-
- describe('remember()', function() {
- it('accepts an object with values', function() {
- rect.remember({ some: {cool:'and',nested:'stuff',foo:5} })
- expect(rect.remember('some').foo).toBe(5)
- })
- it('accepts key / value arguments', function() {
- rect.remember('fill', rect.attr('fill'))
- rect.fill('#f09')
- expect(rect.remember('fill')).toBe('#000000')
- })
- it('acts as a getter with one string argument', function() {
- rect.remember('opacity', 0.85)
- expect(rect.remember('opacity')).toBe(0.85)
- })
- it('saves values to individual objects', function() {
- rect.remember('opacity', 0.85)
- circle.remember('opacity', 0.5)
- expect(rect.remember('opacity')).toBe(0.85)
- expect(circle.remember('opacity')).toBe(0.5)
- })
- })
-
- describe('forget()', function() {
- it('deletes a given memory', function() {
- rect.remember({ grass: 'is green', one: 1 })
- rect.forget('grass')
- expect(rect.remember('grass')).toBe(undefined)
- expect(rect.remember('one')).toBe(1)
- })
- it('accepts multiple arguments as different memories', function() {
- rect.remember({ grass: 'might be purple', two: 2, sea: true })
- rect.forget('grass', 'sea')
- expect(rect.remember('grass')).toBe(undefined)
- expect(rect.remember('sea')).toBe(undefined)
- expect(rect.remember('two')).toBe(2)
- })
- it('clears the whole memory without arguments', function() {
- rect.remember({ grass: 'is never pink', three: 3, tree: true })
- rect.forget()
- expect(rect.remember('grass')).toBe(undefined)
- expect(rect.remember('tree')).toBe(undefined)
- expect(rect.remember('three')).toBe(undefined)
- })
- })
-
-}) \ No newline at end of file
diff --git a/spec/spec/path.js b/spec/spec/path.js
deleted file mode 100644
index 28780c9..0000000
--- a/spec/spec/path.js
+++ /dev/null
@@ -1,261 +0,0 @@
-describe('Path', function() {
- var path
-
- beforeEach(function() {
- path = draw.path(svgPath)
- })
-
- afterEach(function() {
- draw.clear()
- })
-
- describe('()', function() {
- it('falls back to a single point without an argument', function() {
- path = draw.path()
- expect(path.attr('d')).toBe('M0 0 ')
- })
- })
-
- describe('array()', function() {
- it('returns an instance of SVG.PathArray', function() {
- expect(path.array() instanceof SVG.PathArray).toBeTruthy()
- })
- it('returns the value stored in the private variable _array', function() {
- expect(path.array()).toBe(path._array)
- })
- })
-
- describe('x()', function() {
- it('returns the value of x without an argument', function() {
- expect(path.x()).toBe(0)
- })
- it('sets the value of x with the first argument', function() {
- path.x(123)
- var box = path.bbox()
- expect(box.x).toBe(123)
- })
- })
-
- describe('y()', function() {
- it('returns the value of y without an argument', function() {
- expect(path.y()).toBe(0)
- })
- it('sets the value of y with the first argument', function() {
- path.y(345)
- var box = path.bbox()
- expect(box.y).toBe(345)
- })
- })
-
- describe('cx()', function() {
- it('returns the value of cx without an argument', function() {
- expect(path.cx()).toBe(50)
- })
- it('sets the value of cx with the first argument', function() {
- path.cx(123)
- var box = path.bbox()
- expect(box.cx).toBe(123)
- })
- })
-
- describe('cy()', function() {
- it('returns the value of cy without an argument', function() {
- expect(path.cy()).toBe(50)
- })
- it('sets the value of cy with the first argument', function() {
- path.cy(345)
- var box = path.bbox()
- expect(box.cy).toBe(345)
- })
- })
-
- describe('move()', function() {
- it('sets the x and y position', function() {
- path.move(123,456)
- var box = path.bbox()
- expect(box.x).toBe(123)
- expect(box.y).toBe(456)
- })
- it('sets the x and y position when scaled to half its size', function() {
- path.scale(0.5, 0, 0).move(123,456)
- var box = path.bbox()
- expect(box.x).toBe(123)
- expect(box.y).toBe(456)
- })
- })
-
- describe('dx()', function() {
- it('moves the x positon of the element relative to the current position', function() {
- path.move(50,60)
- path.dx(100)
- var box = path.bbox()
- expect(box.x).toBe(150)
- })
- })
-
- describe('dy()', function() {
- it('moves the y positon of the element relative to the current position', function() {
- path.move(50, 60)
- path.dy(120)
- var box = path.bbox()
- expect(box.y).toBe(180)
- })
- })
-
- describe('dmove()', function() {
- it('moves the x and y positon of the element relative to the current position', function() {
- path.move(50,60)
- path.dmove(80, 25)
- var box = path.bbox()
- expect(box.x).toBe(130)
- expect(box.y).toBe(85)
- })
- })
-
- describe('center()', function() {
- it('sets the cx and cy position', function() {
- path.center(321,567)
- var box = path.bbox()
- expect(box.x).toBe(271)
- expect(box.y).toBe(517)
- })
- })
-
- describe('width()', function() {
- it('sets the width of the element', function() {
- path.width(234)
- var box = path.bbox()
- expect(box.width).toBeCloseTo(234)
- })
- it('gets the width of the element without an argument', function() {
- path.width(456)
- expect(path.width()).toBeCloseTo(456)
- })
- })
-
- describe('height()', function() {
- it('sets the height of the element', function() {
- path.height(654)
- var box = path.bbox()
- expect(box.height).toBeCloseTo(654)
- })
- it('gets the height of the element without an argument', function() {
- path.height(321)
- expect(path.height()).toBeCloseTo(321)
- })
- })
-
- describe('size()', function() {
- it('defines the width and height of the element', function() {
- path.size(987,654)
- var box = path.bbox()
- expect(box.width).toBeCloseTo(987)
- expect(box.height).toBeCloseTo(654)
- })
- it('defines the width and height proportionally with only the width value given', function() {
- var box = path.bbox()
- path.size(500)
- expect(path.width()).toBeCloseTo(500)
- expect(path.width() / path.height()).toBe(box.width / box.height)
- })
- it('defines the width and height proportionally with only the height value given', function() {
- var box = path.bbox()
- path.size(null, 525)
- expect(path.height()).toBe(525)
- expect(path.width() / path.height()).toBeCloseTo(box.width / box.height)
- })
- it('doesn\'t scale width/height when their value is 0', function() {
- path = draw.path('M0 0L0 100')
- path.size(500, 500)
- expect(path.attr('d')).toBe('M0 0L0 500 ')
-
- path = draw.path('M0 0L100 0')
- path.size(500, 500)
- expect(path.attr('d')).toBe('M0 0L500 0 ')
- })
- })
-
- describe('scale()', function() {
- it('should scale the element universally with one argument', function() {
- var box1 = path.rbox()
- , box2 = path.scale(2).rbox()
-
- expect(box1.width * 2).toBe(box2.width)
- expect(box1.height * 2).toBe(box2.height)
- })
- it('should scale the element over individual x and y axes with two arguments', function() {
- var box1 = path.rbox()
- , box2 = path.scale(2, 3.5).rbox()
-
- expect(box1.width * 2).toBe(box2.width)
- expect(box1.height * 3.5).toBe(box2.height)
- })
- })
-
- describe('translate()', function() {
- it('sets the translation of an element', function() {
- path.transform({ tx: 12, ty: 12 })
- expect(path.node.getAttribute('transform')).toBe('matrix(1,0,0,1,12,12)')
- })
- })
-
- describe('plot()', function() {
- it('changes the d attribute of the underlying path node when a string is passed', function() {
- var pathString = 'm 3,2 c 0,0 -0,13 8,14 L 5,4'
- , pathArray = new SVG.PathArray(pathString)
-
- expect(path.plot(pathString)).toBe(path)
- expect(path.attr('d')).toBe(pathString)
- })
- it('clears the array cache when a value is passed', function() {
- path = draw.path([ ['M', 50, 60], ['A', 60, 60, 0, 0, 0, 50, -60], ['z'] ])
- expect(path._array instanceof SVG.PathArray).toBeTruthy()
- path.plot('m 3,2 c 0,0 -0,13 8,14 L 5,4')
- expect(path._array).toBeUndefined()
- })
- it('applies a given path string value as is', function() {
- var pathString = 'm 3,2 c 0,0 -0,13 8,14 L 5,4'
-
- path = draw.path(pathString)
- expect(path.attr('d')).toBe(pathString)
- })
- it('does not parse and cache a given string value to SVG.PathArray', function() {
- path = draw.path('m 3,2 c 0,0 -0,13 8,14 L 5,4')
- expect(path._array).toBeUndefined()
- })
- it('caches a given array value', function() {
- path = draw.path([ ['M', 50, 60], ['A', 60, 60, 0, 0, 0, 50, -60], ['H', 100], ['L', 20, 30], ['Z'] ])
- expect(path._array instanceof SVG.PathArray).toBeTruthy()
- })
- it('returns the path array when no arguments are passed', function () {
- expect(path.plot()).toBe(path.array())
- })
- })
-
- describe('clear()', function() {
- it('clears the cached SVG.PathArray instance', function() {
- path = draw.path(svgPath)
- path.clear()
- expect(path._array).toBeUndefined()
- })
- })
-
- describe('toString()', function() {
- it('renders path array correctly to string', function() {
- path = path.plot(['M', 50, 60, 'A', 60, 60, 0, 0, 0, 50, -60, 'H', 100, 'V', 100, 'L', 20, 30, 'C', 10, 20, 30, 40, 50, 60 ])
- expect(path.node.getAttribute('d')).toBe('M50 60A60 60 0 0 0 50 -60H100V100L20 30C10 20 30 40 50 60 ')
- })
- })
-
- describe('length()', function() {
- it('gets the total length of the path', function() {
- expect(path.length()).toBe(path.node.getTotalLength())
- })
- })
-
- describe('pointAt()', function() {
- it('gets a point at given length', function() {
- expect(path.pointAt(100)).toEqual(new SVG.Point(path.node.getPointAtLength(100)))
- })
- })
-})
diff --git a/spec/spec/pattern.js b/spec/spec/pattern.js
deleted file mode 100644
index f51caf6..0000000
--- a/spec/spec/pattern.js
+++ /dev/null
@@ -1,69 +0,0 @@
-describe('Pattern', function () {
- var rect, pattern
-
- beforeEach(function () {
- rect = draw.rect(100, 100)
- pattern = draw.pattern(20, 30, function (add) {
- add.rect(10, 10).move(10, 10)
- add.circle(30)
- })
- })
-
- afterEach(function () {
- rect.remove()
- pattern.remove()
- })
-
- it('is an instance of SVG.Pattern', function () {
- expect(pattern instanceof SVG.Pattern).toBe(true)
- })
-
- it('allows creation of a new gradient without block', function () {
- pattern = draw.pattern(10, 30)
- expect(pattern.children().length).toBe(0)
- })
-
- describe('url()', function () {
- it('returns the id of the pattern wrapped in url()', function () {
- expect(pattern.url()).toBe('url("#' + pattern.id() + '")')
- })
- })
-
- describe('attr()', function () {
- it('will catch transform attribues and convert them to patternTransform', function () {
- expect(pattern.translate(100, 100).attr('patternTransform')).toBe('matrix(1,0,0,1,100,100)')
- })
- })
-
- describe('toString()', function () {
- it('returns the id of the pattern wrapped in url()', function () {
- expect(pattern + '').toBe('url("#' + pattern.id() + '")')
- })
- it('is called when instance is passed as an attribute value', function () {
- rect.attr('fill', pattern)
- expect(rect.attr('fill')).toBe('url("#' + pattern.id() + '")')
- })
- it('is called when instance is passed in a fill() method', function () {
- rect.fill(pattern)
- expect(rect.attr('fill')).toBe('url("#' + pattern.id() + '")')
- })
- })
-
- describe('update()', function () {
-
- it('removes all existing children first', function () {
- pattern = draw.pattern(30, 30, function (add) {
- add.rect(10, 10).move(10, 10)
- add.circle(30)
- })
- expect(pattern.children().length).toBe(2)
- pattern.update(function (add) {
- add.rect(10, 10).move(10, 10)
- add.circle(30)
- })
- expect(pattern.children().length).toBe(2)
- })
-
- })
-
-})
diff --git a/spec/spec/polygon.js b/spec/spec/polygon.js
deleted file mode 100644
index 4cd2ea8..0000000
--- a/spec/spec/polygon.js
+++ /dev/null
@@ -1,228 +0,0 @@
-describe('Polygon', function() {
- var polygon
-
- beforeEach(function() {
- polygon = draw.polygon('0,0 100,0 100,100 0,100')
- })
-
- afterEach(function() {
- draw.clear()
- })
-
- describe('()', function(){
- it('falls back to a single point without an argument', function() {
- polygon = draw.polygon()
- expect(polygon.attr('points')).toBe('0,0')
- })
- })
-
-
- describe('array()', function() {
- it('returns an instance of SVG.PointArray', function() {
- expect(polygon.array() instanceof SVG.PointArray).toBeTruthy()
- })
- it('returns the value stored in the private variable _array', function() {
- expect(polygon.array()).toBe(polygon._array)
- })
- })
-
- describe('x()', function() {
- it('returns the value of x without an argument', function() {
- expect(polygon.x()).toBe(0)
- })
- it('sets the value of x with the first argument', function() {
- polygon.x(123)
- var box = polygon.bbox()
- expect(box.x).toBe(123)
- })
- })
-
- describe('y()', function() {
- it('returns the value of y without an argument', function() {
- expect(polygon.y()).toBe(0)
- })
- it('sets the value of y with the first argument', function() {
- polygon.y(345)
- var box = polygon.bbox()
- expect(box.y).toBe(345)
- })
- })
-
- describe('cx()', function() {
- it('returns the value of cx without an argument', function() {
- expect(polygon.cx()).toBe(50)
- })
- it('sets the value of cx with the first argument', function() {
- polygon.cx(123)
- var box = polygon.bbox()
- expect(box.cx).toBe(123)
- })
- })
-
- describe('cy()', function() {
- it('returns the value of cy without an argument', function() {
- expect(polygon.cy()).toBe(50)
- })
- it('sets the value of cy with the first argument', function() {
- polygon.cy(345)
- var box = polygon.bbox()
- expect(box.cy).toBe(345)
- })
- })
-
- describe('move()', function() {
- it('sets the x and y position', function() {
- polygon.move(123,456)
- var box = polygon.bbox()
- expect(box.x).toBe(123)
- expect(box.y).toBe(456)
- })
- })
-
- describe('dx()', function() {
- it('moves the x positon of the element relative to the current position', function() {
- polygon.move(50,60)
- polygon.dx(100)
- var box = polygon.bbox()
- expect(box.x).toBe(150)
- })
- })
-
- describe('dy()', function() {
- it('moves the y positon of the element relative to the current position', function() {
- polygon.move(50, 60)
- polygon.dy(120)
- var box = polygon.bbox()
- expect(box.y).toBe(180)
- })
- })
-
- describe('dmove()', function() {
- it('moves the x and y positon of the element relative to the current position', function() {
- polygon.move(50,60)
- polygon.dmove(80, 25)
- var box = polygon.bbox()
- expect(box.x).toBe(130)
- expect(box.y).toBe(85)
- })
- })
-
- describe('center()', function() {
- it('sets the cx and cy position', function() {
- polygon.center(321,567)
- var box = polygon.bbox()
- expect(box.x).toBe(271)
- expect(box.y).toBe(517)
- })
- })
-
- describe('width()', function() {
- it('sets the width and height of the element', function() {
- polygon.width(987)
- var box = polygon.bbox()
- expect(box.width).toBeCloseTo(987)
- })
- it('gets the width and height of the element without an argument', function() {
- polygon.width(789)
- expect(polygon.width()).toBeCloseTo(789)
- })
- })
-
- describe('height()', function() {
- it('sets the height and height of the element', function() {
- polygon.height(987)
- var box = polygon.bbox()
- expect(box.height).toBeCloseTo(987)
- })
- it('gets the height and height of the element without an argument', function() {
- polygon.height(789)
- expect(polygon.height()).toBeCloseTo(789)
- })
- })
-
- describe('size()', function() {
- it('should define the width and height of the element', function() {
- polygon.size(987,654)
- var box = polygon.bbox()
- expect(box.width).toBeCloseTo(987)
- expect(box.height).toBeCloseTo(654)
- })
- it('defines the width and height proportionally with only the width value given', function() {
- var box = polygon.bbox()
- polygon.size(500)
- expect(polygon.width()).toBe(500)
- expect(polygon.width() / polygon.height()).toBe(box.width / box.height)
- })
- it('defines the width and height proportionally with only the height value given', function() {
- var box = polygon.bbox()
- polygon.size(null, 525)
- expect(polygon.height()).toBe(525)
- expect(polygon.width() / polygon.height()).toBe(box.width / box.height)
- })
- })
-
- describe('scale()', function() {
- it('should scale the element universally with one argument', function() {
- var box1 = polygon.rbox()
- , box2 = polygon.scale(2).rbox()
-
- expect(box2.width).toBe(box1.width * 2)
- expect(box2.height).toBe(box1.height * 2)
- })
- it('should scale the element over individual x and y axes with two arguments', function() {
- var box1 = polygon.rbox()
- , box2 = polygon.scale(2, 3.5).rbox()
-
- expect(box2.width).toBe(box1.width * 2)
- expect(box2.height).toBe(box1.height * 3.5)
- })
- })
-
- describe('translate()', function() {
- it('sets the translation of an element', function() {
- polygon.transform({ tx: 12, ty: 12 })
- expect(polygon.node.getAttribute('transform')).toBe('matrix(1,0,0,1,12,12)')
- })
- })
-
- describe('plot()', function() {
- it('changes the points attribute of the underlying polygon node when a string is passed', function() {
- var pointString = '100,50 75,20 200,100'
- , pointArray = new SVG.PointArray(pointString)
-
- expect(polygon.plot(pointString)).toBe(polygon)
- expect(polygon.attr('points')).toBe(pointArray.toString())
- })
- it('returns the point array when no arguments are passed', function () {
- expect(polygon.plot()).toBe(polygon.array())
- })
- it('clears the array cache when a value is passed', function() {
- polygon = draw.polygon([100,50,75,20,200,100])
- expect(polygon._array instanceof SVG.PointArray).toBeTruthy()
- polygon.plot('100,50 75,20 200,100')
- expect(polygon._array).toBeUndefined()
- })
- it('applies a given polygon string value as is', function() {
- var polyString = '100,50,75,20,200,100'
-
- polygon = draw.polygon(polyString)
- expect(polygon.attr('points')).toBe(polyString)
- })
- it('does not parse and cache a given string value to SVG.PointArray', function() {
- polygon = draw.polygon('100,50 75,20 200,100')
- expect(polygon._array).toBeUndefined()
- })
- it('caches a given array value', function() {
- polygon = draw.polygon([100,50,75,20,200,100])
- expect(polygon._array instanceof SVG.PointArray).toBeTruthy()
- })
- })
-
- describe('clear()', function() {
- it('clears the cached SVG.PointArray instance', function() {
- polygon = draw.polygon([100,50,75,20,200,100])
- polygon.clear()
- expect(polygon._array).toBeUndefined()
- })
- })
-})
diff --git a/spec/spec/polyline.js b/spec/spec/polyline.js
deleted file mode 100644
index 7fbea18..0000000
--- a/spec/spec/polyline.js
+++ /dev/null
@@ -1,228 +0,0 @@
-describe('Polyline', function() {
- var polyline
-
- beforeEach(function() {
- polyline = draw.polyline('0,0 100,0 100,100 0,100')
- })
-
- afterEach(function() {
- draw.clear()
- })
-
- describe('()', function(){
- it('falls back to a single point without an argument', function() {
- polyline = draw.polyline()
- expect(polyline.attr('points')).toBe('0,0')
- })
- })
-
-
- describe('array()', function() {
- it('returns an instance of SVG.PointArray', function() {
- expect(polyline.array() instanceof SVG.PointArray).toBeTruthy()
- })
- it('returns the value stored in the private variable _array', function() {
- expect(polyline.array()).toBe(polyline._array)
- })
- })
-
- describe('x()', function() {
- it('returns the value of x without an argument', function() {
- expect(polyline.x()).toBe(0)
- })
- it('sets the value of x with the first argument', function() {
- polyline.x(123)
- var box = polyline.bbox()
- expect(box.x).toBe(123)
- })
- })
-
- describe('y()', function() {
- it('returns the value of y without an argument', function() {
- expect(polyline.y()).toBe(0)
- })
- it('sets the value of y with the first argument', function() {
- polyline.y(345)
- var box = polyline.bbox()
- expect(box.y).toBe(345)
- })
- })
-
- describe('cx()', function() {
- it('returns the value of cx without an argument', function() {
- expect(polyline.cx()).toBe(50)
- })
- it('sets the value of cx with the first argument', function() {
- polyline.cx(123)
- var box = polyline.bbox()
- expect(box.cx).toBe(123)
- })
- })
-
- describe('cy()', function() {
- it('returns the value of cy without an argument', function() {
- expect(polyline.cy()).toBe(50)
- })
- it('sets the value of cy with the first argument', function() {
- polyline.cy(345)
- var box = polyline.bbox()
- expect(box.cy).toBe(345)
- })
- })
-
- describe('move()', function() {
- it('sets the x and y position', function() {
- polyline.move(123,456)
- var box = polyline.bbox()
- expect(box.x).toBe(123)
- expect(box.y).toBe(456)
- })
- })
-
- describe('dx()', function() {
- it('moves the x positon of the element relative to the current position', function() {
- polyline.move(50,60)
- polyline.dx(100)
- var box = polyline.bbox()
- expect(box.x).toBe(150)
- })
- })
-
- describe('dy()', function() {
- it('moves the y positon of the element relative to the current position', function() {
- polyline.move(50, 60)
- polyline.dy(120)
- var box = polyline.bbox()
- expect(box.y).toBe(180)
- })
- })
-
- describe('dmove()', function() {
- it('moves the x and y positon of the element relative to the current position', function() {
- polyline.move(50,60)
- polyline.dmove(80, 25)
- var box = polyline.bbox()
- expect(box.x).toBe(130)
- expect(box.y).toBe(85)
- })
- })
-
- describe('center()', function() {
- it('sets the cx and cy position', function() {
- polyline.center(321,567)
- var box = polyline.bbox()
- expect(box.x).toBe(271)
- expect(box.y).toBe(517)
- })
- })
-
- describe('width()', function() {
- it('sets the width and height of the element', function() {
- polyline.width(987)
- var box = polyline.bbox()
- expect(box.width).toBeCloseTo(987, 1)
- })
- it('gets the width and height of the element without an argument', function() {
- polyline.width(789)
- expect(polyline.width()).toBeCloseTo(789)
- })
- })
-
- describe('height()', function() {
- it('sets the height and height of the element', function() {
- polyline.height(987)
- var box = polyline.bbox()
- expect(box.height).toBeCloseTo(987)
- })
- it('gets the height and height of the element without an argument', function() {
- polyline.height(789)
- expect(polyline.height()).toBeCloseTo(789)
- })
- })
-
- describe('size()', function() {
- it('should define the width and height of the element', function() {
- polyline.size(987,654)
- var box = polyline.bbox()
- expect(box.width).toBeCloseTo(987)
- expect(box.height).toBeCloseTo(654)
- })
- it('defines the width and height proportionally with only the width value given', function() {
- var box = polyline.bbox()
- polyline.size(500)
- expect(polyline.width()).toBe(500)
- expect(polyline.width() / polyline.height()).toBe(box.width / box.height)
- })
- it('defines the width and height proportionally with only the height value given', function() {
- var box = polyline.bbox()
- polyline.size(null, 525)
- expect(polyline.height()).toBe(525)
- expect(polyline.width() / polyline.height()).toBe(box.width / box.height)
- })
- })
-
- describe('scale()', function() {
- it('should scale the element universally with one argument', function() {
- var box1 = polyline.rbox()
- , box2 = polyline.scale(2).rbox()
-
- expect(box2.width).toBe(box1.width * 2)
- expect(box2.height).toBe(box1.height * 2)
- })
- it('should scale the element over individual x and y axes with two arguments', function() {
- var box1 = polyline.rbox()
- , box2 = polyline.scale(2, 3.5).rbox()
-
- expect(box2.width).toBe(box1.width * 2)
- expect(box2.height).toBe(box1.height * 3.5)
- })
- })
-
- describe('translate()', function() {
- it('sets the translation of an element', function() {
- polyline.transform({ tx: 12, ty: 12 })
- expect(polyline.node.getAttribute('transform')).toBe('matrix(1,0,0,1,12,12)')
- })
- })
-
- describe('plot()', function() {
- it('change the points attribute of the underlying polyline node when a string is passed', function() {
- var pointString = '100,50 75,20 200,100'
- , pointArray = new SVG.PointArray(pointString)
-
- expect(polyline.plot(pointString)).toBe(polyline)
- expect(polyline.attr('points')).toBe(pointArray.toString())
- })
- it('return the point array when no arguments are passed', function () {
- expect(polyline.plot()).toBe(polyline.array())
- })
- it('clears the array cache when a value is passed', function() {
- polyline = draw.polyline([100,50,75,20,200,100])
- expect(polyline._array instanceof SVG.PointArray).toBeTruthy()
- polyline.plot('100,50 75,20 200,100')
- expect(polyline._array).toBeUndefined()
- })
- it('applies a given polyline string value as is', function() {
- var polyString = '100,50,75,20,200,100'
-
- polyline = draw.polyline(polyString)
- expect(polyline.attr('points')).toBe(polyString)
- })
- it('does not parse and cache a given string value to SVG.PointArray', function() {
- polyline = draw.polyline('100,50 75,20 200,100')
- expect(polyline._array).toBeUndefined()
- })
- it('caches a given array value', function() {
- polyline = draw.polyline([100,50,75,20,200,100])
- expect(polyline._array instanceof SVG.PointArray).toBeTruthy()
- })
- })
-
- describe('clear()', function() {
- it('clears the cached SVG.PointArray instance', function() {
- polyline = draw.polyline([100,50,75,20,200,100])
- polyline.clear()
- expect(polyline._array).toBeUndefined()
- })
- })
-})
diff --git a/spec/spec/rect.js b/spec/spec/rect.js
deleted file mode 100644
index b07e10b..0000000
--- a/spec/spec/rect.js
+++ /dev/null
@@ -1,171 +0,0 @@
-describe('Rect', function() {
- var rect
-
- beforeEach(function() {
- rect = draw.rect(220,100)
- })
-
- afterEach(function() {
- draw.clear()
- })
-
- describe('x()', function() {
- it('should return the value of x without an argument', function() {
- expect(rect.x()).toBe(0)
- })
- it('should set the value of x with the first argument', function() {
- rect.x(123)
- expect(rect.node.getAttribute('x')).toBe('123')
- })
- })
-
- describe('y()', function() {
- it('should return the value of y without an argument', function() {
- expect(rect.y()).toBe(0)
- })
- it('should set the value of y with the first argument', function() {
- rect.y(345)
- expect(rect.node.getAttribute('y')).toBe('345')
- })
- })
-
- describe('cx()', function() {
- it('should return the value of cx without an argument', function() {
- expect(rect.cx()).toBe(110)
- })
- it('should set the value of cx with the first argument', function() {
- rect.cx(123)
- var box = rect.bbox()
- expect(box.cx).toBe(123)
- })
- })
-
- describe('cy()', function() {
- it('should return the value of cy without an argument', function() {
- expect(rect.cy()).toBe(50)
- })
- it('should set the value of cy with the first argument', function() {
- rect.cy(345)
- var box = rect.bbox()
- expect(box.cy).toBe(345)
- })
- })
-
- describe('radius()', function() {
- it('should set the rx and ry', function() {
- rect.radius(10,20)
- expect(rect.node.getAttribute('rx')).toBe('10')
- expect(rect.node.getAttribute('ry')).toBe('20')
- })
- it('should set the rx and ry if only rx given', function() {
- rect.radius(30)
- expect(rect.node.getAttribute('rx')).toBe('30')
- expect(rect.node.getAttribute('ry')).toBe('30')
- })
- })
-
- describe('move()', function() {
- it('should set the x and y position', function() {
- rect.move(123,456)
- expect(rect.node.getAttribute('x')).toBe('123')
- expect(rect.node.getAttribute('y')).toBe('456')
- })
- })
-
- describe('dx()', function() {
- it('moves the x positon of the element relative to the current position', function() {
- rect.move(50,60)
- rect.dx(100)
- expect(rect.node.getAttribute('x')).toBe('150')
- })
- })
-
- describe('dy()', function() {
- it('moves the y positon of the element relative to the current position', function() {
- rect.move(50,60)
- rect.dy(120)
- expect(rect.node.getAttribute('y')).toBe('180')
- })
- })
-
- describe('dmove()', function() {
- it('moves the x and y positon of the element relative to the current position', function() {
- rect.move(50,60)
- rect.dmove(80, 25)
- expect(rect.node.getAttribute('x')).toBe('130')
- expect(rect.node.getAttribute('y')).toBe('85')
- })
- })
-
- describe('center()', function() {
- it('should set the cx and cy position', function() {
- rect.center(321,567)
- var box = rect.bbox()
- expect(box.cx).toBe(321)
- expect(box.cy).toBe(567)
- })
- })
-
- describe('width()', function() {
- it('sets the width of the element', function() {
- rect.width(789)
- expect(rect.node.getAttribute('width')).toBe('789')
- })
- it('gets the width of the element if the argument is null', function() {
- expect(rect.width().toString()).toBe(rect.node.getAttribute('width'))
- })
- })
-
- describe('height()', function() {
- it('sets the height of the element', function() {
- rect.height(1236)
- expect(rect.node.getAttribute('height')).toBe('1236')
- })
- it('gets the height of the element if the argument is null', function() {
- expect(rect.height().toString()).toBe(rect.node.getAttribute('height'))
- })
- })
-
- describe('size()', function() {
- it('should define the width and height of the element', function() {
- rect.size(987,654)
- expect(rect.node.getAttribute('width')).toBe('987')
- expect(rect.node.getAttribute('height')).toBe('654')
- })
- it('defines the width and height proportionally with only the width value given', function() {
- var box = rect.bbox()
- rect.size(500)
- expect(rect.width()).toBe(500)
- expect(rect.width() / rect.height()).toBe(box.width / box.height)
- })
- it('defines the width and height proportionally with only the height value given', function() {
- var box = rect.bbox()
- rect.size(null, 525)
- expect(rect.height()).toBe(525)
- expect(rect.width() / rect.height()).toBe(box.width / box.height)
- })
- })
-
- describe('scale()', function() {
- it('should scale the element universally with one argument', function() {
- var box = rect.scale(2).rbox()
-
- expect(box.width).toBe(rect.attr('width') * 2)
- expect(box.height).toBe(rect.attr('height') * 2)
- })
- it('should scale the element over individual x and y axes with two arguments', function() {
- var box = rect.scale(2, 3.5).rbox()
-
- expect(box.width).toBe(rect.attr('width') * 2)
- expect(box.height).toBe(rect.attr('height') * 3.5)
- })
- })
-
- describe('translate()', function() {
- it('should set the translation of an element', function() {
- rect.transform({ tx: 12, ty: 12 })
- expect(rect.node.getAttribute('transform')).toBe('matrix(1,0,0,1,12,12)')
- })
- })
-
-})
diff --git a/spec/spec/regex.js b/spec/spec/regex.js
deleted file mode 100644
index 9a14bec..0000000
--- a/spec/spec/regex.js
+++ /dev/null
@@ -1,92 +0,0 @@
-describe('Regex', function() {
-
- describe('matchers', function() {
-
- describe('numberAndUnit', function() {
- var match
-
- it('is true with a positive unit value', function() {
- match = ('10%').match(SVG.regex.numberAndUnit)
- expect(match[1]).toBe('10')
- expect(match[5]).toBe('%')
- })
- it('is true with a negative unit value', function() {
- match = ('-11%').match(SVG.regex.numberAndUnit)
- expect(match[1]).toBe('-11')
- expect(match[5]).toBe('%')
- })
- it('is false with a positive unit value', function() {
- match = ('NotAUnit').match(SVG.regex.numberAndUnit)
- expect(match).toBeNull()
- })
-
- it('is true with a number', function() {
- ["1", "-1", "+15", "1.55", ".5", "5.", "1.3e2", "1E-4", "1e+12"].forEach(function(s) {
- expect(SVG.regex.numberAndUnit.test(s)).toBeTruthy()
- })
- })
- it('is false with a faulty number', function() {
- ["+-1", "1.2.3", "1+1", "1e4.5", ".5.", "1f5", "."].forEach(function(s) {
- expect(SVG.regex.numberAndUnit.test(s)).toBeFalsy()
- })
- })
- it('is true with a number with unit', function() {
- ["1px", "-1em", "+15%", "1.55s", ".5pt", "5.deg", "1.3e2rad", "1E-4grad", "1e+12cm"].forEach(function(s) {
- expect(SVG.regex.numberAndUnit.test(s)).toBeTruthy()
- })
- })
- it('is false with a faulty number or wrong unit', function() {
- ["1em1", "-1eq,5"].forEach(function(s) {
- expect(SVG.regex.numberAndUnit.test(s)).toBeFalsy()
- })
- })
-
- })
- })
-
- describe('testers', function() {
-
- describe('isHex', function() {
- it('is true with a three based hex', function() {
- expect(SVG.regex.isHex.test('#f09')).toBeTruthy()
- })
- it('is true with a six based hex', function() {
- expect(SVG.regex.isHex.test('#fe0198')).toBeTruthy()
- })
- it('is false with a faulty hex', function() {
- expect(SVG.regex.isHex.test('###')).toBeFalsy()
- expect(SVG.regex.isHex.test('#0')).toBeFalsy()
- expect(SVG.regex.isHex.test('f06')).toBeFalsy()
- })
- })
-
- describe('isRgb', function() {
- it('is true with an rgb value', function() {
- expect(SVG.regex.isRgb.test('rgb(255,66,100)')).toBeTruthy()
- })
- it('is false with a non-rgb value', function() {
- expect(SVG.regex.isRgb.test('hsb(255, 100, 100)')).toBeFalsy()
- })
- })
-
- describe('isNumber', function() {
-
- it('is true with a number', function() {
- ["1", "-1", "+15", "1.55", ".5", "5.", "1.3e2", "1E-4", "1e+12"].forEach(function(s) {
- expect(SVG.regex.isNumber.test(s)).toBeTruthy()
- })
- })
-
- it('is false with a faulty number', function() {
- ["1a", "+-1", "1.2.3", "1+1", "1e4.5", ".5.", "1f5", "."].forEach(function(s) {
- expect(SVG.regex.isNumber.test(s)).toBeFalsy()
- })
- })
-
- })
-
-
-
- })
-
-}) \ No newline at end of file
diff --git a/spec/spec/selector.js b/spec/spec/selector.js
deleted file mode 100644
index 470eaef..0000000
--- a/spec/spec/selector.js
+++ /dev/null
@@ -1,64 +0,0 @@
-describe('Selector', function() {
-
- describe('SVG()', function() {
- it('gets an element\'s instance by id', function() {
- var rect = draw.rect(111, 333)
-
- expect(SVG('#'+rect.id())).toBe(rect)
- })
- // it('gets a referenced element by attribute value', function() {
- // var rect = draw.defs().rect(100, 100)
- // , use = draw.use(rect)
- // , mark = draw.marker(10, 10)
- // , path = draw.path(svgPath).marker('end', mark)
- //
- // expect(SVG('#'+use.attr('href'))).toBe(rect)
- // expect(SVG('#'+path.attr('marker-end'))).toBe(mark)
- // })
- })
-
- describe('find()', function() {
- var e1, e2, e3, e4 ,e5
-
- beforeEach(function() {
- e1 = draw.rect(100, 100).addClass('selectable-element')
- e2 = draw.rect(100, 100).addClass('unselectable-element')
- e3 = draw.rect(100, 100).addClass('selectable-element')
- e4 = draw.rect(100, 100).addClass('unselectable-element')
- e5 = draw.rect(100, 100).addClass('selectable-element')
- })
- it('gets all elements with a given class name', function() {
- expect(SVG.find('rect.selectable-element')).toEqual([e1, e3, e5])
- })
- it('returns an Array', function() {
- expect(SVG.find('rect.selectable-element') instanceof Array).toBe(true)
- })
- })
-
- describe('Parent#find()', function() {
- it('gets all elements with a given class name inside a given element', function() {
- var group = draw.group()
- , e1 = draw.rect(100, 100).addClass('selectable-element')
- , e2 = draw.rect(100, 100).addClass('unselectable-element')
- , e3 = group.rect(100, 100).addClass('selectable-element')
- , e4 = draw.rect(100, 100).addClass('unselectable-element')
- , e5 = group.rect(100, 100).addClass('selectable-element')
-
- expect(group.find('rect.selectable-element')).toEqual([e3, e5])
- })
- })
-
- describe('Parent#findOne()', function() {
- it('gets all elements with a given class name inside a given element', function() {
- var group = draw.group()
- , e1 = draw.rect(100, 100).addClass('selectable-element')
- , e2 = draw.rect(100, 100).addClass('unselectable-element')
- , e3 = group.rect(100, 100).addClass('selectable-element')
- , e4 = draw.rect(100, 100).addClass('unselectable-element')
- , e5 = group.rect(100, 100).addClass('selectable-element')
-
- expect(group.findOne('rect.selectable-element')).toBe(e3)
- })
- })
-
-})
diff --git a/spec/spec/sugar.js b/spec/spec/sugar.js
deleted file mode 100644
index d247242..0000000
--- a/spec/spec/sugar.js
+++ /dev/null
@@ -1,357 +0,0 @@
-describe('Sugar', function () {
-
- var rect
-
- beforeEach(function () {
- draw.attr('viewBox', null)
- })
-
- afterEach(function () {
- draw.clear()
- })
-
- describe('fill()', function () {
- beforeEach(function () {
- rect = draw.rect(100, 100)
- })
-
- afterEach(function () {
- rect.remove()
- })
-
- it('returns the node reference', function () {
- expect(rect.fill('red')).toBe(rect)
- })
-
- it('sets the given value', function () {
- expect(rect.fill('red').attr('fill')).toBe('red')
- })
-
- it('sets the given value with object given', function () {
- rect.fill({ color: 'red', opacity: 0.5, rule: 'odd' })
- expect(rect.attr('fill')).toBe('red')
- expect(rect.attr('fill-opacity')).toBe(0.5)
- expect(rect.attr('fill-rule')).toBe('odd')
- })
-
- it('returns fill color when called as getter', function () {
- rect.fill('red')
- expect(rect.fill()).toBe('red')
- })
- })
-
- describe('rotate()', function () {
- var rect, spy, undefined
-
- beforeEach(function () {
- rect = draw.rect(100, 100)
- spyOn(rect, 'transform')
- })
-
- afterEach(function () {
- rect.remove()
- rect.transform.calls.reset()
- })
-
- it('redirects to transform()', function () {
- rect.rotate(1, 2, 3)
- expect(rect.transform).toHaveBeenCalledWith({ rotate: 1, ox: 2, oy: 3 }, true)
- })
- })
-
- describe('skew()', function () {
- var rect, spy, undefined
-
- beforeEach(function () {
- rect = draw.rect(100, 100)
- spyOn(rect, 'transform')
- })
-
- afterEach(function () {
- rect.remove()
- rect.transform.calls.reset()
- })
-
- it('redirects to transform() with no argument', function () {
- rect.skew()
- expect(rect.transform).toHaveBeenCalledWith({ skew: [ undefined, undefined ], ox: undefined, oy: undefined }, true)
- })
-
- it('redirects to transform() with one argument', function () {
- rect.skew(5)
- expect(rect.transform).toHaveBeenCalledWith({ skew: 5, ox: undefined, oy: undefined }, true)
- })
-
- it('redirects to transform() with two argument', function () {
- rect.skew(5, 6)
- expect(rect.transform).toHaveBeenCalledWith({ skew: [ 5, 6 ], ox: undefined, oy: undefined }, true)
- })
-
- it('redirects to transform() with three arguments', function () {
- rect.skew(5, 6, 7)
- expect(rect.transform).toHaveBeenCalledWith({ skew: 5, ox: 6, oy: 7 }, true)
- })
-
- it('redirects to transform() with four arguments', function () {
- rect.skew(5, 6, 7, 8)
- expect(rect.transform).toHaveBeenCalledWith({ skew: [ 5, 6 ], ox: 7, oy: 8 }, true)
- })
- })
-
- describe('scale()', function () {
- var rect, spy, undefined
-
- beforeEach(function () {
- rect = draw.rect(100, 100)
- spyOn(rect, 'transform')
- })
-
- afterEach(function () {
- rect.remove()
- rect.transform.calls.reset()
- })
-
- it('redirects to transform() with no argument', function () {
- rect.scale()
- expect(rect.transform).toHaveBeenCalledWith({ scale: [ undefined, undefined ], ox: undefined, oy: undefined }, true)
- })
-
- it('redirects to transform() with one argument', function () {
- rect.scale(5)
- expect(rect.transform).toHaveBeenCalledWith({ scale: 5, ox: undefined, oy: undefined }, true)
- })
-
- it('redirects to transform() with two argument', function () {
- rect.scale(5, 6)
- expect(rect.transform).toHaveBeenCalledWith({ scale: [ 5, 6 ], ox: undefined, oy: undefined }, true)
- })
-
- it('redirects to transform() with three arguments', function () {
- rect.scale(5, 6, 7)
- expect(rect.transform).toHaveBeenCalledWith({ scale: 5, ox: 6, oy: 7 }, true)
- })
-
- it('redirects to transform() with four arguments', function () {
- rect.scale(5, 6, 7, 8)
- expect(rect.transform).toHaveBeenCalledWith({ scale: [ 5, 6 ], ox: 7, oy: 8 }, true)
- })
- })
-
- describe('translate()', function () {
- var rect, spy, undefined
-
- beforeEach(function () {
- rect = draw.rect(100, 100)
- spyOn(rect, 'transform')
- })
-
- afterEach(function () {
- rect.remove()
- rect.transform.calls.reset()
- })
-
- it('redirects to transform()', function () {
- rect.translate(1, 2)
- expect(rect.transform).toHaveBeenCalledWith({ translate: [ 1, 2 ] }, true)
- })
- })
-
- describe('flip()', function () {
- var rect, spy, undefined
-
- beforeEach(function () {
- rect = draw.rect(100, 100)
- spyOn(rect, 'transform')
- })
-
- afterEach(function () {
- rect.remove()
- rect.transform.calls.reset()
- })
-
- it('redirects to transform()', function () {
- rect.flip('x', 2)
- expect(rect.transform).toHaveBeenCalledWith({ flip: 'x', origin: 2 }, true)
- })
-
- it('sets flip to "both" when calling without anything', function () {
- rect.flip()
- expect(rect.transform).toHaveBeenCalledWith({ flip: 'both', origin: 'center' }, true)
- })
-
- // this works because only x and y are valid flip values. Evereything else flips on both axis
- it('sets flip to both and origin to number when called with origin only', function () {
- rect.flip(5)
- expect(rect.transform).toHaveBeenCalledWith({ flip: 'both', origin: 5 }, true)
- })
- })
-
- describe('matrix()', function () {
- var rect, spy, undefined
-
- beforeEach(function () {
- rect = draw.rect(100, 100)
- spyOn(rect, 'attr')
- })
-
- afterEach(function () {
- rect.remove()
- rect.attr.calls.reset()
- })
-
- it('redirects to attr() directly with one argument', function () {
- rect.matrix([ 1, 2, 3, 4, 5, 6 ])
- expect(rect.attr).toHaveBeenCalledWith('transform', new SVG.Matrix([ 1, 2, 3, 4, 5, 6 ]))
- })
-
- it('redirects to attr() directly with 6 arguments', function () {
- rect.matrix(1, 2, 3, 4, 5, 6)
- expect(rect.attr).toHaveBeenCalledWith('transform', new SVG.Matrix([ 1, 2, 3, 4, 5, 6 ]))
- })
- })
-
- describe('opacity()', function () {
- var rect, spy, undefined
-
- beforeEach(function () {
- rect = draw.rect(100, 100)
- spyOn(rect, 'attr')
- })
-
- afterEach(function () {
- rect.remove()
- rect.attr.calls.reset()
- })
-
- it('redirects to attr() directly', function () {
- rect.opacity(0.5)
- expect(rect.attr).toHaveBeenCalledWith('opacity', 0.5)
- })
- })
-
- describe('dx() / dy()', function () {
- var rect, spy, undefined
-
- beforeEach(function () {
- rect = draw.rect(100, 100)
- spyOn(rect, 'x').and.callThrough()
- spyOn(rect, 'y').and.callThrough()
- })
-
- afterEach(function () {
- rect.remove()
- rect.x.calls.reset()
- rect.y.calls.reset()
- })
-
- it('redirects to x() / y() with adding the current value', function () {
- rect.dx(5)
- rect.dy(5)
- expect(rect.x).toHaveBeenCalledWith(jasmine.objectContaining(new SVG.Number('5')))
- expect(rect.y).toHaveBeenCalledWith(jasmine.objectContaining(new SVG.Number('5')))
- })
-
- it('allows to add a percentage value', function () {
- rect.move('5%', '5%')
-
- rect.dx('5%')
- rect.dy('5%')
-
- expect(rect.x).toHaveBeenCalledWith(jasmine.objectContaining(new SVG.Number('10%')))
- expect(rect.y).toHaveBeenCalledWith(jasmine.objectContaining(new SVG.Number('10%')))
- })
-
- it('allows to add a percentage value when no x/y is set', function () {
- rect.dx('5%')
- rect.dy('5%')
-
- expect(rect.x).toHaveBeenCalledWith(jasmine.objectContaining(new SVG.Number('5%')))
- expect(rect.y).toHaveBeenCalledWith(jasmine.objectContaining(new SVG.Number('5%')))
- })
- })
-
- describe('dmove()', function () {
- var rect, spy, undefined
-
- beforeEach(function () {
- rect = draw.rect(100, 100)
- spyOn(rect, 'dx').and.callThrough()
- spyOn(rect, 'dy').and.callThrough()
- })
-
- afterEach(function () {
- rect.remove()
- rect.dx.calls.reset()
- rect.dy.calls.reset()
- })
-
- it('redirects to dx() / dy() directly', function () {
- rect.dmove(5, 5)
- expect(rect.dx).toHaveBeenCalledWith(5)
- expect(rect.dy).toHaveBeenCalledWith(5)
- })
- })
-
- describe('font()', function () {
- var text, spy, undefined
-
- beforeEach(function () {
- text = draw.text(loremIpsum)
- spyOn(text, 'leading')
- spyOn(text, 'attr')
- })
-
- afterEach(function () {
- text.remove()
- text.leading.calls.reset()
- text.attr.calls.reset()
- })
-
- it('sets leading when given', function () {
- text.font({ leading: 3 })
- expect(text.leading).toHaveBeenCalledWith(3)
- })
-
- it('sets text-anchor when anchor given', function () {
- text.font({ anchor: 'start' })
- expect(text.attr).toHaveBeenCalledWith('text-anchor', 'start')
- })
-
- it('sets all font properties via attr()', function () {
- text.font({
- size: 20,
- family: 'Verdana',
- weight: 'bold',
- stretch: 'wider',
- variant: 'small-caps',
- style: 'italic'
- })
- expect(text.attr).toHaveBeenCalledWith('font-size', 20)
- expect(text.attr).toHaveBeenCalledWith('font-family', 'Verdana')
- expect(text.attr).toHaveBeenCalledWith('font-weight', 'bold')
- expect(text.attr).toHaveBeenCalledWith('font-stretch', 'wider')
- expect(text.attr).toHaveBeenCalledWith('font-variant', 'small-caps')
- expect(text.attr).toHaveBeenCalledWith('font-style', 'italic')
- })
-
- it('redirects all other stuff directly to attr()', function () {
- text.font({
- foo: 'bar',
- bar: 'baz'
- })
- expect(text.attr).toHaveBeenCalledWith('foo', 'bar')
- expect(text.attr).toHaveBeenCalledWith('bar', 'baz')
- })
-
- it('sets key value pair when called with 2 parameters', function () {
- text.font('size', 20)
- expect(text.attr).toHaveBeenCalledWith('font-size', 20)
- })
-
- it('gets value if called with one parameter', function () {
- text.font('size')
- expect(text.attr).toHaveBeenCalledWith('font-size', undefined)
- })
- })
-
-})
diff --git a/spec/spec/svg.js b/spec/spec/svg.js
deleted file mode 100644
index 41fce3d..0000000
--- a/spec/spec/svg.js
+++ /dev/null
@@ -1,128 +0,0 @@
-describe('SVG', function() {
-
- describe('()', function() {
- var drawing, wrapper, wrapperHTML, rect
-
- beforeEach(function() {
- wrapper = document.createElementNS('http://www.w3.org/2000/svg', 'svg')
- wrapper.id = 'testSvg'
- wrapperHTML = document.createElement('div')
- wrapperHTML.id = 'testDiv'
- rect = document.createElementNS('http://www.w3.org/2000/svg', 'rect')
- document.documentElement.appendChild(wrapper)
- document.documentElement.appendChild(wrapperHTML)
- })
-
- afterEach(function() {
- wrapper.parentNode.removeChild(wrapper)
- wrapperHTML.parentNode.removeChild(wrapperHTML)
- })
-
- it('creates an instanceof SVG.Svg without any argument', function() {
- expect(SVG() instanceof SVG.Svg).toBe(true)
- expect(SVG().node.nodeName).toBe('svg')
- })
-
- it('creates an instanceof SVG.Dom with html node', function() {
- var el = SVG(wrapperHTML)
- expect(el instanceof SVG.Dom).toBe(true)
- expect(el.node).toBe(wrapperHTML)
- })
-
- it('creates new SVG.Dom when called with css selector pointing to html node', function() {
- var el = SVG('#testDiv')
- expect(el instanceof SVG.Dom).toBe(true)
- expect(el.node).toBe(wrapperHTML)
- })
-
- it('creates an instanceof SVG.Svg with svg node', function() {
- var doc = SVG(wrapper)
- expect(doc instanceof SVG.Svg).toBe(true)
- expect(doc.node).toBe(wrapper)
- })
-
- it('creates new SVG.Svg when called with css selector pointing to svg node', function() {
- var doc = SVG('#testSvg')
- expect(doc instanceof SVG.Svg).toBe(true)
- expect(doc.node).toBe(wrapper)
- })
-
- it('adopts any SVGElement', function() {
- expect(SVG(rect) instanceof SVG.Rect).toBe(true)
- expect(SVG(rect).node).toBe(rect)
- })
-
- it('creates an instanceof SVG.Svg when importing a whole svg', function() {
- var doc = SVG('<svg width="200"><rect></rect></svg>')
-
- expect(doc instanceof SVG.Svg).toBe(true)
- expect(doc.node.nodeName).toBe('svg')
- expect(doc.width()).toBe(200)
- expect(doc.get(0).node.nodeName).toBe('rect')
- })
-
- it('creates SVG.Shape from any shape string', function() {
- var rect = SVG('<rect width="200" height="100" />')
- , circle = SVG('<circle r="200" />')
-
- expect(rect instanceof SVG.Rect).toBe(true)
- expect(rect.node.nodeName).toBe('rect')
- expect(rect.width()).toBe(200)
-
- expect(circle instanceof SVG.Circle).toBe(true)
- expect(circle.node.nodeName).toBe('circle')
- expect(circle.attr('r')).toBe(200)
- })
-
- it('returns the argument when called with any SVG.Element', function() {
- drawing = SVG(wrapper)
- expect(SVG(drawing)).toBe(drawing)
- })
- })
-
- describe('create()', function() {
- it('creates an element with given node name and return it', function() {
- var element = SVG.create('rect')
-
- expect(element.nodeName).toBe('rect')
- })
- })
-
- describe('extend()', function() {
- it('adds all functions in the given object to the target object', function() {
- SVG.extend(SVG.Rect, {
- soft: function() {
- return this.opacity(0.2)
- }
- })
-
- expect(typeof SVG.Rect.prototype.soft).toBe('function')
- expect(draw.rect(100,100).soft().attr('opacity')).toBe(0.2)
- })
- it('accepts and extend multiple modules at once', function() {
- SVG.extend([SVG.Rect, SVG.Ellipse, SVG.Path], {
- soft: function() {
- return this.opacity(0.5)
- }
- })
-
- expect(typeof SVG.Rect.prototype.soft).toBe('function')
- expect(draw.rect(100,100).soft().attr('opacity')).toBe(0.5)
- expect(typeof SVG.Ellipse.prototype.soft).toBe('function')
- expect(draw.ellipse(100,100).soft().attr('opacity')).toBe(0.5)
- expect(typeof SVG.Path.prototype.soft).toBe('function')
- expect(draw.path().soft().attr('opacity')).toBe(0.5)
- })
- // it('ignores non existant objects', function() {
- // SVG.extend([SVG.Rect, SVG.Bogus], {
- // soft: function() {
- // return this.opacity(0.3)
- // }
- // })
- //
- // expect(typeof SVG.Rect.prototype.soft).toBe('function')
- // expect(draw.rect(100,100).soft().attr('opacity')).toBe(0.3)
- // expect(typeof SVG.Bogus).toBe('undefined')
- // })
- })
-})
diff --git a/spec/spec/symbol.js b/spec/spec/symbol.js
deleted file mode 100644
index a4febbd..0000000
--- a/spec/spec/symbol.js
+++ /dev/null
@@ -1,16 +0,0 @@
-describe('Symbol', function() {
- describe('()', function() {
- var element
-
- beforeEach(function() {
- element = draw.symbol()
- })
-
- it('creates an instance of SVG.Symbol', function() {
- expect(element instanceof SVG.Symbol).toBeTruthy()
- })
- it('is an instance of SVG.Container', function() {
- expect(element instanceof SVG.Container).toBeTruthy()
- })
- })
-}) \ No newline at end of file
diff --git a/spec/spec/textpath.js b/spec/spec/textpath.js
deleted file mode 100644
index 9d4577f..0000000
--- a/spec/spec/textpath.js
+++ /dev/null
@@ -1,98 +0,0 @@
-describe('TextPath', function() {
- var text
- , path
- , txt = 'We go up, then we go down, then up again'
- , data = 'M 100 200 C 200 100 300 0 400 100 C 500 200 600 300 700 200 C 800 100 900 100 900 100'
-
- beforeEach(function() {
- text = draw.text(txt)
- path = draw.path(data)
- })
-
- afterEach(function() {
- draw.clear()
- })
-
- describe('textPath()', function () {
- it ('creates a new textPath and uses text and path', function () {
- expect(draw.textPath(txt, data)).toEqual(jasmine.any(SVG.TextPath))
- })
-
- it ('reuses text and path instances if possible', function () {
- const textPath = draw.textPath(text, path)
- expect(text.find('textPath')[0]).toBe(textPath)
- expect(textPath.reference('href')).toBe(path)
- })
-
- it ('passes the text into textPath and not text', function () {
- const tspan = text.first()
- const textPath = draw.textPath(text, path)
- expect(textPath.first()).toBe(tspan)
- expect(text.first()).toBe(textPath)
- })
- })
-
- describe('text().path()', function() {
- it('returns an instance of TextPath', function() {
- expect(text.path(data) instanceof SVG.TextPath).toBe(true)
- })
- it('creates a textPath node in the text element', function() {
- text.path(data)
- expect(text.node.querySelector('textPath')).not.toBe(null)
- })
- it('references the passed path', function () {
- const textPath = text.path(path)
- expect(textPath.reference('href')).toBe(path)
- })
- })
-
- describe('path().text()', function() {
- it('returns an instance of TextPath', function() {
- expect(path.text(txt) instanceof SVG.TextPath).toBe(true)
- })
- it('creates a text with textPath node and inserts it after the path', function() {
- var textPath = path.text(txt)
- expect(textPath.parent() instanceof SVG.Text).toBe(true)
- expect(SVG.adopt(path.node.nextSibling) instanceof SVG.Text).toBe(true)
- })
- it('transplants the node from text to textPath', function () {
- let nodesInText = [].slice.call(text.node.childNodes)
- var textPath = path.text(txt)
- let nodesInTextPath = [].slice.call(textPath.node.childNodes)
- expect(nodesInText).toEqual(nodesInTextPath)
- })
- })
-
- describe('text.textPath()', function() {
- it('returns only the first textPath element in a text', function() {
- text.path(data)
- expect(text.textPath() instanceof SVG.TextPath).toBe(true)
- })
- })
-
- describe('track()', function() {
- it('returns the referenced path instance', function() {
- expect(text.path(data).track() instanceof SVG.Path).toBe(true)
- })
- })
-
- describe('array()', function() {
- it('return the path array of the underlying path', function() {
- expect(text.path(data).array()).toEqual(new SVG.PathArray(data))
- })
- it('return null if there is no underlying path', function () {
- expect(text.path(data).attr('href', null, SVG.xlink).array()).toBe(null)
- })
- })
-
- describe('plot()', function() {
- it('change the array of the underlying path when a string is passed', function() {
- expect(text.path().plot(data).array()).toEqual(new SVG.PathArray(data))
- })
- it('return the path array of the underlying path when no arguments is passed', function () {
- var textPath = text.path(data)
- expect(textPath.plot()).toBe(textPath.array())
- expect(textPath.plot()).not.toBe(null)
- })
- })
-})
diff --git a/spec/spec/types/ArrayPolyfill.js b/spec/spec/types/ArrayPolyfill.js
deleted file mode 100644
index edf12bd..0000000
--- a/spec/spec/types/ArrayPolyfill.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/* globals describe, expect, it, jasmine */
-
-import { subClassArray } from '../../../src/types/ArrayPolyfill.js'
-const { any, createSpy } = jasmine
-
-describe('ArrayPolyfill.js', function () {
- describe('subClassArray()', function () {
- it('creates a new class inherited from Array', () => {
- const MyArray = subClassArray('myArray', Array)
- expect(new MyArray()).toEqual(any(Array))
- expect(new MyArray()).toEqual(any(MyArray))
- })
-
- it('sets the name attribute of the class correctly', () => {
- const MyArray = subClassArray('myArray', Array)
- expect(MyArray.name).toEqual('myArray')
- })
-
- it('calls the given function on construction', () => {
- const spy = createSpy()
- const MyArray = subClassArray('myArray', Array, spy)
-
- new MyArray(1, 2, 3, 4) // eslint-disable-line
- expect(spy).toHaveBeenCalledWith(1, 2, 3, 4)
- })
- })
-})
diff --git a/spec/spec/use.js b/spec/spec/use.js
deleted file mode 100644
index 5935710..0000000
--- a/spec/spec/use.js
+++ /dev/null
@@ -1,43 +0,0 @@
-describe('Use', function() {
- var use
-
- describe('on a container element', function() {
- var rect
-
- beforeEach(function() {
- rect = draw.rect(100,100)
- use = draw.use(rect)
- })
-
- it('creates an instance of SVG.Use', function() {
- expect(use instanceof SVG.Use).toBe(true)
- })
-
- it('sets the target element id to its href attribute', function() {
- expect(use.node.getAttributeNS(SVG.namespaces.xlink, 'href')).toBe('#' + rect)
- })
-
- it('adopts the geometry of the target element', function() {
- expect(use.bbox()).toEqual(rect.bbox())
- })
- })
-
- describe('on an external path', function() {
- var file = 'http://upload.wikimedia.org/wikipedia/commons/8/84/Example.svg'
- , id = 'flowRoot1882'
-
- beforeEach(function() {
- use = draw.use(id, file)
- })
-
- it('creates an instance of SVG.Use', function() {
- expect(use instanceof SVG.Use).toBe(true)
- })
-
- it('sets the target element id and file path to its href attribute', function() {
- expect(use.node.getAttributeNS(SVG.namespaces.xlink, 'href')).toBe(file + '#' + id)
- })
-
- })
-
-})
diff --git a/spec/spec/utils.js b/spec/spec/utils.js
deleted file mode 100644
index be8262e..0000000
--- a/spec/spec/utils.js
+++ /dev/null
@@ -1,10 +0,0 @@
-describe('SVG.utils', function() {
- describe('degrees()', function() {
- it('converts radiant to degrees', function() {
- expect(SVG.utils.degrees(Math.PI)).toBe(180)
- })
- it('maps to 0 - 360 degree only', function() {
- expect(SVG.utils.degrees(2.5 * Math.PI)).toBe(90)
- })
- })
-}) \ No newline at end of file
diff --git a/spec/spec/utils/adopter.js b/spec/spec/utils/adopter.js
index e544752..5ed6713 100644
--- a/spec/spec/utils/adopter.js
+++ b/spec/spec/utils/adopter.js
@@ -66,7 +66,7 @@ describe('adopter.js', () => {
})
it('creates an element from passed svg string', () => {
- const rect = makeInstance('<rect width="200px">')
+ const rect = makeInstance('<rect width="200px" />')
expect(adoptSpy).toHaveBeenCalledWith(any(Node))
expect(adoptSpy).toHaveBeenCalledWith(objectContaining({ nodeName: 'rect' }))
@@ -84,7 +84,7 @@ describe('adopter.js', () => {
})
it('does not have its wrapper attached', () => {
- const rect = makeInstance('<rect width="200px">')
+ const rect = makeInstance('<rect width="200px" />')
expect(rect.parent()).toBe(null)
})
@@ -212,6 +212,7 @@ describe('adopter.js', () => {
expect(typeof A.prototype.test).toBe('function')
expect(new A().test().prop).toBe('test')
})
+
it('accepts and extend multiple modules at once', () => {
const A = class {}
const B = class {}
diff --git a/spec/spec/utils/methods.js b/spec/spec/utils/methods.js
new file mode 100644
index 0000000..10d50d8
--- /dev/null
+++ b/spec/spec/utils/methods.js
@@ -0,0 +1,30 @@
+/* globals describe, expect, it */
+
+import { registerMethods, getMethodsFor, getMethodNames } from '../../../src/utils/methods.js'
+
+describe('methods.js', () => {
+ describe('registerMethods() / getMethodsFor() / addMethodNames / getMethodNames()', () => {
+ it('adds methods for a given type of classes with object given', () => {
+ const foo = {
+ func1: () => {}
+ }
+ registerMethods({ foo })
+
+ expect(getMethodsFor('foo')).toEqual(foo)
+ })
+
+ it('adds methods for a given type of classes with 2 parameters given', () => {
+ const foo = {
+ func1: () => {}
+ }
+ registerMethods('foo', foo)
+
+ expect(getMethodsFor('foo')).toEqual(foo)
+ })
+
+ it('adds a method name', () => {
+ registerMethods({ bar: { func2: () => {} } })
+ expect(getMethodNames()).toContain('func2')
+ })
+ })
+})
diff --git a/spec/spec/utils/window.js b/spec/spec/utils/window.js
new file mode 100644
index 0000000..65fbcab
--- /dev/null
+++ b/spec/spec/utils/window.js
@@ -0,0 +1,36 @@
+/* globals describe, expect, it */
+
+import { registerWindow, globals, withWindow, getWindow, saveWindow, restoreWindow } from '../../../src/utils/window.js'
+
+describe('window.js', () => {
+ describe('registerWindow()', () => {
+ it('sets a new window as global', () => {
+ saveWindow()
+ const win = {}
+ const doc = {}
+ registerWindow(win, doc)
+ expect(globals.window).toBe(win)
+ expect(globals.document).toBe(doc)
+ restoreWindow() // we need this or jasmine will fail in afterAll
+ })
+ })
+
+ describe('withWindow()', () => {
+ it('runs a function in the specified window context', () => {
+ const win = { foo: 'bar', document: {} }
+ const oldWindow = globals.window
+ expect(globals.window).not.toBe(win)
+ withWindow({ foo: 'bar', document: {} }, () => {
+ expect(globals.window).toEqual(win)
+ expect(globals.document).toEqual(win.document)
+ })
+ expect(globals.window).toBe(oldWindow)
+ })
+ })
+
+ describe('getWindow()', () => {
+ it('returns the registered window', () => {
+ expect(getWindow()).toBe(globals.window)
+ })
+ })
+})
diff --git a/spec/support/jasmine.json b/spec/support/jasmine.json
deleted file mode 100644
index c7845fc..0000000
--- a/spec/support/jasmine.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "spec_dir": "spec/spec",
- "spec_files": [
- "!(helpers).js"
- ],
- "helpers": [
- "helpers.js"
- ]
-}
diff --git a/src/animation/Runner.js b/src/animation/Runner.js
index e2ba380..e0ac5a8 100644
--- a/src/animation/Runner.js
+++ b/src/animation/Runner.js
@@ -9,11 +9,10 @@ import Animator from './Animator.js'
import Box from '../types/Box.js'
import EventTarget from '../types/EventTarget.js'
import Matrix from '../types/Matrix.js'
-import Morphable, { TransformBag } from './Morphable.js'
+import Morphable, { TransformBag, ObjectBag } from './Morphable.js'
import Point from '../types/Point.js'
import SVGNumber from '../types/SVGNumber.js'
import Timeline from './Timeline.js'
-import { ObjectBag } from '../main.js'
export default class Runner extends EventTarget {
constructor (options) {
@@ -654,11 +653,6 @@ registerMethods({
}
})
-const intersect = (a, b) => {
- var setB = new Set(b)
- return [ ...new Set(a) ].filter(x => setB.has(x))
-}
-
// Will output the elements from array A that are not in the array B
const difference = (a, b) => a.filter(x => !b.includes(x))
diff --git a/src/elements/Dom.js b/src/elements/Dom.js
index 1f25c0b..eb59418 100644
--- a/src/elements/Dom.js
+++ b/src/elements/Dom.js
@@ -264,8 +264,9 @@ export default class Dom extends EventTarget {
xml (xmlOrFn, outerXML, ns) {
var well, len, fragment
- if (xmlOrFn === false) {
- outerXML = false
+ if (typeof xmlOrFn === 'boolean') {
+ ns = outerXML
+ outerXML = xmlOrFn
xmlOrFn = null
}
@@ -319,7 +320,7 @@ export default class Dom extends EventTarget {
outerXML = outerXML == null ? false : outerXML
// Create temporary holder
- well = globals.document.createElementNS(ns, 'svg')
+ well = create('wrapper', ns)
fragment = globals.document.createDocumentFragment()
// Dump raw svg
diff --git a/src/elements/Fragment.js b/src/elements/Fragment.js
index 228e93f..d2c4764 100644
--- a/src/elements/Fragment.js
+++ b/src/elements/Fragment.js
@@ -1,30 +1,31 @@
import Dom from './Dom.js'
import { globals } from '../utils/window.js'
-import { register } from '../utils/adopter.js'
-import Svg from './Svg.js'
+import { register, create } from '../utils/adopter.js'
class Fragment extends Dom {
constructor (node = globals.document.createDocumentFragment()) {
super(node)
}
- // Import / Export raw svg
- svg (svgOrFn, outerHTML) {
- if (svgOrFn === false) {
- outerHTML = false
- svgOrFn = null
+ // Import / Export raw xml
+ xml (xmlOrFn, outerXML, ns) {
+ if (typeof xmlOrFn === 'boolean') {
+ ns = outerXML
+ outerXML = xmlOrFn
+ xmlOrFn = null
}
- // act as getter if no svg string is given
- if (svgOrFn == null || typeof svgOrFn === 'function') {
- const wrapper = new Svg()
+ // because this is a fragment we have to put all elements into a wrapper first
+ // before we can get the innerXML from it
+ if (xmlOrFn == null || typeof xmlOrFn === 'function') {
+ const wrapper = new Dom(create('wrapper', ns))
wrapper.add(this.node.cloneNode(true))
- return wrapper.svg(svgOrFn, false)
+ return wrapper.xml(false, ns)
}
// Act as setter if we got a string
- return super.svg(svgOrFn, false)
+ return super.xml(xmlOrFn, false, ns)
}
}
diff --git a/src/elements/TextPath.js b/src/elements/TextPath.js
index e4208c2..9ed4a71 100644
--- a/src/elements/TextPath.js
+++ b/src/elements/TextPath.js
@@ -92,7 +92,12 @@ registerMethods({
}),
targets () {
- return baseFind('svg textPath[*|href*="' + this.id() + '"]')
+ return baseFind('svg textPath').filter((node) => {
+ return node.attr('href').includes(this.id())
+ })
+
+ // Does not work in IE11. Use when IE support is dropped
+ // return baseFind('svg textPath[*|href*="' + this.id() + '"]')
}
}
})
diff --git a/src/polyfills/innerHTML.js b/src/polyfills/innerHTML.js
index 4be7f1b..138277e 100644
--- a/src/polyfills/innerHTML.js
+++ b/src/polyfills/innerHTML.js
@@ -13,18 +13,18 @@
output.push('<', node.tagName)
if (node.hasAttributes()) {
[].forEach.call(node.attributes, function (attrNode) {
- output.push(' ', attrNode.name, '=\'', attrNode.value, '\'')
+ output.push(' ', attrNode.name, '="', attrNode.value, '"')
})
}
+ output.push('>')
if (node.hasChildNodes()) {
- output.push('>');
[].forEach.call(node.childNodes, function (childNode) {
serializeXML(childNode, output)
})
- output.push('</', node.tagName, '>')
} else {
- output.push('/>')
+ // output.push('/>')
}
+ output.push('</', node.tagName, '>')
} else if (nodeType === 8) {
output.push('<!--', node.nodeValue, '-->')
}
diff --git a/src/types/ArrayPolyfill.js b/src/types/ArrayPolyfill.js
deleted file mode 100644
index 4d2309f..0000000
--- a/src/types/ArrayPolyfill.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/* eslint no-new-func: "off" */
-export const subClassArray = (function () {
- try {
- // try es6 subclassing
- return Function('name', 'baseClass', '_constructor', [
- 'baseClass = baseClass || Array',
- 'return {',
- ' [name]: class extends baseClass {',
- ' constructor (...args) {',
- ' super(...args)',
- ' _constructor && _constructor.apply(this, args)',
- ' }',
- ' }',
- '}[name]'
- ].join('\n'))
- } catch (e) {
- // Use es5 approach
- return (name, baseClass = Array, _constructor) => {
- const Arr = function () {
- baseClass.apply(this, arguments)
- _constructor && _constructor.apply(this, arguments)
- }
-
- Arr.prototype = Object.create(baseClass.prototype)
- Arr.prototype.constructor = Arr
-
- Arr.prototype.map = function (fn) {
- const arr = new Arr()
- arr.push.apply(arr, Array.prototype.map.call(this, fn))
- return arr
- }
-
- return Arr
- }
- }
-})()
diff --git a/src/types/List.js b/src/types/List.js
index b68e362..197a155 100644
--- a/src/types/List.js
+++ b/src/types/List.js
@@ -1,16 +1,25 @@
import { extend } from '../utils/adopter.js'
-import { subClassArray } from './ArrayPolyfill.js'
+// import { subClassArray } from './ArrayPolyfill.js'
+
+class List extends Array {
+ constructor (arr = [], ...args) {
+ super(arr, ...args)
+ if (typeof arr === 'number') return this
+ this.length = 0
+ this.push(...arr)
+ }
+}
-const List = subClassArray('List', Array, function (arr = []) {
+/* = subClassArray('List', Array, function (arr = []) {
// This catches the case, that native map tries to create an array with new Array(1)
if (typeof arr === 'number') return this
this.length = 0
this.push(...arr)
-})
+}) */
export default List
-extend(List, {
+extend([ List ], {
each (fnOrMethodName, ...args) {
if (typeof fnOrMethodName === 'function') {
return this.map((el, i, arr) => {
@@ -45,5 +54,5 @@ List.extend = function (methods) {
return obj
}, {})
- extend(List, methods)
+ extend([ List ], methods)
}
diff --git a/src/types/PathArray.js b/src/types/PathArray.js
index 03fdee3..d9c1eb2 100644
--- a/src/types/PathArray.js
+++ b/src/types/PathArray.js
@@ -6,17 +6,11 @@ import {
numbersWithDots,
pathLetters
} from '../modules/core/regex.js'
-import { extend } from '../utils/adopter.js'
-import { subClassArray } from './ArrayPolyfill.js'
import Point from './Point.js'
import SVGArray from './SVGArray.js'
import parser from '../modules/core/parser.js'
import Box from './Box.js'
-const PathArray = subClassArray('PathArray', SVGArray)
-
-export default PathArray
-
export function pathRegReplace (a, b, c, d) {
return c + d.replace(dots, ' .')
}
@@ -130,11 +124,11 @@ for (var i = 0, il = mlhvqtcsaz.length; i < il; ++i) {
})(mlhvqtcsaz[i].toUpperCase())
}
-extend(PathArray, {
+export default class PathArray extends SVGArray {
// Convert array to string
toString () {
return arrayToString(this)
- },
+ }
// Move path string
move (x, y) {
@@ -175,7 +169,7 @@ extend(PathArray, {
}
return this
- },
+ }
// Resize path string
size (width, height) {
@@ -221,7 +215,7 @@ extend(PathArray, {
}
return this
- },
+ }
// Absolutize and parse path to array
parse (array = [ 'M', 0, 0 ]) {
@@ -268,11 +262,11 @@ extend(PathArray, {
} while (len > index)
return result
- },
+ }
// Get bounding box of path
bbox () {
parser().path.setAttribute('d', this.toString())
return new Box(parser.nodes.path.getBBox())
}
-})
+}
diff --git a/src/types/PointArray.js b/src/types/PointArray.js
index 54df08f..27a2076 100644
--- a/src/types/PointArray.js
+++ b/src/types/PointArray.js
@@ -1,15 +1,9 @@
import { delimiter } from '../modules/core/regex.js'
-import { extend } from '../utils/adopter.js'
-import { subClassArray } from './ArrayPolyfill.js'
import SVGArray from './SVGArray.js'
-import { Matrix } from '../main.js'
import Box from './Box.js'
+import Matrix from './Matrix.js'
-const PointArray = subClassArray('PointArray', SVGArray)
-
-export default PointArray
-
-extend(PointArray, {
+export default class PointArray extends SVGArray {
// Convert array to string
toString () {
// convert to a poly point string
@@ -18,7 +12,7 @@ extend(PointArray, {
}
return array.join(' ')
- },
+ }
// Convert array to line object
toLine () {
@@ -28,7 +22,7 @@ extend(PointArray, {
x2: this[1][0],
y2: this[1][1]
}
- },
+ }
// Parse point string and flat array
parse (array = [ 0, 0 ]) {
@@ -52,11 +46,11 @@ extend(PointArray, {
}
return points
- },
+ }
transform (m) {
return this.clone().transformO(m)
- },
+ }
// transform points with matrix (similar to Point.transform)
transformO (m) {
@@ -72,7 +66,7 @@ extend(PointArray, {
}
return this
- },
+ }
// Move point string
move (x, y) {
@@ -90,7 +84,7 @@ extend(PointArray, {
}
return this
- },
+ }
// Resize poly string
size (width, height) {
@@ -104,7 +98,7 @@ extend(PointArray, {
}
return this
- },
+ }
// Get bounding box of points
bbox () {
@@ -120,4 +114,4 @@ extend(PointArray, {
})
return new Box(minX, minY, maxX - minX, maxY - minY)
}
-})
+}
diff --git a/src/types/SVGArray.js b/src/types/SVGArray.js
index 7f27ec4..dafa2d4 100644
--- a/src/types/SVGArray.js
+++ b/src/types/SVGArray.js
@@ -1,36 +1,33 @@
import { delimiter } from '../modules/core/regex.js'
-import { extend } from '../utils/adopter.js'
-import { subClassArray } from './ArrayPolyfill.js'
-const SVGArray = subClassArray('SVGArray', Array, function (arr) {
- this.init(arr)
-})
-
-export default SVGArray
+export default class SVGArray extends Array {
+ constructor (...args) {
+ super(...args)
+ this.init(...args)
+ }
-extend(SVGArray, {
init (arr) {
// This catches the case, that native map tries to create an array with new Array(1)
if (typeof arr === 'number') return this
this.length = 0
this.push(...this.parse(arr))
return this
- },
+ }
toArray () {
return Array.prototype.concat.apply([], this)
- },
+ }
toString () {
return this.join(' ')
- },
+ }
// Flattens the array if needed
valueOf () {
const ret = []
ret.push(...this)
return ret
- },
+ }
// Parse whitespace separated string
parse (array = []) {
@@ -38,13 +35,13 @@ extend(SVGArray, {
if (array instanceof Array) return array
return array.trim().split(delimiter).map(parseFloat)
- },
+ }
clone () {
return new this.constructor(this)
- },
+ }
toSet () {
return new Set(this)
}
-})
+}
diff --git a/src/utils/adopter.js b/src/utils/adopter.js
index a136655..2de1b27 100644
--- a/src/utils/adopter.js
+++ b/src/utils/adopter.js
@@ -8,9 +8,9 @@ const elements = {}
export const root = '___SYMBOL___ROOT___'
// Method for element creation
-export function create (name) {
+export function create (name, ns = svg) {
// create element
- return globals.document.createElementNS(svg, name)
+ return globals.document.createElementNS(ns, name)
}
export function makeInstance (element, isHTML = false) {
@@ -114,26 +114,18 @@ export function assignNewId (node) {
}
// Method for extending objects
-export function extend (modules, methods, attrCheck) {
+export function extend (modules, methods) {
var key, i
modules = Array.isArray(modules) ? modules : [ modules ]
for (i = modules.length - 1; i >= 0; i--) {
for (key in methods) {
- let method = methods[key]
- if (attrCheck) {
- method = wrapWithAttrCheck(methods[key])
- }
- modules[i].prototype[key] = method
+ modules[i].prototype[key] = methods[key]
}
}
}
-// export function extendWithAttrCheck (...args) {
-// extend(...args, true)
-// }
-
export function wrapWithAttrCheck (fn) {
return function (...args) {
const o = args[args.length - 1]
@@ -145,27 +137,3 @@ export function wrapWithAttrCheck (fn) {
}
}
}
-
-export function invent (config) {
- // Create element initializer
- var initializer = typeof config.create === 'function'
- ? config.create
- : function (node) {
- this.constructor(node || create(config.create))
- }
-
- // Inherit prototype
- if (config.inherit) {
- /* eslint new-cap: off */
- initializer.prototype = new config.inherit()
- initializer.prototype.constructor = initializer
- }
-
- // Extend with methods
- if (config.extend) { extend(initializer, config.extend) }
-
- // Attach construct method to parent
- if (config.construct) { extend(config.parent || elements.Container, config.construct) }
-
- return initializer
-}