diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0da0630..33ae55a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,14 @@
+## 2.2.0
+
+### Improvements
+
+1. Allow `memoryStorage` to be the default fallback for `sessionStorage`
+
+---
+
## 2.1.3
### Improvements
diff --git a/README.md b/README.md
index 8535cf6..19d8638 100644
--- a/README.md
+++ b/README.md
@@ -60,7 +60,7 @@ $ yarn add proxy-storage
-
+
```
In the above case, [`proxyStorage`](#api) is included as a global object
@@ -164,9 +164,9 @@ usually `localStorage`, which is established when the library is initialized.
The availability of the storage mechanisms is determined in the following order:
1. **`localStorage`**: adapter of the [window.localStorage] object.
-1. **`sessionStorage`**: adapter of the [window.sessionStorage] object.
1. **`cookieStorage`**: adapter of the [document.cookie] object, and
normalized with the [`WebStorage`](#webstorage) interface.
+1. **`sessionStorage`**: adapter of the [window.sessionStorage] object.
1. **`memoryStorage`**: internal storage mechanism that can be used as
_fallback_ when none of the above mechanisms are available. The behavior
of `memoryStorage` is similar to `sessionStorage`, which let you to persist
@@ -274,11 +274,11 @@ import { WebStorage, isAvailable } from 'proxy-storage';
isAvailable.sessionStorage = false;
const sessionStore = new WebStorage('sessionStorage');
- // sessionStorage is not available. Falling back to localStorage
+ // sessionStorage is not available. Falling back to memoryStorage
sessionStore.setItem('ulugrun', 3.1415926);
// as sessionStorage is not available, the instance obtained
- // is the first storage mechanism available: localStorage
+ // is the first storage mechanism available: memoryStorage
console.dir(sessionStore);
```
@@ -526,8 +526,8 @@ Determines which storage mechanisms are available to read/write/delete data.
It contains the following flags:
- **`localStorage`**: is set to `true` if the local storage is available.
-- **`sessionStorage`**: is set to `true` if the session storage is available.
- **`cookieStorage`**: is set to `true` if the cookie storage is available.
+- **`sessionStorage`**: is set to `true` if the session storage is available.
- **`memoryStorage`**: always is set to `true`.
**Example**
@@ -538,7 +538,7 @@ import storage, * as proxyStorage from 'proxy-storage';
const flags = proxyStorage.isAvailable;
-if (!flags.localStorage && !flags.sessionStorage) {
+if (!flags.sessionStorage) {
// forces the storage mechanism to memoryStorage
proxyStorage.configStorage.set('memoryStorage');
}
diff --git a/dist/proxy-storage.js b/dist/proxy-storage.js
index e938ade..c476ea2 100644
--- a/dist/proxy-storage.js
+++ b/dist/proxy-storage.js
@@ -1,4 +1,4 @@
-/*! proxyStorage@v2.1.3. Jherax 2017. Visit https://github.com/jherax/proxy-storage */
+/*! proxyStorage@v2.2.0. Jherax 2017. Visit https://github.com/jherax/proxy-storage */
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory();
@@ -12,41 +12,41 @@
return /******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
-
+/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
-
+/******/
/******/ // Check if module is in cache
-/******/ if(installedModules[moduleId])
+/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
-
+/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
-
+/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-
+/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
-
+/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
-
-
+/******/
+/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
-
+/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
-
+/******/
/******/ // identity function for calling harmony imports with the correct context
/******/ __webpack_require__.i = function(value) { return value; };
-
+/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
@@ -57,7 +57,7 @@ return /******/ (function(modules) { // webpackBootstrap
/******/ });
/******/ }
/******/ };
-
+/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
@@ -66,13 +66,13 @@ return /******/ (function(modules) { // webpackBootstrap
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
-
+/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-
+/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
-
+/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 6);
/******/ })
@@ -180,9 +180,10 @@ Object.defineProperty(exports, "__esModule", {
*/
var isAvailable = exports.isAvailable = {
localStorage: false,
- sessionStorage: false,
cookieStorage: false,
- memoryStorage: true };
+ sessionStorage: false,
+ memoryStorage: true // fallback storage
+};
/***/ }),
/* 2 */
@@ -322,8 +323,10 @@ var webStorageSettings = {
*/
function storageAvailable(storageType) {
if (webStorageSettings.isAvailable[storageType]) return storageType;
- console.warn(storageType + ' is not available. Falling back to ' + webStorageSettings.default); // eslint-disable-line
- return webStorageSettings.default;
+ var fallback = storageType === 'sessionStorage' ? 'memoryStorage' : webStorageSettings.default;
+ var msg = storageType + ' is not available. Falling back to ' + fallback;
+ console.warn(msg); // eslint-disable-line
+ return fallback;
}
/**
@@ -339,7 +342,6 @@ function storageAvailable(storageType) {
*/
var WebStorage = function () {
-
/**
* Creates an instance of WebStorage.
*
@@ -542,7 +544,8 @@ var $cookie = {
set: function set(value) {
document.cookie = value;
},
- data: {} };
+ data: {} // metadata associated to the cookies
+};
/**
* @private
@@ -888,9 +891,6 @@ var configStorage = {
* @return {void}
*/
set: function set(storageType) {
- if (!Object.prototype.hasOwnProperty.call(_webStorage.proxy, storageType)) {
- throw new Error('Storage type "' + storageType + '" is not valid');
- }
exports.default = storage = new _webStorage2.default(storageType);
}
};
@@ -909,10 +909,10 @@ function isStorageAvailable(storageType) {
try {
storageObj.setItem(data, data);
storageObj.removeItem(data);
- return true;
} catch (e) {
return false;
}
+ return true;
}
/**
@@ -940,8 +940,8 @@ function storageAvailable(storageType) {
*/
function init() {
_isAvailable.isAvailable.localStorage = isStorageAvailable('localStorage');
- _isAvailable.isAvailable.sessionStorage = isStorageAvailable('sessionStorage');
_isAvailable.isAvailable.cookieStorage = isStorageAvailable('cookieStorage');
+ _isAvailable.isAvailable.sessionStorage = isStorageAvailable('sessionStorage');
_webStorage.webStorageSettings.isAvailable = _isAvailable.isAvailable;
// sets the default storage mechanism available
Object.keys(_isAvailable.isAvailable).some(storageAvailable);
diff --git a/dist/proxy-storage.min.js b/dist/proxy-storage.min.js
index a79b151..ae98525 100644
--- a/dist/proxy-storage.min.js
+++ b/dist/proxy-storage.min.js
@@ -1,3 +1,3 @@
-/*! proxyStorage@v2.1.3. Jherax 2017. Visit https://github.com/jherax/proxy-storage */
-!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.proxyStorage=t():e.proxyStorage=t()}(this,function(){return function(e){function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=6)}([function(e,t,n){"use strict";function o(e){return"[object Object]"===Object.prototype.toString.call(e)}function r(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Object.assign({},e),n=t.date instanceof Date?t.date:new Date;return+t.minutes&&n.setMinutes(n.getMinutes()+t.minutes),+t.hours&&n.setHours(n.getHours()+t.hours),+t.days&&n.setDate(n.getDate()+t.days),+t.months&&n.setMonth(n.getMonth()+t.months),+t.years&&n.setFullYear(n.getFullYear()+t.years),n}function i(e,t,n){var o={configurable:!1,enumerable:!1,writable:!1};"undefined"!=typeof n&&(o.value=n),Object.defineProperty(e,t,o)}function a(e){if(null==e||""===e)throw new Error("The key provided can not be empty")}Object.defineProperty(t,"__esModule",{value:!0}),t.isObject=o,t.alterDate=r,t.setProperty=i,t.checkEmpty=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.isAvailable={localStorage:!1,sessionStorage:!1,cookieStorage:!1,memoryStorage:!0}},function(e,t,n){"use strict";function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e){for(var t=arguments.length,n=Array(t>1?t-1:0),o=1;o-1&&(t=o.substring(0,n),e.removeItem(t.trim()))})},initialize:function(){c.get().split(";").forEach(function(t){var n=t.indexOf("="),o=t.substring(0,n).trim(),r=t.substring(n+1).trim();o&&(e[o]=decodeURIComponent(r))}),delete e.initialize}};return e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=u;var s=n(0),c={get:function(){return document.cookie},set:function(e){document.cookie=e},data:{}}},function(e,t,n){"use strict";function o(){try{var e=JSON.parse(window.self.name);if(e&&"object"===("undefined"==typeof e?"undefined":a(e)))return e}catch(e){return{}}}function r(e){var t=JSON.stringify(e);window.self.name=t}function i(){var e=o(),t={setItem:function(t,n){e[t]=n,r(e)},getItem:function(t){var n=e[t];return void 0===n?null:n},removeItem:function(t){delete e[t],r(e)},clear:function(){Object.keys(e).forEach(function(t){return delete e[t]}),r(e)},initialize:function(){Object.assign(t,e),delete t.initialize}};return t}Object.defineProperty(t,"__esModule",{value:!0});var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.default=i},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}function r(e){if(!e.initialize)return e;for(var t in e)"initialize"!==t&&(0,c.setProperty)(e,t);return e.initialize(),e}Object.defineProperty(t,"__esModule",{value:!0}),t.proxy=void 0;var i=n(3),a=o(i),u=n(4),s=o(u),c=n(0);t.proxy={localStorage:window.localStorage,sessionStorage:window.sessionStorage,cookieStorage:r((0,a.default)()),memoryStorage:r((0,s.default)())}},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}function r(e){var t=u.proxy[e],n="__proxy-storage__";try{return t.setItem(n,n),t.removeItem(n),!0}catch(e){return!1}}function i(e){return c.isAvailable[e]&&(u.webStorageSettings.default=e,f.set(e)),c.isAvailable[e]}function a(){c.isAvailable.localStorage=r("localStorage"),c.isAvailable.sessionStorage=r("sessionStorage"),c.isAvailable.cookieStorage=r("cookieStorage"),u.webStorageSettings.isAvailable=c.isAvailable,Object.keys(c.isAvailable).some(i)}Object.defineProperty(t,"__esModule",{value:!0}),t.isAvailable=t.configStorage=t.WebStorage=t.default=void 0;var u=n(2),s=o(u),c=n(1),l=null,f={get:function(){return l.__storage__},set:function(e){if(!Object.prototype.hasOwnProperty.call(u.proxy,e))throw new Error('Storage type "'+e+'" is not valid');t.default=l=new s.default(e)}};a(),t.default=l,t.WebStorage=s.default,t.configStorage=f,t.isAvailable=c.isAvailable}])});
+/*! proxyStorage@v2.2.0. Jherax 2017. Visit https://github.com/jherax/proxy-storage */
+!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.proxyStorage=t():e.proxyStorage=t()}(this,function(){return function(e){function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=6)}([function(e,t,n){"use strict";function o(e){return"[object Object]"===Object.prototype.toString.call(e)}function r(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Object.assign({},e),n=t.date instanceof Date?t.date:new Date;return+t.minutes&&n.setMinutes(n.getMinutes()+t.minutes),+t.hours&&n.setHours(n.getHours()+t.hours),+t.days&&n.setDate(n.getDate()+t.days),+t.months&&n.setMonth(n.getMonth()+t.months),+t.years&&n.setFullYear(n.getFullYear()+t.years),n}function i(e,t,n){var o={configurable:!1,enumerable:!1,writable:!1};void 0!==n&&(o.value=n),Object.defineProperty(e,t,o)}function a(e){if(null==e||""===e)throw new Error("The key provided can not be empty")}Object.defineProperty(t,"__esModule",{value:!0}),t.isObject=o,t.alterDate=r,t.setProperty=i,t.checkEmpty=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.isAvailable={localStorage:!1,cookieStorage:!1,sessionStorage:!1,memoryStorage:!0}},function(e,t,n){"use strict";function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e){for(var t=arguments.length,n=Array(t>1?t-1:0),o=1;o-1&&(t=o.substring(0,n),e.removeItem(t.trim()))})},initialize:function(){c.get().split(";").forEach(function(t){var n=t.indexOf("="),o=t.substring(0,n).trim(),r=t.substring(n+1).trim();o&&(e[o]=decodeURIComponent(r))}),delete e.initialize}};return e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=u;var s=n(0),c={get:function(){return document.cookie},set:function(e){document.cookie=e},data:{}}},function(e,t,n){"use strict";function o(){try{var e=JSON.parse(window.self.name);if(e&&"object"===(void 0===e?"undefined":a(e)))return e}catch(e){return{}}}function r(e){var t=JSON.stringify(e);window.self.name=t}function i(){var e=o(),t={setItem:function(t,n){e[t]=n,r(e)},getItem:function(t){var n=e[t];return void 0===n?null:n},removeItem:function(t){delete e[t],r(e)},clear:function(){Object.keys(e).forEach(function(t){return delete e[t]}),r(e)},initialize:function(){Object.assign(t,e),delete t.initialize}};return t}Object.defineProperty(t,"__esModule",{value:!0});var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.default=i},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}function r(e){if(!e.initialize)return e;for(var t in e)"initialize"!==t&&(0,c.setProperty)(e,t);return e.initialize(),e}Object.defineProperty(t,"__esModule",{value:!0}),t.proxy=void 0;var i=n(3),a=o(i),u=n(4),s=o(u),c=n(0);t.proxy={localStorage:window.localStorage,sessionStorage:window.sessionStorage,cookieStorage:r((0,a.default)()),memoryStorage:r((0,s.default)())}},function(e,t,n){"use strict";function o(e){var t=i.proxy[e],n="__proxy-storage__";try{t.setItem(n,n),t.removeItem(n)}catch(e){return!1}return!0}function r(e){return u.isAvailable[e]&&(i.webStorageSettings.default=e,c.set(e)),u.isAvailable[e]}Object.defineProperty(t,"__esModule",{value:!0}),t.isAvailable=t.configStorage=t.WebStorage=t.default=void 0;var i=n(2),a=function(e){return e&&e.__esModule?e:{default:e}}(i),u=n(1),s=null,c={get:function(){return s.__storage__},set:function(e){t.default=s=new a.default(e)}};!function(){u.isAvailable.localStorage=o("localStorage"),u.isAvailable.cookieStorage=o("cookieStorage"),u.isAvailable.sessionStorage=o("sessionStorage"),i.webStorageSettings.isAvailable=u.isAvailable,Object.keys(u.isAvailable).some(r)}(),t.default=s,t.WebStorage=a.default,t.configStorage=c,t.isAvailable=u.isAvailable}])});
//# sourceMappingURL=proxy-storage.min.map
\ No newline at end of file
diff --git a/dist/proxy-storage.min.map b/dist/proxy-storage.min.map
index 95cf231..799a901 100644
--- a/dist/proxy-storage.min.map
+++ b/dist/proxy-storage.min.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///proxy-storage.min.js","webpack:///webpack/bootstrap bfb2c265a05630000505","webpack:///./src/utils.js","webpack:///./src/is-available.js","webpack:///./src/web-storage.js","webpack:///./src/cookie-storage.js","webpack:///./src/memory-storage.js","webpack:///./src/proxy-mechanism.js","webpack:///./src/proxy-storage.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","isObject","toString","alterDate","options","arguments","length","undefined","opt","assign","date","Date","minutes","setMinutes","getMinutes","hours","setHours","getHours","days","setDate","getDate","months","setMonth","getMonth","years","setFullYear","getFullYear","setProperty","obj","descriptor","writable","checkEmpty","key","Error","isAvailable","localStorage","sessionStorage","cookieStorage","memoryStorage","_classCallCheck","instance","Constructor","TypeError","executeInterceptors","command","_len","args","Array","_key","shift","_typeof","JSON","parse","stringify","_interceptors","reduce","val","action","transformed","concat","tryParse","parsed","e","copyKeys","storage","keys","forEach","storageAvailable","storageType","webStorageSettings","console","warn","default","proxy","_createClass","defineProperties","target","props","protoProps","staticProps","Symbol","iterator","constructor","_proxyMechanism","_utils","_isAvailable","_instances","setItem","getItem","removeItem","clear","bannedKeys","WebStorage","cachedInstance","__storage__","test","v","_this","push","buildExpirationString","expires","toUTCString","buildMetadataFor","data","formatMetadata","domain","path","secure","findCookie","cookie","nameEQ","trim","indexOf","api","$cookie","metadata","encodeURIComponent","set","split","find","substring","decodeURIComponent","indexEQ","initialize","index","document","getStoreFromWindow","store","window","self","setStoreToWindow","hashtable","_interopRequireDefault","initApi","prop","_cookieStorage","_cookieStorage2","_memoryStorage","_memoryStorage2","isStorageAvailable","storageObj","_webStorage","configStorage","init","some","_webStorage2"],"mappings":"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","file":"proxy-storage.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"proxyStorage\"] = factory();\n\telse\n\t\troot[\"proxyStorage\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"proxyStorage\"] = factory();\n\telse\n\t\troot[\"proxyStorage\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 6);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isObject = isObject;\nexports.alterDate = alterDate;\nexports.setProperty = setProperty;\nexports.checkEmpty = checkEmpty;\n/**\n * Determines whether a value is a plain object.\n *\n * @param {any} value: the object to test\n * @return {boolean}\n */\nfunction isObject(value) {\n return Object.prototype.toString.call(value) === '[object Object]';\n}\n\n/**\n * Adds or subtracts date portions to the given date and returns the new date.\n *\n * @see https://gist.github.com/jherax/bbc43e479a492cc9cbfc7ccc20c53cd2\n *\n * @param {object} options: It contains the date parts to add or remove, and can have the following properties:\n * - {Date} date: if provided, this date will be affected, otherwise the current date will be used.\n * - {number} minutes: minutes to add/subtract\n * - {number} hours: hours to add/subtract\n * - {number} days: days to add/subtract\n * - {number} months: months to add/subtract\n * - {number} years: years to add/subtract\n * @return {Date}\n */\nfunction alterDate() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var opt = Object.assign({}, options);\n var d = opt.date instanceof Date ? opt.date : new Date();\n if (+opt.minutes) d.setMinutes(d.getMinutes() + opt.minutes);\n if (+opt.hours) d.setHours(d.getHours() + opt.hours);\n if (+opt.days) d.setDate(d.getDate() + opt.days);\n if (+opt.months) d.setMonth(d.getMonth() + opt.months);\n if (+opt.years) d.setFullYear(d.getFullYear() + opt.years);\n return d;\n}\n\n/**\n * Creates a non-enumerable read-only property.\n *\n * @param {object} obj: the object to add the property\n * @param {string} name: the name of the property\n * @param {any} value: the value of the property\n * @return {void}\n */\nfunction setProperty(obj, name, value) {\n var descriptor = {\n configurable: false,\n enumerable: false,\n writable: false\n };\n if (typeof value !== 'undefined') {\n descriptor.value = value;\n }\n Object.defineProperty(obj, name, descriptor);\n}\n\n/**\n * Validates if the key is not empty.\n * (null, undefined or empty string)\n *\n * @param {string} key: keyname of an element in the storage mechanism\n * @return {void}\n */\nfunction checkEmpty(key) {\n if (key == null || key === '') {\n throw new Error('The key provided can not be empty');\n }\n}\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * @public\n *\n * Used to determine which storage mechanisms are available.\n *\n * @type {object}\n */\nvar isAvailable = exports.isAvailable = {\n localStorage: false,\n sessionStorage: false,\n cookieStorage: false,\n memoryStorage: true };\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.proxy = exports.webStorageSettings = exports.default = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _proxyMechanism = __webpack_require__(5);\n\nvar _utils = __webpack_require__(0);\n\nvar _isAvailable = __webpack_require__(1);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * @private\n *\n * Keeps WebStorage instances by type as singletons.\n *\n * @type {object}\n */\nvar _instances = {};\n\n/**\n * @private\n *\n * Stores the interceptors for WebStorage methods.\n *\n * @type {object}\n */\nvar _interceptors = {\n setItem: [],\n getItem: [],\n removeItem: [],\n clear: []\n};\n\n/**\n * @private\n *\n * Keys not allowed for cookies.\n *\n * @type {RegExp}\n */\nvar bannedKeys = /^(?:expires|max-age|path|domain|secure)$/i;\n\n/**\n * @private\n *\n * Executes the interceptors for a WebStorage method and\n * allows the transformation in chain of the value passed through.\n *\n * @param {string} command: name of the method to intercept\n * @return {any}\n */\nfunction executeInterceptors(command) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var key = args.shift();\n var value = args.shift();\n if (value && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') {\n // clone the object to prevent mutations\n value = JSON.parse(JSON.stringify(value));\n }\n return _interceptors[command].reduce(function (val, action) {\n var transformed = action.apply(undefined, [key, val].concat(args));\n if (transformed == null) return val;\n return transformed;\n }, value);\n}\n\n/**\n * @private\n *\n * Try to parse a value\n *\n * @param {string} value: the value to parse\n * @return {any}\n */\nfunction tryParse(value) {\n var parsed = void 0;\n try {\n parsed = JSON.parse(value);\n } catch (e) {\n parsed = value;\n }\n return parsed;\n}\n\n/**\n * @private\n *\n * Copies all existing keys in the WebStorage instance.\n *\n * @param {WebStorage} instance: the instance to where copy the keys\n * @param {object} storage: the storage mechanism\n * @return {void}\n */\nfunction copyKeys(instance, storage) {\n Object.keys(storage).forEach(function (key) {\n instance[key] = tryParse(storage[key]);\n });\n}\n\n/**\n * @public\n *\n * Allows to validate if a storage mechanism is valid\n *\n * @type {object}\n */\nvar webStorageSettings = {\n default: null,\n isAvailable: _isAvailable.isAvailable\n};\n\n/**\n * @private\n *\n * Validates if the storage mechanism is available and can be used safely.\n *\n * @param {string} storageType: it can be \"localStorage\", \"sessionStorage\", \"cookieStorage\", or \"memoryStorage\"\n * @return {string}\n */\nfunction storageAvailable(storageType) {\n if (webStorageSettings.isAvailable[storageType]) return storageType;\n console.warn(storageType + ' is not available. Falling back to ' + webStorageSettings.default); // eslint-disable-line\n return webStorageSettings.default;\n}\n\n/**\n * @public\n *\n * Implementation of the Web Storage interface.\n * It saves and retrieves values as JSON.\n *\n * @see\n * https://developer.mozilla.org/en-US/docs/Web/API/Storage\n *\n * @type {class}\n */\n\nvar WebStorage = function () {\n\n /**\n * Creates an instance of WebStorage.\n *\n * @param {string} storageType: it can be \"localStorage\", \"sessionStorage\", \"cookieStorage\", or \"memoryStorage\"\n *\n * @memberOf WebStorage\n */\n function WebStorage(storageType) {\n _classCallCheck(this, WebStorage);\n\n if (!Object.prototype.hasOwnProperty.call(_proxyMechanism.proxy, storageType)) {\n throw new Error('Storage type \"' + storageType + '\" is not valid');\n }\n // gets the requested storage mechanism\n var storage = _proxyMechanism.proxy[storageType];\n // if the storage is not available, sets the default\n storageType = storageAvailable(storageType);\n // keeps only one instance by storageType (singleton)\n var cachedInstance = _instances[storageType];\n if (cachedInstance) {\n copyKeys(cachedInstance, storage);\n return cachedInstance;\n }\n (0, _utils.setProperty)(this, '__storage__', storageType);\n // copies all existing keys in the storage mechanism\n copyKeys(this, storage);\n _instances[storageType] = this;\n }\n\n /**\n * Stores a value given a key name.\n *\n * @param {string} key: keyname of the storage\n * @param {any} value: data to save in the storage\n * @param {object} options: additional options for cookieStorage\n * @return {void}\n *\n * @memberOf WebStorage\n */\n\n\n _createClass(WebStorage, [{\n key: 'setItem',\n value: function setItem(key, value, options) {\n (0, _utils.checkEmpty)(key);\n var storageType = this.__storage__;\n if (storageType === 'cookieStorage' && bannedKeys.test(key)) {\n throw new Error('The key is a reserved word, therefore not allowed');\n }\n var v = executeInterceptors('setItem', key, value, options);\n if (v !== undefined) value = v;\n this[key] = value;\n // prevents converting strings to JSON to avoid extra quotes\n if (typeof value !== 'string') value = JSON.stringify(value);\n _proxyMechanism.proxy[storageType].setItem(key, value, options);\n // checks if the cookie was created, or delete it if the domain or path are not valid\n if (storageType === 'cookieStorage' && _proxyMechanism.proxy[storageType].getItem(key) === null) {\n delete this[key];\n }\n }\n\n /**\n * Retrieves a value by its key name.\n *\n * @param {string} key: keyname of the storage\n * @return {void}\n *\n * @memberOf WebStorage\n */\n\n }, {\n key: 'getItem',\n value: function getItem(key) {\n (0, _utils.checkEmpty)(key);\n var value = _proxyMechanism.proxy[this.__storage__].getItem(key);\n if (value == null) {\n delete this[key];\n value = null;\n } else {\n value = tryParse(value);\n this[key] = value;\n }\n var v = executeInterceptors('getItem', key, value);\n if (v !== undefined) value = v;\n return value;\n }\n\n /**\n * Deletes a key from the storage.\n *\n * @param {string} key: keyname of the storage\n * @param {object} options: additional options for cookieStorage\n * @return {void}\n *\n * @memberOf WebStorage\n */\n\n }, {\n key: 'removeItem',\n value: function removeItem(key, options) {\n (0, _utils.checkEmpty)(key);\n executeInterceptors('removeItem', key, options);\n delete this[key];\n _proxyMechanism.proxy[this.__storage__].removeItem(key, options);\n }\n\n /**\n * Removes all keys from the storage.\n *\n * @return {void}\n *\n * @memberOf WebStorage\n */\n\n }, {\n key: 'clear',\n value: function clear() {\n var _this = this;\n\n executeInterceptors('clear');\n Object.keys(this).forEach(function (key) {\n delete _this[key];\n }, this);\n _proxyMechanism.proxy[this.__storage__].clear();\n }\n\n /**\n * Gets the number of data items stored in the Storage object.\n *\n * @readonly\n *\n * @memberOf WebStorage\n */\n\n }, {\n key: 'length',\n get: function get() {\n return Object.keys(this).length;\n }\n\n /**\n * Adds an interceptor to a WebStorage method.\n *\n * @param {string} command: name of the API method to intercept\n * @param {function} action: callback executed when the API method is called\n * @return {void}\n *\n * @memberOf WebStorage\n */\n\n }], [{\n key: 'interceptors',\n value: function interceptors(command, action) {\n if (command in _interceptors && typeof action === 'function') {\n _interceptors[command].push(action);\n }\n }\n }]);\n\n return WebStorage;\n}();\n\n/**\n * @public API\n */\n\n\nexports.default = WebStorage;\nexports.webStorageSettings = webStorageSettings;\nexports.proxy = _proxyMechanism.proxy;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = cookieStorage;\n\nvar _utils = __webpack_require__(0);\n\n/**\n * @private\n *\n * Proxy for document.cookie\n *\n * @see\n * https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie\n *\n * @type {object}\n */\nvar $cookie = {\n get: function get() {\n return document.cookie;\n },\n set: function set(value) {\n document.cookie = value;\n },\n data: {} };\n\n/**\n * @private\n *\n * Builds the expiration for the cookie.\n *\n * @see utils.alterDate(options)\n *\n * @param {Date|object} date: the expiration date\n * @return {string}\n */\nfunction buildExpirationString(date) {\n var expires = date instanceof Date ? (0, _utils.alterDate)({ date: date }) : (0, _utils.alterDate)(date);\n return expires.toUTCString();\n}\n\n/**\n * @private\n *\n * Builds the string for the cookie metadata.\n *\n * @param {string} key: name of the metadata\n * @param {object} data: metadata of the cookie\n * @return {string}\n */\nfunction buildMetadataFor(key, data) {\n if (!data[key]) return '';\n return ';' + key + '=' + data[key];\n}\n\n/**\n * @private\n *\n * Builds the whole string for the cookie metadata.\n *\n * @param {object} data: metadata of the cookie\n * @return {string}\n */\nfunction formatMetadata(data) {\n var expires = buildMetadataFor('expires', data);\n var domain = buildMetadataFor('domain', data);\n var path = buildMetadataFor('path', data);\n var secure = data.secure ? ';secure' : '';\n return '' + expires + domain + path + secure;\n}\n\n/**\n * @private\n *\n * Finds an element in the array.\n *\n * @param {string} cookie: key=value\n * @return {boolean}\n */\nfunction findCookie(cookie) {\n var nameEQ = this.toString();\n // prevent leading spaces before the key\n return cookie.trim().indexOf(nameEQ) === 0;\n}\n\n/**\n * @public\n *\n * Create, read, and delete elements from document.cookie,\n * and implements the Web Storage interface.\n *\n * @return {object}\n */\nfunction cookieStorage() {\n var api = {\n setItem: function setItem(key, value, options) {\n options = Object.assign({ path: '/' }, options);\n // keep track of the metadata associated to the cookie\n $cookie.data[key] = { path: options.path };\n var metadata = $cookie.data[key];\n if ((0, _utils.isObject)(options.expires) || options.expires instanceof Date) {\n metadata.expires = buildExpirationString(options.expires);\n }\n if (options.domain && typeof options.domain === 'string') {\n metadata.domain = options.domain.trim();\n }\n if (options.secure === true) metadata.secure = true;\n var cookie = key + '=' + encodeURIComponent(value) + formatMetadata(metadata);\n // TODO: should encodeURIComponent(key) ?\n $cookie.set(cookie);\n },\n getItem: function getItem(key) {\n var value = null;\n var nameEQ = key + '=';\n var cookie = $cookie.get().split(';').find(findCookie, nameEQ);\n if (cookie) {\n // prevent leading spaces before the key name\n value = cookie.trim().substring(nameEQ.length, cookie.length);\n value = decodeURIComponent(value);\n }\n if (value === null) delete $cookie.data[key];\n return value;\n },\n removeItem: function removeItem(key, options) {\n var metadata = Object.assign({}, $cookie.data[key], options);\n metadata.expires = { days: -1 };\n api.setItem(key, '', metadata);\n delete $cookie.data[key];\n },\n clear: function clear() {\n var key = void 0,\n indexEQ = void 0; // eslint-disable-line\n $cookie.get().split(';').forEach(function (cookie) {\n indexEQ = cookie.indexOf('=');\n if (indexEQ > -1) {\n key = cookie.substring(0, indexEQ);\n // prevent leading spaces before the key\n api.removeItem(key.trim());\n }\n });\n },\n initialize: function initialize() {\n // copies all existing elements in the storage\n $cookie.get().split(';').forEach(function (cookie) {\n var index = cookie.indexOf('=');\n var key = cookie.substring(0, index).trim();\n var value = cookie.substring(index + 1).trim();\n if (key) api[key] = decodeURIComponent(value);\n });\n // this method is removed after being invoked\n // because is not part of the Web Storage interface\n delete api.initialize;\n }\n };\n return api;\n}\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.default = memoryStorage;\n/**\n * @private\n *\n * Gets the hashtable-store from the current window.\n *\n * @return {object}\n */\nfunction getStoreFromWindow() {\n // eslint-disable-line\n try {\n var store = JSON.parse(window.self.name);\n if (store && (typeof store === 'undefined' ? 'undefined' : _typeof(store)) === 'object') return store;\n } catch (e) {\n return {};\n }\n}\n\n/**\n * @private\n *\n * Saves the hashtable-store in the current window.\n *\n * @param {object} hashtable: {key,value} pairs stored in memoryStorage\n * @return {void}\n */\nfunction setStoreToWindow(hashtable) {\n var store = JSON.stringify(hashtable);\n window.self.name = store;\n}\n\n/**\n * @public\n *\n * Create, read, and delete elements from memory, and implements\n * the Web Storage interface. It also adds a hack to persist\n * the storage in the session for the current tab (browser).\n *\n * @return {object}\n */\nfunction memoryStorage() {\n var hashtable = getStoreFromWindow();\n var api = {\n setItem: function setItem(key, value) {\n hashtable[key] = value;\n setStoreToWindow(hashtable);\n },\n getItem: function getItem(key) {\n var value = hashtable[key];\n return value === undefined ? null : value;\n },\n removeItem: function removeItem(key) {\n delete hashtable[key];\n setStoreToWindow(hashtable);\n },\n clear: function clear() {\n Object.keys(hashtable).forEach(function (key) {\n return delete hashtable[key];\n });\n setStoreToWindow(hashtable);\n },\n initialize: function initialize() {\n // copies all existing elements in the storage\n Object.assign(api, hashtable);\n // this method is removed after being invoked\n // because is not part of the Web Storage interface\n delete api.initialize;\n }\n };\n return api;\n}\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.proxy = undefined;\n\nvar _cookieStorage = __webpack_require__(3);\n\nvar _cookieStorage2 = _interopRequireDefault(_cookieStorage);\n\nvar _memoryStorage = __webpack_require__(4);\n\nvar _memoryStorage2 = _interopRequireDefault(_memoryStorage);\n\nvar _utils = __webpack_require__(0);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @private\n *\n * Copy the current items in the storage mechanism.\n *\n * @param {object} api: the storage mechanism to initialize\n * @return {object}\n */\nfunction initApi(api) {\n if (!api.initialize) return api;\n // sets API members to read-only and non-enumerable\n for (var prop in api) {\n // eslint-disable-line\n if (prop !== 'initialize') {\n (0, _utils.setProperty)(api, prop);\n }\n }\n api.initialize();\n return api;\n}\n\n/**\n * @public\n *\n * Proxy for the storage mechanisms.\n * All members implement the Web Storage interface.\n *\n * @see\n * https://developer.mozilla.org/en-US/docs/Web/API/Storage\n *\n * @type {object}\n */\nvar proxy = exports.proxy = {\n localStorage: window.localStorage,\n sessionStorage: window.sessionStorage,\n cookieStorage: initApi((0, _cookieStorage2.default)()),\n memoryStorage: initApi((0, _memoryStorage2.default)())\n};\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isAvailable = exports.configStorage = exports.WebStorage = exports.default = undefined;\n\nvar _webStorage = __webpack_require__(2);\n\nvar _webStorage2 = _interopRequireDefault(_webStorage);\n\nvar _isAvailable = __webpack_require__(1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @public\n *\n * Current storage mechanism.\n *\n * @type {object}\n */\n/**\n * This library uses an adapter that implements the Web Storage interface,\n * which is very useful to deal with the lack of compatibility between\n * document.cookie and localStorage and sessionStorage.\n *\n * It also provides a memoryStorage fallback that stores the data in memory\n * when all of above mechanisms are not available.\n *\n * Author: David Rivera\n * Github: https://github.com/jherax\n * License: \"MIT\"\n *\n * You can fork this project on github:\n * https://github.com/jherax/proxy-storage.git\n */\n\nvar storage = null;\n\n/**\n * @public\n *\n * Get/Set the storage mechanism to use by default.\n *\n * @type {object}\n */\nvar configStorage = {\n get: function get() {\n return storage.__storage__;\n },\n\n\n /**\n * Sets the storage mechanism to use by default.\n *\n * @param {string} storageType: it can be \"localStorage\", \"sessionStorage\", \"cookieStorage\", or \"memoryStorage\"\n * @return {void}\n */\n set: function set(storageType) {\n if (!Object.prototype.hasOwnProperty.call(_webStorage.proxy, storageType)) {\n throw new Error('Storage type \"' + storageType + '\" is not valid');\n }\n exports.default = storage = new _webStorage2.default(storageType);\n }\n};\n\n/**\n * @private\n *\n * Checks whether a storage mechanism is available.\n *\n * @param {string} storageType: it can be \"localStorage\", \"sessionStorage\", \"cookieStorage\", or \"memoryStorage\"\n * @return {boolean}\n */\nfunction isStorageAvailable(storageType) {\n var storageObj = _webStorage.proxy[storageType];\n var data = '__proxy-storage__';\n try {\n storageObj.setItem(data, data);\n storageObj.removeItem(data);\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * @private\n *\n * Sets the first or default storage available.\n *\n * @param {string} storageType: it can be \"localStorage\", \"sessionStorage\", \"cookieStorage\", or \"memoryStorage\"\n * @return {boolean}\n */\nfunction storageAvailable(storageType) {\n if (_isAvailable.isAvailable[storageType]) {\n _webStorage.webStorageSettings.default = storageType;\n configStorage.set(storageType);\n }\n return _isAvailable.isAvailable[storageType];\n}\n\n/**\n * @private\n *\n * Initializes the module.\n *\n * @return {void}\n */\nfunction init() {\n _isAvailable.isAvailable.localStorage = isStorageAvailable('localStorage');\n _isAvailable.isAvailable.sessionStorage = isStorageAvailable('sessionStorage');\n _isAvailable.isAvailable.cookieStorage = isStorageAvailable('cookieStorage');\n _webStorage.webStorageSettings.isAvailable = _isAvailable.isAvailable;\n // sets the default storage mechanism available\n Object.keys(_isAvailable.isAvailable).some(storageAvailable);\n}\n\ninit();\n\n/**\n * @public API\n */\nexports.default = storage;\nexports.WebStorage = _webStorage2.default;\nexports.configStorage = configStorage;\nexports.isAvailable = _isAvailable.isAvailable;\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// proxy-storage.min.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 6);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap bfb2c265a05630000505","/**\n * Determines whether a value is a plain object.\n *\n * @param {any} value: the object to test\n * @return {boolean}\n */\nexport function isObject(value) {\n return Object.prototype.toString.call(value) === '[object Object]';\n}\n\n/**\n * Adds or subtracts date portions to the given date and returns the new date.\n *\n * @see https://gist.github.com/jherax/bbc43e479a492cc9cbfc7ccc20c53cd2\n *\n * @param {object} options: It contains the date parts to add or remove, and can have the following properties:\n * - {Date} date: if provided, this date will be affected, otherwise the current date will be used.\n * - {number} minutes: minutes to add/subtract\n * - {number} hours: hours to add/subtract\n * - {number} days: days to add/subtract\n * - {number} months: months to add/subtract\n * - {number} years: years to add/subtract\n * @return {Date}\n */\nexport function alterDate(options = {}) {\n const opt = Object.assign({}, options);\n const d = opt.date instanceof Date ? opt.date : new Date();\n if (+opt.minutes) d.setMinutes(d.getMinutes() + opt.minutes);\n if (+opt.hours) d.setHours(d.getHours() + opt.hours);\n if (+opt.days) d.setDate(d.getDate() + opt.days);\n if (+opt.months) d.setMonth(d.getMonth() + opt.months);\n if (+opt.years) d.setFullYear(d.getFullYear() + opt.years);\n return d;\n}\n\n/**\n * Creates a non-enumerable read-only property.\n *\n * @param {object} obj: the object to add the property\n * @param {string} name: the name of the property\n * @param {any} value: the value of the property\n * @return {void}\n */\nexport function setProperty(obj, name, value) {\n const descriptor = {\n configurable: false,\n enumerable: false,\n writable: false,\n };\n if (typeof value !== 'undefined') {\n descriptor.value = value;\n }\n Object.defineProperty(obj, name, descriptor);\n}\n\n/**\n * Validates if the key is not empty.\n * (null, undefined or empty string)\n *\n * @param {string} key: keyname of an element in the storage mechanism\n * @return {void}\n */\nexport function checkEmpty(key) {\n if (key == null || key === '') {\n throw new Error('The key provided can not be empty');\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils.js","/**\n * @public\n *\n * Used to determine which storage mechanisms are available.\n *\n * @type {object}\n */\nexport const isAvailable = {\n localStorage: false,\n sessionStorage: false,\n cookieStorage: false,\n memoryStorage: true, // fallback storage\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/is-available.js","import {proxy} from './proxy-mechanism';\nimport {setProperty, checkEmpty} from './utils';\nimport {isAvailable} from './is-available';\n\n/**\n * @private\n *\n * Keeps WebStorage instances by type as singletons.\n *\n * @type {object}\n */\nconst _instances = {};\n\n/**\n * @private\n *\n * Stores the interceptors for WebStorage methods.\n *\n * @type {object}\n */\nconst _interceptors = {\n setItem: [],\n getItem: [],\n removeItem: [],\n clear: [],\n};\n\n/**\n * @private\n *\n * Keys not allowed for cookies.\n *\n * @type {RegExp}\n */\nconst bannedKeys = /^(?:expires|max-age|path|domain|secure)$/i;\n\n/**\n * @private\n *\n * Executes the interceptors for a WebStorage method and\n * allows the transformation in chain of the value passed through.\n *\n * @param {string} command: name of the method to intercept\n * @return {any}\n */\nfunction executeInterceptors(command, ...args) {\n const key = args.shift();\n let value = args.shift();\n if (value && typeof value === 'object') {\n // clone the object to prevent mutations\n value = JSON.parse(JSON.stringify(value));\n }\n return _interceptors[command].reduce((val, action) => {\n const transformed = action(key, val, ...args);\n if (transformed == null) return val;\n return transformed;\n }, value);\n}\n\n/**\n * @private\n *\n * Try to parse a value\n *\n * @param {string} value: the value to parse\n * @return {any}\n */\nfunction tryParse(value) {\n let parsed;\n try {\n parsed = JSON.parse(value);\n } catch (e) {\n parsed = value;\n }\n return parsed;\n}\n\n/**\n * @private\n *\n * Copies all existing keys in the WebStorage instance.\n *\n * @param {WebStorage} instance: the instance to where copy the keys\n * @param {object} storage: the storage mechanism\n * @return {void}\n */\nfunction copyKeys(instance, storage) {\n Object.keys(storage).forEach((key) => {\n instance[key] = tryParse(storage[key]);\n });\n}\n\n/**\n * @public\n *\n * Allows to validate if a storage mechanism is valid\n *\n * @type {object}\n */\nconst webStorageSettings = {\n default: null,\n isAvailable,\n};\n\n/**\n * @private\n *\n * Validates if the storage mechanism is available and can be used safely.\n *\n * @param {string} storageType: it can be \"localStorage\", \"sessionStorage\", \"cookieStorage\", or \"memoryStorage\"\n * @return {string}\n */\nfunction storageAvailable(storageType) {\n if (webStorageSettings.isAvailable[storageType]) return storageType;\n console.warn(`${storageType} is not available. Falling back to ${webStorageSettings.default}`); // eslint-disable-line\n return webStorageSettings.default;\n}\n\n/**\n * @public\n *\n * Implementation of the Web Storage interface.\n * It saves and retrieves values as JSON.\n *\n * @see\n * https://developer.mozilla.org/en-US/docs/Web/API/Storage\n *\n * @type {class}\n */\nclass WebStorage {\n\n /**\n * Creates an instance of WebStorage.\n *\n * @param {string} storageType: it can be \"localStorage\", \"sessionStorage\", \"cookieStorage\", or \"memoryStorage\"\n *\n * @memberOf WebStorage\n */\n constructor(storageType) {\n if (!Object.prototype.hasOwnProperty.call(proxy, storageType)) {\n throw new Error(`Storage type \"${storageType}\" is not valid`);\n }\n // gets the requested storage mechanism\n const storage = proxy[storageType];\n // if the storage is not available, sets the default\n storageType = storageAvailable(storageType);\n // keeps only one instance by storageType (singleton)\n const cachedInstance = _instances[storageType];\n if (cachedInstance) {\n copyKeys(cachedInstance, storage);\n return cachedInstance;\n }\n setProperty(this, '__storage__', storageType);\n // copies all existing keys in the storage mechanism\n copyKeys(this, storage);\n _instances[storageType] = this;\n }\n\n /**\n * Stores a value given a key name.\n *\n * @param {string} key: keyname of the storage\n * @param {any} value: data to save in the storage\n * @param {object} options: additional options for cookieStorage\n * @return {void}\n *\n * @memberOf WebStorage\n */\n setItem(key, value, options) {\n checkEmpty(key);\n const storageType = this.__storage__;\n if (storageType === 'cookieStorage' && bannedKeys.test(key)) {\n throw new Error('The key is a reserved word, therefore not allowed');\n }\n const v = executeInterceptors('setItem', key, value, options);\n if (v !== undefined) value = v;\n this[key] = value;\n // prevents converting strings to JSON to avoid extra quotes\n if (typeof value !== 'string') value = JSON.stringify(value);\n proxy[storageType].setItem(key, value, options);\n // checks if the cookie was created, or delete it if the domain or path are not valid\n if (storageType === 'cookieStorage' && proxy[storageType].getItem(key) === null) {\n delete this[key];\n }\n }\n\n /**\n * Retrieves a value by its key name.\n *\n * @param {string} key: keyname of the storage\n * @return {void}\n *\n * @memberOf WebStorage\n */\n getItem(key) {\n checkEmpty(key);\n let value = proxy[this.__storage__].getItem(key);\n if (value == null) {\n delete this[key];\n value = null;\n } else {\n value = tryParse(value);\n this[key] = value;\n }\n const v = executeInterceptors('getItem', key, value);\n if (v !== undefined) value = v;\n return value;\n }\n\n /**\n * Deletes a key from the storage.\n *\n * @param {string} key: keyname of the storage\n * @param {object} options: additional options for cookieStorage\n * @return {void}\n *\n * @memberOf WebStorage\n */\n removeItem(key, options) {\n checkEmpty(key);\n executeInterceptors('removeItem', key, options);\n delete this[key];\n proxy[this.__storage__].removeItem(key, options);\n }\n\n /**\n * Removes all keys from the storage.\n *\n * @return {void}\n *\n * @memberOf WebStorage\n */\n clear() {\n executeInterceptors('clear');\n Object.keys(this).forEach((key) => {\n delete this[key];\n }, this);\n proxy[this.__storage__].clear();\n }\n\n /**\n * Gets the number of data items stored in the Storage object.\n *\n * @readonly\n *\n * @memberOf WebStorage\n */\n get length() {\n return Object.keys(this).length;\n }\n\n /**\n * Adds an interceptor to a WebStorage method.\n *\n * @param {string} command: name of the API method to intercept\n * @param {function} action: callback executed when the API method is called\n * @return {void}\n *\n * @memberOf WebStorage\n */\n static interceptors(command, action) {\n if (command in _interceptors && typeof action === 'function') {\n _interceptors[command].push(action);\n }\n }\n}\n\n/**\n * @public API\n */\nexport {WebStorage as default, webStorageSettings, proxy};\n\n\n\n// WEBPACK FOOTER //\n// ./src/web-storage.js","import {alterDate, isObject} from './utils';\n\n/**\n * @private\n *\n * Proxy for document.cookie\n *\n * @see\n * https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie\n *\n * @type {object}\n */\nconst $cookie = {\n get: () => document.cookie,\n set: (value) => {\n document.cookie = value;\n },\n data: {}, // metadata associated to the cookies\n};\n\n/**\n * @private\n *\n * Builds the expiration for the cookie.\n *\n * @see utils.alterDate(options)\n *\n * @param {Date|object} date: the expiration date\n * @return {string}\n */\nfunction buildExpirationString(date) {\n const expires = (date instanceof Date ?\n alterDate({date}) :\n alterDate(date)\n );\n return expires.toUTCString();\n}\n\n/**\n * @private\n *\n * Builds the string for the cookie metadata.\n *\n * @param {string} key: name of the metadata\n * @param {object} data: metadata of the cookie\n * @return {string}\n */\nfunction buildMetadataFor(key, data) {\n if (!data[key]) return '';\n return `;${key}=${data[key]}`;\n}\n\n/**\n * @private\n *\n * Builds the whole string for the cookie metadata.\n *\n * @param {object} data: metadata of the cookie\n * @return {string}\n */\nfunction formatMetadata(data) {\n const expires = buildMetadataFor('expires', data);\n const domain = buildMetadataFor('domain', data);\n const path = buildMetadataFor('path', data);\n const secure = data.secure ? ';secure' : '';\n return `${expires}${domain}${path}${secure}`;\n}\n\n/**\n * @private\n *\n * Finds an element in the array.\n *\n * @param {string} cookie: key=value\n * @return {boolean}\n */\nfunction findCookie(cookie) {\n const nameEQ = this.toString();\n // prevent leading spaces before the key\n return cookie.trim().indexOf(nameEQ) === 0;\n}\n\n/**\n * @public\n *\n * Create, read, and delete elements from document.cookie,\n * and implements the Web Storage interface.\n *\n * @return {object}\n */\nexport default function cookieStorage() {\n const api = {\n\n setItem(key, value, options) {\n options = Object.assign({path: '/'}, options);\n // keep track of the metadata associated to the cookie\n $cookie.data[key] = {path: options.path};\n const metadata = $cookie.data[key];\n if (isObject(options.expires) || options.expires instanceof Date) {\n metadata.expires = buildExpirationString(options.expires);\n }\n if (options.domain && typeof options.domain === 'string') {\n metadata.domain = options.domain.trim();\n }\n if (options.secure === true) metadata.secure = true;\n const cookie = `${key}=${encodeURIComponent(value)}${formatMetadata(metadata)}`;\n // TODO: should encodeURIComponent(key) ?\n $cookie.set(cookie);\n },\n\n getItem(key) {\n let value = null;\n const nameEQ = `${key}=`;\n const cookie = $cookie.get().split(';').find(findCookie, nameEQ);\n if (cookie) {\n // prevent leading spaces before the key name\n value = cookie.trim().substring(nameEQ.length, cookie.length);\n value = decodeURIComponent(value);\n }\n if (value === null) delete $cookie.data[key];\n return value;\n },\n\n removeItem(key, options) {\n const metadata = Object.assign({}, $cookie.data[key], options);\n metadata.expires = {days: -1};\n api.setItem(key, '', metadata);\n delete $cookie.data[key];\n },\n\n clear() {\n let key, indexEQ; // eslint-disable-line\n $cookie.get().split(';').forEach((cookie) => {\n indexEQ = cookie.indexOf('=');\n if (indexEQ > -1) {\n key = cookie.substring(0, indexEQ);\n // prevent leading spaces before the key\n api.removeItem(key.trim());\n }\n });\n },\n\n initialize() {\n // copies all existing elements in the storage\n $cookie.get().split(';').forEach((cookie) => {\n const index = cookie.indexOf('=');\n const key = cookie.substring(0, index).trim();\n const value = cookie.substring(index + 1).trim();\n if (key) api[key] = decodeURIComponent(value);\n });\n // this method is removed after being invoked\n // because is not part of the Web Storage interface\n delete api.initialize;\n },\n };\n return api;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/cookie-storage.js","/**\n * @private\n *\n * Gets the hashtable-store from the current window.\n *\n * @return {object}\n */\nfunction getStoreFromWindow() { // eslint-disable-line\n try {\n const store = JSON.parse(window.self.name);\n if (store && typeof store === 'object') return store;\n } catch (e) {\n return {};\n }\n}\n\n/**\n * @private\n *\n * Saves the hashtable-store in the current window.\n *\n * @param {object} hashtable: {key,value} pairs stored in memoryStorage\n * @return {void}\n */\nfunction setStoreToWindow(hashtable) {\n const store = JSON.stringify(hashtable);\n window.self.name = store;\n}\n\n/**\n * @public\n *\n * Create, read, and delete elements from memory, and implements\n * the Web Storage interface. It also adds a hack to persist\n * the storage in the session for the current tab (browser).\n *\n * @return {object}\n */\nexport default function memoryStorage() {\n const hashtable = getStoreFromWindow();\n const api = {\n\n setItem(key, value) {\n hashtable[key] = value;\n setStoreToWindow(hashtable);\n },\n\n getItem(key) {\n const value = hashtable[key];\n return value === undefined ? null : value;\n },\n\n removeItem(key) {\n delete hashtable[key];\n setStoreToWindow(hashtable);\n },\n\n clear() {\n Object.keys(hashtable).forEach(key => delete hashtable[key]);\n setStoreToWindow(hashtable);\n },\n\n initialize() {\n // copies all existing elements in the storage\n Object.assign(api, hashtable);\n // this method is removed after being invoked\n // because is not part of the Web Storage interface\n delete api.initialize;\n },\n };\n return api;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/memory-storage.js","import cookieStorage from './cookie-storage';\nimport memoryStorage from './memory-storage';\nimport {setProperty} from './utils';\n\n/**\n * @private\n *\n * Copy the current items in the storage mechanism.\n *\n * @param {object} api: the storage mechanism to initialize\n * @return {object}\n */\nfunction initApi(api) {\n if (!api.initialize) return api;\n // sets API members to read-only and non-enumerable\n for (let prop in api) { // eslint-disable-line\n if (prop !== 'initialize') {\n setProperty(api, prop);\n }\n }\n api.initialize();\n return api;\n}\n\n/**\n * @public\n *\n * Proxy for the storage mechanisms.\n * All members implement the Web Storage interface.\n *\n * @see\n * https://developer.mozilla.org/en-US/docs/Web/API/Storage\n *\n * @type {object}\n */\nexport const proxy = {\n localStorage: window.localStorage,\n sessionStorage: window.sessionStorage,\n cookieStorage: initApi(cookieStorage()),\n memoryStorage: initApi(memoryStorage()),\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/proxy-mechanism.js","/**\n * This library uses an adapter that implements the Web Storage interface,\n * which is very useful to deal with the lack of compatibility between\n * document.cookie and localStorage and sessionStorage.\n *\n * It also provides a memoryStorage fallback that stores the data in memory\n * when all of above mechanisms are not available.\n *\n * Author: David Rivera\n * Github: https://github.com/jherax\n * License: \"MIT\"\n *\n * You can fork this project on github:\n * https://github.com/jherax/proxy-storage.git\n */\n\nimport WebStorage, {proxy, webStorageSettings} from './web-storage';\nimport {isAvailable} from './is-available';\n\n/**\n * @public\n *\n * Current storage mechanism.\n *\n * @type {object}\n */\nlet storage = null;\n\n/**\n * @public\n *\n * Get/Set the storage mechanism to use by default.\n *\n * @type {object}\n */\nconst configStorage = {\n get() {\n return storage.__storage__;\n },\n\n /**\n * Sets the storage mechanism to use by default.\n *\n * @param {string} storageType: it can be \"localStorage\", \"sessionStorage\", \"cookieStorage\", or \"memoryStorage\"\n * @return {void}\n */\n set(storageType) {\n if (!Object.prototype.hasOwnProperty.call(proxy, storageType)) {\n throw new Error(`Storage type \"${storageType}\" is not valid`);\n }\n storage = new WebStorage(storageType);\n },\n};\n\n/**\n * @private\n *\n * Checks whether a storage mechanism is available.\n *\n * @param {string} storageType: it can be \"localStorage\", \"sessionStorage\", \"cookieStorage\", or \"memoryStorage\"\n * @return {boolean}\n */\nfunction isStorageAvailable(storageType) {\n const storageObj = proxy[storageType];\n const data = '__proxy-storage__';\n try {\n storageObj.setItem(data, data);\n storageObj.removeItem(data);\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * @private\n *\n * Sets the first or default storage available.\n *\n * @param {string} storageType: it can be \"localStorage\", \"sessionStorage\", \"cookieStorage\", or \"memoryStorage\"\n * @return {boolean}\n */\nfunction storageAvailable(storageType) {\n if (isAvailable[storageType]) {\n webStorageSettings.default = storageType;\n configStorage.set(storageType);\n }\n return isAvailable[storageType];\n}\n\n/**\n * @private\n *\n * Initializes the module.\n *\n * @return {void}\n */\nfunction init() {\n isAvailable.localStorage = isStorageAvailable('localStorage');\n isAvailable.sessionStorage = isStorageAvailable('sessionStorage');\n isAvailable.cookieStorage = isStorageAvailable('cookieStorage');\n webStorageSettings.isAvailable = isAvailable;\n // sets the default storage mechanism available\n Object.keys(isAvailable).some(storageAvailable);\n}\n\ninit();\n\n/**\n * @public API\n */\nexport {storage as default, WebStorage, configStorage, isAvailable};\n\n\n\n// WEBPACK FOOTER //\n// ./src/proxy-storage.js"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///proxy-storage.min.js","webpack:///webpack/bootstrap efc7e513812f7362b5ee","webpack:///./src/utils.js","webpack:///./src/is-available.js","webpack:///./src/web-storage.js","webpack:///./src/cookie-storage.js","webpack:///./src/memory-storage.js","webpack:///./src/proxy-mechanism.js","webpack:///./src/proxy-storage.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","isObject","toString","alterDate","options","arguments","length","undefined","opt","assign","date","Date","minutes","setMinutes","getMinutes","hours","setHours","getHours","days","setDate","getDate","months","setMonth","getMonth","years","setFullYear","getFullYear","setProperty","obj","descriptor","writable","checkEmpty","key","Error","isAvailable","localStorage","cookieStorage","sessionStorage","memoryStorage","_classCallCheck","instance","Constructor","TypeError","executeInterceptors","command","_len","args","Array","_key","shift","_typeof","JSON","parse","stringify","_interceptors","reduce","val","action","transformed","concat","tryParse","parsed","e","copyKeys","storage","keys","forEach","storageAvailable","storageType","webStorageSettings","fallback","default","msg","console","warn","proxy","_createClass","defineProperties","target","props","protoProps","staticProps","Symbol","iterator","constructor","_proxyMechanism","_utils","_isAvailable","_instances","setItem","getItem","removeItem","clear","bannedKeys","WebStorage","cachedInstance","__storage__","test","v","_this","push","buildExpirationString","toUTCString","buildMetadataFor","data","formatMetadata","secure","findCookie","cookie","nameEQ","trim","indexOf","api","path","$cookie","metadata","expires","domain","encodeURIComponent","set","split","find","substring","decodeURIComponent","indexEQ","initialize","index","document","getStoreFromWindow","store","window","self","setStoreToWindow","hashtable","_interopRequireDefault","initApi","prop","_cookieStorage","_cookieStorage2","_memoryStorage","_memoryStorage2","isStorageAvailable","storageObj","_webStorage","configStorage","_webStorage2","some"],"mappings":"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","file":"proxy-storage.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"proxyStorage\"] = factory();\n\telse\n\t\troot[\"proxyStorage\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"proxyStorage\"] = factory();\n\telse\n\t\troot[\"proxyStorage\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 6);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isObject = isObject;\nexports.alterDate = alterDate;\nexports.setProperty = setProperty;\nexports.checkEmpty = checkEmpty;\n/**\n * Determines whether a value is a plain object.\n *\n * @param {any} value: the object to test\n * @return {boolean}\n */\nfunction isObject(value) {\n return Object.prototype.toString.call(value) === '[object Object]';\n}\n\n/**\n * Adds or subtracts date portions to the given date and returns the new date.\n *\n * @see https://gist.github.com/jherax/bbc43e479a492cc9cbfc7ccc20c53cd2\n *\n * @param {object} options: It contains the date parts to add or remove, and can have the following properties:\n * - {Date} date: if provided, this date will be affected, otherwise the current date will be used.\n * - {number} minutes: minutes to add/subtract\n * - {number} hours: hours to add/subtract\n * - {number} days: days to add/subtract\n * - {number} months: months to add/subtract\n * - {number} years: years to add/subtract\n * @return {Date}\n */\nfunction alterDate() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var opt = Object.assign({}, options);\n var d = opt.date instanceof Date ? opt.date : new Date();\n if (+opt.minutes) d.setMinutes(d.getMinutes() + opt.minutes);\n if (+opt.hours) d.setHours(d.getHours() + opt.hours);\n if (+opt.days) d.setDate(d.getDate() + opt.days);\n if (+opt.months) d.setMonth(d.getMonth() + opt.months);\n if (+opt.years) d.setFullYear(d.getFullYear() + opt.years);\n return d;\n}\n\n/**\n * Creates a non-enumerable read-only property.\n *\n * @param {object} obj: the object to add the property\n * @param {string} name: the name of the property\n * @param {any} value: the value of the property\n * @return {void}\n */\nfunction setProperty(obj, name, value) {\n var descriptor = {\n configurable: false,\n enumerable: false,\n writable: false\n };\n if (typeof value !== 'undefined') {\n descriptor.value = value;\n }\n Object.defineProperty(obj, name, descriptor);\n}\n\n/**\n * Validates if the key is not empty.\n * (null, undefined or empty string)\n *\n * @param {string} key: keyname of an element in the storage mechanism\n * @return {void}\n */\nfunction checkEmpty(key) {\n if (key == null || key === '') {\n throw new Error('The key provided can not be empty');\n }\n}\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * @public\n *\n * Used to determine which storage mechanisms are available.\n *\n * @type {object}\n */\nvar isAvailable = exports.isAvailable = {\n localStorage: false,\n cookieStorage: false,\n sessionStorage: false,\n memoryStorage: true // fallback storage\n};\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.proxy = exports.webStorageSettings = exports.default = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _proxyMechanism = __webpack_require__(5);\n\nvar _utils = __webpack_require__(0);\n\nvar _isAvailable = __webpack_require__(1);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * @private\n *\n * Keeps WebStorage instances by type as singletons.\n *\n * @type {object}\n */\nvar _instances = {};\n\n/**\n * @private\n *\n * Stores the interceptors for WebStorage methods.\n *\n * @type {object}\n */\nvar _interceptors = {\n setItem: [],\n getItem: [],\n removeItem: [],\n clear: []\n};\n\n/**\n * @private\n *\n * Keys not allowed for cookies.\n *\n * @type {RegExp}\n */\nvar bannedKeys = /^(?:expires|max-age|path|domain|secure)$/i;\n\n/**\n * @private\n *\n * Executes the interceptors for a WebStorage method and\n * allows the transformation in chain of the value passed through.\n *\n * @param {string} command: name of the method to intercept\n * @return {any}\n */\nfunction executeInterceptors(command) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var key = args.shift();\n var value = args.shift();\n if (value && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') {\n // clone the object to prevent mutations\n value = JSON.parse(JSON.stringify(value));\n }\n return _interceptors[command].reduce(function (val, action) {\n var transformed = action.apply(undefined, [key, val].concat(args));\n if (transformed == null) return val;\n return transformed;\n }, value);\n}\n\n/**\n * @private\n *\n * Try to parse a value\n *\n * @param {string} value: the value to parse\n * @return {any}\n */\nfunction tryParse(value) {\n var parsed = void 0;\n try {\n parsed = JSON.parse(value);\n } catch (e) {\n parsed = value;\n }\n return parsed;\n}\n\n/**\n * @private\n *\n * Copies all existing keys in the WebStorage instance.\n *\n * @param {WebStorage} instance: the instance to where copy the keys\n * @param {object} storage: the storage mechanism\n * @return {void}\n */\nfunction copyKeys(instance, storage) {\n Object.keys(storage).forEach(function (key) {\n instance[key] = tryParse(storage[key]);\n });\n}\n\n/**\n * @public\n *\n * Allows to validate if a storage mechanism is valid\n *\n * @type {object}\n */\nvar webStorageSettings = {\n default: null,\n isAvailable: _isAvailable.isAvailable\n};\n\n/**\n * @private\n *\n * Validates if the storage mechanism is available and can be used safely.\n *\n * @param {string} storageType: it can be \"localStorage\", \"sessionStorage\", \"cookieStorage\", or \"memoryStorage\"\n * @return {string}\n */\nfunction storageAvailable(storageType) {\n if (webStorageSettings.isAvailable[storageType]) return storageType;\n var fallback = storageType === 'sessionStorage' ? 'memoryStorage' : webStorageSettings.default;\n var msg = storageType + ' is not available. Falling back to ' + fallback;\n console.warn(msg); // eslint-disable-line\n return fallback;\n}\n\n/**\n * @public\n *\n * Implementation of the Web Storage interface.\n * It saves and retrieves values as JSON.\n *\n * @see\n * https://developer.mozilla.org/en-US/docs/Web/API/Storage\n *\n * @type {class}\n */\n\nvar WebStorage = function () {\n /**\n * Creates an instance of WebStorage.\n *\n * @param {string} storageType: it can be \"localStorage\", \"sessionStorage\", \"cookieStorage\", or \"memoryStorage\"\n *\n * @memberOf WebStorage\n */\n function WebStorage(storageType) {\n _classCallCheck(this, WebStorage);\n\n if (!Object.prototype.hasOwnProperty.call(_proxyMechanism.proxy, storageType)) {\n throw new Error('Storage type \"' + storageType + '\" is not valid');\n }\n // gets the requested storage mechanism\n var storage = _proxyMechanism.proxy[storageType];\n // if the storage is not available, sets the default\n storageType = storageAvailable(storageType);\n // keeps only one instance by storageType (singleton)\n var cachedInstance = _instances[storageType];\n if (cachedInstance) {\n copyKeys(cachedInstance, storage);\n return cachedInstance;\n }\n (0, _utils.setProperty)(this, '__storage__', storageType);\n // copies all existing keys in the storage mechanism\n copyKeys(this, storage);\n _instances[storageType] = this;\n }\n\n /**\n * Stores a value given a key name.\n *\n * @param {string} key: keyname of the storage\n * @param {any} value: data to save in the storage\n * @param {object} options: additional options for cookieStorage\n * @return {void}\n *\n * @memberOf WebStorage\n */\n\n\n _createClass(WebStorage, [{\n key: 'setItem',\n value: function setItem(key, value, options) {\n (0, _utils.checkEmpty)(key);\n var storageType = this.__storage__;\n if (storageType === 'cookieStorage' && bannedKeys.test(key)) {\n throw new Error('The key is a reserved word, therefore not allowed');\n }\n var v = executeInterceptors('setItem', key, value, options);\n if (v !== undefined) value = v;\n this[key] = value;\n // prevents converting strings to JSON to avoid extra quotes\n if (typeof value !== 'string') value = JSON.stringify(value);\n _proxyMechanism.proxy[storageType].setItem(key, value, options);\n // checks if the cookie was created, or delete it if the domain or path are not valid\n if (storageType === 'cookieStorage' && _proxyMechanism.proxy[storageType].getItem(key) === null) {\n delete this[key];\n }\n }\n\n /**\n * Retrieves a value by its key name.\n *\n * @param {string} key: keyname of the storage\n * @return {void}\n *\n * @memberOf WebStorage\n */\n\n }, {\n key: 'getItem',\n value: function getItem(key) {\n (0, _utils.checkEmpty)(key);\n var value = _proxyMechanism.proxy[this.__storage__].getItem(key);\n if (value == null) {\n delete this[key];\n value = null;\n } else {\n value = tryParse(value);\n this[key] = value;\n }\n var v = executeInterceptors('getItem', key, value);\n if (v !== undefined) value = v;\n return value;\n }\n\n /**\n * Deletes a key from the storage.\n *\n * @param {string} key: keyname of the storage\n * @param {object} options: additional options for cookieStorage\n * @return {void}\n *\n * @memberOf WebStorage\n */\n\n }, {\n key: 'removeItem',\n value: function removeItem(key, options) {\n (0, _utils.checkEmpty)(key);\n executeInterceptors('removeItem', key, options);\n delete this[key];\n _proxyMechanism.proxy[this.__storage__].removeItem(key, options);\n }\n\n /**\n * Removes all keys from the storage.\n *\n * @return {void}\n *\n * @memberOf WebStorage\n */\n\n }, {\n key: 'clear',\n value: function clear() {\n var _this = this;\n\n executeInterceptors('clear');\n Object.keys(this).forEach(function (key) {\n delete _this[key];\n }, this);\n _proxyMechanism.proxy[this.__storage__].clear();\n }\n\n /**\n * Gets the number of data items stored in the Storage object.\n *\n * @readonly\n *\n * @memberOf WebStorage\n */\n\n }, {\n key: 'length',\n get: function get() {\n return Object.keys(this).length;\n }\n\n /**\n * Adds an interceptor to a WebStorage method.\n *\n * @param {string} command: name of the API method to intercept\n * @param {function} action: callback executed when the API method is called\n * @return {void}\n *\n * @memberOf WebStorage\n */\n\n }], [{\n key: 'interceptors',\n value: function interceptors(command, action) {\n if (command in _interceptors && typeof action === 'function') {\n _interceptors[command].push(action);\n }\n }\n }]);\n\n return WebStorage;\n}();\n\n/**\n * @public API\n */\n\n\nexports.default = WebStorage;\nexports.webStorageSettings = webStorageSettings;\nexports.proxy = _proxyMechanism.proxy;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = cookieStorage;\n\nvar _utils = __webpack_require__(0);\n\n/**\n * @private\n *\n * Proxy for document.cookie\n *\n * @see\n * https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie\n *\n * @type {object}\n */\nvar $cookie = {\n get: function get() {\n return document.cookie;\n },\n set: function set(value) {\n document.cookie = value;\n },\n data: {} // metadata associated to the cookies\n};\n\n/**\n * @private\n *\n * Builds the expiration for the cookie.\n *\n * @see utils.alterDate(options)\n *\n * @param {Date|object} date: the expiration date\n * @return {string}\n */\nfunction buildExpirationString(date) {\n var expires = date instanceof Date ? (0, _utils.alterDate)({ date: date }) : (0, _utils.alterDate)(date);\n return expires.toUTCString();\n}\n\n/**\n * @private\n *\n * Builds the string for the cookie metadata.\n *\n * @param {string} key: name of the metadata\n * @param {object} data: metadata of the cookie\n * @return {string}\n */\nfunction buildMetadataFor(key, data) {\n if (!data[key]) return '';\n return ';' + key + '=' + data[key];\n}\n\n/**\n * @private\n *\n * Builds the whole string for the cookie metadata.\n *\n * @param {object} data: metadata of the cookie\n * @return {string}\n */\nfunction formatMetadata(data) {\n var expires = buildMetadataFor('expires', data);\n var domain = buildMetadataFor('domain', data);\n var path = buildMetadataFor('path', data);\n var secure = data.secure ? ';secure' : '';\n return '' + expires + domain + path + secure;\n}\n\n/**\n * @private\n *\n * Finds an element in the array.\n *\n * @param {string} cookie: key=value\n * @return {boolean}\n */\nfunction findCookie(cookie) {\n var nameEQ = this.toString();\n // prevent leading spaces before the key\n return cookie.trim().indexOf(nameEQ) === 0;\n}\n\n/**\n * @public\n *\n * Create, read, and delete elements from document.cookie,\n * and implements the Web Storage interface.\n *\n * @return {object}\n */\nfunction cookieStorage() {\n var api = {\n setItem: function setItem(key, value, options) {\n options = Object.assign({ path: '/' }, options);\n // keep track of the metadata associated to the cookie\n $cookie.data[key] = { path: options.path };\n var metadata = $cookie.data[key];\n if ((0, _utils.isObject)(options.expires) || options.expires instanceof Date) {\n metadata.expires = buildExpirationString(options.expires);\n }\n if (options.domain && typeof options.domain === 'string') {\n metadata.domain = options.domain.trim();\n }\n if (options.secure === true) metadata.secure = true;\n var cookie = key + '=' + encodeURIComponent(value) + formatMetadata(metadata);\n // TODO: should encodeURIComponent(key) ?\n $cookie.set(cookie);\n },\n getItem: function getItem(key) {\n var value = null;\n var nameEQ = key + '=';\n var cookie = $cookie.get().split(';').find(findCookie, nameEQ);\n if (cookie) {\n // prevent leading spaces before the key name\n value = cookie.trim().substring(nameEQ.length, cookie.length);\n value = decodeURIComponent(value);\n }\n if (value === null) delete $cookie.data[key];\n return value;\n },\n removeItem: function removeItem(key, options) {\n var metadata = Object.assign({}, $cookie.data[key], options);\n metadata.expires = { days: -1 };\n api.setItem(key, '', metadata);\n delete $cookie.data[key];\n },\n clear: function clear() {\n var key = void 0,\n indexEQ = void 0; // eslint-disable-line\n $cookie.get().split(';').forEach(function (cookie) {\n indexEQ = cookie.indexOf('=');\n if (indexEQ > -1) {\n key = cookie.substring(0, indexEQ);\n // prevent leading spaces before the key\n api.removeItem(key.trim());\n }\n });\n },\n initialize: function initialize() {\n // copies all existing elements in the storage\n $cookie.get().split(';').forEach(function (cookie) {\n var index = cookie.indexOf('=');\n var key = cookie.substring(0, index).trim();\n var value = cookie.substring(index + 1).trim();\n if (key) api[key] = decodeURIComponent(value);\n });\n // this method is removed after being invoked\n // because is not part of the Web Storage interface\n delete api.initialize;\n }\n };\n return api;\n}\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.default = memoryStorage;\n/**\n * @private\n *\n * Gets the hashtable-store from the current window.\n *\n * @return {object}\n */\nfunction getStoreFromWindow() {\n // eslint-disable-line\n try {\n var store = JSON.parse(window.self.name);\n if (store && (typeof store === 'undefined' ? 'undefined' : _typeof(store)) === 'object') return store;\n } catch (e) {\n return {};\n }\n}\n\n/**\n * @private\n *\n * Saves the hashtable-store in the current window.\n *\n * @param {object} hashtable: {key,value} pairs stored in memoryStorage\n * @return {void}\n */\nfunction setStoreToWindow(hashtable) {\n var store = JSON.stringify(hashtable);\n window.self.name = store;\n}\n\n/**\n * @public\n *\n * Create, read, and delete elements from memory, and implements\n * the Web Storage interface. It also adds a hack to persist\n * the storage in the session for the current tab (browser).\n *\n * @return {object}\n */\nfunction memoryStorage() {\n var hashtable = getStoreFromWindow();\n var api = {\n setItem: function setItem(key, value) {\n hashtable[key] = value;\n setStoreToWindow(hashtable);\n },\n getItem: function getItem(key) {\n var value = hashtable[key];\n return value === undefined ? null : value;\n },\n removeItem: function removeItem(key) {\n delete hashtable[key];\n setStoreToWindow(hashtable);\n },\n clear: function clear() {\n Object.keys(hashtable).forEach(function (key) {\n return delete hashtable[key];\n });\n setStoreToWindow(hashtable);\n },\n initialize: function initialize() {\n // copies all existing elements in the storage\n Object.assign(api, hashtable);\n // this method is removed after being invoked\n // because is not part of the Web Storage interface\n delete api.initialize;\n }\n };\n return api;\n}\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.proxy = undefined;\n\nvar _cookieStorage = __webpack_require__(3);\n\nvar _cookieStorage2 = _interopRequireDefault(_cookieStorage);\n\nvar _memoryStorage = __webpack_require__(4);\n\nvar _memoryStorage2 = _interopRequireDefault(_memoryStorage);\n\nvar _utils = __webpack_require__(0);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @private\n *\n * Copy the current items in the storage mechanism.\n *\n * @param {object} api: the storage mechanism to initialize\n * @return {object}\n */\nfunction initApi(api) {\n if (!api.initialize) return api;\n // sets API members to read-only and non-enumerable\n for (var prop in api) {\n // eslint-disable-line\n if (prop !== 'initialize') {\n (0, _utils.setProperty)(api, prop);\n }\n }\n api.initialize();\n return api;\n}\n\n/**\n * @public\n *\n * Proxy for the storage mechanisms.\n * All members implement the Web Storage interface.\n *\n * @see\n * https://developer.mozilla.org/en-US/docs/Web/API/Storage\n *\n * @type {object}\n */\nvar proxy = exports.proxy = {\n localStorage: window.localStorage,\n sessionStorage: window.sessionStorage,\n cookieStorage: initApi((0, _cookieStorage2.default)()),\n memoryStorage: initApi((0, _memoryStorage2.default)())\n};\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isAvailable = exports.configStorage = exports.WebStorage = exports.default = undefined;\n\nvar _webStorage = __webpack_require__(2);\n\nvar _webStorage2 = _interopRequireDefault(_webStorage);\n\nvar _isAvailable = __webpack_require__(1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @public\n *\n * Current storage mechanism.\n *\n * @type {object}\n */\n/**\n * This library uses an adapter that implements the Web Storage interface,\n * which is very useful to deal with the lack of compatibility between\n * document.cookie and localStorage and sessionStorage.\n *\n * It also provides a memoryStorage fallback that stores the data in memory\n * when all of above mechanisms are not available.\n *\n * Author: David Rivera\n * Github: https://github.com/jherax\n * License: \"MIT\"\n *\n * You can fork this project on github:\n * https://github.com/jherax/proxy-storage.git\n */\n\nvar storage = null;\n\n/**\n * @public\n *\n * Get/Set the storage mechanism to use by default.\n *\n * @type {object}\n */\nvar configStorage = {\n get: function get() {\n return storage.__storage__;\n },\n\n\n /**\n * Sets the storage mechanism to use by default.\n *\n * @param {string} storageType: it can be \"localStorage\", \"sessionStorage\", \"cookieStorage\", or \"memoryStorage\"\n * @return {void}\n */\n set: function set(storageType) {\n exports.default = storage = new _webStorage2.default(storageType);\n }\n};\n\n/**\n * @private\n *\n * Checks whether a storage mechanism is available.\n *\n * @param {string} storageType: it can be \"localStorage\", \"sessionStorage\", \"cookieStorage\", or \"memoryStorage\"\n * @return {boolean}\n */\nfunction isStorageAvailable(storageType) {\n var storageObj = _webStorage.proxy[storageType];\n var data = '__proxy-storage__';\n try {\n storageObj.setItem(data, data);\n storageObj.removeItem(data);\n } catch (e) {\n return false;\n }\n return true;\n}\n\n/**\n * @private\n *\n * Sets the first or default storage available.\n *\n * @param {string} storageType: it can be \"localStorage\", \"sessionStorage\", \"cookieStorage\", or \"memoryStorage\"\n * @return {boolean}\n */\nfunction storageAvailable(storageType) {\n if (_isAvailable.isAvailable[storageType]) {\n _webStorage.webStorageSettings.default = storageType;\n configStorage.set(storageType);\n }\n return _isAvailable.isAvailable[storageType];\n}\n\n/**\n * @private\n *\n * Initializes the module.\n *\n * @return {void}\n */\nfunction init() {\n _isAvailable.isAvailable.localStorage = isStorageAvailable('localStorage');\n _isAvailable.isAvailable.cookieStorage = isStorageAvailable('cookieStorage');\n _isAvailable.isAvailable.sessionStorage = isStorageAvailable('sessionStorage');\n _webStorage.webStorageSettings.isAvailable = _isAvailable.isAvailable;\n // sets the default storage mechanism available\n Object.keys(_isAvailable.isAvailable).some(storageAvailable);\n}\n\ninit();\n\n/**\n * @public API\n */\nexports.default = storage;\nexports.WebStorage = _webStorage2.default;\nexports.configStorage = configStorage;\nexports.isAvailable = _isAvailable.isAvailable;\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// proxy-storage.min.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 6);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap efc7e513812f7362b5ee","/**\n * Determines whether a value is a plain object.\n *\n * @param {any} value: the object to test\n * @return {boolean}\n */\nexport function isObject(value) {\n return Object.prototype.toString.call(value) === '[object Object]';\n}\n\n/**\n * Adds or subtracts date portions to the given date and returns the new date.\n *\n * @see https://gist.github.com/jherax/bbc43e479a492cc9cbfc7ccc20c53cd2\n *\n * @param {object} options: It contains the date parts to add or remove, and can have the following properties:\n * - {Date} date: if provided, this date will be affected, otherwise the current date will be used.\n * - {number} minutes: minutes to add/subtract\n * - {number} hours: hours to add/subtract\n * - {number} days: days to add/subtract\n * - {number} months: months to add/subtract\n * - {number} years: years to add/subtract\n * @return {Date}\n */\nexport function alterDate(options = {}) {\n const opt = Object.assign({}, options);\n const d = opt.date instanceof Date ? opt.date : new Date();\n if (+opt.minutes) d.setMinutes(d.getMinutes() + opt.minutes);\n if (+opt.hours) d.setHours(d.getHours() + opt.hours);\n if (+opt.days) d.setDate(d.getDate() + opt.days);\n if (+opt.months) d.setMonth(d.getMonth() + opt.months);\n if (+opt.years) d.setFullYear(d.getFullYear() + opt.years);\n return d;\n}\n\n/**\n * Creates a non-enumerable read-only property.\n *\n * @param {object} obj: the object to add the property\n * @param {string} name: the name of the property\n * @param {any} value: the value of the property\n * @return {void}\n */\nexport function setProperty(obj, name, value) {\n const descriptor = {\n configurable: false,\n enumerable: false,\n writable: false,\n };\n if (typeof value !== 'undefined') {\n descriptor.value = value;\n }\n Object.defineProperty(obj, name, descriptor);\n}\n\n/**\n * Validates if the key is not empty.\n * (null, undefined or empty string)\n *\n * @param {string} key: keyname of an element in the storage mechanism\n * @return {void}\n */\nexport function checkEmpty(key) {\n if (key == null || key === '') {\n throw new Error('The key provided can not be empty');\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils.js","/**\n * @public\n *\n * Used to determine which storage mechanisms are available.\n *\n * @type {object}\n */\nexport const isAvailable = {\n localStorage: false,\n cookieStorage: false,\n sessionStorage: false,\n memoryStorage: true, // fallback storage\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/is-available.js","import {proxy} from './proxy-mechanism';\nimport {setProperty, checkEmpty} from './utils';\nimport {isAvailable} from './is-available';\n\n/**\n * @private\n *\n * Keeps WebStorage instances by type as singletons.\n *\n * @type {object}\n */\nconst _instances = {};\n\n/**\n * @private\n *\n * Stores the interceptors for WebStorage methods.\n *\n * @type {object}\n */\nconst _interceptors = {\n setItem: [],\n getItem: [],\n removeItem: [],\n clear: [],\n};\n\n/**\n * @private\n *\n * Keys not allowed for cookies.\n *\n * @type {RegExp}\n */\nconst bannedKeys = /^(?:expires|max-age|path|domain|secure)$/i;\n\n/**\n * @private\n *\n * Executes the interceptors for a WebStorage method and\n * allows the transformation in chain of the value passed through.\n *\n * @param {string} command: name of the method to intercept\n * @return {any}\n */\nfunction executeInterceptors(command, ...args) {\n const key = args.shift();\n let value = args.shift();\n if (value && typeof value === 'object') {\n // clone the object to prevent mutations\n value = JSON.parse(JSON.stringify(value));\n }\n return _interceptors[command].reduce((val, action) => {\n const transformed = action(key, val, ...args);\n if (transformed == null) return val;\n return transformed;\n }, value);\n}\n\n/**\n * @private\n *\n * Try to parse a value\n *\n * @param {string} value: the value to parse\n * @return {any}\n */\nfunction tryParse(value) {\n let parsed;\n try {\n parsed = JSON.parse(value);\n } catch (e) {\n parsed = value;\n }\n return parsed;\n}\n\n/**\n * @private\n *\n * Copies all existing keys in the WebStorage instance.\n *\n * @param {WebStorage} instance: the instance to where copy the keys\n * @param {object} storage: the storage mechanism\n * @return {void}\n */\nfunction copyKeys(instance, storage) {\n Object.keys(storage).forEach((key) => {\n instance[key] = tryParse(storage[key]);\n });\n}\n\n/**\n * @public\n *\n * Allows to validate if a storage mechanism is valid\n *\n * @type {object}\n */\nconst webStorageSettings = {\n default: null,\n isAvailable,\n};\n\n/**\n * @private\n *\n * Validates if the storage mechanism is available and can be used safely.\n *\n * @param {string} storageType: it can be \"localStorage\", \"sessionStorage\", \"cookieStorage\", or \"memoryStorage\"\n * @return {string}\n */\nfunction storageAvailable(storageType) {\n if (webStorageSettings.isAvailable[storageType]) return storageType;\n const fallback = (storageType === 'sessionStorage' ?\n 'memoryStorage' : webStorageSettings.default);\n const msg = `${storageType} is not available. Falling back to ${fallback}`;\n console.warn(msg); // eslint-disable-line\n return fallback;\n}\n\n/**\n * @public\n *\n * Implementation of the Web Storage interface.\n * It saves and retrieves values as JSON.\n *\n * @see\n * https://developer.mozilla.org/en-US/docs/Web/API/Storage\n *\n * @type {class}\n */\nclass WebStorage {\n /**\n * Creates an instance of WebStorage.\n *\n * @param {string} storageType: it can be \"localStorage\", \"sessionStorage\", \"cookieStorage\", or \"memoryStorage\"\n *\n * @memberOf WebStorage\n */\n constructor(storageType) {\n if (!Object.prototype.hasOwnProperty.call(proxy, storageType)) {\n throw new Error(`Storage type \"${storageType}\" is not valid`);\n }\n // gets the requested storage mechanism\n const storage = proxy[storageType];\n // if the storage is not available, sets the default\n storageType = storageAvailable(storageType);\n // keeps only one instance by storageType (singleton)\n const cachedInstance = _instances[storageType];\n if (cachedInstance) {\n copyKeys(cachedInstance, storage);\n return cachedInstance;\n }\n setProperty(this, '__storage__', storageType);\n // copies all existing keys in the storage mechanism\n copyKeys(this, storage);\n _instances[storageType] = this;\n }\n\n /**\n * Stores a value given a key name.\n *\n * @param {string} key: keyname of the storage\n * @param {any} value: data to save in the storage\n * @param {object} options: additional options for cookieStorage\n * @return {void}\n *\n * @memberOf WebStorage\n */\n setItem(key, value, options) {\n checkEmpty(key);\n const storageType = this.__storage__;\n if (storageType === 'cookieStorage' && bannedKeys.test(key)) {\n throw new Error('The key is a reserved word, therefore not allowed');\n }\n const v = executeInterceptors('setItem', key, value, options);\n if (v !== undefined) value = v;\n this[key] = value;\n // prevents converting strings to JSON to avoid extra quotes\n if (typeof value !== 'string') value = JSON.stringify(value);\n proxy[storageType].setItem(key, value, options);\n // checks if the cookie was created, or delete it if the domain or path are not valid\n if (storageType === 'cookieStorage' && proxy[storageType].getItem(key) === null) {\n delete this[key];\n }\n }\n\n /**\n * Retrieves a value by its key name.\n *\n * @param {string} key: keyname of the storage\n * @return {void}\n *\n * @memberOf WebStorage\n */\n getItem(key) {\n checkEmpty(key);\n let value = proxy[this.__storage__].getItem(key);\n if (value == null) {\n delete this[key];\n value = null;\n } else {\n value = tryParse(value);\n this[key] = value;\n }\n const v = executeInterceptors('getItem', key, value);\n if (v !== undefined) value = v;\n return value;\n }\n\n /**\n * Deletes a key from the storage.\n *\n * @param {string} key: keyname of the storage\n * @param {object} options: additional options for cookieStorage\n * @return {void}\n *\n * @memberOf WebStorage\n */\n removeItem(key, options) {\n checkEmpty(key);\n executeInterceptors('removeItem', key, options);\n delete this[key];\n proxy[this.__storage__].removeItem(key, options);\n }\n\n /**\n * Removes all keys from the storage.\n *\n * @return {void}\n *\n * @memberOf WebStorage\n */\n clear() {\n executeInterceptors('clear');\n Object.keys(this).forEach((key) => {\n delete this[key];\n }, this);\n proxy[this.__storage__].clear();\n }\n\n /**\n * Gets the number of data items stored in the Storage object.\n *\n * @readonly\n *\n * @memberOf WebStorage\n */\n get length() {\n return Object.keys(this).length;\n }\n\n /**\n * Adds an interceptor to a WebStorage method.\n *\n * @param {string} command: name of the API method to intercept\n * @param {function} action: callback executed when the API method is called\n * @return {void}\n *\n * @memberOf WebStorage\n */\n static interceptors(command, action) {\n if (command in _interceptors && typeof action === 'function') {\n _interceptors[command].push(action);\n }\n }\n}\n\n/**\n * @public API\n */\nexport {WebStorage as default, webStorageSettings, proxy};\n\n\n\n// WEBPACK FOOTER //\n// ./src/web-storage.js","import {alterDate, isObject} from './utils';\n\n/**\n * @private\n *\n * Proxy for document.cookie\n *\n * @see\n * https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie\n *\n * @type {object}\n */\nconst $cookie = {\n get: () => document.cookie,\n set: (value) => {\n document.cookie = value;\n },\n data: {}, // metadata associated to the cookies\n};\n\n/**\n * @private\n *\n * Builds the expiration for the cookie.\n *\n * @see utils.alterDate(options)\n *\n * @param {Date|object} date: the expiration date\n * @return {string}\n */\nfunction buildExpirationString(date) {\n const expires = (date instanceof Date ?\n alterDate({date}) :\n alterDate(date)\n );\n return expires.toUTCString();\n}\n\n/**\n * @private\n *\n * Builds the string for the cookie metadata.\n *\n * @param {string} key: name of the metadata\n * @param {object} data: metadata of the cookie\n * @return {string}\n */\nfunction buildMetadataFor(key, data) {\n if (!data[key]) return '';\n return `;${key}=${data[key]}`;\n}\n\n/**\n * @private\n *\n * Builds the whole string for the cookie metadata.\n *\n * @param {object} data: metadata of the cookie\n * @return {string}\n */\nfunction formatMetadata(data) {\n const expires = buildMetadataFor('expires', data);\n const domain = buildMetadataFor('domain', data);\n const path = buildMetadataFor('path', data);\n const secure = data.secure ? ';secure' : '';\n return `${expires}${domain}${path}${secure}`;\n}\n\n/**\n * @private\n *\n * Finds an element in the array.\n *\n * @param {string} cookie: key=value\n * @return {boolean}\n */\nfunction findCookie(cookie) {\n const nameEQ = this.toString();\n // prevent leading spaces before the key\n return cookie.trim().indexOf(nameEQ) === 0;\n}\n\n/**\n * @public\n *\n * Create, read, and delete elements from document.cookie,\n * and implements the Web Storage interface.\n *\n * @return {object}\n */\nexport default function cookieStorage() {\n const api = {\n\n setItem(key, value, options) {\n options = Object.assign({path: '/'}, options);\n // keep track of the metadata associated to the cookie\n $cookie.data[key] = {path: options.path};\n const metadata = $cookie.data[key];\n if (isObject(options.expires) || options.expires instanceof Date) {\n metadata.expires = buildExpirationString(options.expires);\n }\n if (options.domain && typeof options.domain === 'string') {\n metadata.domain = options.domain.trim();\n }\n if (options.secure === true) metadata.secure = true;\n const cookie = `${key}=${encodeURIComponent(value)}${formatMetadata(metadata)}`;\n // TODO: should encodeURIComponent(key) ?\n $cookie.set(cookie);\n },\n\n getItem(key) {\n let value = null;\n const nameEQ = `${key}=`;\n const cookie = $cookie.get().split(';').find(findCookie, nameEQ);\n if (cookie) {\n // prevent leading spaces before the key name\n value = cookie.trim().substring(nameEQ.length, cookie.length);\n value = decodeURIComponent(value);\n }\n if (value === null) delete $cookie.data[key];\n return value;\n },\n\n removeItem(key, options) {\n const metadata = Object.assign({}, $cookie.data[key], options);\n metadata.expires = {days: -1};\n api.setItem(key, '', metadata);\n delete $cookie.data[key];\n },\n\n clear() {\n let key, indexEQ; // eslint-disable-line\n $cookie.get().split(';').forEach((cookie) => {\n indexEQ = cookie.indexOf('=');\n if (indexEQ > -1) {\n key = cookie.substring(0, indexEQ);\n // prevent leading spaces before the key\n api.removeItem(key.trim());\n }\n });\n },\n\n initialize() {\n // copies all existing elements in the storage\n $cookie.get().split(';').forEach((cookie) => {\n const index = cookie.indexOf('=');\n const key = cookie.substring(0, index).trim();\n const value = cookie.substring(index + 1).trim();\n if (key) api[key] = decodeURIComponent(value);\n });\n // this method is removed after being invoked\n // because is not part of the Web Storage interface\n delete api.initialize;\n },\n };\n return api;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/cookie-storage.js","/**\n * @private\n *\n * Gets the hashtable-store from the current window.\n *\n * @return {object}\n */\nfunction getStoreFromWindow() { // eslint-disable-line\n try {\n const store = JSON.parse(window.self.name);\n if (store && typeof store === 'object') return store;\n } catch (e) {\n return {};\n }\n}\n\n/**\n * @private\n *\n * Saves the hashtable-store in the current window.\n *\n * @param {object} hashtable: {key,value} pairs stored in memoryStorage\n * @return {void}\n */\nfunction setStoreToWindow(hashtable) {\n const store = JSON.stringify(hashtable);\n window.self.name = store;\n}\n\n/**\n * @public\n *\n * Create, read, and delete elements from memory, and implements\n * the Web Storage interface. It also adds a hack to persist\n * the storage in the session for the current tab (browser).\n *\n * @return {object}\n */\nexport default function memoryStorage() {\n const hashtable = getStoreFromWindow();\n const api = {\n\n setItem(key, value) {\n hashtable[key] = value;\n setStoreToWindow(hashtable);\n },\n\n getItem(key) {\n const value = hashtable[key];\n return value === undefined ? null : value;\n },\n\n removeItem(key) {\n delete hashtable[key];\n setStoreToWindow(hashtable);\n },\n\n clear() {\n Object.keys(hashtable).forEach(key => delete hashtable[key]);\n setStoreToWindow(hashtable);\n },\n\n initialize() {\n // copies all existing elements in the storage\n Object.assign(api, hashtable);\n // this method is removed after being invoked\n // because is not part of the Web Storage interface\n delete api.initialize;\n },\n };\n return api;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/memory-storage.js","import cookieStorage from './cookie-storage';\nimport memoryStorage from './memory-storage';\nimport {setProperty} from './utils';\n\n/**\n * @private\n *\n * Copy the current items in the storage mechanism.\n *\n * @param {object} api: the storage mechanism to initialize\n * @return {object}\n */\nfunction initApi(api) {\n if (!api.initialize) return api;\n // sets API members to read-only and non-enumerable\n for (let prop in api) { // eslint-disable-line\n if (prop !== 'initialize') {\n setProperty(api, prop);\n }\n }\n api.initialize();\n return api;\n}\n\n/**\n * @public\n *\n * Proxy for the storage mechanisms.\n * All members implement the Web Storage interface.\n *\n * @see\n * https://developer.mozilla.org/en-US/docs/Web/API/Storage\n *\n * @type {object}\n */\nexport const proxy = {\n localStorage: window.localStorage,\n sessionStorage: window.sessionStorage,\n cookieStorage: initApi(cookieStorage()),\n memoryStorage: initApi(memoryStorage()),\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/proxy-mechanism.js","/**\n * This library uses an adapter that implements the Web Storage interface,\n * which is very useful to deal with the lack of compatibility between\n * document.cookie and localStorage and sessionStorage.\n *\n * It also provides a memoryStorage fallback that stores the data in memory\n * when all of above mechanisms are not available.\n *\n * Author: David Rivera\n * Github: https://github.com/jherax\n * License: \"MIT\"\n *\n * You can fork this project on github:\n * https://github.com/jherax/proxy-storage.git\n */\n\nimport WebStorage, {proxy, webStorageSettings} from './web-storage';\nimport {isAvailable} from './is-available';\n\n/**\n * @public\n *\n * Current storage mechanism.\n *\n * @type {object}\n */\nlet storage = null;\n\n/**\n * @public\n *\n * Get/Set the storage mechanism to use by default.\n *\n * @type {object}\n */\nconst configStorage = {\n get() {\n return storage.__storage__;\n },\n\n /**\n * Sets the storage mechanism to use by default.\n *\n * @param {string} storageType: it can be \"localStorage\", \"sessionStorage\", \"cookieStorage\", or \"memoryStorage\"\n * @return {void}\n */\n set(storageType) {\n storage = new WebStorage(storageType);\n },\n};\n\n/**\n * @private\n *\n * Checks whether a storage mechanism is available.\n *\n * @param {string} storageType: it can be \"localStorage\", \"sessionStorage\", \"cookieStorage\", or \"memoryStorage\"\n * @return {boolean}\n */\nfunction isStorageAvailable(storageType) {\n const storageObj = proxy[storageType];\n const data = '__proxy-storage__';\n try {\n storageObj.setItem(data, data);\n storageObj.removeItem(data);\n } catch (e) {\n return false;\n }\n return true;\n}\n\n/**\n * @private\n *\n * Sets the first or default storage available.\n *\n * @param {string} storageType: it can be \"localStorage\", \"sessionStorage\", \"cookieStorage\", or \"memoryStorage\"\n * @return {boolean}\n */\nfunction storageAvailable(storageType) {\n if (isAvailable[storageType]) {\n webStorageSettings.default = storageType;\n configStorage.set(storageType);\n }\n return isAvailable[storageType];\n}\n\n/**\n * @private\n *\n * Initializes the module.\n *\n * @return {void}\n */\nfunction init() {\n isAvailable.localStorage = isStorageAvailable('localStorage');\n isAvailable.cookieStorage = isStorageAvailable('cookieStorage');\n isAvailable.sessionStorage = isStorageAvailable('sessionStorage');\n webStorageSettings.isAvailable = isAvailable;\n // sets the default storage mechanism available\n Object.keys(isAvailable).some(storageAvailable);\n}\n\ninit();\n\n/**\n * @public API\n */\nexport {storage as default, WebStorage, configStorage, isAvailable};\n\n\n\n// WEBPACK FOOTER //\n// ./src/proxy-storage.js"],"sourceRoot":""}
\ No newline at end of file
diff --git a/package.json b/package.json
index 5c949ea..0abe9fd 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "proxy-storage",
- "version": "2.1.3",
+ "version": "2.2.0",
"description": "Storage mechanism that implements the Web Storage interface",
"author": "David Rivera ",
"main": "dist/proxy-storage.js",
@@ -35,17 +35,17 @@
},
"license": "MIT",
"devDependencies": {
- "babel-core": "^6.23.1",
- "babel-eslint": "^7.1.1",
- "babel-loader": "^6.4.0",
- "babel-preset-es2015": "^6.22.0",
- "babel-preset-stage-2": "^6.22.0",
- "clean-webpack-plugin": "^0.1.15",
- "eslint": "^3.17.1",
- "eslint-config-airbnb-base": "^11.1.1",
- "eslint-loader": "^1.6.3",
- "eslint-plugin-import": "^2.2.0",
- "webpack": "^2.2.1"
+ "babel-core": "^6.25.0",
+ "babel-eslint": "^7.2.3",
+ "babel-loader": "^7.1.0",
+ "babel-preset-es2015": "^6.24.1",
+ "babel-preset-stage-2": "^6.24.1",
+ "clean-webpack-plugin": "^0.1.16",
+ "eslint": "^4.0.0",
+ "eslint-config-airbnb-base": "^11.2.0",
+ "eslint-loader": "^1.8.0",
+ "eslint-plugin-import": "^2.3.0",
+ "webpack": "^2.6.1"
},
"babel": {
"presets": [
diff --git a/src/is-available.js b/src/is-available.js
index 1608cf5..25ab491 100644
--- a/src/is-available.js
+++ b/src/is-available.js
@@ -7,7 +7,7 @@
*/
export const isAvailable = {
localStorage: false,
- sessionStorage: false,
cookieStorage: false,
+ sessionStorage: false,
memoryStorage: true, // fallback storage
};
diff --git a/src/proxy-storage.js b/src/proxy-storage.js
index 658224b..aba0347 100644
--- a/src/proxy-storage.js
+++ b/src/proxy-storage.js
@@ -45,9 +45,6 @@ const configStorage = {
* @return {void}
*/
set(storageType) {
- if (!Object.prototype.hasOwnProperty.call(proxy, storageType)) {
- throw new Error(`Storage type "${storageType}" is not valid`);
- }
storage = new WebStorage(storageType);
},
};
@@ -66,10 +63,10 @@ function isStorageAvailable(storageType) {
try {
storageObj.setItem(data, data);
storageObj.removeItem(data);
- return true;
} catch (e) {
return false;
}
+ return true;
}
/**
@@ -97,8 +94,8 @@ function storageAvailable(storageType) {
*/
function init() {
isAvailable.localStorage = isStorageAvailable('localStorage');
- isAvailable.sessionStorage = isStorageAvailable('sessionStorage');
isAvailable.cookieStorage = isStorageAvailable('cookieStorage');
+ isAvailable.sessionStorage = isStorageAvailable('sessionStorage');
webStorageSettings.isAvailable = isAvailable;
// sets the default storage mechanism available
Object.keys(isAvailable).some(storageAvailable);
diff --git a/src/web-storage.js b/src/web-storage.js
index 009ecb7..6b3635a 100644
--- a/src/web-storage.js
+++ b/src/web-storage.js
@@ -112,8 +112,11 @@ const webStorageSettings = {
*/
function storageAvailable(storageType) {
if (webStorageSettings.isAvailable[storageType]) return storageType;
- console.warn(`${storageType} is not available. Falling back to ${webStorageSettings.default}`); // eslint-disable-line
- return webStorageSettings.default;
+ const fallback = (storageType === 'sessionStorage' ?
+ 'memoryStorage' : webStorageSettings.default);
+ const msg = `${storageType} is not available. Falling back to ${fallback}`;
+ console.warn(msg); // eslint-disable-line
+ return fallback;
}
/**
@@ -128,7 +131,6 @@ function storageAvailable(storageType) {
* @type {class}
*/
class WebStorage {
-
/**
* Creates an instance of WebStorage.
*
diff --git a/webpack/build.js b/webpack/build.js
index 8d9e1ca..ab5eecd 100644
--- a/webpack/build.js
+++ b/webpack/build.js
@@ -15,7 +15,7 @@ const config = {
path: PATHS.dist.folder,
filename: '[name].js',
libraryTarget: 'umd',
- library: 'proxyStorage', // global var in the browser
+ library: 'proxyStorage', // global
},
module: {
rules: [
@@ -25,8 +25,15 @@ const config = {
},
{
test: PATHS.source.folder,
+ exclude: /node_modules/,
enforce: 'pre', // preLoaders
loader: 'eslint-loader',
+ options: {
+ // https://github.com/MoOx/eslint-loader
+ configFile: '.eslintrc.json',
+ failOnWarning: false,
+ failOnError: true,
+ },
},
],
},
@@ -36,31 +43,16 @@ const config = {
verbose: true,
// exclude: [],
}),
- // https://webpack.js.org/guides/migrating/#uglifyjsplugin-minimize-loaders
- new webpack.LoaderOptionsPlugin({
- debug: false,
- minimize: true,
- options: {
- eslint: {
- // https://github.com/MoOx/eslint-loader
- // https://survivejs.com/webpack/developing/linting/#configuring-eslint-further
- configFile: '.eslintrc.json',
- failOnWarning: false,
- failOnError: true,
- },
- },
- }),
- // http://webpack.github.io/docs/list-of-plugins.html#uglifyjsplugin
+ // https://webpack.js.org/plugins/uglifyjs-webpack-plugin/
new webpack.optimize.UglifyJsPlugin({
test,
- minimize: true,
sourceMap: true, // map error message locations to modules
- // https://github.com/mishoo/UglifyJS2#compressor-options
+ // https://github.com/mishoo/UglifyJS2#compress-options
compress: {
warnings: true,
- dead_code: true,
+ dead_code: true, // remove unreachable code
drop_debugger: true,
- drop_console: false,
+ pure_funcs: ['console.log'],
},
mangle: {
except: ['WebStorage'],
diff --git a/yarn.lock b/yarn.lock
index 9f433c1..2dd9f34 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -18,14 +18,18 @@ acorn-jsx@^3.0.0:
dependencies:
acorn "^3.0.4"
-acorn@4.0.4, acorn@^4.0.3, acorn@^4.0.4:
- version "4.0.4"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.4.tgz#17a8d6a7a6c4ef538b814ec9abac2779293bf30a"
-
acorn@^3.0.4:
version "3.3.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
+acorn@^4.0.3:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.4.tgz#17a8d6a7a6c4ef538b814ec9abac2779293bf30a"
+
+acorn@^5.0.0, acorn@^5.0.1:
+ version "5.0.3"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d"
+
ajv-keywords@^1.0.0, ajv-keywords@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.1.1.tgz#02550bc605a3e576041565628af972e06c549d50"
@@ -45,9 +49,9 @@ align-text@^0.1.1, align-text@^0.1.3:
longest "^1.0.1"
repeat-string "^1.5.2"
-ansi-escapes@^1.1.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
+ansi-escapes@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-2.0.0.tgz#5bae52be424878dd9783e8910e3fc2922e83c81b"
ansi-regex@^2.0.0:
version "2.0.0"
@@ -145,10 +149,6 @@ async@^2.1.2:
dependencies:
lodash "^4.14.0"
-async@~0.2.6:
- version "0.2.10"
- resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1"
-
asynckit@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
@@ -161,7 +161,7 @@ aws4@^1.2.1:
version "1.6.0"
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e"
-babel-code-frame@^6.16.0, babel-code-frame@^6.22.0:
+babel-code-frame@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4"
dependencies:
@@ -169,20 +169,20 @@ babel-code-frame@^6.16.0, babel-code-frame@^6.22.0:
esutils "^2.0.2"
js-tokens "^3.0.0"
-babel-core@^6.23.0, babel-core@^6.23.1:
- version "6.23.1"
- resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.23.1.tgz#c143cb621bb2f621710c220c5d579d15b8a442df"
+babel-core@^6.24.1, babel-core@^6.25.0:
+ version "6.25.0"
+ resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.25.0.tgz#7dd42b0463c742e9d5296deb3ec67a9322dad729"
dependencies:
babel-code-frame "^6.22.0"
- babel-generator "^6.23.0"
- babel-helpers "^6.23.0"
+ babel-generator "^6.25.0"
+ babel-helpers "^6.24.1"
babel-messages "^6.23.0"
- babel-register "^6.23.0"
+ babel-register "^6.24.1"
babel-runtime "^6.22.0"
- babel-template "^6.23.0"
- babel-traverse "^6.23.1"
- babel-types "^6.23.0"
- babylon "^6.11.0"
+ babel-template "^6.25.0"
+ babel-traverse "^6.25.0"
+ babel-types "^6.25.0"
+ babylon "^6.17.2"
convert-source-map "^1.1.0"
debug "^2.1.1"
json5 "^0.5.0"
@@ -193,155 +193,153 @@ babel-core@^6.23.0, babel-core@^6.23.1:
slash "^1.0.0"
source-map "^0.5.0"
-babel-eslint@^7.1.1:
- version "7.1.1"
- resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.1.1.tgz#8a6a884f085aa7060af69cfc77341c2f99370fb2"
+babel-eslint@^7.2.3:
+ version "7.2.3"
+ resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.2.3.tgz#b2fe2d80126470f5c19442dc757253a897710827"
dependencies:
- babel-code-frame "^6.16.0"
- babel-traverse "^6.15.0"
- babel-types "^6.15.0"
- babylon "^6.13.0"
- lodash.pickby "^4.6.0"
+ babel-code-frame "^6.22.0"
+ babel-traverse "^6.23.1"
+ babel-types "^6.23.0"
+ babylon "^6.17.0"
-babel-generator@^6.23.0:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.23.0.tgz#6b8edab956ef3116f79d8c84c5a3c05f32a74bc5"
+babel-generator@^6.25.0:
+ version "6.25.0"
+ resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.25.0.tgz#33a1af70d5f2890aeb465a4a7793c1df6a9ea9fc"
dependencies:
babel-messages "^6.23.0"
babel-runtime "^6.22.0"
- babel-types "^6.23.0"
+ babel-types "^6.25.0"
detect-indent "^4.0.0"
jsesc "^1.3.0"
lodash "^4.2.0"
source-map "^0.5.0"
trim-right "^1.0.1"
-babel-helper-bindify-decorators@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.22.0.tgz#d7f5bc261275941ac62acfc4e20dacfb8a3fe952"
+babel-helper-bindify-decorators@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz#14c19e5f142d7b47f19a52431e52b1ccbc40a330"
dependencies:
babel-runtime "^6.22.0"
- babel-traverse "^6.22.0"
- babel-types "^6.22.0"
+ babel-traverse "^6.24.1"
+ babel-types "^6.24.1"
-babel-helper-builder-binary-assignment-operator-visitor@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.22.0.tgz#29df56be144d81bdeac08262bfa41d2c5e91cdcd"
+babel-helper-builder-binary-assignment-operator-visitor@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664"
dependencies:
- babel-helper-explode-assignable-expression "^6.22.0"
+ babel-helper-explode-assignable-expression "^6.24.1"
babel-runtime "^6.22.0"
- babel-types "^6.22.0"
+ babel-types "^6.24.1"
-babel-helper-call-delegate@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.22.0.tgz#119921b56120f17e9dae3f74b4f5cc7bcc1b37ef"
+babel-helper-call-delegate@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d"
dependencies:
- babel-helper-hoist-variables "^6.22.0"
+ babel-helper-hoist-variables "^6.24.1"
babel-runtime "^6.22.0"
- babel-traverse "^6.22.0"
- babel-types "^6.22.0"
+ babel-traverse "^6.24.1"
+ babel-types "^6.24.1"
-babel-helper-define-map@^6.23.0:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.23.0.tgz#1444f960c9691d69a2ced6a205315f8fd00804e7"
+babel-helper-define-map@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.24.1.tgz#7a9747f258d8947d32d515f6aa1c7bd02204a080"
dependencies:
- babel-helper-function-name "^6.23.0"
+ babel-helper-function-name "^6.24.1"
babel-runtime "^6.22.0"
- babel-types "^6.23.0"
+ babel-types "^6.24.1"
lodash "^4.2.0"
-babel-helper-explode-assignable-expression@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.22.0.tgz#c97bf76eed3e0bae4048121f2b9dae1a4e7d0478"
+babel-helper-explode-assignable-expression@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa"
dependencies:
babel-runtime "^6.22.0"
- babel-traverse "^6.22.0"
- babel-types "^6.22.0"
+ babel-traverse "^6.24.1"
+ babel-types "^6.24.1"
-babel-helper-explode-class@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.22.0.tgz#646304924aa6388a516843ba7f1855ef8dfeb69b"
+babel-helper-explode-class@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz#7dc2a3910dee007056e1e31d640ced3d54eaa9eb"
dependencies:
- babel-helper-bindify-decorators "^6.22.0"
+ babel-helper-bindify-decorators "^6.24.1"
babel-runtime "^6.22.0"
- babel-traverse "^6.22.0"
- babel-types "^6.22.0"
+ babel-traverse "^6.24.1"
+ babel-types "^6.24.1"
-babel-helper-function-name@^6.22.0, babel-helper-function-name@^6.23.0:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.23.0.tgz#25742d67175c8903dbe4b6cb9d9e1fcb8dcf23a6"
+babel-helper-function-name@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9"
dependencies:
- babel-helper-get-function-arity "^6.22.0"
+ babel-helper-get-function-arity "^6.24.1"
babel-runtime "^6.22.0"
- babel-template "^6.23.0"
- babel-traverse "^6.23.0"
- babel-types "^6.23.0"
+ babel-template "^6.24.1"
+ babel-traverse "^6.24.1"
+ babel-types "^6.24.1"
-babel-helper-get-function-arity@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.22.0.tgz#0beb464ad69dc7347410ac6ade9f03a50634f5ce"
+babel-helper-get-function-arity@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d"
dependencies:
babel-runtime "^6.22.0"
- babel-types "^6.22.0"
+ babel-types "^6.24.1"
-babel-helper-hoist-variables@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.22.0.tgz#3eacbf731d80705845dd2e9718f600cfb9b4ba72"
+babel-helper-hoist-variables@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76"
dependencies:
babel-runtime "^6.22.0"
- babel-types "^6.22.0"
+ babel-types "^6.24.1"
-babel-helper-optimise-call-expression@^6.23.0:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.23.0.tgz#f3ee7eed355b4282138b33d02b78369e470622f5"
+babel-helper-optimise-call-expression@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257"
dependencies:
babel-runtime "^6.22.0"
- babel-types "^6.23.0"
+ babel-types "^6.24.1"
-babel-helper-regex@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.22.0.tgz#79f532be1647b1f0ee3474b5f5c3da58001d247d"
+babel-helper-regex@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.24.1.tgz#d36e22fab1008d79d88648e32116868128456ce8"
dependencies:
babel-runtime "^6.22.0"
- babel-types "^6.22.0"
+ babel-types "^6.24.1"
lodash "^4.2.0"
-babel-helper-remap-async-to-generator@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.22.0.tgz#2186ae73278ed03b8b15ced089609da981053383"
+babel-helper-remap-async-to-generator@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b"
dependencies:
- babel-helper-function-name "^6.22.0"
+ babel-helper-function-name "^6.24.1"
babel-runtime "^6.22.0"
- babel-template "^6.22.0"
- babel-traverse "^6.22.0"
- babel-types "^6.22.0"
+ babel-template "^6.24.1"
+ babel-traverse "^6.24.1"
+ babel-types "^6.24.1"
-babel-helper-replace-supers@^6.22.0, babel-helper-replace-supers@^6.23.0:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.23.0.tgz#eeaf8ad9b58ec4337ca94223bacdca1f8d9b4bfd"
+babel-helper-replace-supers@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a"
dependencies:
- babel-helper-optimise-call-expression "^6.23.0"
+ babel-helper-optimise-call-expression "^6.24.1"
babel-messages "^6.23.0"
babel-runtime "^6.22.0"
- babel-template "^6.23.0"
- babel-traverse "^6.23.0"
- babel-types "^6.23.0"
+ babel-template "^6.24.1"
+ babel-traverse "^6.24.1"
+ babel-types "^6.24.1"
-babel-helpers@^6.23.0:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.23.0.tgz#4f8f2e092d0b6a8808a4bde79c27f1e2ecf0d992"
+babel-helpers@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2"
dependencies:
babel-runtime "^6.22.0"
- babel-template "^6.23.0"
+ babel-template "^6.24.1"
-babel-loader@^6.4.0:
- version "6.4.0"
- resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-6.4.0.tgz#e98c239662a22533b9e7a49594ef216d7635ea28"
+babel-loader@^7.1.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.1.0.tgz#3fbf2581f085774bd9642dca9990e6d6c1491144"
dependencies:
- find-cache-dir "^0.1.1"
- loader-utils "^0.2.16"
+ find-cache-dir "^1.0.0"
+ loader-utils "^1.0.2"
mkdirp "^0.5.1"
- object-assign "^4.0.1"
babel-messages@^6.23.0:
version "6.23.0"
@@ -387,40 +385,40 @@ babel-plugin-syntax-trailing-function-commas@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3"
-babel-plugin-transform-async-generator-functions@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.22.0.tgz#a720a98153a7596f204099cd5409f4b3c05bab46"
+babel-plugin-transform-async-generator-functions@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz#f058900145fd3e9907a6ddf28da59f215258a5db"
dependencies:
- babel-helper-remap-async-to-generator "^6.22.0"
+ babel-helper-remap-async-to-generator "^6.24.1"
babel-plugin-syntax-async-generators "^6.5.0"
babel-runtime "^6.22.0"
-babel-plugin-transform-async-to-generator@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.22.0.tgz#194b6938ec195ad36efc4c33a971acf00d8cd35e"
+babel-plugin-transform-async-to-generator@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761"
dependencies:
- babel-helper-remap-async-to-generator "^6.22.0"
+ babel-helper-remap-async-to-generator "^6.24.1"
babel-plugin-syntax-async-functions "^6.8.0"
babel-runtime "^6.22.0"
-babel-plugin-transform-class-properties@^6.22.0:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.23.0.tgz#187b747ee404399013563c993db038f34754ac3b"
+babel-plugin-transform-class-properties@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz#6a79763ea61d33d36f37b611aa9def81a81b46ac"
dependencies:
- babel-helper-function-name "^6.23.0"
+ babel-helper-function-name "^6.24.1"
babel-plugin-syntax-class-properties "^6.8.0"
babel-runtime "^6.22.0"
- babel-template "^6.23.0"
+ babel-template "^6.24.1"
-babel-plugin-transform-decorators@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.22.0.tgz#c03635b27a23b23b7224f49232c237a73988d27c"
+babel-plugin-transform-decorators@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz#788013d8f8c6b5222bdf7b344390dfd77569e24d"
dependencies:
- babel-helper-explode-class "^6.22.0"
+ babel-helper-explode-class "^6.24.1"
babel-plugin-syntax-decorators "^6.13.0"
babel-runtime "^6.22.0"
- babel-template "^6.22.0"
- babel-types "^6.22.0"
+ babel-template "^6.24.1"
+ babel-types "^6.24.1"
babel-plugin-transform-es2015-arrow-functions@^6.22.0:
version "6.22.0"
@@ -434,36 +432,36 @@ babel-plugin-transform-es2015-block-scoped-functions@^6.22.0:
dependencies:
babel-runtime "^6.22.0"
-babel-plugin-transform-es2015-block-scoping@^6.22.0:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.23.0.tgz#e48895cf0b375be148cd7c8879b422707a053b51"
+babel-plugin-transform-es2015-block-scoping@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.24.1.tgz#76c295dc3a4741b1665adfd3167215dcff32a576"
dependencies:
babel-runtime "^6.22.0"
- babel-template "^6.23.0"
- babel-traverse "^6.23.0"
- babel-types "^6.23.0"
+ babel-template "^6.24.1"
+ babel-traverse "^6.24.1"
+ babel-types "^6.24.1"
lodash "^4.2.0"
-babel-plugin-transform-es2015-classes@^6.22.0:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.23.0.tgz#49b53f326202a2fd1b3bbaa5e2edd8a4f78643c1"
+babel-plugin-transform-es2015-classes@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db"
dependencies:
- babel-helper-define-map "^6.23.0"
- babel-helper-function-name "^6.23.0"
- babel-helper-optimise-call-expression "^6.23.0"
- babel-helper-replace-supers "^6.23.0"
+ babel-helper-define-map "^6.24.1"
+ babel-helper-function-name "^6.24.1"
+ babel-helper-optimise-call-expression "^6.24.1"
+ babel-helper-replace-supers "^6.24.1"
babel-messages "^6.23.0"
babel-runtime "^6.22.0"
- babel-template "^6.23.0"
- babel-traverse "^6.23.0"
- babel-types "^6.23.0"
+ babel-template "^6.24.1"
+ babel-traverse "^6.24.1"
+ babel-types "^6.24.1"
-babel-plugin-transform-es2015-computed-properties@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.22.0.tgz#7c383e9629bba4820c11b0425bdd6290f7f057e7"
+babel-plugin-transform-es2015-computed-properties@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3"
dependencies:
babel-runtime "^6.22.0"
- babel-template "^6.22.0"
+ babel-template "^6.24.1"
babel-plugin-transform-es2015-destructuring@^6.22.0:
version "6.23.0"
@@ -471,12 +469,12 @@ babel-plugin-transform-es2015-destructuring@^6.22.0:
dependencies:
babel-runtime "^6.22.0"
-babel-plugin-transform-es2015-duplicate-keys@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.22.0.tgz#672397031c21610d72dd2bbb0ba9fb6277e1c36b"
+babel-plugin-transform-es2015-duplicate-keys@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e"
dependencies:
babel-runtime "^6.22.0"
- babel-types "^6.22.0"
+ babel-types "^6.24.1"
babel-plugin-transform-es2015-for-of@^6.22.0:
version "6.23.0"
@@ -484,13 +482,13 @@ babel-plugin-transform-es2015-for-of@^6.22.0:
dependencies:
babel-runtime "^6.22.0"
-babel-plugin-transform-es2015-function-name@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.22.0.tgz#f5fcc8b09093f9a23c76ac3d9e392c3ec4b77104"
+babel-plugin-transform-es2015-function-name@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b"
dependencies:
- babel-helper-function-name "^6.22.0"
+ babel-helper-function-name "^6.24.1"
babel-runtime "^6.22.0"
- babel-types "^6.22.0"
+ babel-types "^6.24.1"
babel-plugin-transform-es2015-literals@^6.22.0:
version "6.22.0"
@@ -498,63 +496,63 @@ babel-plugin-transform-es2015-literals@^6.22.0:
dependencies:
babel-runtime "^6.22.0"
-babel-plugin-transform-es2015-modules-amd@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.22.0.tgz#bf69cd34889a41c33d90dfb740e0091ccff52f21"
+babel-plugin-transform-es2015-modules-amd@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154"
dependencies:
- babel-plugin-transform-es2015-modules-commonjs "^6.22.0"
+ babel-plugin-transform-es2015-modules-commonjs "^6.24.1"
babel-runtime "^6.22.0"
- babel-template "^6.22.0"
+ babel-template "^6.24.1"
-babel-plugin-transform-es2015-modules-commonjs@^6.22.0:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.23.0.tgz#cba7aa6379fb7ec99250e6d46de2973aaffa7b92"
+babel-plugin-transform-es2015-modules-commonjs@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz#d3e310b40ef664a36622200097c6d440298f2bfe"
dependencies:
- babel-plugin-transform-strict-mode "^6.22.0"
+ babel-plugin-transform-strict-mode "^6.24.1"
babel-runtime "^6.22.0"
- babel-template "^6.23.0"
- babel-types "^6.23.0"
+ babel-template "^6.24.1"
+ babel-types "^6.24.1"
-babel-plugin-transform-es2015-modules-systemjs@^6.22.0:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.23.0.tgz#ae3469227ffac39b0310d90fec73bfdc4f6317b0"
+babel-plugin-transform-es2015-modules-systemjs@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23"
dependencies:
- babel-helper-hoist-variables "^6.22.0"
+ babel-helper-hoist-variables "^6.24.1"
babel-runtime "^6.22.0"
- babel-template "^6.23.0"
+ babel-template "^6.24.1"
-babel-plugin-transform-es2015-modules-umd@^6.22.0:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.23.0.tgz#8d284ae2e19ed8fe21d2b1b26d6e7e0fcd94f0f1"
+babel-plugin-transform-es2015-modules-umd@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468"
dependencies:
- babel-plugin-transform-es2015-modules-amd "^6.22.0"
+ babel-plugin-transform-es2015-modules-amd "^6.24.1"
babel-runtime "^6.22.0"
- babel-template "^6.23.0"
+ babel-template "^6.24.1"
-babel-plugin-transform-es2015-object-super@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.22.0.tgz#daa60e114a042ea769dd53fe528fc82311eb98fc"
+babel-plugin-transform-es2015-object-super@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d"
dependencies:
- babel-helper-replace-supers "^6.22.0"
+ babel-helper-replace-supers "^6.24.1"
babel-runtime "^6.22.0"
-babel-plugin-transform-es2015-parameters@^6.22.0:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.23.0.tgz#3a2aabb70c8af945d5ce386f1a4250625a83ae3b"
+babel-plugin-transform-es2015-parameters@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b"
dependencies:
- babel-helper-call-delegate "^6.22.0"
- babel-helper-get-function-arity "^6.22.0"
+ babel-helper-call-delegate "^6.24.1"
+ babel-helper-get-function-arity "^6.24.1"
babel-runtime "^6.22.0"
- babel-template "^6.23.0"
- babel-traverse "^6.23.0"
- babel-types "^6.23.0"
+ babel-template "^6.24.1"
+ babel-traverse "^6.24.1"
+ babel-types "^6.24.1"
-babel-plugin-transform-es2015-shorthand-properties@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.22.0.tgz#8ba776e0affaa60bff21e921403b8a652a2ff723"
+babel-plugin-transform-es2015-shorthand-properties@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0"
dependencies:
babel-runtime "^6.22.0"
- babel-types "^6.22.0"
+ babel-types "^6.24.1"
babel-plugin-transform-es2015-spread@^6.22.0:
version "6.22.0"
@@ -562,13 +560,13 @@ babel-plugin-transform-es2015-spread@^6.22.0:
dependencies:
babel-runtime "^6.22.0"
-babel-plugin-transform-es2015-sticky-regex@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.22.0.tgz#ab316829e866ee3f4b9eb96939757d19a5bc4593"
+babel-plugin-transform-es2015-sticky-regex@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc"
dependencies:
- babel-helper-regex "^6.22.0"
+ babel-helper-regex "^6.24.1"
babel-runtime "^6.22.0"
- babel-types "^6.22.0"
+ babel-types "^6.24.1"
babel-plugin-transform-es2015-template-literals@^6.22.0:
version "6.22.0"
@@ -582,19 +580,19 @@ babel-plugin-transform-es2015-typeof-symbol@^6.22.0:
dependencies:
babel-runtime "^6.22.0"
-babel-plugin-transform-es2015-unicode-regex@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.22.0.tgz#8d9cc27e7ee1decfe65454fb986452a04a613d20"
+babel-plugin-transform-es2015-unicode-regex@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9"
dependencies:
- babel-helper-regex "^6.22.0"
+ babel-helper-regex "^6.24.1"
babel-runtime "^6.22.0"
regexpu-core "^2.0.0"
-babel-plugin-transform-exponentiation-operator@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.22.0.tgz#d57c8335281918e54ef053118ce6eb108468084d"
+babel-plugin-transform-exponentiation-operator@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e"
dependencies:
- babel-helper-builder-binary-assignment-operator-visitor "^6.22.0"
+ babel-helper-builder-binary-assignment-operator-visitor "^6.24.1"
babel-plugin-syntax-exponentiation-operator "^6.8.0"
babel-runtime "^6.22.0"
@@ -605,72 +603,72 @@ babel-plugin-transform-object-rest-spread@^6.22.0:
babel-plugin-syntax-object-rest-spread "^6.8.0"
babel-runtime "^6.22.0"
-babel-plugin-transform-regenerator@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.22.0.tgz#65740593a319c44522157538d690b84094617ea6"
+babel-plugin-transform-regenerator@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.24.1.tgz#b8da305ad43c3c99b4848e4fe4037b770d23c418"
dependencies:
- regenerator-transform "0.9.8"
+ regenerator-transform "0.9.11"
-babel-plugin-transform-strict-mode@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.22.0.tgz#e008df01340fdc87e959da65991b7e05970c8c7c"
+babel-plugin-transform-strict-mode@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758"
dependencies:
babel-runtime "^6.22.0"
- babel-types "^6.22.0"
+ babel-types "^6.24.1"
-babel-preset-es2015@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.22.0.tgz#af5a98ecb35eb8af764ad8a5a05eb36dc4386835"
+babel-preset-es2015@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939"
dependencies:
babel-plugin-check-es2015-constants "^6.22.0"
babel-plugin-transform-es2015-arrow-functions "^6.22.0"
babel-plugin-transform-es2015-block-scoped-functions "^6.22.0"
- babel-plugin-transform-es2015-block-scoping "^6.22.0"
- babel-plugin-transform-es2015-classes "^6.22.0"
- babel-plugin-transform-es2015-computed-properties "^6.22.0"
+ babel-plugin-transform-es2015-block-scoping "^6.24.1"
+ babel-plugin-transform-es2015-classes "^6.24.1"
+ babel-plugin-transform-es2015-computed-properties "^6.24.1"
babel-plugin-transform-es2015-destructuring "^6.22.0"
- babel-plugin-transform-es2015-duplicate-keys "^6.22.0"
+ babel-plugin-transform-es2015-duplicate-keys "^6.24.1"
babel-plugin-transform-es2015-for-of "^6.22.0"
- babel-plugin-transform-es2015-function-name "^6.22.0"
+ babel-plugin-transform-es2015-function-name "^6.24.1"
babel-plugin-transform-es2015-literals "^6.22.0"
- babel-plugin-transform-es2015-modules-amd "^6.22.0"
- babel-plugin-transform-es2015-modules-commonjs "^6.22.0"
- babel-plugin-transform-es2015-modules-systemjs "^6.22.0"
- babel-plugin-transform-es2015-modules-umd "^6.22.0"
- babel-plugin-transform-es2015-object-super "^6.22.0"
- babel-plugin-transform-es2015-parameters "^6.22.0"
- babel-plugin-transform-es2015-shorthand-properties "^6.22.0"
+ babel-plugin-transform-es2015-modules-amd "^6.24.1"
+ babel-plugin-transform-es2015-modules-commonjs "^6.24.1"
+ babel-plugin-transform-es2015-modules-systemjs "^6.24.1"
+ babel-plugin-transform-es2015-modules-umd "^6.24.1"
+ babel-plugin-transform-es2015-object-super "^6.24.1"
+ babel-plugin-transform-es2015-parameters "^6.24.1"
+ babel-plugin-transform-es2015-shorthand-properties "^6.24.1"
babel-plugin-transform-es2015-spread "^6.22.0"
- babel-plugin-transform-es2015-sticky-regex "^6.22.0"
+ babel-plugin-transform-es2015-sticky-regex "^6.24.1"
babel-plugin-transform-es2015-template-literals "^6.22.0"
babel-plugin-transform-es2015-typeof-symbol "^6.22.0"
- babel-plugin-transform-es2015-unicode-regex "^6.22.0"
- babel-plugin-transform-regenerator "^6.22.0"
+ babel-plugin-transform-es2015-unicode-regex "^6.24.1"
+ babel-plugin-transform-regenerator "^6.24.1"
-babel-preset-stage-2@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-preset-stage-2/-/babel-preset-stage-2-6.22.0.tgz#ccd565f19c245cade394b21216df704a73b27c07"
+babel-preset-stage-2@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz#d9e2960fb3d71187f0e64eec62bc07767219bdc1"
dependencies:
babel-plugin-syntax-dynamic-import "^6.18.0"
- babel-plugin-transform-class-properties "^6.22.0"
- babel-plugin-transform-decorators "^6.22.0"
- babel-preset-stage-3 "^6.22.0"
+ babel-plugin-transform-class-properties "^6.24.1"
+ babel-plugin-transform-decorators "^6.24.1"
+ babel-preset-stage-3 "^6.24.1"
-babel-preset-stage-3@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.22.0.tgz#a4e92bbace7456fafdf651d7a7657ee0bbca9c2e"
+babel-preset-stage-3@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz#836ada0a9e7a7fa37cb138fb9326f87934a48395"
dependencies:
babel-plugin-syntax-trailing-function-commas "^6.22.0"
- babel-plugin-transform-async-generator-functions "^6.22.0"
- babel-plugin-transform-async-to-generator "^6.22.0"
- babel-plugin-transform-exponentiation-operator "^6.22.0"
+ babel-plugin-transform-async-generator-functions "^6.24.1"
+ babel-plugin-transform-async-to-generator "^6.24.1"
+ babel-plugin-transform-exponentiation-operator "^6.24.1"
babel-plugin-transform-object-rest-spread "^6.22.0"
-babel-register@^6.23.0:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.23.0.tgz#c9aa3d4cca94b51da34826c4a0f9e08145d74ff3"
+babel-register@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.24.1.tgz#7e10e13a2f71065bdfad5a1787ba45bca6ded75f"
dependencies:
- babel-core "^6.23.0"
+ babel-core "^6.24.1"
babel-runtime "^6.22.0"
core-js "^2.4.0"
home-or-tmp "^2.0.0"
@@ -685,51 +683,51 @@ babel-runtime@^6.18.0, babel-runtime@^6.22.0:
core-js "^2.4.0"
regenerator-runtime "^0.10.0"
-babel-template@^6.22.0, babel-template@^6.23.0:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.23.0.tgz#04d4f270adbb3aa704a8143ae26faa529238e638"
+babel-template@^6.24.1, babel-template@^6.25.0:
+ version "6.25.0"
+ resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.25.0.tgz#665241166b7c2aa4c619d71e192969552b10c071"
dependencies:
babel-runtime "^6.22.0"
- babel-traverse "^6.23.0"
- babel-types "^6.23.0"
- babylon "^6.11.0"
+ babel-traverse "^6.25.0"
+ babel-types "^6.25.0"
+ babylon "^6.17.2"
lodash "^4.2.0"
-babel-traverse@^6.15.0, babel-traverse@^6.22.0, babel-traverse@^6.23.0, babel-traverse@^6.23.1:
- version "6.23.1"
- resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.23.1.tgz#d3cb59010ecd06a97d81310065f966b699e14f48"
+babel-traverse@^6.23.1, babel-traverse@^6.24.1, babel-traverse@^6.25.0:
+ version "6.25.0"
+ resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.25.0.tgz#2257497e2fcd19b89edc13c4c91381f9512496f1"
dependencies:
babel-code-frame "^6.22.0"
babel-messages "^6.23.0"
babel-runtime "^6.22.0"
- babel-types "^6.23.0"
- babylon "^6.15.0"
+ babel-types "^6.25.0"
+ babylon "^6.17.2"
debug "^2.2.0"
globals "^9.0.0"
invariant "^2.2.0"
lodash "^4.2.0"
-babel-types@^6.15.0, babel-types@^6.19.0, babel-types@^6.22.0, babel-types@^6.23.0:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.23.0.tgz#bb17179d7538bad38cd0c9e115d340f77e7e9acf"
+babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24.1, babel-types@^6.25.0:
+ version "6.25.0"
+ resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.25.0.tgz#70afb248d5660e5d18f811d91c8303b54134a18e"
dependencies:
babel-runtime "^6.22.0"
esutils "^2.0.2"
lodash "^4.2.0"
to-fast-properties "^1.0.1"
-babylon@^6.11.0, babylon@^6.13.0:
- version "6.13.1"
- resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.13.1.tgz#adca350e088f0467647157652bafead6ddb8dfdb"
-
-babylon@^6.15.0:
- version "6.15.0"
- resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.15.0.tgz#ba65cfa1a80e1759b0e89fb562e27dccae70348e"
+babylon@^6.17.0, babylon@^6.17.2:
+ version "6.17.4"
+ resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.4.tgz#3e8b7402b88d22c3423e137a1577883b15ff869a"
balanced-match@^0.4.1:
version "0.4.2"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
+balanced-match@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
+
base64-js@^1.0.2:
version "1.2.0"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1"
@@ -771,6 +769,13 @@ brace-expansion@^1.0.0:
balanced-match "^0.4.1"
concat-map "0.0.1"
+brace-expansion@^1.1.7:
+ version "1.1.8"
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292"
+ dependencies:
+ balanced-match "^1.0.0"
+ concat-map "0.0.1"
+
braces@^1.8.2:
version "1.8.5"
resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
@@ -922,17 +927,17 @@ circular-json@^0.3.0:
version "0.3.1"
resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d"
-clean-webpack-plugin@^0.1.15:
- version "0.1.15"
- resolved "https://registry.yarnpkg.com/clean-webpack-plugin/-/clean-webpack-plugin-0.1.15.tgz#facc04e0c8dba99bf451ae865ad0361f51af1df1"
+clean-webpack-plugin@^0.1.16:
+ version "0.1.16"
+ resolved "https://registry.yarnpkg.com/clean-webpack-plugin/-/clean-webpack-plugin-0.1.16.tgz#422a8e150bf3d5abfd3d14bfacb070e80fb2e23f"
dependencies:
rimraf "~2.5.1"
-cli-cursor@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987"
+cli-cursor@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
dependencies:
- restore-cursor "^1.0.1"
+ restore-cursor "^2.0.0"
cli-width@^2.0.0:
version "2.1.0"
@@ -984,13 +989,13 @@ concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
-concat-stream@^1.4.6:
- version "1.5.2"
- resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266"
+concat-stream@^1.6.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7"
dependencies:
- inherits "~2.0.1"
- readable-stream "~2.0.0"
- typedarray "~0.0.5"
+ inherits "^2.0.3"
+ readable-stream "^2.2.2"
+ typedarray "^0.0.6"
console-browserify@^1.1.0:
version "1.1.0"
@@ -1066,12 +1071,6 @@ crypto-browserify@^3.11.0:
public-encrypt "^4.0.0"
randombytes "^2.0.0"
-d@^0.1.1, d@~0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/d/-/d-0.1.1.tgz#da184c535d18d8ee7ba2aa229b914009fae11309"
- dependencies:
- es5-ext "~0.10.2"
-
dashdash@^1.12.0:
version "1.14.1"
resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
@@ -1082,12 +1081,18 @@ date-now@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
-debug@2.2.0, debug@^2.1.1, debug@^2.2.0, debug@~2.2.0:
+debug@2.2.0, debug@^2.1.1, debug@~2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da"
dependencies:
ms "0.7.1"
+debug@^2.2.0, debug@^2.6.8:
+ version "2.6.8"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc"
+ dependencies:
+ ms "2.0.0"
+
decamelize@^1.0.0, decamelize@^1.1.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
@@ -1141,13 +1146,20 @@ diffie-hellman@^5.0.0:
miller-rabin "^4.0.0"
randombytes "^2.0.0"
-doctrine@1.5.0, doctrine@^1.2.2:
+doctrine@1.5.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa"
dependencies:
esutils "^2.0.2"
isarray "^1.0.0"
+doctrine@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63"
+ dependencies:
+ esutils "^2.0.2"
+ isarray "^1.0.0"
+
domain-browser@^1.1.1:
version "1.1.7"
resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc"
@@ -1195,74 +1207,13 @@ error-ex@^1.2.0:
dependencies:
is-arrayish "^0.2.1"
-es5-ext@^0.10.7, es5-ext@^0.10.8, es5-ext@~0.10.11, es5-ext@~0.10.2, es5-ext@~0.10.7:
- version "0.10.12"
- resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.12.tgz#aa84641d4db76b62abba5e45fd805ecbab140047"
- dependencies:
- es6-iterator "2"
- es6-symbol "~3.1"
-
-es6-iterator@2:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.0.tgz#bd968567d61635e33c0b80727613c9cb4b096bac"
- dependencies:
- d "^0.1.1"
- es5-ext "^0.10.7"
- es6-symbol "3"
-
-es6-map@^0.1.3:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.4.tgz#a34b147be224773a4d7da8072794cefa3632b897"
- dependencies:
- d "~0.1.1"
- es5-ext "~0.10.11"
- es6-iterator "2"
- es6-set "~0.1.3"
- es6-symbol "~3.1.0"
- event-emitter "~0.3.4"
-
-es6-set@~0.1.3:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.4.tgz#9516b6761c2964b92ff479456233a247dc707ce8"
- dependencies:
- d "~0.1.1"
- es5-ext "~0.10.11"
- es6-iterator "2"
- es6-symbol "3"
- event-emitter "~0.3.4"
-
-es6-symbol@3, es6-symbol@~3.1, es6-symbol@~3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.0.tgz#94481c655e7a7cad82eba832d97d5433496d7ffa"
- dependencies:
- d "~0.1.1"
- es5-ext "~0.10.11"
-
-es6-weak-map@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.1.tgz#0d2bbd8827eb5fb4ba8f97fbfea50d43db21ea81"
- dependencies:
- d "^0.1.1"
- es5-ext "^0.10.8"
- es6-iterator "2"
- es6-symbol "3"
-
escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
-escope@^3.6.0:
- version "3.6.0"
- resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3"
- dependencies:
- es6-map "^0.1.3"
- es6-weak-map "^2.0.1"
- esrecurse "^4.1.0"
- estraverse "^4.1.1"
-
-eslint-config-airbnb-base@^11.1.1:
- version "11.1.1"
- resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-11.1.1.tgz#61e9e89e4eb89f474f6913ac817be9fbb59063e0"
+eslint-config-airbnb-base@^11.2.0:
+ version "11.2.0"
+ resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-11.2.0.tgz#19a9dc4481a26f70904545ec040116876018f853"
eslint-import-resolver-node@^0.2.0:
version "0.2.3"
@@ -1272,14 +1223,15 @@ eslint-import-resolver-node@^0.2.0:
object-assign "^4.0.1"
resolve "^1.1.6"
-eslint-loader@^1.6.3:
- version "1.6.3"
- resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-1.6.3.tgz#52fdcb32e9e8355108f8380dad4efe51a28986f9"
+eslint-loader@^1.8.0:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-1.8.0.tgz#8261f08cca4bd2ea263b77733e93cf0f21e20aa9"
dependencies:
- find-cache-dir "^0.1.1"
+ loader-fs-cache "^1.0.0"
loader-utils "^1.0.2"
object-assign "^4.0.1"
object-hash "^1.1.4"
+ rimraf "^2.6.1"
eslint-module-utils@^2.0.0:
version "2.0.0"
@@ -1288,9 +1240,9 @@ eslint-module-utils@^2.0.0:
debug "2.2.0"
pkg-dir "^1.0.0"
-eslint-plugin-import@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.2.0.tgz#72ba306fad305d67c4816348a4699a4229ac8b4e"
+eslint-plugin-import@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.3.0.tgz#37c801e0ada0e296cbdf20c3f393acb5b52af36b"
dependencies:
builtin-modules "^1.1.1"
contains-path "^0.1.0"
@@ -1301,57 +1253,68 @@ eslint-plugin-import@^2.2.0:
has "^1.0.1"
lodash.cond "^4.3.0"
minimatch "^3.0.3"
- pkg-up "^1.0.0"
+ read-pkg-up "^2.0.0"
+
+eslint-scope@^3.7.1:
+ version "3.7.1"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8"
+ dependencies:
+ esrecurse "^4.1.0"
+ estraverse "^4.1.1"
-eslint@^3.17.1:
- version "3.17.1"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.17.1.tgz#b80ae12d9c406d858406fccda627afce33ea10ea"
+eslint@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.0.0.tgz#7277c01437fdf41dccd168d5aa0e49b75ca1f260"
dependencies:
- babel-code-frame "^6.16.0"
+ babel-code-frame "^6.22.0"
chalk "^1.1.3"
- concat-stream "^1.4.6"
- debug "^2.1.1"
- doctrine "^1.2.2"
- escope "^3.6.0"
- espree "^3.4.0"
+ concat-stream "^1.6.0"
+ debug "^2.6.8"
+ doctrine "^2.0.0"
+ eslint-scope "^3.7.1"
+ espree "^3.4.3"
+ esquery "^1.0.0"
estraverse "^4.2.0"
esutils "^2.0.2"
file-entry-cache "^2.0.0"
- glob "^7.0.3"
- globals "^9.14.0"
- ignore "^3.2.0"
+ glob "^7.1.2"
+ globals "^9.17.0"
+ ignore "^3.3.3"
imurmurhash "^0.1.4"
- inquirer "^0.12.0"
- is-my-json-valid "^2.10.0"
+ inquirer "^3.0.6"
+ is-my-json-valid "^2.16.0"
is-resolvable "^1.0.0"
- js-yaml "^3.5.1"
- json-stable-stringify "^1.0.0"
+ js-yaml "^3.8.4"
+ json-stable-stringify "^1.0.1"
levn "^0.3.0"
- lodash "^4.0.0"
- mkdirp "^0.5.0"
+ lodash "^4.17.4"
+ mkdirp "^0.5.1"
natural-compare "^1.4.0"
optionator "^0.8.2"
- path-is-inside "^1.0.1"
- pluralize "^1.2.1"
- progress "^1.1.8"
- require-uncached "^1.0.2"
- shelljs "^0.7.5"
- strip-bom "^3.0.0"
+ path-is-inside "^1.0.2"
+ pluralize "^4.0.0"
+ progress "^2.0.0"
+ require-uncached "^1.0.3"
strip-json-comments "~2.0.1"
- table "^3.7.8"
+ table "^4.0.1"
text-table "~0.2.0"
- user-home "^2.0.0"
-espree@^3.4.0:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.0.tgz#41656fa5628e042878025ef467e78f125cb86e1d"
+espree@^3.4.3:
+ version "3.4.3"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.3.tgz#2910b5ccd49ce893c2ffffaab4fd8b3a31b82374"
dependencies:
- acorn "4.0.4"
+ acorn "^5.0.1"
acorn-jsx "^3.0.0"
-esprima@^2.6.0:
- version "2.7.3"
- resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
+esprima@^3.1.1:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
+
+esquery@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa"
+ dependencies:
+ estraverse "^4.0.0"
esrecurse@^4.1.0:
version "4.1.0"
@@ -1360,7 +1323,7 @@ esrecurse@^4.1.0:
estraverse "~4.1.0"
object-assign "^4.0.1"
-estraverse@^4.1.1, estraverse@^4.2.0:
+estraverse@^4.0.0, estraverse@^4.1.1, estraverse@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
@@ -1372,13 +1335,6 @@ esutils@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
-event-emitter@~0.3.4:
- version "0.3.4"
- resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.4.tgz#8d63ddfb4cfe1fae3b32ca265c4c720222080bb5"
- dependencies:
- d "~0.1.1"
- es5-ext "~0.10.7"
-
events@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
@@ -1389,10 +1345,6 @@ evp_bytestokey@^1.0.0:
dependencies:
create-hash "^1.1.1"
-exit-hook@^1.0.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8"
-
expand-brackets@^0.1.4:
version "0.1.5"
resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
@@ -1409,6 +1361,14 @@ extend@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4"
+external-editor@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.0.4.tgz#1ed9199da9cbfe2ef2f7a31b2fde8b0d12368972"
+ dependencies:
+ iconv-lite "^0.4.17"
+ jschardet "^1.4.2"
+ tmp "^0.0.31"
+
extglob@^0.3.1:
version "0.3.2"
resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
@@ -1423,12 +1383,11 @@ fast-levenshtein@~2.0.4:
version "2.0.5"
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.5.tgz#bd33145744519ab1c36c3ee9f31f08e9079b67f2"
-figures@^1.3.5:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
+figures@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
dependencies:
escape-string-regexp "^1.0.5"
- object-assign "^4.1.0"
file-entry-cache@^2.0.0:
version "2.0.0"
@@ -1459,6 +1418,14 @@ find-cache-dir@^0.1.1:
mkdirp "^0.5.1"
pkg-dir "^1.0.0"
+find-cache-dir@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f"
+ dependencies:
+ commondir "^1.0.1"
+ make-dir "^1.0.0"
+ pkg-dir "^2.0.0"
+
find-up@^1.0.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
@@ -1466,6 +1433,12 @@ find-up@^1.0.0:
path-exists "^2.0.0"
pinkie-promise "^2.0.0"
+find-up@^2.0.0, find-up@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
+ dependencies:
+ locate-path "^2.0.0"
+
flat-cache@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.1.tgz#6c837d6225a7de5659323740b36d5361f71691ff"
@@ -1575,20 +1548,20 @@ glob-parent@^2.0.0:
dependencies:
is-glob "^2.0.0"
-glob@^7.0.0, glob@^7.0.3, glob@^7.0.5:
- version "7.1.1"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
+glob@^7.0.3, glob@^7.0.5, glob@^7.1.2:
+ version "7.1.2"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
inherits "2"
- minimatch "^3.0.2"
+ minimatch "^3.0.4"
once "^1.3.0"
path-is-absolute "^1.0.0"
-globals@^9.0.0, globals@^9.14.0:
- version "9.15.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-9.15.0.tgz#7a5d8fd865e69de910b090b15a87772f9423c5de"
+globals@^9.0.0, globals@^9.17.0:
+ version "9.18.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
globby@^5.0.0:
version "5.0.0"
@@ -1688,13 +1661,17 @@ https-browserify@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82"
+iconv-lite@^0.4.17:
+ version "0.4.18"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.18.tgz#23d8656b16aae6742ac29732ea8f0336a4789cf2"
+
ieee754@^1.1.4:
version "1.1.8"
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
-ignore@^3.2.0:
- version "3.2.2"
- resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.2.tgz#1c51e1ef53bab6ddc15db4d9ac4ec139eceb3410"
+ignore@^3.3.3:
+ version "3.3.3"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.3.tgz#432352e57accd87ab3110e82d3fea0e47812156d"
imurmurhash@^0.1.4:
version "0.1.4"
@@ -1711,7 +1688,7 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
-inherits@2, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1:
+inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1:
version "2.0.3"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
@@ -1723,21 +1700,22 @@ ini@~1.3.0:
version "1.3.4"
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e"
-inquirer@^0.12.0:
- version "0.12.0"
- resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e"
+inquirer@^3.0.6:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.1.1.tgz#87621c4fba4072f48a8dd71c9f9df6f100b2d534"
dependencies:
- ansi-escapes "^1.1.0"
- ansi-regex "^2.0.0"
+ ansi-escapes "^2.0.0"
chalk "^1.0.0"
- cli-cursor "^1.0.1"
+ cli-cursor "^2.1.0"
cli-width "^2.0.0"
- figures "^1.3.5"
+ external-editor "^2.0.4"
+ figures "^2.0.0"
lodash "^4.3.0"
- readline2 "^1.0.1"
- run-async "^0.1.0"
- rx-lite "^3.1.2"
- string-width "^1.0.1"
+ mute-stream "0.0.7"
+ run-async "^2.2.0"
+ rx-lite "^4.0.8"
+ rx-lite-aggregates "^4.0.8"
+ string-width "^2.0.0"
strip-ansi "^3.0.0"
through "^2.3.6"
@@ -1815,9 +1793,9 @@ is-glob@^2.0.0, is-glob@^2.0.1:
dependencies:
is-extglob "^1.0.0"
-is-my-json-valid@^2.10.0, is-my-json-valid@^2.12.4:
- version "2.15.0"
- resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b"
+is-my-json-valid@^2.12.4, is-my-json-valid@^2.16.0:
+ version "2.16.0"
+ resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693"
dependencies:
generate-function "^2.0.0"
generate-object-property "^1.1.0"
@@ -1854,6 +1832,10 @@ is-primitive@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
+is-promise@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
+
is-property@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84"
@@ -1900,17 +1882,21 @@ js-tokens@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
-js-yaml@^3.5.1:
- version "3.6.1"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.6.1.tgz#6e5fe67d8b205ce4d22fad05b7781e8dadcc4b30"
+js-yaml@^3.8.4:
+ version "3.8.4"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.4.tgz#520b4564f86573ba96662af85a8cafa7b4b5a6f6"
dependencies:
argparse "^1.0.7"
- esprima "^2.6.0"
+ esprima "^3.1.1"
jsbn@~0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
+jschardet@^1.4.2:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/jschardet/-/jschardet-1.4.2.tgz#2aa107f142af4121d145659d44f50830961e699a"
+
jsesc@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
@@ -1927,7 +1913,7 @@ json-schema@0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
-json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1:
+json-stable-stringify@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
dependencies:
@@ -1941,6 +1927,10 @@ json5@^0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.0.tgz#9b20715b026cbe3778fd769edccd822d8332a5b2"
+json5@^0.5.1:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
+
jsonify@~0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
@@ -1990,6 +1980,22 @@ load-json-file@^1.0.0:
pinkie-promise "^2.0.0"
strip-bom "^2.0.0"
+load-json-file@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
+ dependencies:
+ graceful-fs "^4.1.2"
+ parse-json "^2.2.0"
+ pify "^2.0.0"
+ strip-bom "^3.0.0"
+
+loader-fs-cache@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.1.tgz#56e0bf08bd9708b26a765b68509840c8dec9fdbc"
+ dependencies:
+ find-cache-dir "^0.1.1"
+ mkdirp "0.5.1"
+
loader-runner@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2"
@@ -2011,15 +2017,22 @@ loader-utils@^1.0.2:
emojis-list "^2.0.0"
json5 "^0.5.0"
+locate-path@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
+ dependencies:
+ p-locate "^2.0.0"
+ path-exists "^3.0.0"
+
lodash.cond@^4.3.0:
version "4.5.2"
resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5"
-lodash.pickby@^4.6.0:
- version "4.6.0"
- resolved "https://registry.yarnpkg.com/lodash.pickby/-/lodash.pickby-4.6.0.tgz#7dea21d8c18d7703a27c704c15d3b84a67e33aff"
+lodash@^4.0.0, lodash@^4.14.0, lodash@^4.17.4, lodash@^4.3.0:
+ version "4.17.4"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
-lodash@^4.0.0, lodash@^4.14.0, lodash@^4.2.0, lodash@^4.3.0:
+lodash@^4.2.0:
version "4.16.4"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.4.tgz#01ce306b9bad1319f2a5528674f88297aeb70127"
@@ -2033,6 +2046,12 @@ loose-envify@^1.0.0:
dependencies:
js-tokens "^2.0.0"
+make-dir@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.0.0.tgz#97a011751e91dd87cfadef58832ebb04936de978"
+ dependencies:
+ pify "^2.3.0"
+
memory-fs@^0.4.0, memory-fs@~0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
@@ -2075,6 +2094,10 @@ mime-types@^2.1.12, mime-types@~2.1.7:
dependencies:
mime-db "~1.26.0"
+mimic-fn@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18"
+
minimalistic-assert@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3"
@@ -2083,7 +2106,13 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
-minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3:
+minimatch@^3.0.0, minimatch@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
+ dependencies:
+ brace-expansion "^1.1.7"
+
+minimatch@^3.0.2, minimatch@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774"
dependencies:
@@ -2097,7 +2126,7 @@ minimist@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
-"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1:
+mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
dependencies:
@@ -2107,9 +2136,13 @@ ms@0.7.1:
version "0.7.1"
resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098"
-mute-stream@0.0.5:
- version "0.0.5"
- resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0"
+ms@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+
+mute-stream@0.0.7:
+ version "0.0.7"
+ resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
nan@^2.3.0:
version "2.5.1"
@@ -2218,9 +2251,11 @@ once@^1.3.0, once@~1.3.3:
dependencies:
wrappy "1"
-onetime@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789"
+onetime@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
+ dependencies:
+ mimic-fn "^1.0.0"
optionator@^0.8.2:
version "0.8.2"
@@ -2247,10 +2282,20 @@ os-locale@^1.4.0:
dependencies:
lcid "^1.0.0"
-os-tmpdir@^1.0.1:
+os-tmpdir@^1.0.1, os-tmpdir@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
+p-limit@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc"
+
+p-locate@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
+ dependencies:
+ p-limit "^1.1.0"
+
pako@~0.2.0:
version "0.2.9"
resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75"
@@ -2290,11 +2335,15 @@ path-exists@^2.0.0:
dependencies:
pinkie-promise "^2.0.0"
+path-exists@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
+
path-is-absolute@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
-path-is-inside@^1.0.1:
+path-is-inside@^1.0.1, path-is-inside@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
@@ -2306,13 +2355,19 @@ path-type@^1.0.0:
pify "^2.0.0"
pinkie-promise "^2.0.0"
+path-type@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
+ dependencies:
+ pify "^2.0.0"
+
pbkdf2@^3.0.3:
version "3.0.9"
resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.9.tgz#f2c4b25a600058b3c3773c086c37dbbee1ffe693"
dependencies:
create-hmac "^1.1.2"
-pify@^2.0.0:
+pify@^2.0.0, pify@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
@@ -2332,15 +2387,15 @@ pkg-dir@^1.0.0:
dependencies:
find-up "^1.0.0"
-pkg-up@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-1.0.0.tgz#3e08fb461525c4421624a33b9f7e6d0af5b05a26"
+pkg-dir@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b"
dependencies:
- find-up "^1.0.0"
+ find-up "^2.1.0"
-pluralize@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45"
+pluralize@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-4.0.0.tgz#59b708c1c0190a2f692f1c7618c446b052fd1762"
prelude-ls@~1.1.2:
version "1.1.2"
@@ -2362,9 +2417,9 @@ process@^0.11.0:
version "0.11.9"
resolved "https://registry.yarnpkg.com/process/-/process-0.11.9.tgz#7bd5ad21aa6253e7da8682264f1e11d11c0318c1"
-progress@^1.1.8:
- version "1.1.8"
- resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be"
+progress@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f"
prr@~0.0.0:
version "0.0.0"
@@ -2427,6 +2482,13 @@ read-pkg-up@^1.0.1:
find-up "^1.0.0"
read-pkg "^1.0.0"
+read-pkg-up@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
+ dependencies:
+ find-up "^2.0.0"
+ read-pkg "^2.0.0"
+
read-pkg@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
@@ -2435,7 +2497,15 @@ read-pkg@^1.0.0:
normalize-package-data "^2.3.2"
path-type "^1.0.0"
-"readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.1.0:
+read-pkg@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
+ dependencies:
+ load-json-file "^2.0.0"
+ normalize-package-data "^2.3.2"
+ path-type "^2.0.0"
+
+"readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.1.0, readable-stream@^2.2.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.2.tgz#a9e6fec3c7dda85f8bb1b3ba7028604556fc825e"
dependencies:
@@ -2447,17 +2517,6 @@ read-pkg@^1.0.0:
string_decoder "~0.10.x"
util-deprecate "~1.0.1"
-readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@~2.0.0:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e"
- dependencies:
- core-util-is "~1.0.0"
- inherits "~2.0.1"
- isarray "~1.0.0"
- process-nextick-args "~1.0.6"
- string_decoder "~0.10.x"
- util-deprecate "~1.0.1"
-
readable-stream@~2.1.4:
version "2.1.5"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0"
@@ -2479,20 +2538,6 @@ readdirp@^2.0.0:
readable-stream "^2.0.2"
set-immediate-shim "^1.0.1"
-readline2@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35"
- dependencies:
- code-point-at "^1.0.0"
- is-fullwidth-code-point "^1.0.0"
- mute-stream "0.0.5"
-
-rechoir@^0.6.2:
- version "0.6.2"
- resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
- dependencies:
- resolve "^1.1.6"
-
regenerate@^1.2.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.1.tgz#0300203a5d2fdcf89116dce84275d011f5903f33"
@@ -2501,9 +2546,9 @@ regenerator-runtime@^0.10.0:
version "0.10.1"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz#257f41961ce44558b18f7814af48c17559f9faeb"
-regenerator-transform@0.9.8:
- version "0.9.8"
- resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.8.tgz#0f88bb2bc03932ddb7b6b7312e68078f01026d6c"
+regenerator-transform@0.9.11:
+ version "0.9.11"
+ resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.11.tgz#3a7d067520cb7b7176769eb5ff868691befe1283"
dependencies:
babel-runtime "^6.18.0"
babel-types "^6.19.0"
@@ -2581,9 +2626,9 @@ require-main-filename@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
-require-uncached@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.2.tgz#67dad3b733089e77030124678a459589faf6a7ec"
+require-uncached@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3"
dependencies:
caller-path "^0.1.0"
resolve-from "^1.0.0"
@@ -2596,12 +2641,12 @@ resolve@^1.1.6:
version "1.1.7"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
-restore-cursor@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541"
+restore-cursor@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
dependencies:
- exit-hook "^1.0.0"
- onetime "^1.0.0"
+ onetime "^2.0.0"
+ signal-exit "^3.0.2"
right-align@^0.1.1:
version "0.1.3"
@@ -2609,7 +2654,13 @@ right-align@^0.1.1:
dependencies:
align-text "^0.1.1"
-rimraf@2, rimraf@^2.2.8, rimraf@~2.5.1, rimraf@~2.5.4:
+rimraf@2, rimraf@^2.2.8, rimraf@^2.6.1:
+ version "2.6.1"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d"
+ dependencies:
+ glob "^7.0.5"
+
+rimraf@~2.5.1, rimraf@~2.5.4:
version "2.5.4"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04"
dependencies:
@@ -2619,15 +2670,21 @@ ripemd160@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-1.0.1.tgz#93a4bbd4942bc574b69a8fa57c71de10ecca7d6e"
-run-async@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389"
+run-async@^2.2.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"
dependencies:
- once "^1.3.0"
+ is-promise "^2.1.0"
+
+rx-lite-aggregates@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be"
+ dependencies:
+ rx-lite "*"
-rx-lite@^3.1.2:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102"
+rx-lite@*, rx-lite@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444"
"semver@2 || 3 || 4 || 5", semver@~5.3.0:
version "5.3.0"
@@ -2651,15 +2708,7 @@ sha.js@^2.3.6:
dependencies:
inherits "^2.0.1"
-shelljs@^0.7.5:
- version "0.7.5"
- resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.5.tgz#2eef7a50a21e1ccf37da00df767ec69e30ad0675"
- dependencies:
- glob "^7.0.0"
- interpret "^1.0.0"
- rechoir "^0.6.2"
-
-signal-exit@^3.0.0:
+signal-exit@^3.0.0, signal-exit@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
@@ -2677,9 +2726,9 @@ sntp@1.x.x:
dependencies:
hoek "2.x.x"
-source-list-map@~0.1.7:
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106"
+source-list-map@^1.1.1:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-1.1.2.tgz#9889019d1024cce55cdc069498337ef6186a11a1"
source-map-support@^0.4.2:
version "0.4.6"
@@ -2798,9 +2847,9 @@ supports-color@^3.1.0:
dependencies:
has-flag "^1.0.0"
-table@^3.7.8:
- version "3.8.3"
- resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f"
+table@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/table/-/table-4.0.1.tgz#a8116c133fac2c61f4a420ab6cdf5c4d61f0e435"
dependencies:
ajv "^4.7.0"
ajv-keywords "^1.0.0"
@@ -2848,6 +2897,12 @@ timers-browserify@^2.0.2:
dependencies:
setimmediate "^1.0.4"
+tmp@^0.0.31:
+ version "0.0.31"
+ resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7"
+ dependencies:
+ os-tmpdir "~1.0.1"
+
to-arraybuffer@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
@@ -2888,18 +2943,18 @@ type-check@~0.3.2:
dependencies:
prelude-ls "~1.1.2"
-typedarray@~0.0.5:
+typedarray@^0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
-uglify-js@^2.7.5:
- version "2.7.5"
- resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.5.tgz#4612c0c7baaee2ba7c487de4904ae122079f2ca8"
+uglify-js@^2.8.27:
+ version "2.8.29"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd"
dependencies:
- async "~0.2.6"
source-map "~0.5.1"
- uglify-to-browserify "~1.0.0"
yargs "~3.10.0"
+ optionalDependencies:
+ uglify-to-browserify "~1.0.0"
uglify-to-browserify@~1.0.0:
version "1.0.2"
@@ -2916,12 +2971,6 @@ url@^0.11.0:
punycode "1.3.2"
querystring "0.2.0"
-user-home@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f"
- dependencies:
- os-homedir "^1.0.0"
-
util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
@@ -2955,7 +3004,7 @@ vm-browserify@0.0.4:
dependencies:
indexof "0.0.1"
-watchpack@^1.2.0:
+watchpack@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.3.1.tgz#7d8693907b28ce6013e7f3610aa2a1acf07dad87"
dependencies:
@@ -2963,18 +3012,18 @@ watchpack@^1.2.0:
chokidar "^1.4.3"
graceful-fs "^4.1.2"
-webpack-sources@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.1.4.tgz#ccc2c817e08e5fa393239412690bb481821393cd"
+webpack-sources@^0.2.3:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.2.3.tgz#17c62bfaf13c707f9d02c479e0dcdde8380697fb"
dependencies:
- source-list-map "~0.1.7"
+ source-list-map "^1.1.1"
source-map "~0.5.3"
-webpack@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.2.1.tgz#7bb1d72ae2087dd1a4af526afec15eed17dda475"
+webpack@^2.6.1:
+ version "2.6.1"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.6.1.tgz#2e0457f0abb1ac5df3ab106c69c672f236785f07"
dependencies:
- acorn "^4.0.4"
+ acorn "^5.0.0"
acorn-dynamic-import "^2.0.0"
ajv "^4.7.0"
ajv-keywords "^1.1.1"
@@ -2982,6 +3031,7 @@ webpack@^2.2.1:
enhanced-resolve "^3.0.0"
interpret "^1.0.0"
json-loader "^0.5.4"
+ json5 "^0.5.1"
loader-runner "^2.3.0"
loader-utils "^0.2.16"
memory-fs "~0.4.1"
@@ -2990,9 +3040,9 @@ webpack@^2.2.1:
source-map "^0.5.3"
supports-color "^3.1.0"
tapable "~0.2.5"
- uglify-js "^2.7.5"
- watchpack "^1.2.0"
- webpack-sources "^0.1.4"
+ uglify-js "^2.8.27"
+ watchpack "^1.3.1"
+ webpack-sources "^0.2.3"
yargs "^6.0.0"
which-module@^1.0.0: