diff --git a/.gitignore b/.gitignore
index 2725c53..5dcd022 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,8 +1,9 @@
+/.idea
node_modules/
/coverage
-/.idea
/build
/travis-ci
/gh-pages
-.work/
+/.work
!/bin
+.eslintcache
diff --git a/__tests__/functions.js b/__tests__/functions.js
index 3feb558..7339170 100644
--- a/__tests__/functions.js
+++ b/__tests__/functions.js
@@ -1,228 +1,228 @@
-/* eslint-disable no-magic-numbers */
-import { reset, create, isStatic, getCss, refresh } from '../src/functions';
-import { INVIEW_EVENT, RESET_KEYS, ZERO_SEC } from '../src/constants';
-
-const cssValue = Object.assign( ...RESET_KEYS.map( ( key, index ) => ( { [ key ]: index } ) ) );
-
-describe( 'reset', () => {
- it( 'should not reset', () => {
- const attr = jest.fn( () => false );
- const target = {
- attr: attr,
- };
- reset( target );
-
- expect( attr ).toBeCalled();
- } );
-
- it( 'should reset', () => {
- const attr = jest.fn( ( key, value ) => {
- expect( value === undefined || value === false ).toBeTruthy();
- return true;
- } );
- const off = jest.fn();
- const target = {
- attr: attr,
- off: off,
- 0: {
- resetValues: false,
- },
- };
- reset( target );
-
- expect( attr ).toBeCalledTimes( 2 );
- expect( off ).toBeCalled();
- } );
-
- it( 'should reset', () => {
- const css = jest.fn( ( key, value ) => {
- expect( cssValue ).toHaveProperty( key );
- expect( value ).toBe( cssValue[ key ] );
- } );
- const target = {
- attr: () => true,
- off: () => true,
- css: css,
- 0: {
- resetValues: cssValue,
- },
- };
- reset( target );
-
- RESET_KEYS.forEach( key => {
- expect( target[ 0 ] ).not.toHaveProperty( key );
- } );
- expect( css ).toBeCalled();
- } );
-} );
-
-describe( 'create', () => {
- const test = ( options, check ) => {
- const off = jest.fn();
- const trigger = jest.fn();
- const on = jest.fn( ( event, callback ) => {
- expect( event ).toBe( INVIEW_EVENT );
- callback( {}, true );
- callback( {}, false );
- } );
- const data = jest.fn( () => ( {
- on: on,
- } ) );
- const stopCss = jest.fn();
- const stop = jest.fn( () => ( {
- css: stopCss,
- } ) );
- const css = () => ( {
- attr: () => {
- },
- } );
-
- create( {
- 0: {},
- css: css,
- data: data,
- stop: stop,
- off: off,
- trigger: trigger,
- }, options );
-
- expect( data ).toBeCalled();
- expect( on ).toBeCalled();
- expect( stop ).toBeCalled();
- expect( stopCss ).toBeCalled();
-
- check( off, trigger );
- };
-
- it( 'should create', () => {
- test( {
- stripe: false,
- repeat: false,
- cssFilter: () => ( {} ),
- }, ( off, trigger ) => {
- expect( off ).toBeCalled();
- expect( trigger ).not.toBeCalled();
- } );
- } );
-
- it( 'should create', () => {
- test( {
- stripe: false,
- repeat: true,
- cssFilter: () => ( {} ),
- }, ( off, trigger ) => {
- expect( off ).not.toBeCalled();
- expect( trigger ).toBeCalled();
- } );
- } );
-} );
-
-describe( 'isStatic', () => {
- it( 'should true', () => {
- expect( isStatic( { stripe: true } ) ).toBeTruthy();
- expect( isStatic( { stripe: false, delay: ZERO_SEC, duration: ZERO_SEC } ) ).toBeTruthy();
- } );
-
- it( 'should false', () => {
- expect( isStatic( {} ) ).toBeFalsy();
- expect( isStatic( { stripe: false, delay: ZERO_SEC, duration: '.6s' } ) ).toBeFalsy();
- } );
-} );
-
-describe( 'getCss', () => {
- it( 'should get marker css', () => {
- const css = getCss( {
- stripe: false,
- 'padding_bottom': 'a',
- 'font_weight': 'b',
- thickness: 'c',
- color: 'd',
- cssFilter: css => css,
- } );
- expect( css ).toHaveProperty( 'display' );
- expect( css ).toHaveProperty( 'background-position' );
- expect( css ).toHaveProperty( 'padding-bottom' );
- expect( css ).toHaveProperty( 'font-weight' );
- expect( css ).toHaveProperty( 'background-size' );
- expect( css ).toHaveProperty( 'background-repeat' );
- expect( css ).toHaveProperty( 'background-image' );
- expect( css[ 'display' ] ).toBe( 'inline' );
- expect( css[ 'background-position' ] ).toBe( 'left 0 center' );
- expect( css[ 'padding-bottom' ] ).toBe( 'a' );
- expect( css[ 'font-weight' ] ).toBe( 'b' );
- expect( css[ 'background-size' ] ).toBe( '200% c' );
- expect( css[ 'background-repeat' ] ).toBe( 'repeat-x' );
- expect( css[ 'background-image' ] ).toBe( 'linear-gradient(to right, rgba(255,255,255,0) 50%, d 50%)' );
- } );
-
- it( 'should get marker css', () => {
- const css = getCss( {
- stripe: false,
- delay: ZERO_SEC,
- duration: ZERO_SEC,
- 'padding_bottom': 'a',
- cssFilter: css => css,
- } );
- expect( css ).toHaveProperty( 'background-position' );
- expect( css[ 'background-position' ] ).toBe( 'left -100% center' );
- } );
-
- it( 'should get stripe css', () => {
- const cssFilter = jest.fn( css => {
- Object.keys( css ).forEach( key => css[ key ] += '-test' );
- return css;
- } );
- const css = getCss( {
- stripe: true,
- 'padding_bottom': 'a',
- thickness: 'b',
- color: 'c',
- 'stripe_thickness': 3,
- cssFilter: cssFilter,
- } );
-
- expect( css ).toHaveProperty( 'display' );
- expect( css ).toHaveProperty( 'background-position' );
- expect( css ).toHaveProperty( 'padding-bottom' );
- expect( css ).toHaveProperty( 'background-size' );
- expect( css ).toHaveProperty( 'background-repeat' );
- expect( css ).toHaveProperty( 'background-image' );
- expect( css[ 'display' ] ).toBe( 'inline-test' );
- expect( css[ 'background-position' ] ).toBe( 'left 0 center-test' );
- expect( css[ 'padding-bottom' ] ).toBe( 'a-test' );
- expect( css[ 'background-size' ] ).toBe( '100% b-test' );
- expect( css[ 'background-repeat' ] ).toBe( 'no-repeat-test' );
- expect( css[ 'background-image' ] ).toBe( 'repeating-linear-gradient(-45deg, c, c 3px, transparent 3px, transparent 6px)-test' );
- expect( cssFilter ).toBeCalled();
- } );
-} );
-
-describe( 'refresh', () => {
- it( 'should refresh', () => {
- const off = jest.fn();
- const attr = jest.fn();
- const css = jest.fn( key => {
- if ( typeof key === 'object' ) {
- return { attr: attr };
- }
- return cssValue[ key ];
- } );
- const target = {
- off: off,
- css: css,
- attr: () => false,
- 0: {},
- };
- refresh( target, {
- stripe: true,
- cssFilter: css => css,
- } );
-
- expect( off ).toBeCalled();
- expect( attr ).toBeCalled();
- expect( target[ 0 ] ).toHaveProperty( 'resetValues' );
- RESET_KEYS.forEach( ( key, index ) => {
- expect( target[ 0 ].resetValues[ key ] ).toBe( index );
- } );
- } );
-} );
+/* eslint-disable no-magic-numbers */
+import { reset, create, isStatic, getCss, refresh } from '../src/functions';
+import { INVIEW_EVENT, RESET_KEYS, ZERO_SEC } from '../src/constants';
+
+const cssValue = Object.assign(...RESET_KEYS.map((key, index) => ({ [ key ]: index })));
+
+describe('reset', () => {
+ it('should not reset', () => {
+ const attr = jest.fn(() => false);
+ const target = {
+ attr: attr,
+ };
+ reset(target);
+
+ expect(attr).toBeCalled();
+ });
+
+ it('should reset', () => {
+ const attr = jest.fn((key, value) => {
+ expect(value === undefined || value === false).toBeTruthy();
+ return true;
+ });
+ const off = jest.fn();
+ const target = {
+ attr: attr,
+ off: off,
+ 0: {
+ resetValues: false,
+ },
+ };
+ reset(target);
+
+ expect(attr).toBeCalledTimes(2);
+ expect(off).toBeCalled();
+ });
+
+ it('should reset', () => {
+ const css = jest.fn((key, value) => {
+ expect(cssValue).toHaveProperty(key);
+ expect(value).toBe(cssValue[ key ]);
+ });
+ const target = {
+ attr: () => true,
+ off: () => true,
+ css: css,
+ 0: {
+ resetValues: cssValue,
+ },
+ };
+ reset(target);
+
+ RESET_KEYS.forEach(key => {
+ expect(target[ 0 ]).not.toHaveProperty(key);
+ });
+ expect(css).toBeCalled();
+ });
+});
+
+describe('create', () => {
+ const test = (options, check) => {
+ const off = jest.fn();
+ const trigger = jest.fn();
+ const on = jest.fn((event, callback) => {
+ expect(event).toBe(INVIEW_EVENT);
+ callback({}, true);
+ callback({}, false);
+ });
+ const data = jest.fn(() => ({
+ on: on,
+ }));
+ const stopCss = jest.fn();
+ const stop = jest.fn(() => ({
+ css: stopCss,
+ }));
+ const css = () => ({
+ attr: () => {
+ },
+ });
+
+ create({
+ 0: {},
+ css: css,
+ data: data,
+ stop: stop,
+ off: off,
+ trigger: trigger,
+ }, options);
+
+ expect(data).toBeCalled();
+ expect(on).toBeCalled();
+ expect(stop).toBeCalled();
+ expect(stopCss).toBeCalled();
+
+ check(off, trigger);
+ };
+
+ it('should create', () => {
+ test({
+ stripe: false,
+ repeat: false,
+ cssFilter: () => ({}),
+ }, (off, trigger) => {
+ expect(off).toBeCalled();
+ expect(trigger).not.toBeCalled();
+ });
+ });
+
+ it('should create', () => {
+ test({
+ stripe: false,
+ repeat: true,
+ cssFilter: () => ({}),
+ }, (off, trigger) => {
+ expect(off).not.toBeCalled();
+ expect(trigger).toBeCalled();
+ });
+ });
+});
+
+describe('isStatic', () => {
+ it('should true', () => {
+ expect(isStatic({ stripe: true })).toBeTruthy();
+ expect(isStatic({ stripe: false, delay: ZERO_SEC, duration: ZERO_SEC })).toBeTruthy();
+ });
+
+ it('should false', () => {
+ expect(isStatic({})).toBeFalsy();
+ expect(isStatic({ stripe: false, delay: ZERO_SEC, duration: '.6s' })).toBeFalsy();
+ });
+});
+
+describe('getCss', () => {
+ it('should get marker css', () => {
+ const css = getCss({
+ stripe: false,
+ 'padding_bottom': 'a',
+ 'font_weight': 'b',
+ thickness: 'c',
+ color: 'd',
+ cssFilter: css => css,
+ });
+ expect(css).toHaveProperty('display');
+ expect(css).toHaveProperty('background-position');
+ expect(css).toHaveProperty('padding-bottom');
+ expect(css).toHaveProperty('font-weight');
+ expect(css).toHaveProperty('background-size');
+ expect(css).toHaveProperty('background-repeat');
+ expect(css).toHaveProperty('background-image');
+ expect(css[ 'display' ]).toBe('inline');
+ expect(css[ 'background-position' ]).toBe('left 0 center');
+ expect(css[ 'padding-bottom' ]).toBe('a');
+ expect(css[ 'font-weight' ]).toBe('b');
+ expect(css[ 'background-size' ]).toBe('200% c');
+ expect(css[ 'background-repeat' ]).toBe('repeat-x');
+ expect(css[ 'background-image' ]).toBe('linear-gradient(to right, rgba(255,255,255,0) 50%, d 50%)');
+ });
+
+ it('should get marker css', () => {
+ const css = getCss({
+ stripe: false,
+ delay: ZERO_SEC,
+ duration: ZERO_SEC,
+ 'padding_bottom': 'a',
+ cssFilter: css => css,
+ });
+ expect(css).toHaveProperty('background-position');
+ expect(css[ 'background-position' ]).toBe('left -100% center');
+ });
+
+ it('should get stripe css', () => {
+ const cssFilter = jest.fn(css => {
+ Object.keys(css).forEach(key => css[ key ] += '-test');
+ return css;
+ });
+ const css = getCss({
+ stripe: true,
+ 'padding_bottom': 'a',
+ thickness: 'b',
+ color: 'c',
+ 'stripe_thickness': 3,
+ cssFilter: cssFilter,
+ });
+
+ expect(css).toHaveProperty('display');
+ expect(css).toHaveProperty('background-position');
+ expect(css).toHaveProperty('padding-bottom');
+ expect(css).toHaveProperty('background-size');
+ expect(css).toHaveProperty('background-repeat');
+ expect(css).toHaveProperty('background-image');
+ expect(css[ 'display' ]).toBe('inline-test');
+ expect(css[ 'background-position' ]).toBe('left 0 center-test');
+ expect(css[ 'padding-bottom' ]).toBe('a-test');
+ expect(css[ 'background-size' ]).toBe('100% b-test');
+ expect(css[ 'background-repeat' ]).toBe('no-repeat-test');
+ expect(css[ 'background-image' ]).toBe('repeating-linear-gradient(-45deg, c, c 3px, transparent 3px, transparent 6px)-test');
+ expect(cssFilter).toBeCalled();
+ });
+});
+
+describe('refresh', () => {
+ it('should refresh', () => {
+ const off = jest.fn();
+ const attr = jest.fn();
+ const css = jest.fn(key => {
+ if (typeof key === 'object') {
+ return { attr: attr };
+ }
+ return cssValue[ key ];
+ });
+ const target = {
+ off: off,
+ css: css,
+ attr: () => false,
+ 0: {},
+ };
+ refresh(target, {
+ stripe: true,
+ cssFilter: css => css,
+ });
+
+ expect(off).toBeCalled();
+ expect(attr).toBeCalled();
+ expect(target[ 0 ]).toHaveProperty('resetValues');
+ RESET_KEYS.forEach((key, index) => {
+ expect(target[ 0 ].resetValues[ key ]).toBe(index);
+ });
+ });
+});
diff --git a/__tests__/utils.js b/__tests__/utils.js
index 356d863..c94ca30 100644
--- a/__tests__/utils.js
+++ b/__tests__/utils.js
@@ -1,90 +1,90 @@
-/* eslint-disable no-magic-numbers */
-import { PREFIX, ZERO_SEC } from '../src/constants';
-import { SETTINGS_DEFAULTS } from '../src/defaults';
-import { parseTime, parseStripeThickness, getTargetOptions, toSnakeCase, toCamelCase } from '../src/utils';
-
-describe( 'parseTime', () => {
- it( 'should parse time', () => {
- expect( parseTime( '0.6s' ) ).toBe( '0.6s' );
- expect( parseTime( '-.6s' ) ).toBe( '-.6s' );
- expect( parseTime( '600ms' ) ).toBe( '600ms' );
- } );
-
- it( 'should return default', () => {
- expect( parseTime( '' ) ).toBe( ZERO_SEC );
- expect( parseTime( 'abc' ) ).toBe( ZERO_SEC );
- expect( parseTime( '10' ) ).toBe( ZERO_SEC );
- } );
-} );
-
-describe( 'parseStripeThickness', () => {
- it( 'should parse stripe thickness', () => {
- expect( parseStripeThickness( 10 ) ).toBe( 10 );
- expect( parseStripeThickness( '10' ) ).toBe( 10 );
- expect( parseStripeThickness( '10em' ) ).toBe( 10 );
- } );
-
- it( 'should return default', () => {
- expect( parseStripeThickness( '' ) ).toBe( SETTINGS_DEFAULTS.stripe_thickness );
- expect( parseStripeThickness( 'abc' ) ).toBe( SETTINGS_DEFAULTS.stripe_thickness );
- expect( parseStripeThickness( 'em10' ) ).toBe( SETTINGS_DEFAULTS.stripe_thickness );
- } );
-} );
-
-describe( 'getTargetOptions', () => {
- const target = data => ( {
- data: jest.fn( key => {
- const _key = key.replace( new RegExp( '^' + PREFIX ), '' );
- return _key in data ? data[ _key ] : undefined;
- } ),
- } );
-
- it( 'should get target options', () => {
- const options = getTargetOptions( target( {
- 'padding_bottom': '100em',
- 'stripe_thickness': 1000,
- delay: 10,
- duration: '.5ms',
- } ), [ ] );
- expect( options ).toHaveProperty( 'padding_bottom' );
- expect( options ).toHaveProperty( 'stripe_thickness' );
- expect( options ).toHaveProperty( 'delay' );
- expect( options ).toHaveProperty( 'duration' );
- expect( options.padding_bottom ).toBe( '100em' );
- expect( options.stripe_thickness ).toBe( 1000 );
- expect( options.delay ).toBe( ZERO_SEC );
- expect( options.duration ).toBe( '.5ms' );
- } );
-
- it( 'should get target options', () => {
- const options = getTargetOptions( target( {
- 'stripe_thickness': '',
- delay: '0.0ms',
- } ), [ { color: 'red' } ] );
- expect( options ).toHaveProperty( 'stripe_thickness' );
- expect( options ).toHaveProperty( 'delay' );
- expect( options ).toHaveProperty( 'font_weight' );
- expect( options ).toHaveProperty( 'cssFilter' );
- expect( options.stripe_thickness ).toBe( SETTINGS_DEFAULTS.stripe_thickness );
- expect( options.delay ).toBe( ZERO_SEC );
- expect( options.color ).toBe( 'red' );
- expect( options.font_weight ).toBe( SETTINGS_DEFAULTS.font_weight );
- expect( typeof options.cssFilter ).toBe( 'function' );
- expect( options.cssFilter( 'a' ) ).toBe( 'a' );
- } );
-} );
-
-describe( 'toSnakeCase', () => {
- it( 'should convert to snake case', () => {
- expect( toSnakeCase( 'camelCase' ) ).toBe( 'camel_case' );
- expect( toSnakeCase( 'test' ) ).toBe( 'test' );
- } );
-} );
-
-describe( 'toCamelCase', () => {
- it( 'should convert to camel case', () => {
- expect( toCamelCase( 'snake_case' ) ).toBe( 'snakeCase' );
- expect( toCamelCase( 'kebab-case' ) ).toBe( 'kebabCase' );
- expect( toCamelCase( 'test' ) ).toBe( 'test' );
- } );
-} );
+/* eslint-disable no-magic-numbers */
+import { PREFIX, ZERO_SEC } from '../src/constants';
+import { SETTINGS_DEFAULTS } from '../src/defaults';
+import { parseTime, parseStripeThickness, getTargetOptions, toSnakeCase, toCamelCase } from '../src/utils';
+
+describe('parseTime', () => {
+ it('should parse time', () => {
+ expect(parseTime('0.6s')).toBe('0.6s');
+ expect(parseTime('-.6s')).toBe('-.6s');
+ expect(parseTime('600ms')).toBe('600ms');
+ });
+
+ it('should return default', () => {
+ expect(parseTime('')).toBe(ZERO_SEC);
+ expect(parseTime('abc')).toBe(ZERO_SEC);
+ expect(parseTime('10')).toBe(ZERO_SEC);
+ });
+});
+
+describe('parseStripeThickness', () => {
+ it('should parse stripe thickness', () => {
+ expect(parseStripeThickness(10)).toBe(10);
+ expect(parseStripeThickness('10')).toBe(10);
+ expect(parseStripeThickness('10em')).toBe(10);
+ });
+
+ it('should return default', () => {
+ expect(parseStripeThickness('')).toBe(SETTINGS_DEFAULTS.stripe_thickness);
+ expect(parseStripeThickness('abc')).toBe(SETTINGS_DEFAULTS.stripe_thickness);
+ expect(parseStripeThickness('em10')).toBe(SETTINGS_DEFAULTS.stripe_thickness);
+ });
+});
+
+describe('getTargetOptions', () => {
+ const target = data => ({
+ data: jest.fn(key => {
+ const _key = key.replace(new RegExp('^' + PREFIX), '');
+ return _key in data ? data[ _key ] : undefined;
+ }),
+ });
+
+ it('should get target options', () => {
+ const options = getTargetOptions(target({
+ 'padding_bottom': '100em',
+ 'stripe_thickness': 1000,
+ delay: 10,
+ duration: '.5ms',
+ }), []);
+ expect(options).toHaveProperty('padding_bottom');
+ expect(options).toHaveProperty('stripe_thickness');
+ expect(options).toHaveProperty('delay');
+ expect(options).toHaveProperty('duration');
+ expect(options.padding_bottom).toBe('100em');
+ expect(options.stripe_thickness).toBe(1000);
+ expect(options.delay).toBe(ZERO_SEC);
+ expect(options.duration).toBe('.5ms');
+ });
+
+ it('should get target options', () => {
+ const options = getTargetOptions(target({
+ 'stripe_thickness': '',
+ delay: '0.0ms',
+ }), [{ color: 'red' }]);
+ expect(options).toHaveProperty('stripe_thickness');
+ expect(options).toHaveProperty('delay');
+ expect(options).toHaveProperty('font_weight');
+ expect(options).toHaveProperty('cssFilter');
+ expect(options.stripe_thickness).toBe(SETTINGS_DEFAULTS.stripe_thickness);
+ expect(options.delay).toBe(ZERO_SEC);
+ expect(options.color).toBe('red');
+ expect(options.font_weight).toBe(SETTINGS_DEFAULTS.font_weight);
+ expect(typeof options.cssFilter).toBe('function');
+ expect(options.cssFilter('a')).toBe('a');
+ });
+});
+
+describe('toSnakeCase', () => {
+ it('should convert to snake case', () => {
+ expect(toSnakeCase('camelCase')).toBe('camel_case');
+ expect(toSnakeCase('test')).toBe('test');
+ });
+});
+
+describe('toCamelCase', () => {
+ it('should convert to camel case', () => {
+ expect(toCamelCase('snake_case')).toBe('snakeCase');
+ expect(toCamelCase('kebab-case')).toBe('kebabCase');
+ expect(toCamelCase('test')).toBe('test');
+ });
+});
diff --git a/bin/gh-pages/plugin.js b/bin/gh-pages/plugin.js
index 6983290..06009f0 100644
--- a/bin/gh-pages/plugin.js
+++ b/bin/gh-pages/plugin.js
@@ -2,8 +2,8 @@ import $ from 'jquery';
import './index';
import './plugin.scss';
-$( () => {
- $( '#app' ).html( `
+$(() => {
+ $('#app').html(`
` );
+`);
- $( '#app .marker-animation' ).markerAnimation();
- $( '#app .reset-animation' ).on( 'click', () => {
- $( '#app .marker-animation' ).markerAnimation( 'refresh' );
- } );
-} );
+ $('#app .marker-animation').markerAnimation();
+ $('#app .reset-animation').on('click', () => {
+ $('#app .marker-animation').markerAnimation('refresh');
+ });
+});
diff --git a/bin/gh-pages/plugin.scss b/bin/gh-pages/plugin.scss
index c5c12fc..8bac0b5 100644
--- a/bin/gh-pages/plugin.scss
+++ b/bin/gh-pages/plugin.scss
@@ -1,27 +1,27 @@
#app {
- max-width: 600px;
- margin: 0 auto;
+ max-width: 600px;
+ margin: 0 auto;
}
.blank-box {
- border: 3px solid #949495;
- padding: 1.2em 1em;
- margin: 1em 2%;
- border-radius: 4px;
+ border: 3px solid #949495;
+ padding: 1.2em 1em;
+ margin: 1em 2%;
+ border-radius: 4px;
}
.reset-animation {
- color: #fff;
- font-weight: bold;
- border-radius: 4px;
- display: inline-block;
- cursor: pointer;
- line-height: normal;
- padding: 10px 16px;
- text-decoration: none;
- text-align: center;
- font-size: 14px;
- border: 2px solid transparent;
- position: relative;
- background-color: #2ca9e1;
+ color: #fff;
+ font-weight: bold;
+ border-radius: 4px;
+ display: inline-block;
+ cursor: pointer;
+ line-height: normal;
+ padding: 10px 16px;
+ text-decoration: none;
+ text-align: center;
+ font-size: 14px;
+ border: 2px solid transparent;
+ position: relative;
+ background-color: #2ca9e1;
}
diff --git a/package.json b/package.json
index f716697..7fbbe85 100644
--- a/package.json
+++ b/package.json
@@ -1,57 +1,62 @@
{
"name": "jquery.marker-animation",
- "version": "1.4.13",
+ "version": "1.4.14",
"description": "Marker animation jQuery plugin",
- "main": "build/index.js",
- "files": [
- "build"
- ],
- "scripts": {
- "start": "yarn build",
- "test": "yarn lint && yarn cover",
- "test:update": "yarn lint && yarn cover:update",
- "lint": "eslint 'src/**/*.js' '__tests__/**/*.js'",
- "lint:fix": "eslint --fix 'src/**/*.js' '__tests__/**/*.js'",
- "cover": "jest --coverage",
- "cover:update": "jest --coverage --updateSnapshot",
- "develop": "webpack --mode development --config webpack.config.js",
- "build": "webpack --mode production --config webpack.config.js",
- "update": "ncu -u && yarn install && yarn upgrade && yarn audit"
- },
- "repository": {
- "type": "git",
- "url": "https://github.com/technote-space/jquery.marker-animation.git"
+ "author": {
+ "name": "Technote",
+ "email": "technote.space@gmail.com",
+ "url": "https://technote.space"
},
+ "license": "MIT",
"keywords": [
"jquery-plugin",
"marker animation",
"highlighter"
],
- "author": "Technote (https://technote.space)",
+ "homepage": "https://github.com/technote-space/jquery.marker-animation#readme",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/technote-space/jquery.marker-animation.git"
+ },
"bugs": {
"url": "https://github.com/technote-space/jquery.marker-animation/issues"
},
- "homepage": "https://github.com/technote-space/jquery.marker-animation#readme",
- "license": "MIT",
- "dependencies": {
- "@babel/core": "^7.8.3",
+ "main": "build/index.js",
+ "files": [
+ "build"
+ ],
+ "devDependencies": {
+ "@babel/core": "^7.8.4",
"@babel/plugin-proposal-object-rest-spread": "^7.8.3",
"@babel/plugin-transform-react-jsx": "^7.8.3",
"@babel/plugin-transform-runtime": "^7.8.3",
- "@babel/preset-env": "^7.8.3",
+ "@babel/preset-env": "^7.8.4",
"@babel/register": "^7.8.3",
+ "babel-jest": "^25.1.0",
"babel-loader": "^8.0.6",
"duplicate-package-checker-webpack-plugin": "^3.0.0",
+ "enzyme": "^3.11.0",
+ "enzyme-to-json": "^3.4.4",
+ "eslint": "^6.8.0",
+ "jest": "^25.1.0",
"jquery-inview": "^1.1.2",
"speed-measure-webpack-plugin": "^1.3.1",
- "webpack": "^4.41.5",
+ "webpack": "^4.41.6",
"webpack-cli": "^3.3.10"
},
- "devDependencies": {
- "babel-jest": "^25.1.0",
- "enzyme": "^3.11.0",
- "enzyme-to-json": "^3.4.3",
- "eslint": "^6.8.0",
- "jest": "^25.1.0"
+ "publishConfig": {
+ "access": "public"
+ },
+ "scripts": {
+ "build": "webpack --mode production --config webpack.config.js",
+ "start": "yarn build",
+ "test": "yarn lint && yarn cover",
+ "test:update": "yarn lint && yarn cover:update",
+ "lint": "eslint 'src/**/*.js' '__tests__/**/*.js' --cache",
+ "lint:fix": "eslint --fix 'src/**/*.js' '__tests__/**/*.js'",
+ "cover": "jest --coverage",
+ "cover:update": "jest --coverage --updateSnapshot",
+ "develop": "webpack --mode development --config webpack.config.js",
+ "update": "ncu -u && yarn install && yarn upgrade && yarn audit"
}
}
diff --git a/src/constants.js b/src/constants.js
index 57d1af3..36d1408 100644
--- a/src/constants.js
+++ b/src/constants.js
@@ -1,13 +1,13 @@
-export const NAMESPACE = 'markerAnimation';
-export const PREFIX = 'ma_';
-export const RESET_KEYS = [
- 'background',
- 'padding-bottom',
- 'font-weight',
- 'transition',
-];
-export const MARKER_DATA = 'data-marker_animation';
-export const ZERO_SEC = '0s';
-export const DESTROY_EVENT = `destroy.${ NAMESPACE }`;
-export const REFRESH_EVENT = `refresh.${ NAMESPACE }`;
-export const INVIEW_EVENT = `inview.${ NAMESPACE }`;
\ No newline at end of file
+export const NAMESPACE = 'markerAnimation';
+export const PREFIX = 'ma_';
+export const RESET_KEYS = [
+ 'background',
+ 'padding-bottom',
+ 'font-weight',
+ 'transition',
+];
+export const MARKER_DATA = 'data-marker_animation';
+export const ZERO_SEC = '0s';
+export const DESTROY_EVENT = `destroy.${NAMESPACE}`;
+export const REFRESH_EVENT = `refresh.${NAMESPACE}`;
+export const INVIEW_EVENT = `inview.${NAMESPACE}`;
diff --git a/src/defaults.js b/src/defaults.js
index ccd0672..c9ff0c6 100644
--- a/src/defaults.js
+++ b/src/defaults.js
@@ -9,7 +9,5 @@ export const SETTINGS_DEFAULTS = {
repeat: false,
stripe: false,
'stripe_thickness': 2,
- cssFilter: function( css ) {
- return css;
- },
+ cssFilter: css => css,
};
diff --git a/src/functions.js b/src/functions.js
index caa5c51..807a45e 100644
--- a/src/functions.js
+++ b/src/functions.js
@@ -1,154 +1,154 @@
-import { RESET_KEYS, MARKER_DATA, ZERO_SEC, NAMESPACE, INVIEW_EVENT, REFRESH_EVENT } from './constants';
-
-/**
- * @param {object} target target
- * @returns {object} target
- */
-export const reset = target => {
- if ( target.attr( MARKER_DATA ) ) {
- destroy( target );
- removeEvent( target );
- }
- return target;
-};
-
-/**
- * @param {object} target target
- * @returns {object} target
- */
-export const destroy = target => {
- if ( target[ 0 ].resetValues ) {
- RESET_KEYS.forEach( key => {
- target.css( key, target[ 0 ].resetValues[ key ] );
- } );
- delete target[ 0 ].resetValues;
- }
- target.attr( MARKER_DATA, false );
- return target;
-};
-
-/**
- * @param {object} target target
- * @param {object} options options
- * @returns {object} target
- */
-export const create = ( target, options ) => {
- target[ 0 ].resetValues = {};
- RESET_KEYS.forEach( key => target[ 0 ].resetValues[ key ] = target.css( key ) );
-
- if ( ! isStatic( options ) ) {
- target.data( 'inview', false ).on( INVIEW_EVENT, ( event, isInView ) => {
- if ( isInView ) {
- onInView( target, options );
- } else {
- offInView( target, options );
- }
- } );
- }
- target.css( getCss( options ) ).attr( MARKER_DATA, true );
- return target;
-};
-
-/**
- * @param {object} options options
- * @returns {boolean} is static?
- */
-export const isStatic = options => options.stripe || ( ZERO_SEC === options.delay && ZERO_SEC === options.duration );
-
-/**
- * @param {object} options options
- * @returns {object} css
- */
-export const getCss = options => options.cssFilter( options.stripe ? getStripeCss( options ) : getMarkerCss( options ) );
-
-/**
- * @param {object} options options
- * @returns {object} css
- */
-const getCommonCss = options => Object.assign( {
- 'display': 'inline',
- 'background-position': 'left 0 center',
- 'padding-bottom': options.padding_bottom,
-}, options.font_weight ? {
- 'font-weight': options.font_weight,
-} : {} );
-
-/**
- * @param {object} options options
- * @returns {object} css
- */
-const getMarkerCss = options => Object.assign( {}, getCommonCss( options ), {
- 'background-size': `200% ${ options.thickness }`,
- 'background-repeat': 'repeat-x',
- 'background-image': `linear-gradient(to right, rgba(255,255,255,0) 50%, ${ options.color } 50%)`,
-}, isStatic( options ) ? {
- 'background-position': 'left -100% center',
-} : {} );
-
-/**
- * @param {object} options options
- * @returns {object} css
- */
-const getStripeCss = options => Object.assign( {}, getCommonCss( options ), {
- 'background-size': `100% ${ options.thickness }`,
- 'background-repeat': 'no-repeat',
- // eslint-disable-next-line no-magic-numbers
- 'background-image': `repeating-linear-gradient(-45deg, ${ options.color }, ${ options.color } ${ options.stripe_thickness }px, transparent ${ options.stripe_thickness }px, transparent ${ options.stripe_thickness * 2 }px)`,
-} );
-
-/**
- * @param {object} target target
- * @param {object} options options
- * @returns {object} target
- */
-export const refresh = ( target, options ) => {
- destroy( target );
- stop( target );
- return create( target, options );
-};
-
-/**
- * @param {object} target target
- * @returns {object} target
- */
-export const removeEvent = target => {
- target.off( `.${ NAMESPACE }` );
- return target;
-};
-
-/**
- * @param {object} target target
- * @returns {object} target
- */
-export const stop = target => {
- target.off( INVIEW_EVENT );
- return target;
-};
-
-/**
- * @param {object} target target
- * @param {object} options options
- * @returns {object} target
- */
-export const onInView = ( target, options ) => {
- target.stop( true, true ).css( {
- transition: `background-position ${ options.duration } ${ options.function } ${ options.delay }`,
- 'background-position': 'left -100% center',
- } );
- if ( ! options.repeat ) {
- stop( target );
- }
- return target;
-};
-
-/**
- * @param {object} target target
- * @param {object} options options
- * @returns {object} target
- */
-export const offInView = ( target, options ) => {
- if ( options.repeat ) {
- target.trigger( REFRESH_EVENT );
- }
- return target;
-};
+import { RESET_KEYS, MARKER_DATA, ZERO_SEC, NAMESPACE, INVIEW_EVENT, REFRESH_EVENT } from './constants';
+
+/**
+ * @param {object} target target
+ * @returns {object} target
+ */
+export const reset = target => {
+ if (target.attr(MARKER_DATA)) {
+ destroy(target);
+ removeEvent(target);
+ }
+ return target;
+};
+
+/**
+ * @param {object} target target
+ * @returns {object} target
+ */
+export const destroy = target => {
+ if (target[ 0 ].resetValues) {
+ RESET_KEYS.forEach(key => {
+ target.css(key, target[ 0 ].resetValues[ key ]);
+ });
+ delete target[ 0 ].resetValues;
+ }
+ target.attr(MARKER_DATA, false);
+ return target;
+};
+
+/**
+ * @param {object} target target
+ * @param {object} options options
+ * @returns {object} target
+ */
+export const create = (target, options) => {
+ target[ 0 ].resetValues = {};
+ RESET_KEYS.forEach(key => target[ 0 ].resetValues[ key ] = target.css(key));
+
+ if (!isStatic(options)) {
+ target.data('inview', false).on(INVIEW_EVENT, (event, isInView) => {
+ if (isInView) {
+ onInView(target, options);
+ } else {
+ offInView(target, options);
+ }
+ });
+ }
+ target.css(getCss(options)).attr(MARKER_DATA, true);
+ return target;
+};
+
+/**
+ * @param {object} options options
+ * @returns {boolean} is static?
+ */
+export const isStatic = options => options.stripe || (ZERO_SEC === options.delay && ZERO_SEC === options.duration);
+
+/**
+ * @param {object} options options
+ * @returns {object} css
+ */
+export const getCss = options => options.cssFilter(options.stripe ? getStripeCss(options) : getMarkerCss(options));
+
+/**
+ * @param {object} options options
+ * @returns {object} css
+ */
+const getCommonCss = options => Object.assign({
+ 'display': 'inline',
+ 'background-position': 'left 0 center',
+ 'padding-bottom': options.padding_bottom,
+}, options.font_weight ? {
+ 'font-weight': options.font_weight,
+} : {});
+
+/**
+ * @param {object} options options
+ * @returns {object} css
+ */
+const getMarkerCss = options => Object.assign({}, getCommonCss(options), {
+ 'background-size': `200% ${options.thickness}`,
+ 'background-repeat': 'repeat-x',
+ 'background-image': `linear-gradient(to right, rgba(255,255,255,0) 50%, ${options.color} 50%)`,
+}, isStatic(options) ? {
+ 'background-position': 'left -100% center',
+} : {});
+
+/**
+ * @param {object} options options
+ * @returns {object} css
+ */
+const getStripeCss = options => Object.assign({}, getCommonCss(options), {
+ 'background-size': `100% ${options.thickness}`,
+ 'background-repeat': 'no-repeat',
+ // eslint-disable-next-line no-magic-numbers
+ 'background-image': `repeating-linear-gradient(-45deg, ${options.color}, ${options.color} ${options.stripe_thickness}px, transparent ${options.stripe_thickness}px, transparent ${options.stripe_thickness * 2}px)`,
+});
+
+/**
+ * @param {object} target target
+ * @param {object} options options
+ * @returns {object} target
+ */
+export const refresh = (target, options) => {
+ destroy(target);
+ stop(target);
+ return create(target, options);
+};
+
+/**
+ * @param {object} target target
+ * @returns {object} target
+ */
+export const removeEvent = target => {
+ target.off(`.${NAMESPACE}`);
+ return target;
+};
+
+/**
+ * @param {object} target target
+ * @returns {object} target
+ */
+export const stop = target => {
+ target.off(INVIEW_EVENT);
+ return target;
+};
+
+/**
+ * @param {object} target target
+ * @param {object} options options
+ * @returns {object} target
+ */
+export const onInView = (target, options) => {
+ target.stop(true, true).css({
+ transition: `background-position ${options.duration} ${options.function} ${options.delay}`,
+ 'background-position': 'left -100% center',
+ });
+ if (!options.repeat) {
+ stop(target);
+ }
+ return target;
+};
+
+/**
+ * @param {object} target target
+ * @param {object} options options
+ * @returns {object} target
+ */
+export const offInView = (target, options) => {
+ if (options.repeat) {
+ target.trigger(REFRESH_EVENT);
+ }
+ return target;
+};
diff --git a/src/index.js b/src/index.js
index 1653b09..e6a2931 100644
--- a/src/index.js
+++ b/src/index.js
@@ -1,9 +1,7 @@
-require( 'jquery-inview' );
+require('jquery-inview');
import $ from 'jquery';
import { setup } from './setup';
-$.fn.markerAnimation = function( ...args ) {
- return this.each( function() {
- setup( $( this ), args );
- } );
+$.fn.markerAnimation = (...args) => {
+ return this.each(() => setup($(this), args));
};
diff --git a/src/setup.js b/src/setup.js
index e2f1225..6edfe65 100644
--- a/src/setup.js
+++ b/src/setup.js
@@ -1,53 +1,53 @@
-import { DESTROY_EVENT, REFRESH_EVENT } from './constants';
-import { reset, create, destroy, removeEvent, refresh } from './functions';
-import { getTargetOptions } from './utils';
-
-/**
- * @param {object} target target
- * @param {Array} args args
- * @returns {object} target
- */
-export const setup = ( target, args ) => {
- if ( args.length && typeof args[ 0 ] === 'string' ) {
- if ( 'destroy' === args[ 0 ] ) {
- triggerDestroy( target );
- return target;
- }
- if ( 'refresh' === args[ 0 ] ) {
- triggerRefresh( target );
- return target;
- }
- }
-
- reset( target );
-
- const options = getTargetOptions( target, args );
- create( target, options );
- setupEvents( target, options );
- return target;
-};
-
-/**
- * @param {object} target target
- * @returns {*} triggered
- */
-const triggerDestroy = target => target.trigger( DESTROY_EVENT );
-
-/**
- * @param {object} target target
- * @returns {*} triggered
- */
-const triggerRefresh = target => target.trigger( REFRESH_EVENT );
-
-/**
- * @param {object} target target
- * @param {object} options options
- */
-const setupEvents = ( target, options ) => {
- target.on( DESTROY_EVENT, () => {
- destroy( target );
- removeEvent( target );
- } ).on( REFRESH_EVENT, () => {
- refresh( target, options );
- } );
-};
\ No newline at end of file
+import { DESTROY_EVENT, REFRESH_EVENT } from './constants';
+import { reset, create, destroy, removeEvent, refresh } from './functions';
+import { getTargetOptions } from './utils';
+
+/**
+ * @param {object} target target
+ * @param {Array} args args
+ * @returns {object} target
+ */
+export const setup = (target, args) => {
+ if (args.length && typeof args[ 0 ] === 'string') {
+ if ('destroy' === args[ 0 ]) {
+ triggerDestroy(target);
+ return target;
+ }
+ if ('refresh' === args[ 0 ]) {
+ triggerRefresh(target);
+ return target;
+ }
+ }
+
+ reset(target);
+
+ const options = getTargetOptions(target, args);
+ create(target, options);
+ setupEvents(target, options);
+ return target;
+};
+
+/**
+ * @param {object} target target
+ * @returns {*} triggered
+ */
+const triggerDestroy = target => target.trigger(DESTROY_EVENT);
+
+/**
+ * @param {object} target target
+ * @returns {*} triggered
+ */
+const triggerRefresh = target => target.trigger(REFRESH_EVENT);
+
+/**
+ * @param {object} target target
+ * @param {object} options options
+ */
+const setupEvents = (target, options) => {
+ target.on(DESTROY_EVENT, () => {
+ destroy(target);
+ removeEvent(target);
+ }).on(REFRESH_EVENT, () => {
+ refresh(target, options);
+ });
+};
diff --git a/src/utils.js b/src/utils.js
index c59c026..84711ac 100644
--- a/src/utils.js
+++ b/src/utils.js
@@ -1,58 +1,58 @@
-import { PREFIX, ZERO_SEC } from './constants';
-import { SETTINGS_DEFAULTS } from './defaults';
-
-/**
- * @param {string} value value
- * @returns {string} time
- */
-export const parseTime = value => ! /^-?\d*\.?\d+m?s$/.test( value ) || /^-?0?\.?0+m?s$/.test( value ) ? ZERO_SEC : value;
-
-/**
- * @param {string|number} value value
- * @returns {number} thickness
- */
-export const parseStripeThickness = value => isNaN( parseInt( value, 10 ) ) ? SETTINGS_DEFAULTS.stripe_thickness : parseInt( value );
-
-/**
- * @param {object} target target
- * @param {Array} args args
- * @returns {object} options
- */
-export const getTargetOptions = ( target, args ) => {
- const options = Object.assign( {}, args.length && typeof args[ 0 ] === 'object' ? args[ 0 ] : {} );
- const filters = {
- 'delay': parseTime,
- 'duration': parseTime,
- 'stripe_thickness': parseStripeThickness,
- };
- Object.keys( SETTINGS_DEFAULTS ).forEach( key => {
- const data = target.data( PREFIX + key );
- if ( isScalar( data ) && key in filters ) {
- options[ key ] = filters[ key ]( data );
- } else if ( undefined !== data ) {
- options[ key ] = data;
- }
- } );
- return Object.assign( {}, SETTINGS_DEFAULTS, options );
-};
-
-/**
- * @param {*} value value
- * @returns {boolean} is scalar?
- */
-export const isScalar = value => {
- const type = typeof value;
- return 'string' === type || 'number' === type || 'boolean' === type;
-};
-
-/**
- * @param {string} string target string
- * @returns {string} snake case
- */
-export const toSnakeCase = string => string.replace( /[\w]([A-Z])/g, matches => `${ matches[ 0 ] }_${ matches[ 1 ] }` ).toLowerCase();
-
-/**
- * @param {string} string target string
- * @returns {string} camel case
- */
-export const toCamelCase = string => string.replace( '-', '_' ).replace( /(_\w)/g, matches => matches[ 1 ].toUpperCase() );
+import { PREFIX, ZERO_SEC } from './constants';
+import { SETTINGS_DEFAULTS } from './defaults';
+
+/**
+ * @param {string} value value
+ * @returns {string} time
+ */
+export const parseTime = value => !/^-?\d*\.?\d+m?s$/.test(value) || /^-?0?\.?0+m?s$/.test(value) ? ZERO_SEC : value;
+
+/**
+ * @param {string|number} value value
+ * @returns {number} thickness
+ */
+export const parseStripeThickness = value => isNaN(parseInt(value, 10)) ? SETTINGS_DEFAULTS.stripe_thickness : parseInt(value);
+
+/**
+ * @param {object} target target
+ * @param {Array} args args
+ * @returns {object} options
+ */
+export const getTargetOptions = (target, args) => {
+ const options = Object.assign({}, args.length && typeof args[ 0 ] === 'object' ? args[ 0 ] : {});
+ const filters = {
+ 'delay': parseTime,
+ 'duration': parseTime,
+ 'stripe_thickness': parseStripeThickness,
+ };
+ Object.keys(SETTINGS_DEFAULTS).forEach(key => {
+ const data = target.data(PREFIX + key);
+ if (isScalar(data) && key in filters) {
+ options[ key ] = filters[ key ](data);
+ } else if (undefined !== data) {
+ options[ key ] = data;
+ }
+ });
+ return Object.assign({}, SETTINGS_DEFAULTS, options);
+};
+
+/**
+ * @param {*} value value
+ * @returns {boolean} is scalar?
+ */
+export const isScalar = value => {
+ const type = typeof value;
+ return 'string' === type || 'number' === type || 'boolean' === type;
+};
+
+/**
+ * @param {string} string target string
+ * @returns {string} snake case
+ */
+export const toSnakeCase = string => string.replace(/[\w]([A-Z])/g, matches => `${matches[ 0 ]}_${matches[ 1 ]}`).toLowerCase();
+
+/**
+ * @param {string} string target string
+ * @returns {string} camel case
+ */
+export const toCamelCase = string => string.replace('-', '_').replace(/(_\w)/g, matches => matches[ 1 ].toUpperCase());
diff --git a/webpack.config.js b/webpack.config.js
index 76016d6..4334b21 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -1,16 +1,16 @@
-const SpeedMeasurePlugin = require( 'speed-measure-webpack-plugin' );
-const DuplicatePackageCheckerPlugin = require( 'duplicate-package-checker-webpack-plugin' );
-const webpack = require( 'webpack' );
-const pkg = require( './package' );
-const path = require( 'path' );
+const SpeedMeasurePlugin = require('speed-measure-webpack-plugin');
+const DuplicatePackageCheckerPlugin = require('duplicate-package-checker-webpack-plugin');
+const webpack = require('webpack');
+const pkg = require('./package');
+const path = require('path');
-const banner = `${ pkg.name } ${ pkg.version } - ${ pkg.description }\nCopyright (c) ${ new Date().getFullYear() } ${ pkg.author } - ${ pkg.homepage }\nLicense: ${ pkg.license }`;
+const banner = `${pkg.name} ${pkg.version} - ${pkg.description}\nCopyright (c) ${new Date().getFullYear()} ${pkg.author} - ${pkg.homepage}\nLicense: ${pkg.license}`;
const webpackConfig = {
- context: path.resolve( __dirname, 'src' ),
+ context: path.resolve(__dirname, 'src'),
entry: './index.js',
output: {
- path: path.resolve( __dirname, 'build' ),
+ path: path.resolve(__dirname, 'build'),
filename: 'index.js',
library: 'MarkerAnimation',
libraryTarget: 'umd',
@@ -33,9 +33,9 @@ const webpackConfig = {
},
},
plugins: [
- new webpack.BannerPlugin( banner ),
+ new webpack.BannerPlugin(banner),
new DuplicatePackageCheckerPlugin(),
],
};
-module.exports = ( new SpeedMeasurePlugin() ).wrap( webpackConfig );
\ No newline at end of file
+module.exports = (new SpeedMeasurePlugin()).wrap(webpackConfig);
diff --git a/yarn.lock b/yarn.lock
index f7d1a0b..b686039 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -9,26 +9,26 @@
dependencies:
"@babel/highlight" "^7.8.3"
-"@babel/compat-data@^7.8.0", "@babel/compat-data@^7.8.1":
- version "7.8.1"
- resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.8.1.tgz#fc0bbbb7991e4fb2b47e168e60f2cc2c41680be9"
- integrity sha512-Z+6ZOXvyOWYxJ50BwxzdhRnRsGST8Y3jaZgxYig575lTjVSs3KtJnmESwZegg6e2Dn0td1eDhoWlp1wI4BTCPw==
+"@babel/compat-data@^7.8.4":
+ version "7.8.5"
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.8.5.tgz#d28ce872778c23551cbb9432fc68d28495b613b9"
+ integrity sha512-jWYUqQX/ObOhG1UiEkbH5SANsE/8oKXiQWjj7p7xgj9Zmnt//aUvyz4dBkK0HNsS8/cbyC5NmmH87VekW+mXFg==
dependencies:
- browserslist "^4.8.2"
+ browserslist "^4.8.5"
invariant "^2.2.4"
semver "^5.5.0"
-"@babel/core@^7.1.0", "@babel/core@^7.7.5", "@babel/core@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.3.tgz#30b0ebb4dd1585de6923a0b4d179e0b9f5d82941"
- integrity sha512-4XFkf8AwyrEG7Ziu3L2L0Cv+WyY47Tcsp70JFmpftbAA1K7YL/sgE9jh9HyNj08Y/U50ItUchpN0w6HxAoX1rA==
+"@babel/core@^7.1.0", "@babel/core@^7.7.5", "@babel/core@^7.8.4":
+ version "7.8.4"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.4.tgz#d496799e5c12195b3602d0fddd77294e3e38e80e"
+ integrity sha512-0LiLrB2PwrVI+a2/IEskBopDYSd8BCb3rOvH7D5tzoWd696TBEduBvuLVm4Nx6rltrLZqvI3MCalB2K2aVzQjA==
dependencies:
"@babel/code-frame" "^7.8.3"
- "@babel/generator" "^7.8.3"
- "@babel/helpers" "^7.8.3"
- "@babel/parser" "^7.8.3"
+ "@babel/generator" "^7.8.4"
+ "@babel/helpers" "^7.8.4"
+ "@babel/parser" "^7.8.4"
"@babel/template" "^7.8.3"
- "@babel/traverse" "^7.8.3"
+ "@babel/traverse" "^7.8.4"
"@babel/types" "^7.8.3"
convert-source-map "^1.7.0"
debug "^4.1.0"
@@ -39,10 +39,10 @@
semver "^5.4.1"
source-map "^0.5.0"
-"@babel/generator@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.8.3.tgz#0e22c005b0a94c1c74eafe19ef78ce53a4d45c03"
- integrity sha512-WjoPk8hRpDRqqzRpvaR8/gDUPkrnOOeuT2m8cNICJtZH6mwaCo3v0OKMI7Y6SM1pBtyijnLtAL0HDi41pf41ug==
+"@babel/generator@^7.8.4":
+ version "7.8.4"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.8.4.tgz#35bbc74486956fe4251829f9f6c48330e8d0985e"
+ integrity sha512-PwhclGdRpNAf3IxZb0YVuITPZmmrXz9zf6fH8lT4XbrmfQKr6ryBzhv593P5C6poJRciFCL/eHGW2NuGrgEyxA==
dependencies:
"@babel/types" "^7.8.3"
jsesc "^2.5.1"
@@ -81,15 +81,15 @@
"@babel/traverse" "^7.8.3"
"@babel/types" "^7.8.3"
-"@babel/helper-compilation-targets@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.3.tgz#2deedc816fd41dca7355ef39fd40c9ea69f0719a"
- integrity sha512-JLylPCsFjhLN+6uBSSh3iYdxKdeO9MNmoY96PE/99d8kyBFaXLORtAVhqN6iHa+wtPeqxKLghDOZry0+Aiw9Tw==
+"@babel/helper-compilation-targets@^7.8.4":
+ version "7.8.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.4.tgz#03d7ecd454b7ebe19a254f76617e61770aed2c88"
+ integrity sha512-3k3BsKMvPp5bjxgMdrFyq0UaEO48HciVrOVF0+lon8pp95cyJ2ujAh0TrBHNMnJGT2rr0iKOJPFFbSqjDyf/Pg==
dependencies:
- "@babel/compat-data" "^7.8.1"
- browserslist "^4.8.2"
+ "@babel/compat-data" "^7.8.4"
+ browserslist "^4.8.5"
invariant "^2.2.4"
- levenary "^1.1.0"
+ levenary "^1.1.1"
semver "^5.5.0"
"@babel/helper-create-regexp-features-plugin@^7.8.3":
@@ -231,13 +231,13 @@
"@babel/traverse" "^7.8.3"
"@babel/types" "^7.8.3"
-"@babel/helpers@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.8.3.tgz#382fbb0382ce7c4ce905945ab9641d688336ce85"
- integrity sha512-LmU3q9Pah/XyZU89QvBgGt+BCsTPoQa+73RxAQh8fb8qkDyIfeQnmgs+hvzhTCKTzqOyk7JTkS3MS1S8Mq5yrQ==
+"@babel/helpers@^7.8.4":
+ version "7.8.4"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.8.4.tgz#754eb3ee727c165e0a240d6c207de7c455f36f73"
+ integrity sha512-VPbe7wcQ4chu4TDQjimHv/5tj73qz88o12EPkO2ValS2QiQS/1F2SsjyIGNnAD0vF/nZS6Cf9i+vW6HIlnaR8w==
dependencies:
"@babel/template" "^7.8.3"
- "@babel/traverse" "^7.8.3"
+ "@babel/traverse" "^7.8.4"
"@babel/types" "^7.8.3"
"@babel/highlight@^7.8.3":
@@ -249,10 +249,10 @@
esutils "^2.0.2"
js-tokens "^4.0.0"
-"@babel/parser@^7.1.0", "@babel/parser@^7.7.5", "@babel/parser@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.3.tgz#790874091d2001c9be6ec426c2eed47bc7679081"
- integrity sha512-/V72F4Yp/qmHaTALizEm9Gf2eQHV3QyTL3K0cNfijwnMnb1L+LDlAubb/ZnSdGAVzVSWakujHYs1I26x66sMeQ==
+"@babel/parser@^7.1.0", "@babel/parser@^7.7.5", "@babel/parser@^7.8.3", "@babel/parser@^7.8.4":
+ version "7.8.4"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.4.tgz#d1dbe64691d60358a974295fa53da074dd2ce8e8"
+ integrity sha512-0fKu/QqildpXmPVaRBoXOlyBb3MC+J0A66x97qEfLOMkn3u6nfY5esWogQwi/K0BjASYy4DbnsEWnpNL6qT5Mw==
"@babel/plugin-proposal-async-generator-functions@^7.8.3":
version "7.8.3"
@@ -471,10 +471,10 @@
"@babel/helper-builder-binary-assignment-operator-visitor" "^7.8.3"
"@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-transform-for-of@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.8.3.tgz#15f17bce2fc95c7d59a24b299e83e81cedc22e18"
- integrity sha512-ZjXznLNTxhpf4Q5q3x1NsngzGA38t9naWH8Gt+0qYZEJAcvPI9waSStSh56u19Ofjr7QmD0wUsQ8hw8s/p1VnA==
+"@babel/plugin-transform-for-of@^7.8.4":
+ version "7.8.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.8.4.tgz#6fe8eae5d6875086ee185dd0b098a8513783b47d"
+ integrity sha512-iAXNlOWvcYUYoV8YIxwS7TxGRJcxyl8eQCfT+A5j8sKUzRFvJdcyjp97jL2IghWSRDaL2PU2O2tX8Cu9dTBq5A==
dependencies:
"@babel/helper-plugin-utils" "^7.8.3"
@@ -559,10 +559,10 @@
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/helper-replace-supers" "^7.8.3"
-"@babel/plugin-transform-parameters@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.3.tgz#7890576a13b17325d8b7d44cb37f21dc3bbdda59"
- integrity sha512-/pqngtGb54JwMBZ6S/D3XYylQDFtGjWrnoCF4gXZOUpFV/ujbxnoNGNvDGu6doFWRPBveE72qTx/RRU44j5I/Q==
+"@babel/plugin-transform-parameters@^7.8.4":
+ version "7.8.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.4.tgz#1d5155de0b65db0ccf9971165745d3bb990d77d3"
+ integrity sha512-IsS3oTxeTsZlE5KqzTbcC2sV0P9pXdec53SU+Yxv7o/6dvGM5AkTotQKhoSffhNgZ/dftsSiOoxy7evCYJXzVA==
dependencies:
"@babel/helper-call-delegate" "^7.8.3"
"@babel/helper-get-function-arity" "^7.8.3"
@@ -638,10 +638,10 @@
"@babel/helper-annotate-as-pure" "^7.8.3"
"@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-transform-typeof-symbol@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.3.tgz#5cffb216fb25c8c64ba6bf5f76ce49d3ab079f4d"
- integrity sha512-3TrkKd4LPqm4jHs6nPtSDI/SV9Cm5PRJkHLUgTcqRQQTMAZ44ZaAdDZJtvWFSaRcvT0a1rTmJ5ZA5tDKjleF3g==
+"@babel/plugin-transform-typeof-symbol@^7.8.4":
+ version "7.8.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz#ede4062315ce0aaf8a657a920858f1a2f35fc412"
+ integrity sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg==
dependencies:
"@babel/helper-plugin-utils" "^7.8.3"
@@ -653,13 +653,13 @@
"@babel/helper-create-regexp-features-plugin" "^7.8.3"
"@babel/helper-plugin-utils" "^7.8.3"
-"@babel/preset-env@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.8.3.tgz#dc0fb2938f52bbddd79b3c861a4b3427dd3a6c54"
- integrity sha512-Rs4RPL2KjSLSE2mWAx5/iCH+GC1ikKdxPrhnRS6PfFVaiZeom22VFKN4X8ZthyN61kAaR05tfXTbCvatl9WIQg==
+"@babel/preset-env@^7.8.4":
+ version "7.8.4"
+ resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.8.4.tgz#9dac6df5f423015d3d49b6e9e5fa3413e4a72c4e"
+ integrity sha512-HihCgpr45AnSOHRbS5cWNTINs0TwaR8BS8xIIH+QwiW8cKL0llV91njQMpeMReEPVs+1Ao0x3RLEBLtt1hOq4w==
dependencies:
- "@babel/compat-data" "^7.8.0"
- "@babel/helper-compilation-targets" "^7.8.3"
+ "@babel/compat-data" "^7.8.4"
+ "@babel/helper-compilation-targets" "^7.8.4"
"@babel/helper-module-imports" "^7.8.3"
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/plugin-proposal-async-generator-functions" "^7.8.3"
@@ -688,7 +688,7 @@
"@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.8.3"
+ "@babel/plugin-transform-for-of" "^7.8.4"
"@babel/plugin-transform-function-name" "^7.8.3"
"@babel/plugin-transform-literals" "^7.8.3"
"@babel/plugin-transform-member-expression-literals" "^7.8.3"
@@ -699,7 +699,7 @@
"@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.8.3"
+ "@babel/plugin-transform-parameters" "^7.8.4"
"@babel/plugin-transform-property-literals" "^7.8.3"
"@babel/plugin-transform-regenerator" "^7.8.3"
"@babel/plugin-transform-reserved-words" "^7.8.3"
@@ -707,13 +707,13 @@
"@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.3"
+ "@babel/plugin-transform-typeof-symbol" "^7.8.4"
"@babel/plugin-transform-unicode-regex" "^7.8.3"
"@babel/types" "^7.8.3"
- browserslist "^4.8.2"
+ browserslist "^4.8.5"
core-js-compat "^3.6.2"
invariant "^2.2.2"
- levenary "^1.1.0"
+ levenary "^1.1.1"
semver "^5.5.0"
"@babel/register@^7.8.3":
@@ -736,16 +736,16 @@
"@babel/parser" "^7.8.3"
"@babel/types" "^7.8.3"
-"@babel/traverse@^7.1.0", "@babel/traverse@^7.7.4", "@babel/traverse@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.8.3.tgz#a826215b011c9b4f73f3a893afbc05151358bf9a"
- integrity sha512-we+a2lti+eEImHmEXp7bM9cTxGzxPmBiVJlLVD+FuuQMeeO7RaDbutbgeheDkw+Xe3mCfJHnGOWLswT74m2IPg==
+"@babel/traverse@^7.1.0", "@babel/traverse@^7.7.4", "@babel/traverse@^7.8.3", "@babel/traverse@^7.8.4":
+ version "7.8.4"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.8.4.tgz#f0845822365f9d5b0e312ed3959d3f827f869e3c"
+ integrity sha512-NGLJPZwnVEyBPLI+bl9y9aSnxMhsKz42so7ApAv9D+b4vAFPpY013FTS9LdKxcABoIYFU52HcYga1pPlx454mg==
dependencies:
"@babel/code-frame" "^7.8.3"
- "@babel/generator" "^7.8.3"
+ "@babel/generator" "^7.8.4"
"@babel/helper-function-name" "^7.8.3"
"@babel/helper-split-export-declaration" "^7.8.3"
- "@babel/parser" "^7.8.3"
+ "@babel/parser" "^7.8.4"
"@babel/types" "^7.8.3"
debug "^4.1.0"
globals "^11.1.0"
@@ -1013,9 +1013,9 @@
"@types/istanbul-lib-report" "*"
"@types/node@*":
- version "13.1.8"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-13.1.8.tgz#1d590429fe8187a02707720ecf38a6fe46ce294b"
- integrity sha512-6XzyyNM9EKQW4HKuzbo/CkOIjn/evtCmsU+MUM1xDfJ+3/rNjBttM1NgN7AOQvN6tP1Sl1D1PIKMreTArnxM9A==
+ version "13.7.0"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-13.7.0.tgz#b417deda18cf8400f278733499ad5547ed1abec4"
+ integrity sha512-GnZbirvmqZUzMgkFn70c74OQpTTUcCzlhQliTzYjQMqg+hVKcDnxdL19Ne3UdYzdMA/+W3eb646FWn/ZaT1NfQ==
"@types/stack-utils@^1.0.1":
version "1.0.1"
@@ -1028,9 +1028,9 @@
integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==
"@types/yargs@^15.0.0":
- version "15.0.1"
- resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.1.tgz#9266a9d7be68cfcc982568211085a49a277f7c96"
- integrity sha512-sYlwNU7zYi6eZbMzFvG6eHD7VsEvFdoDtlD7eI1JTg7YNnuguzmiGsc6MPSq5l8n+h21AsNof0je+9sgOe4+dg==
+ version "15.0.3"
+ resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.3.tgz#41453a0bc7ab393e995d1f5451455638edbd2baf"
+ integrity sha512-XCMQRK6kfpNBixHLyHUsGmXrpEmFFxzMrcnSXFMziHd8CoNJo8l16FkHyQq4x+xbM7E2XL83/O78OD8u+iZTdQ==
dependencies:
"@types/yargs-parser" "*"
@@ -1654,14 +1654,14 @@ browserify-zlib@^0.2.0:
dependencies:
pako "~1.0.5"
-browserslist@^4.8.2, browserslist@^4.8.3:
- version "4.8.5"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.8.5.tgz#691af4e327ac877b25e7a3f7ee869c4ef36cdea3"
- integrity sha512-4LMHuicxkabIB+n9874jZX/az1IaZ5a+EUuvD7KFOu9x/Bd5YHyO0DIz2ls/Kl8g0ItS4X/ilEgf4T1Br0lgSg==
+browserslist@^4.8.3, browserslist@^4.8.5:
+ version "4.8.6"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.8.6.tgz#96406f3f5f0755d272e27a66f4163ca821590a7e"
+ integrity sha512-ZHao85gf0eZ0ESxLfCp73GG9O/VTytYDIkIiZDlURppLTI9wErSM/5yAKEq6rcUdxBLjMELmrYUJGg5sxGKMHg==
dependencies:
- caniuse-lite "^1.0.30001022"
- electron-to-chromium "^1.3.338"
- node-releases "^1.1.46"
+ caniuse-lite "^1.0.30001023"
+ electron-to-chromium "^1.3.341"
+ node-releases "^1.1.47"
bser@2.1.1:
version "2.1.1"
@@ -1740,10 +1740,10 @@ camelcase@^5.0.0, camelcase@^5.3.1:
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
-caniuse-lite@^1.0.30001022:
- version "1.0.30001022"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001022.tgz#9eeffe580c3a8f110b7b1742dcf06a395885e4c6"
- integrity sha512-FjwPPtt/I07KyLPkBQ0g7/XuZg6oUkYBVnPHNj3VHJbOjmmJ/GdSo/GUY6MwINEQvjhP6WZVbX8Tvms8xh0D5A==
+caniuse-lite@^1.0.30001023:
+ version "1.0.30001027"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001027.tgz#283e2ef17d94889cc216a22c6f85303d78ca852d"
+ integrity sha512-7xvKeErvXZFtUItTHgNtLgS9RJpVnwBlWX8jSo/BO8VsF6deszemZSkJJJA1KOKrXuzZH4WALpAJdq5EyfgMLg==
capture-exit@^2.0.0:
version "2.0.0"
@@ -2105,9 +2105,9 @@ cssom@~0.3.6:
integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==
cssstyle@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.1.0.tgz#99f50a3aa21d4af16e758ae3e454dcf5940b9122"
- integrity sha512-1iwCdymVYhMdQWiZ+9mB7x+urdNLPGTWsIZt6euFk8Yi+dOERK2ccoAUA3Bl8I5vmK5qfz/eLkBRyLbs42ov4A==
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.2.0.tgz#e4c44debccd6b7911ed617a4395e5754bba59992"
+ integrity sha512-sEb3XFPx3jNnCAMtqrXPDeSgQr+jojtCeNf8cvMNMh1cG970+lljssvQDzPq6lmmJu2Vhqood/gtEomBiHOGnA==
dependencies:
cssom "~0.3.6"
@@ -2350,10 +2350,10 @@ ecc-jsbn@~0.1.1:
jsbn "~0.1.0"
safer-buffer "^2.1.0"
-electron-to-chromium@^1.3.338:
- version "1.3.340"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.340.tgz#5d4fe78e984d4211194cf5a52e08069543da146f"
- integrity sha512-hRFBAglhcj5iVYH+o8QU0+XId1WGoc0VGowJB1cuJAt3exHGrivZvWeAO5BRgBZqwZtwxjm8a5MQeGoT/Su3ww==
+electron-to-chromium@^1.3.341:
+ version "1.3.348"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.348.tgz#61fa7d43f6c4fd8b046b0b69213cb55b7a4c76a5"
+ integrity sha512-6O0IInybavGdYtcbI4ryF/9e3Qi8/soi6C68ELRseJuTwQPKq39uGgVVeQHG28t69Sgsky09nXBRhUiFXsZyFQ==
elliptic@^6.0.0:
version "6.5.2"
@@ -2426,12 +2426,13 @@ enzyme-shallow-equal@^1.0.1:
has "^1.0.3"
object-is "^1.0.2"
-enzyme-to-json@^3.4.3:
- version "3.4.3"
- resolved "https://registry.yarnpkg.com/enzyme-to-json/-/enzyme-to-json-3.4.3.tgz#ed4386f48768ed29e2d1a2910893542c34e7e0af"
- integrity sha512-jqNEZlHqLdz7OTpXSzzghArSS3vigj67IU/fWkPyl1c0TCj9P5s6Ze0kRkYZWNEoCqCR79xlQbigYlMx5erh8A==
+enzyme-to-json@^3.4.4:
+ version "3.4.4"
+ resolved "https://registry.yarnpkg.com/enzyme-to-json/-/enzyme-to-json-3.4.4.tgz#b30726c59091d273521b6568c859e8831e94d00e"
+ integrity sha512-50LELP/SCPJJGic5rAARvU7pgE3m1YaNj7JLM+Qkhl5t7PAs6fiyc8xzc50RnkKPFQCv0EeFVjEWdIFRGPWMsA==
dependencies:
lodash "^4.17.15"
+ react-is "^16.12.0"
enzyme@^3.11.0:
version "3.11.0"
@@ -2500,9 +2501,9 @@ escape-string-regexp@^1.0.5:
integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
escodegen@^1.11.1:
- version "1.13.0"
- resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.13.0.tgz#c7adf9bd3f3cc675bb752f202f79a720189cab29"
- integrity sha512-eYk2dCkxR07DsHA/X2hRBj0CFAZeri/LyDMc0C8JT1Hqi6JnVpMhJ7XFITbb0+yZS3lVkaPL2oCkZ3AVmeVbMw==
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.1.tgz#ba01d0c8278b5e95a9a45350142026659027a457"
+ integrity sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ==
dependencies:
esprima "^4.0.1"
estraverse "^4.2.0"
@@ -3354,9 +3355,9 @@ ini@^1.3.4, ini@^1.3.5, ini@~1.3.0:
integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
inquirer@^7.0.0:
- version "7.0.3"
- resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.0.3.tgz#f9b4cd2dff58b9f73e8d43759436ace15bed4567"
- integrity sha512-+OiOVeVydu4hnCGLCSX+wedovR/Yzskv9BFqUNNKq9uU2qg7LCcCo3R86S2E7WLo0y/x2pnEZfZe1CoYnORUAw==
+ version "7.0.4"
+ resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.0.4.tgz#99af5bde47153abca23f5c7fc30db247f39da703"
+ integrity sha512-Bu5Td5+j11sCkqfqmUTiwv+tWisMtP0L7Q8WrqA2C/BbBhy1YTdFrvjjlrKq8oagA/tLQBski2Gcx/Sqyi2qSQ==
dependencies:
ansi-escapes "^4.2.1"
chalk "^2.4.2"
@@ -3643,9 +3644,9 @@ istanbul-lib-coverage@^3.0.0:
integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==
istanbul-lib-instrument@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.0.tgz#53321a7970f076262fd3292c8f9b2e4ac544aae1"
- integrity sha512-Nm4wVHdo7ZXSG30KjZ2Wl5SU/Bw7bDx1PdaiIFzEStdjs0H12mOTncn1GVYuqQSaZxpg87VGBRsVRPGD2cD1AQ==
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.1.tgz#61f13ac2c96cfefb076fe7131156cc05907874e6"
+ integrity sha512-imIchxnodll7pvQBYOqUu88EufLCU56LMeFPZZM/fJZ1irYcYdqroaV+ACK1Ila8ls09iEYArp+nqyC6lW1Vfg==
dependencies:
"@babel/core" "^7.7.5"
"@babel/parser" "^7.7.5"
@@ -4184,10 +4185,10 @@ leven@^3.1.0:
resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==
-levenary@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/levenary/-/levenary-1.1.0.tgz#fc146fe75f32dc483a0a2c64aef720f602cd6210"
- integrity sha512-VHcwhO0UTpUW7rLPN2/OiWJdgA1e9BqEDALhrgCe/F+uUJnep6CoUsTzMeP8Rh0NGr9uKquXxqe7lwLZo509nQ==
+levenary@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/levenary/-/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77"
+ integrity sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==
dependencies:
leven "^3.1.0"
@@ -4555,9 +4556,9 @@ nearley@^2.7.10:
semver "^5.4.1"
needle@^2.2.1:
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c"
- integrity sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/needle/-/needle-2.3.2.tgz#3342dea100b7160960a450dc8c22160ac712a528"
+ integrity sha512-DUzITvPVDUy6vczKKYTnWc/pBZ0EnjMJnQ3y+Jo5zfKFimJs7S3HFCxCRZYB9FUZcrzUQr3WsmvZgddMEIZv6w==
dependencies:
debug "^3.2.6"
iconv-lite "^0.4.4"
@@ -4639,10 +4640,10 @@ node-pre-gyp@*:
semver "^5.3.0"
tar "^4.4.2"
-node-releases@^1.1.46:
- version "1.1.47"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.47.tgz#c59ef739a1fd7ecbd9f0b7cf5b7871e8a8b591e4"
- integrity sha512-k4xjVPx5FpwBUj0Gw7uvFOTF4Ep8Hok1I6qjwL3pLfwe7Y0REQSAqOwwv9TWBCUtMHxcXfY4PgRLRozcChvTcA==
+node-releases@^1.1.47:
+ version "1.1.48"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.48.tgz#7f647f0c453a0495bcd64cbd4778c26035c2f03a"
+ integrity sha512-Hr8BbmUl1ujAST0K0snItzEA5zkJTQup8VNTKNfT6Zw8vTJkIiagUPNfxHmgDOyfFYNfKAul40sD0UEYTvwebw==
dependencies:
semver "^6.3.0"
@@ -4679,12 +4680,13 @@ npm-normalize-package-bin@^1.0.1:
integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==
npm-packlist@^1.1.6:
- version "1.4.7"
- resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.7.tgz#9e954365a06b80b18111ea900945af4f88ed4848"
- integrity sha512-vAj7dIkp5NhieaGZxBJB8fF4R0078rqsmhJcAfXZ6O7JJhjhPK96n5Ry1oZcfLXgfun0GWTZPOxaEyqv8GBykQ==
+ version "1.4.8"
+ resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e"
+ integrity sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==
dependencies:
ignore-walk "^3.0.1"
npm-bundled "^1.0.1"
+ npm-normalize-package-bin "^1.0.1"
npm-run-path@^2.0.0:
version "2.0.2"
@@ -4923,9 +4925,9 @@ p-try@^2.0.0:
integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
pako@~1.0.5:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732"
- integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==
+ version "1.0.11"
+ resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
+ integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==
parallel-transform@^1.1.0:
version "1.2.0"
@@ -5458,9 +5460,9 @@ resolve@1.1.7:
integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=
resolve@^1.3.2, resolve@^1.8.1:
- version "1.15.0"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.0.tgz#1b7ca96073ebb52e741ffd799f6b39ea462c67f5"
- integrity sha512-+hTmAldEGE80U2wJJDC1lebb5jWqvTYAfm3YZ1ckk1gBr0MnCqUKlwK1e+anaFljIl+F5tR5IoZcm4ZDA1zMQw==
+ version "1.15.1"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.1.tgz#27bdcdeffeaf2d6244b95bb0f9f4b4653451f3e8"
+ integrity sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==
dependencies:
path-parse "^1.0.6"
@@ -5492,9 +5494,9 @@ rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3:
glob "^7.1.3"
rimraf@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.0.tgz#614176d4b3010b75e5c390eb0ee96f6dc0cebb9b"
- integrity sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
+ integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
dependencies:
glob "^7.1.3"
@@ -5614,9 +5616,9 @@ semver@^6.0.0, semver@^6.1.2, semver@^6.3.0:
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
semver@^7.1.1:
- version "7.1.1"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.1.1.tgz#29104598a197d6cbe4733eeecbe968f7b43a9667"
- integrity sha512-WfuG+fl6eh3eZ2qAf6goB7nhiCd7NPXhmyFxigB/TOkQyeLP8w8GsVehvtGNtnNmyboz4TgeK40B1Kbql/8c5A==
+ version "7.1.2"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.1.2.tgz#847bae5bce68c5d08889824f02667199b70e3d87"
+ integrity sha512-BJs9T/H8sEVHbeigqzIEo57Iu/3DG6c4QoqTfbQB3BPA4zgzAomh/Fk9E7QtjWQ8mx2dgA9YCfSF4y9k9bHNpQ==
serialize-javascript@^2.1.2:
version "2.1.2"
@@ -6026,9 +6028,9 @@ supports-color@^7.0.0, supports-color@^7.1.0:
has-flag "^4.0.0"
supports-hyperlinks@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.0.0.tgz#b1b94a159e9df00b0a554b2d5f0e0a89690334b0"
- integrity sha512-bFhn0MQ8qefLyJ3K7PpHiPUTuTVPWw6RXfaMeV6xgJLXtBbszyboz1bvGTVv4R0YpQm2DqlXXn0fFHhxUHVE5w==
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47"
+ integrity sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==
dependencies:
has-flag "^4.0.0"
supports-color "^7.0.0"
@@ -6404,9 +6406,9 @@ v8-compile-cache@^2.0.3:
integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==
v8-to-istanbul@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.0.1.tgz#d6a2a3823b8ff49bdf2167ff2a45d82dff81d02f"
- integrity sha512-x0yZvZAkjJwdD3fPiJzYP37aod0ati4LlmD2RmpKjqewjKAov/u/ytZ8ViIZb07cN4cePKzl9ijiUi7C1LQ8hQ==
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.1.2.tgz#387d173be5383dbec209d21af033dcb892e3ac82"
+ integrity sha512-G9R+Hpw0ITAmPSr47lSlc5A1uekSYzXxTMlFxso2xoffwo4jQnzbv1p9yXIinO8UMZKfAFewaCHwWvnH4Jb4Ug==
dependencies:
"@types/istanbul-lib-coverage" "^2.0.1"
convert-source-map "^1.6.0"
@@ -6488,10 +6490,10 @@ webpack-sources@^1.4.0, webpack-sources@^1.4.1:
source-list-map "^2.0.0"
source-map "~0.6.1"
-webpack@^4.41.5:
- version "4.41.5"
- resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.41.5.tgz#3210f1886bce5310e62bb97204d18c263341b77c"
- integrity sha512-wp0Co4vpyumnp3KlkmpM5LWuzvZYayDwM2n17EHFr4qxBBbRokC7DJawPJC7TfSFZ9HZ6GsdH40EBj4UV0nmpw==
+webpack@^4.41.6:
+ version "4.41.6"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.41.6.tgz#12f2f804bf6542ef166755050d4afbc8f66ba7e1"
+ integrity sha512-yxXfV0Zv9WMGRD+QexkZzmGIh54bsvEs+9aRWxnN8erLWEOehAKUTeNBoUbA6HPEZPlRo7KDi2ZcNveoZgK9MA==
dependencies:
"@webassemblyjs/ast" "1.8.5"
"@webassemblyjs/helper-module-context" "1.8.5"