├── .babelrc ├── .github ├── stale.yml └── workflows │ └── add-to-project.yml ├── .gitignore ├── .npmignore ├── README.md ├── index.js ├── package-lock.json ├── package.json └── src ├── index.js ├── unleash-context.js ├── with-unleash-provider.js └── with-unleash.js /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | "@babel/env", 4 | "minify" 5 | ], 6 | "plugins": [ 7 | "@babel/plugin-transform-react-jsx", 8 | "@babel/plugin-proposal-object-rest-spread", 9 | "@babel/plugin-proposal-class-properties", 10 | "@babel/plugin-transform-runtime" 11 | ] 12 | } -------------------------------------------------------------------------------- /.github/stale.yml: -------------------------------------------------------------------------------- 1 | _extends: .github 2 | -------------------------------------------------------------------------------- /.github/workflows/add-to-project.yml: -------------------------------------------------------------------------------- 1 | name: Add new item to project board 2 | 3 | on: 4 | issues: 5 | types: 6 | - opened 7 | pull_request_target: 8 | types: 9 | - opened 10 | 11 | jobs: 12 | add-to-project: 13 | uses: unleash/.github/.github/workflows/add-item-to-project.yml@main 14 | secrets: inherit 15 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | 8 | # Runtime data 9 | pids 10 | *.pid 11 | *.seed 12 | *.pid.lock 13 | 14 | # Directory for instrumented libs generated by jscoverage/JSCover 15 | lib-cov 16 | 17 | # Coverage directory used by tools like istanbul 18 | coverage 19 | 20 | # nyc test coverage 21 | .nyc_output 22 | 23 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 24 | .grunt 25 | 26 | # Bower dependency directory (https://bower.io/) 27 | bower_components 28 | 29 | # node-waf configuration 30 | .lock-wscript 31 | 32 | # Compiled binary addons (https://nodejs.org/api/addons.html) 33 | build/Release 34 | 35 | # Dependency directories 36 | node_modules/ 37 | jspm_packages/ 38 | 39 | # TypeScript v1 declaration files 40 | typings/ 41 | 42 | # Optional npm cache directory 43 | .npm 44 | 45 | # Optional eslint cache 46 | .eslintcache 47 | 48 | # Optional REPL history 49 | .node_repl_history 50 | 51 | # Output of 'npm pack' 52 | *.tgz 53 | 54 | # Yarn Integrity file 55 | .yarn-integrity 56 | 57 | # dotenv environment variables file 58 | .env 59 | 60 | # next.js build output 61 | .next 62 | 63 | dist -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | src 2 | .babelrc 3 | !dist -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | > ## This repo is being deprecated, use [`@unleash/nextjs` package](https://www.npmjs.com/package/@unleash/nextjs) 2 | 3 | # next-unleash 4 | The goal of this module is to make it easy to use Unleash with next.js. 5 | 6 | The main motivation is to make sure toggles are available both during Server-Side-Rendering (SSR) 7 | and during local page transitions. 8 | 9 | The general idea is that Unleash Node.js SDK is used at the server side, and that all toggles are 10 | propagated as part of SSR. 11 | 12 | **This project is considered a POC. APIs and components might change** 13 | 14 | ## Not solved yet: 15 | - Client side update of toggles. We should use SSE or similar to update the client toggles when changes are detected. Currently these changes are only picket up during reload (SSR). 16 | - A wrapper component. It would provably be easier to use if there where some kind of react component you could use to wrap your components. 17 | - Figure out if there are ways to configure the middleware with next.js so that users don't have to introduce custom server. 18 | - Make it easy to configure toggles you care about in the app. 19 | 20 | 21 | ## How to use 22 | 23 | ### Step 1: Express middleware setup 24 | 25 | First you will need to configure a [custom-server](https://github.com/zeit/next.js/tree/canary/examples/custom-server-express) with next.js in order to make the toggles available during SSR. 26 | 27 | ```javascript 28 | //server.js 29 | 30 | const express = require('express'); 31 | const next = require('next'); 32 | 33 | const port = parseInt(process.env.PORT, 10) || 3000; 34 | const dev = process.env.NODE_ENV !== 'production'; 35 | const app = next({ dev }); 36 | const { initialize, isEnabled } = require('unleash-client'); 37 | const handle = app.getRequestHandler(); 38 | 39 | initialize({ 40 | url: 'https://unleash.herokuapp.com/api/', 41 | appName: 'next-unleash-demo', 42 | }); 43 | 44 | app.prepare().then(() => { 45 | const server = express() 46 | 47 | //Unleash middleware 48 | server.use((req, res, nextCall) => { 49 | req.toggles = { 50 | newPriceModel: isEnabled('unleash-x.newPriceModel'), 51 | reducesRiskLink: isEnabled('landing.reducesRiskLink'), 52 | betaKillSwitch: isEnabled('landing.betaKillSwitch') 53 | }; 54 | nextCall(); 55 | }); 56 | 57 | server.get('*', (req, res) => { 58 | return handle(req, res) 59 | }) 60 | 61 | server.listen(port, err => { 62 | if (err) throw err 63 | console.log(`> Ready on http://localhost:${port}`) 64 | }) 65 | }) 66 | ``` 67 | 68 | 69 | ### Step 2: Wrap App with the Unleash provider 70 | 71 | You will need to wrap your `App` component with the unleash-provider. 72 | 73 | ```javascript 74 | //_app.js 75 | 76 | import React from 'react'; 77 | import App, { Container } from 'next/app'; 78 | import Head from 'next/head'; 79 | import Router from 'next/router'; 80 | 81 | import JssProvider from 'react-jss/lib/JssProvider'; 82 | import getPageContext from '../src/getPageContext'; 83 | 84 | import { withUnleashProvider } from 'next-unleash'; 85 | 86 | class MyApp extends App { 87 | constructor(props) { 88 | super(props); 89 | this.pageContext = getPageContext(); 90 | } 91 | 92 | componentDidMount() { 93 | // Remove the server-side injected CSS. 94 | const jssStyles = document.querySelector('#jss-server-side'); 95 | if (jssStyles && jssStyles.parentNode) { 96 | jssStyles.parentNode.removeChild(jssStyles); 97 | } 98 | } 99 | 100 | render() { 101 | const { Component, pageProps } = this.props; 102 | return ( 103 | 104 | 105 | My app 106 | 107 | 108 | 109 | ); 110 | } 111 | } 112 | 113 | // Wrap the entire app with the unleash provider 114 | export default withUnleashProvider(MyApp); 115 | ``` 116 | 117 | ### Step 3: Access toggles in component 118 | 119 | When you want to access Unleash feature toggles in a component you can wrap the component using `withUnleash`: 120 | 121 | ```javascript 122 | import withUnleash from 'next-unleash'; 123 | 124 | import React from 'react'; 125 | import PropTypes from 'prop-types'; 126 | import { withUnleash } from './unleash/withUnleash'; 127 | 128 | class MyComponent extends React.Component { 129 | 130 | render() { 131 | const { toggles } = this.props; 132 | 133 | return ( 134 |
135 | {toggles.demo ?

Enabled

:

disabled

} 136 |
137 | ); 138 | } 139 | } 140 | 141 | MyComponent.propTypes = { 142 | toggles: PropTypes.object.isRequired 143 | }; 144 | 145 | export default withUnleash(MyComponent); 146 | 147 | 148 | ``` 149 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | module.exports = require("./dist/index.js"); -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "next-unleash", 3 | "version": "1.0.0-alpha.1", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@babel/cli": { 8 | "version": "7.20.7", 9 | "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.20.7.tgz", 10 | "integrity": "sha512-WylgcELHB66WwQqItxNILsMlaTd8/SO6SgTTjMp4uCI7P4QyH1r3nqgFmO3BfM4AtfniHgFMH3EpYFj/zynBkQ==", 11 | "dev": true, 12 | "requires": { 13 | "@jridgewell/trace-mapping": "^0.3.8", 14 | "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3", 15 | "chokidar": "^3.4.0", 16 | "commander": "^4.0.1", 17 | "convert-source-map": "^1.1.0", 18 | "fs-readdir-recursive": "^1.1.0", 19 | "glob": "^7.2.0", 20 | "make-dir": "^2.1.0", 21 | "slash": "^2.0.0" 22 | } 23 | }, 24 | "@babel/code-frame": { 25 | "version": "7.0.0", 26 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", 27 | "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", 28 | "dev": true, 29 | "requires": { 30 | "@babel/highlight": "^7.0.0" 31 | } 32 | }, 33 | "@babel/core": { 34 | "version": "7.4.4", 35 | "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.4.4.tgz", 36 | "integrity": "sha512-lQgGX3FPRgbz2SKmhMtYgJvVzGZrmjaF4apZ2bLwofAKiSjxU0drPh4S/VasyYXwaTs+A1gvQ45BN8SQJzHsQQ==", 37 | "dev": true, 38 | "requires": { 39 | "@babel/code-frame": "^7.0.0", 40 | "@babel/generator": "^7.4.4", 41 | "@babel/helpers": "^7.4.4", 42 | "@babel/parser": "^7.4.4", 43 | "@babel/template": "^7.4.4", 44 | "@babel/traverse": "^7.4.4", 45 | "@babel/types": "^7.4.4", 46 | "convert-source-map": "^1.1.0", 47 | "debug": "^4.1.0", 48 | "json5": "^2.1.0", 49 | "lodash": "^4.17.11", 50 | "resolve": "^1.3.2", 51 | "semver": "^5.4.1", 52 | "source-map": "^0.5.0" 53 | }, 54 | "dependencies": { 55 | "debug": { 56 | "version": "4.1.1", 57 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", 58 | "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", 59 | "dev": true, 60 | "requires": { 61 | "ms": "^2.1.1" 62 | } 63 | }, 64 | "ms": { 65 | "version": "2.1.1", 66 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", 67 | "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", 68 | "dev": true 69 | } 70 | } 71 | }, 72 | "@babel/generator": { 73 | "version": "7.4.4", 74 | "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.4.4.tgz", 75 | "integrity": "sha512-53UOLK6TVNqKxf7RUh8NE851EHRxOOeVXKbK2bivdb+iziMyk03Sr4eaE9OELCbyZAAafAKPDwF2TPUES5QbxQ==", 76 | "dev": true, 77 | "requires": { 78 | "@babel/types": "^7.4.4", 79 | "jsesc": "^2.5.1", 80 | "lodash": "^4.17.11", 81 | "source-map": "^0.5.0", 82 | "trim-right": "^1.0.1" 83 | } 84 | }, 85 | "@babel/helper-annotate-as-pure": { 86 | "version": "7.0.0", 87 | "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", 88 | "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", 89 | "dev": true, 90 | "requires": { 91 | "@babel/types": "^7.0.0" 92 | } 93 | }, 94 | "@babel/helper-builder-binary-assignment-operator-visitor": { 95 | "version": "7.1.0", 96 | "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", 97 | "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", 98 | "dev": true, 99 | "requires": { 100 | "@babel/helper-explode-assignable-expression": "^7.1.0", 101 | "@babel/types": "^7.0.0" 102 | } 103 | }, 104 | "@babel/helper-builder-react-jsx": { 105 | "version": "7.3.0", 106 | "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz", 107 | "integrity": "sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw==", 108 | "dev": true, 109 | "requires": { 110 | "@babel/types": "^7.3.0", 111 | "esutils": "^2.0.0" 112 | } 113 | }, 114 | "@babel/helper-call-delegate": { 115 | "version": "7.4.4", 116 | "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz", 117 | "integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==", 118 | "dev": true, 119 | "requires": { 120 | "@babel/helper-hoist-variables": "^7.4.4", 121 | "@babel/traverse": "^7.4.4", 122 | "@babel/types": "^7.4.4" 123 | } 124 | }, 125 | "@babel/helper-create-class-features-plugin": { 126 | "version": "7.4.4", 127 | "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.4.4.tgz", 128 | "integrity": "sha512-UbBHIa2qeAGgyiNR9RszVF7bUHEdgS4JAUNT8SiqrAN6YJVxlOxeLr5pBzb5kan302dejJ9nla4RyKcR1XT6XA==", 129 | "dev": true, 130 | "requires": { 131 | "@babel/helper-function-name": "^7.1.0", 132 | "@babel/helper-member-expression-to-functions": "^7.0.0", 133 | "@babel/helper-optimise-call-expression": "^7.0.0", 134 | "@babel/helper-plugin-utils": "^7.0.0", 135 | "@babel/helper-replace-supers": "^7.4.4", 136 | "@babel/helper-split-export-declaration": "^7.4.4" 137 | } 138 | }, 139 | "@babel/helper-define-map": { 140 | "version": "7.4.4", 141 | "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.4.4.tgz", 142 | "integrity": "sha512-IX3Ln8gLhZpSuqHJSnTNBWGDE9kdkTEWl21A/K7PQ00tseBwbqCHTvNLHSBd9M0R5rER4h5Rsvj9vw0R5SieBg==", 143 | "dev": true, 144 | "requires": { 145 | "@babel/helper-function-name": "^7.1.0", 146 | "@babel/types": "^7.4.4", 147 | "lodash": "^4.17.11" 148 | } 149 | }, 150 | "@babel/helper-explode-assignable-expression": { 151 | "version": "7.1.0", 152 | "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", 153 | "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", 154 | "dev": true, 155 | "requires": { 156 | "@babel/traverse": "^7.1.0", 157 | "@babel/types": "^7.0.0" 158 | } 159 | }, 160 | "@babel/helper-function-name": { 161 | "version": "7.1.0", 162 | "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", 163 | "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", 164 | "dev": true, 165 | "requires": { 166 | "@babel/helper-get-function-arity": "^7.0.0", 167 | "@babel/template": "^7.1.0", 168 | "@babel/types": "^7.0.0" 169 | } 170 | }, 171 | "@babel/helper-get-function-arity": { 172 | "version": "7.0.0", 173 | "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", 174 | "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", 175 | "dev": true, 176 | "requires": { 177 | "@babel/types": "^7.0.0" 178 | } 179 | }, 180 | "@babel/helper-hoist-variables": { 181 | "version": "7.4.4", 182 | "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz", 183 | "integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==", 184 | "dev": true, 185 | "requires": { 186 | "@babel/types": "^7.4.4" 187 | } 188 | }, 189 | "@babel/helper-member-expression-to-functions": { 190 | "version": "7.0.0", 191 | "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", 192 | "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", 193 | "dev": true, 194 | "requires": { 195 | "@babel/types": "^7.0.0" 196 | } 197 | }, 198 | "@babel/helper-module-imports": { 199 | "version": "7.0.0", 200 | "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", 201 | "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", 202 | "dev": true, 203 | "requires": { 204 | "@babel/types": "^7.0.0" 205 | } 206 | }, 207 | "@babel/helper-module-transforms": { 208 | "version": "7.4.4", 209 | "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.4.4.tgz", 210 | "integrity": "sha512-3Z1yp8TVQf+B4ynN7WoHPKS8EkdTbgAEy0nU0rs/1Kw4pDgmvYH3rz3aI11KgxKCba2cn7N+tqzV1mY2HMN96w==", 211 | "dev": true, 212 | "requires": { 213 | "@babel/helper-module-imports": "^7.0.0", 214 | "@babel/helper-simple-access": "^7.1.0", 215 | "@babel/helper-split-export-declaration": "^7.4.4", 216 | "@babel/template": "^7.4.4", 217 | "@babel/types": "^7.4.4", 218 | "lodash": "^4.17.11" 219 | } 220 | }, 221 | "@babel/helper-optimise-call-expression": { 222 | "version": "7.0.0", 223 | "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", 224 | "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", 225 | "dev": true, 226 | "requires": { 227 | "@babel/types": "^7.0.0" 228 | } 229 | }, 230 | "@babel/helper-plugin-utils": { 231 | "version": "7.0.0", 232 | "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", 233 | "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", 234 | "dev": true 235 | }, 236 | "@babel/helper-regex": { 237 | "version": "7.4.4", 238 | "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.4.4.tgz", 239 | "integrity": "sha512-Y5nuB/kESmR3tKjU8Nkn1wMGEx1tjJX076HBMeL3XLQCu6vA/YRzuTW0bbb+qRnXvQGn+d6Rx953yffl8vEy7Q==", 240 | "dev": true, 241 | "requires": { 242 | "lodash": "^4.17.11" 243 | } 244 | }, 245 | "@babel/helper-remap-async-to-generator": { 246 | "version": "7.1.0", 247 | "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", 248 | "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", 249 | "dev": true, 250 | "requires": { 251 | "@babel/helper-annotate-as-pure": "^7.0.0", 252 | "@babel/helper-wrap-function": "^7.1.0", 253 | "@babel/template": "^7.1.0", 254 | "@babel/traverse": "^7.1.0", 255 | "@babel/types": "^7.0.0" 256 | } 257 | }, 258 | "@babel/helper-replace-supers": { 259 | "version": "7.4.4", 260 | "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.4.4.tgz", 261 | "integrity": "sha512-04xGEnd+s01nY1l15EuMS1rfKktNF+1CkKmHoErDppjAAZL+IUBZpzT748x262HF7fibaQPhbvWUl5HeSt1EXg==", 262 | "dev": true, 263 | "requires": { 264 | "@babel/helper-member-expression-to-functions": "^7.0.0", 265 | "@babel/helper-optimise-call-expression": "^7.0.0", 266 | "@babel/traverse": "^7.4.4", 267 | "@babel/types": "^7.4.4" 268 | } 269 | }, 270 | "@babel/helper-simple-access": { 271 | "version": "7.1.0", 272 | "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", 273 | "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", 274 | "dev": true, 275 | "requires": { 276 | "@babel/template": "^7.1.0", 277 | "@babel/types": "^7.0.0" 278 | } 279 | }, 280 | "@babel/helper-split-export-declaration": { 281 | "version": "7.4.4", 282 | "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", 283 | "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", 284 | "dev": true, 285 | "requires": { 286 | "@babel/types": "^7.4.4" 287 | } 288 | }, 289 | "@babel/helper-wrap-function": { 290 | "version": "7.2.0", 291 | "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", 292 | "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", 293 | "dev": true, 294 | "requires": { 295 | "@babel/helper-function-name": "^7.1.0", 296 | "@babel/template": "^7.1.0", 297 | "@babel/traverse": "^7.1.0", 298 | "@babel/types": "^7.2.0" 299 | } 300 | }, 301 | "@babel/helpers": { 302 | "version": "7.4.4", 303 | "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.4.4.tgz", 304 | "integrity": "sha512-igczbR/0SeuPR8RFfC7tGrbdTbFL3QTvH6D+Z6zNxnTe//GyqmtHmDkzrqDmyZ3eSwPqB/LhyKoU5DXsp+Vp2A==", 305 | "dev": true, 306 | "requires": { 307 | "@babel/template": "^7.4.4", 308 | "@babel/traverse": "^7.4.4", 309 | "@babel/types": "^7.4.4" 310 | } 311 | }, 312 | "@babel/highlight": { 313 | "version": "7.0.0", 314 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", 315 | "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", 316 | "dev": true, 317 | "requires": { 318 | "chalk": "^2.0.0", 319 | "esutils": "^2.0.2", 320 | "js-tokens": "^4.0.0" 321 | } 322 | }, 323 | "@babel/parser": { 324 | "version": "7.4.4", 325 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.4.4.tgz", 326 | "integrity": "sha512-5pCS4mOsL+ANsFZGdvNLybx4wtqAZJ0MJjMHxvzI3bvIsz6sQvzW8XX92EYIkiPtIvcfG3Aj+Ir5VNyjnZhP7w==", 327 | "dev": true 328 | }, 329 | "@babel/plugin-proposal-async-generator-functions": { 330 | "version": "7.2.0", 331 | "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz", 332 | "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==", 333 | "dev": true, 334 | "requires": { 335 | "@babel/helper-plugin-utils": "^7.0.0", 336 | "@babel/helper-remap-async-to-generator": "^7.1.0", 337 | "@babel/plugin-syntax-async-generators": "^7.2.0" 338 | } 339 | }, 340 | "@babel/plugin-proposal-class-properties": { 341 | "version": "7.4.4", 342 | "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.4.4.tgz", 343 | "integrity": "sha512-WjKTI8g8d5w1Bc9zgwSz2nfrsNQsXcCf9J9cdCvrJV6RF56yztwm4TmJC0MgJ9tvwO9gUA/mcYe89bLdGfiXFg==", 344 | "dev": true, 345 | "requires": { 346 | "@babel/helper-create-class-features-plugin": "^7.4.4", 347 | "@babel/helper-plugin-utils": "^7.0.0" 348 | } 349 | }, 350 | "@babel/plugin-proposal-json-strings": { 351 | "version": "7.2.0", 352 | "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz", 353 | "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==", 354 | "dev": true, 355 | "requires": { 356 | "@babel/helper-plugin-utils": "^7.0.0", 357 | "@babel/plugin-syntax-json-strings": "^7.2.0" 358 | } 359 | }, 360 | "@babel/plugin-proposal-object-rest-spread": { 361 | "version": "7.4.4", 362 | "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.4.tgz", 363 | "integrity": "sha512-dMBG6cSPBbHeEBdFXeQ2QLc5gUpg4Vkaz8octD4aoW/ISO+jBOcsuxYL7bsb5WSu8RLP6boxrBIALEHgoHtO9g==", 364 | "dev": true, 365 | "requires": { 366 | "@babel/helper-plugin-utils": "^7.0.0", 367 | "@babel/plugin-syntax-object-rest-spread": "^7.2.0" 368 | } 369 | }, 370 | "@babel/plugin-proposal-optional-catch-binding": { 371 | "version": "7.2.0", 372 | "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", 373 | "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", 374 | "dev": true, 375 | "requires": { 376 | "@babel/helper-plugin-utils": "^7.0.0", 377 | "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" 378 | } 379 | }, 380 | "@babel/plugin-proposal-unicode-property-regex": { 381 | "version": "7.4.4", 382 | "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz", 383 | "integrity": "sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA==", 384 | "dev": true, 385 | "requires": { 386 | "@babel/helper-plugin-utils": "^7.0.0", 387 | "@babel/helper-regex": "^7.4.4", 388 | "regexpu-core": "^4.5.4" 389 | } 390 | }, 391 | "@babel/plugin-syntax-async-generators": { 392 | "version": "7.2.0", 393 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", 394 | "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", 395 | "dev": true, 396 | "requires": { 397 | "@babel/helper-plugin-utils": "^7.0.0" 398 | } 399 | }, 400 | "@babel/plugin-syntax-json-strings": { 401 | "version": "7.2.0", 402 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz", 403 | "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==", 404 | "dev": true, 405 | "requires": { 406 | "@babel/helper-plugin-utils": "^7.0.0" 407 | } 408 | }, 409 | "@babel/plugin-syntax-jsx": { 410 | "version": "7.2.0", 411 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz", 412 | "integrity": "sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==", 413 | "dev": true, 414 | "requires": { 415 | "@babel/helper-plugin-utils": "^7.0.0" 416 | } 417 | }, 418 | "@babel/plugin-syntax-object-rest-spread": { 419 | "version": "7.2.0", 420 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", 421 | "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", 422 | "dev": true, 423 | "requires": { 424 | "@babel/helper-plugin-utils": "^7.0.0" 425 | } 426 | }, 427 | "@babel/plugin-syntax-optional-catch-binding": { 428 | "version": "7.2.0", 429 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", 430 | "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", 431 | "dev": true, 432 | "requires": { 433 | "@babel/helper-plugin-utils": "^7.0.0" 434 | } 435 | }, 436 | "@babel/plugin-transform-arrow-functions": { 437 | "version": "7.2.0", 438 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", 439 | "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", 440 | "dev": true, 441 | "requires": { 442 | "@babel/helper-plugin-utils": "^7.0.0" 443 | } 444 | }, 445 | "@babel/plugin-transform-async-to-generator": { 446 | "version": "7.4.4", 447 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.4.4.tgz", 448 | "integrity": "sha512-YiqW2Li8TXmzgbXw+STsSqPBPFnGviiaSp6CYOq55X8GQ2SGVLrXB6pNid8HkqkZAzOH6knbai3snhP7v0fNwA==", 449 | "dev": true, 450 | "requires": { 451 | "@babel/helper-module-imports": "^7.0.0", 452 | "@babel/helper-plugin-utils": "^7.0.0", 453 | "@babel/helper-remap-async-to-generator": "^7.1.0" 454 | } 455 | }, 456 | "@babel/plugin-transform-block-scoped-functions": { 457 | "version": "7.2.0", 458 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz", 459 | "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==", 460 | "dev": true, 461 | "requires": { 462 | "@babel/helper-plugin-utils": "^7.0.0" 463 | } 464 | }, 465 | "@babel/plugin-transform-block-scoping": { 466 | "version": "7.4.4", 467 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.4.4.tgz", 468 | "integrity": "sha512-jkTUyWZcTrwxu5DD4rWz6rDB5Cjdmgz6z7M7RLXOJyCUkFBawssDGcGh8M/0FTSB87avyJI1HsTwUXp9nKA1PA==", 469 | "dev": true, 470 | "requires": { 471 | "@babel/helper-plugin-utils": "^7.0.0", 472 | "lodash": "^4.17.11" 473 | } 474 | }, 475 | "@babel/plugin-transform-classes": { 476 | "version": "7.4.4", 477 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.4.tgz", 478 | "integrity": "sha512-/e44eFLImEGIpL9qPxSRat13I5QNRgBLu2hOQJCF7VLy/otSM/sypV1+XaIw5+502RX/+6YaSAPmldk+nhHDPw==", 479 | "dev": true, 480 | "requires": { 481 | "@babel/helper-annotate-as-pure": "^7.0.0", 482 | "@babel/helper-define-map": "^7.4.4", 483 | "@babel/helper-function-name": "^7.1.0", 484 | "@babel/helper-optimise-call-expression": "^7.0.0", 485 | "@babel/helper-plugin-utils": "^7.0.0", 486 | "@babel/helper-replace-supers": "^7.4.4", 487 | "@babel/helper-split-export-declaration": "^7.4.4", 488 | "globals": "^11.1.0" 489 | } 490 | }, 491 | "@babel/plugin-transform-computed-properties": { 492 | "version": "7.2.0", 493 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz", 494 | "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==", 495 | "dev": true, 496 | "requires": { 497 | "@babel/helper-plugin-utils": "^7.0.0" 498 | } 499 | }, 500 | "@babel/plugin-transform-destructuring": { 501 | "version": "7.4.4", 502 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.4.4.tgz", 503 | "integrity": "sha512-/aOx+nW0w8eHiEHm+BTERB2oJn5D127iye/SUQl7NjHy0lf+j7h4MKMMSOwdazGq9OxgiNADncE+SRJkCxjZpQ==", 504 | "dev": true, 505 | "requires": { 506 | "@babel/helper-plugin-utils": "^7.0.0" 507 | } 508 | }, 509 | "@babel/plugin-transform-dotall-regex": { 510 | "version": "7.4.4", 511 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz", 512 | "integrity": "sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==", 513 | "dev": true, 514 | "requires": { 515 | "@babel/helper-plugin-utils": "^7.0.0", 516 | "@babel/helper-regex": "^7.4.4", 517 | "regexpu-core": "^4.5.4" 518 | } 519 | }, 520 | "@babel/plugin-transform-duplicate-keys": { 521 | "version": "7.2.0", 522 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz", 523 | "integrity": "sha512-q+yuxW4DsTjNceUiTzK0L+AfQ0zD9rWaTLiUqHA8p0gxx7lu1EylenfzjeIWNkPy6e/0VG/Wjw9uf9LueQwLOw==", 524 | "dev": true, 525 | "requires": { 526 | "@babel/helper-plugin-utils": "^7.0.0" 527 | } 528 | }, 529 | "@babel/plugin-transform-exponentiation-operator": { 530 | "version": "7.2.0", 531 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz", 532 | "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==", 533 | "dev": true, 534 | "requires": { 535 | "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", 536 | "@babel/helper-plugin-utils": "^7.0.0" 537 | } 538 | }, 539 | "@babel/plugin-transform-for-of": { 540 | "version": "7.4.4", 541 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz", 542 | "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==", 543 | "dev": true, 544 | "requires": { 545 | "@babel/helper-plugin-utils": "^7.0.0" 546 | } 547 | }, 548 | "@babel/plugin-transform-function-name": { 549 | "version": "7.4.4", 550 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz", 551 | "integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==", 552 | "dev": true, 553 | "requires": { 554 | "@babel/helper-function-name": "^7.1.0", 555 | "@babel/helper-plugin-utils": "^7.0.0" 556 | } 557 | }, 558 | "@babel/plugin-transform-literals": { 559 | "version": "7.2.0", 560 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz", 561 | "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==", 562 | "dev": true, 563 | "requires": { 564 | "@babel/helper-plugin-utils": "^7.0.0" 565 | } 566 | }, 567 | "@babel/plugin-transform-member-expression-literals": { 568 | "version": "7.2.0", 569 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz", 570 | "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==", 571 | "dev": true, 572 | "requires": { 573 | "@babel/helper-plugin-utils": "^7.0.0" 574 | } 575 | }, 576 | "@babel/plugin-transform-modules-amd": { 577 | "version": "7.2.0", 578 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz", 579 | "integrity": "sha512-mK2A8ucqz1qhrdqjS9VMIDfIvvT2thrEsIQzbaTdc5QFzhDjQv2CkJJ5f6BXIkgbmaoax3zBr2RyvV/8zeoUZw==", 580 | "dev": true, 581 | "requires": { 582 | "@babel/helper-module-transforms": "^7.1.0", 583 | "@babel/helper-plugin-utils": "^7.0.0" 584 | } 585 | }, 586 | "@babel/plugin-transform-modules-commonjs": { 587 | "version": "7.4.4", 588 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.4.4.tgz", 589 | "integrity": "sha512-4sfBOJt58sEo9a2BQXnZq+Q3ZTSAUXyK3E30o36BOGnJ+tvJ6YSxF0PG6kERvbeISgProodWuI9UVG3/FMY6iw==", 590 | "dev": true, 591 | "requires": { 592 | "@babel/helper-module-transforms": "^7.4.4", 593 | "@babel/helper-plugin-utils": "^7.0.0", 594 | "@babel/helper-simple-access": "^7.1.0" 595 | } 596 | }, 597 | "@babel/plugin-transform-modules-systemjs": { 598 | "version": "7.4.4", 599 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.4.4.tgz", 600 | "integrity": "sha512-MSiModfILQc3/oqnG7NrP1jHaSPryO6tA2kOMmAQApz5dayPxWiHqmq4sWH2xF5LcQK56LlbKByCd8Aah/OIkQ==", 601 | "dev": true, 602 | "requires": { 603 | "@babel/helper-hoist-variables": "^7.4.4", 604 | "@babel/helper-plugin-utils": "^7.0.0" 605 | } 606 | }, 607 | "@babel/plugin-transform-modules-umd": { 608 | "version": "7.2.0", 609 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz", 610 | "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==", 611 | "dev": true, 612 | "requires": { 613 | "@babel/helper-module-transforms": "^7.1.0", 614 | "@babel/helper-plugin-utils": "^7.0.0" 615 | } 616 | }, 617 | "@babel/plugin-transform-named-capturing-groups-regex": { 618 | "version": "7.4.4", 619 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.4.tgz", 620 | "integrity": "sha512-Ki+Y9nXBlKfhD+LXaRS7v95TtTGYRAf9Y1rTDiE75zf8YQz4GDaWRXosMfJBXxnk88mGFjWdCRIeqDbon7spYA==", 621 | "dev": true, 622 | "requires": { 623 | "regexp-tree": "^0.1.0" 624 | } 625 | }, 626 | "@babel/plugin-transform-new-target": { 627 | "version": "7.4.4", 628 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz", 629 | "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==", 630 | "dev": true, 631 | "requires": { 632 | "@babel/helper-plugin-utils": "^7.0.0" 633 | } 634 | }, 635 | "@babel/plugin-transform-object-super": { 636 | "version": "7.2.0", 637 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz", 638 | "integrity": "sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg==", 639 | "dev": true, 640 | "requires": { 641 | "@babel/helper-plugin-utils": "^7.0.0", 642 | "@babel/helper-replace-supers": "^7.1.0" 643 | } 644 | }, 645 | "@babel/plugin-transform-parameters": { 646 | "version": "7.4.4", 647 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz", 648 | "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==", 649 | "dev": true, 650 | "requires": { 651 | "@babel/helper-call-delegate": "^7.4.4", 652 | "@babel/helper-get-function-arity": "^7.0.0", 653 | "@babel/helper-plugin-utils": "^7.0.0" 654 | } 655 | }, 656 | "@babel/plugin-transform-property-literals": { 657 | "version": "7.2.0", 658 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz", 659 | "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==", 660 | "dev": true, 661 | "requires": { 662 | "@babel/helper-plugin-utils": "^7.0.0" 663 | } 664 | }, 665 | "@babel/plugin-transform-react-jsx": { 666 | "version": "7.3.0", 667 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz", 668 | "integrity": "sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg==", 669 | "dev": true, 670 | "requires": { 671 | "@babel/helper-builder-react-jsx": "^7.3.0", 672 | "@babel/helper-plugin-utils": "^7.0.0", 673 | "@babel/plugin-syntax-jsx": "^7.2.0" 674 | } 675 | }, 676 | "@babel/plugin-transform-regenerator": { 677 | "version": "7.4.4", 678 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.4.tgz", 679 | "integrity": "sha512-Zz3w+pX1SI0KMIiqshFZkwnVGUhDZzpX2vtPzfJBKQQq8WsP/Xy9DNdELWivxcKOCX/Pywge4SiEaPaLtoDT4g==", 680 | "dev": true, 681 | "requires": { 682 | "regenerator-transform": "^0.13.4" 683 | } 684 | }, 685 | "@babel/plugin-transform-reserved-words": { 686 | "version": "7.2.0", 687 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz", 688 | "integrity": "sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==", 689 | "dev": true, 690 | "requires": { 691 | "@babel/helper-plugin-utils": "^7.0.0" 692 | } 693 | }, 694 | "@babel/plugin-transform-runtime": { 695 | "version": "7.4.4", 696 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.4.4.tgz", 697 | "integrity": "sha512-aMVojEjPszvau3NRg+TIH14ynZLvPewH4xhlCW1w6A3rkxTS1m4uwzRclYR9oS+rl/dr+kT+pzbfHuAWP/lc7Q==", 698 | "dev": true, 699 | "requires": { 700 | "@babel/helper-module-imports": "^7.0.0", 701 | "@babel/helper-plugin-utils": "^7.0.0", 702 | "resolve": "^1.8.1", 703 | "semver": "^5.5.1" 704 | } 705 | }, 706 | "@babel/plugin-transform-shorthand-properties": { 707 | "version": "7.2.0", 708 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", 709 | "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", 710 | "dev": true, 711 | "requires": { 712 | "@babel/helper-plugin-utils": "^7.0.0" 713 | } 714 | }, 715 | "@babel/plugin-transform-spread": { 716 | "version": "7.2.2", 717 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz", 718 | "integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==", 719 | "dev": true, 720 | "requires": { 721 | "@babel/helper-plugin-utils": "^7.0.0" 722 | } 723 | }, 724 | "@babel/plugin-transform-sticky-regex": { 725 | "version": "7.2.0", 726 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz", 727 | "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==", 728 | "dev": true, 729 | "requires": { 730 | "@babel/helper-plugin-utils": "^7.0.0", 731 | "@babel/helper-regex": "^7.0.0" 732 | } 733 | }, 734 | "@babel/plugin-transform-template-literals": { 735 | "version": "7.4.4", 736 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz", 737 | "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==", 738 | "dev": true, 739 | "requires": { 740 | "@babel/helper-annotate-as-pure": "^7.0.0", 741 | "@babel/helper-plugin-utils": "^7.0.0" 742 | } 743 | }, 744 | "@babel/plugin-transform-typeof-symbol": { 745 | "version": "7.2.0", 746 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz", 747 | "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==", 748 | "dev": true, 749 | "requires": { 750 | "@babel/helper-plugin-utils": "^7.0.0" 751 | } 752 | }, 753 | "@babel/plugin-transform-unicode-regex": { 754 | "version": "7.4.4", 755 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz", 756 | "integrity": "sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA==", 757 | "dev": true, 758 | "requires": { 759 | "@babel/helper-plugin-utils": "^7.0.0", 760 | "@babel/helper-regex": "^7.4.4", 761 | "regexpu-core": "^4.5.4" 762 | } 763 | }, 764 | "@babel/preset-env": { 765 | "version": "7.4.4", 766 | "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.4.4.tgz", 767 | "integrity": "sha512-FU1H+ACWqZZqfw1x2G1tgtSSYSfxJLkpaUQL37CenULFARDo+h4xJoVHzRoHbK+85ViLciuI7ME4WTIhFRBBlw==", 768 | "dev": true, 769 | "requires": { 770 | "@babel/helper-module-imports": "^7.0.0", 771 | "@babel/helper-plugin-utils": "^7.0.0", 772 | "@babel/plugin-proposal-async-generator-functions": "^7.2.0", 773 | "@babel/plugin-proposal-json-strings": "^7.2.0", 774 | "@babel/plugin-proposal-object-rest-spread": "^7.4.4", 775 | "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", 776 | "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", 777 | "@babel/plugin-syntax-async-generators": "^7.2.0", 778 | "@babel/plugin-syntax-json-strings": "^7.2.0", 779 | "@babel/plugin-syntax-object-rest-spread": "^7.2.0", 780 | "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", 781 | "@babel/plugin-transform-arrow-functions": "^7.2.0", 782 | "@babel/plugin-transform-async-to-generator": "^7.4.4", 783 | "@babel/plugin-transform-block-scoped-functions": "^7.2.0", 784 | "@babel/plugin-transform-block-scoping": "^7.4.4", 785 | "@babel/plugin-transform-classes": "^7.4.4", 786 | "@babel/plugin-transform-computed-properties": "^7.2.0", 787 | "@babel/plugin-transform-destructuring": "^7.4.4", 788 | "@babel/plugin-transform-dotall-regex": "^7.4.4", 789 | "@babel/plugin-transform-duplicate-keys": "^7.2.0", 790 | "@babel/plugin-transform-exponentiation-operator": "^7.2.0", 791 | "@babel/plugin-transform-for-of": "^7.4.4", 792 | "@babel/plugin-transform-function-name": "^7.4.4", 793 | "@babel/plugin-transform-literals": "^7.2.0", 794 | "@babel/plugin-transform-member-expression-literals": "^7.2.0", 795 | "@babel/plugin-transform-modules-amd": "^7.2.0", 796 | "@babel/plugin-transform-modules-commonjs": "^7.4.4", 797 | "@babel/plugin-transform-modules-systemjs": "^7.4.4", 798 | "@babel/plugin-transform-modules-umd": "^7.2.0", 799 | "@babel/plugin-transform-named-capturing-groups-regex": "^7.4.4", 800 | "@babel/plugin-transform-new-target": "^7.4.4", 801 | "@babel/plugin-transform-object-super": "^7.2.0", 802 | "@babel/plugin-transform-parameters": "^7.4.4", 803 | "@babel/plugin-transform-property-literals": "^7.2.0", 804 | "@babel/plugin-transform-regenerator": "^7.4.4", 805 | "@babel/plugin-transform-reserved-words": "^7.2.0", 806 | "@babel/plugin-transform-shorthand-properties": "^7.2.0", 807 | "@babel/plugin-transform-spread": "^7.2.0", 808 | "@babel/plugin-transform-sticky-regex": "^7.2.0", 809 | "@babel/plugin-transform-template-literals": "^7.4.4", 810 | "@babel/plugin-transform-typeof-symbol": "^7.2.0", 811 | "@babel/plugin-transform-unicode-regex": "^7.4.4", 812 | "@babel/types": "^7.4.4", 813 | "browserslist": "^4.5.2", 814 | "core-js-compat": "^3.0.0", 815 | "invariant": "^2.2.2", 816 | "js-levenshtein": "^1.1.3", 817 | "semver": "^5.5.0" 818 | } 819 | }, 820 | "@babel/template": { 821 | "version": "7.4.4", 822 | "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz", 823 | "integrity": "sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==", 824 | "dev": true, 825 | "requires": { 826 | "@babel/code-frame": "^7.0.0", 827 | "@babel/parser": "^7.4.4", 828 | "@babel/types": "^7.4.4" 829 | } 830 | }, 831 | "@babel/traverse": { 832 | "version": "7.4.4", 833 | "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.4.4.tgz", 834 | "integrity": "sha512-Gw6qqkw/e6AGzlyj9KnkabJX7VcubqPtkUQVAwkc0wUMldr3A/hezNB3Rc5eIvId95iSGkGIOe5hh1kMKf951A==", 835 | "dev": true, 836 | "requires": { 837 | "@babel/code-frame": "^7.0.0", 838 | "@babel/generator": "^7.4.4", 839 | "@babel/helper-function-name": "^7.1.0", 840 | "@babel/helper-split-export-declaration": "^7.4.4", 841 | "@babel/parser": "^7.4.4", 842 | "@babel/types": "^7.4.4", 843 | "debug": "^4.1.0", 844 | "globals": "^11.1.0", 845 | "lodash": "^4.17.11" 846 | }, 847 | "dependencies": { 848 | "debug": { 849 | "version": "4.1.1", 850 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", 851 | "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", 852 | "dev": true, 853 | "requires": { 854 | "ms": "^2.1.1" 855 | } 856 | }, 857 | "ms": { 858 | "version": "2.1.1", 859 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", 860 | "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", 861 | "dev": true 862 | } 863 | } 864 | }, 865 | "@babel/types": { 866 | "version": "7.4.4", 867 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.4.tgz", 868 | "integrity": "sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==", 869 | "dev": true, 870 | "requires": { 871 | "esutils": "^2.0.2", 872 | "lodash": "^4.17.11", 873 | "to-fast-properties": "^2.0.0" 874 | } 875 | }, 876 | "@jridgewell/resolve-uri": { 877 | "version": "3.1.0", 878 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", 879 | "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", 880 | "dev": true 881 | }, 882 | "@jridgewell/sourcemap-codec": { 883 | "version": "1.4.14", 884 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", 885 | "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", 886 | "dev": true 887 | }, 888 | "@jridgewell/trace-mapping": { 889 | "version": "0.3.17", 890 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", 891 | "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", 892 | "dev": true, 893 | "requires": { 894 | "@jridgewell/resolve-uri": "3.1.0", 895 | "@jridgewell/sourcemap-codec": "1.4.14" 896 | } 897 | }, 898 | "@nicolo-ribaudo/chokidar-2": { 899 | "version": "2.1.8-no-fsevents.3", 900 | "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", 901 | "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", 902 | "dev": true, 903 | "optional": true 904 | }, 905 | "ansi-styles": { 906 | "version": "3.2.1", 907 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 908 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 909 | "dev": true, 910 | "requires": { 911 | "color-convert": "^1.9.0" 912 | } 913 | }, 914 | "anymatch": { 915 | "version": "3.1.3", 916 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", 917 | "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", 918 | "dev": true, 919 | "optional": true, 920 | "requires": { 921 | "normalize-path": "^3.0.0", 922 | "picomatch": "^2.0.4" 923 | } 924 | }, 925 | "babel-helper-evaluate-path": { 926 | "version": "0.5.0", 927 | "resolved": "https://registry.npmjs.org/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.5.0.tgz", 928 | "integrity": "sha512-mUh0UhS607bGh5wUMAQfOpt2JX2ThXMtppHRdRU1kL7ZLRWIXxoV2UIV1r2cAeeNeU1M5SB5/RSUgUxrK8yOkA==", 929 | "dev": true 930 | }, 931 | "babel-helper-flip-expressions": { 932 | "version": "0.4.3", 933 | "resolved": "https://registry.npmjs.org/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.4.3.tgz", 934 | "integrity": "sha1-NpZzahKKwYvCUlS19AoizrPB0/0=", 935 | "dev": true 936 | }, 937 | "babel-helper-is-nodes-equiv": { 938 | "version": "0.0.1", 939 | "resolved": "https://registry.npmjs.org/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz", 940 | "integrity": "sha1-NOmzALFHnd2Y7HfqC76TQt/jloQ=", 941 | "dev": true 942 | }, 943 | "babel-helper-is-void-0": { 944 | "version": "0.4.3", 945 | "resolved": "https://registry.npmjs.org/babel-helper-is-void-0/-/babel-helper-is-void-0-0.4.3.tgz", 946 | "integrity": "sha1-fZwBtFYee5Xb2g9u7kj1tg5nMT4=", 947 | "dev": true 948 | }, 949 | "babel-helper-mark-eval-scopes": { 950 | "version": "0.4.3", 951 | "resolved": "https://registry.npmjs.org/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.4.3.tgz", 952 | "integrity": "sha1-0kSjvvmESHJgP/tG4izorN9VFWI=", 953 | "dev": true 954 | }, 955 | "babel-helper-remove-or-void": { 956 | "version": "0.4.3", 957 | "resolved": "https://registry.npmjs.org/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.4.3.tgz", 958 | "integrity": "sha1-pPA7QAd6D/6I5F0HAQ3uJB/1rmA=", 959 | "dev": true 960 | }, 961 | "babel-helper-to-multiple-sequence-expressions": { 962 | "version": "0.5.0", 963 | "resolved": "https://registry.npmjs.org/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.5.0.tgz", 964 | "integrity": "sha512-m2CvfDW4+1qfDdsrtf4dwOslQC3yhbgyBFptncp4wvtdrDHqueW7slsYv4gArie056phvQFhT2nRcGS4bnm6mA==", 965 | "dev": true 966 | }, 967 | "babel-plugin-minify-builtins": { 968 | "version": "0.5.0", 969 | "resolved": "https://registry.npmjs.org/babel-plugin-minify-builtins/-/babel-plugin-minify-builtins-0.5.0.tgz", 970 | "integrity": "sha512-wpqbN7Ov5hsNwGdzuzvFcjgRlzbIeVv1gMIlICbPj0xkexnfoIDe7q+AZHMkQmAE/F9R5jkrB6TLfTegImlXag==", 971 | "dev": true 972 | }, 973 | "babel-plugin-minify-constant-folding": { 974 | "version": "0.5.0", 975 | "resolved": "https://registry.npmjs.org/babel-plugin-minify-constant-folding/-/babel-plugin-minify-constant-folding-0.5.0.tgz", 976 | "integrity": "sha512-Vj97CTn/lE9hR1D+jKUeHfNy+m1baNiJ1wJvoGyOBUx7F7kJqDZxr9nCHjO/Ad+irbR3HzR6jABpSSA29QsrXQ==", 977 | "dev": true, 978 | "requires": { 979 | "babel-helper-evaluate-path": "^0.5.0" 980 | } 981 | }, 982 | "babel-plugin-minify-dead-code-elimination": { 983 | "version": "0.5.0", 984 | "resolved": "https://registry.npmjs.org/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.5.0.tgz", 985 | "integrity": "sha512-XQteBGXlgEoAKc/BhO6oafUdT4LBa7ARi55mxoyhLHNuA+RlzRmeMAfc31pb/UqU01wBzRc36YqHQzopnkd/6Q==", 986 | "dev": true, 987 | "requires": { 988 | "babel-helper-evaluate-path": "^0.5.0", 989 | "babel-helper-mark-eval-scopes": "^0.4.3", 990 | "babel-helper-remove-or-void": "^0.4.3", 991 | "lodash.some": "^4.6.0" 992 | } 993 | }, 994 | "babel-plugin-minify-flip-comparisons": { 995 | "version": "0.4.3", 996 | "resolved": "https://registry.npmjs.org/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.4.3.tgz", 997 | "integrity": "sha1-AMqHDLjxO0XAOLPB68DyJyk8llo=", 998 | "dev": true, 999 | "requires": { 1000 | "babel-helper-is-void-0": "^0.4.3" 1001 | } 1002 | }, 1003 | "babel-plugin-minify-guarded-expressions": { 1004 | "version": "0.4.3", 1005 | "resolved": "https://registry.npmjs.org/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.4.3.tgz", 1006 | "integrity": "sha1-zHCbRFP9IbHzAod0RMifiEJ845c=", 1007 | "dev": true, 1008 | "requires": { 1009 | "babel-helper-flip-expressions": "^0.4.3" 1010 | } 1011 | }, 1012 | "babel-plugin-minify-infinity": { 1013 | "version": "0.4.3", 1014 | "resolved": "https://registry.npmjs.org/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.4.3.tgz", 1015 | "integrity": "sha1-37h2obCKBldjhO8/kuZTumB7Oco=", 1016 | "dev": true 1017 | }, 1018 | "babel-plugin-minify-mangle-names": { 1019 | "version": "0.5.0", 1020 | "resolved": "https://registry.npmjs.org/babel-plugin-minify-mangle-names/-/babel-plugin-minify-mangle-names-0.5.0.tgz", 1021 | "integrity": "sha512-3jdNv6hCAw6fsX1p2wBGPfWuK69sfOjfd3zjUXkbq8McbohWy23tpXfy5RnToYWggvqzuMOwlId1PhyHOfgnGw==", 1022 | "dev": true, 1023 | "requires": { 1024 | "babel-helper-mark-eval-scopes": "^0.4.3" 1025 | } 1026 | }, 1027 | "babel-plugin-minify-numeric-literals": { 1028 | "version": "0.4.3", 1029 | "resolved": "https://registry.npmjs.org/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.4.3.tgz", 1030 | "integrity": "sha1-jk/VYcefeAEob/YOjF/Z3u6TwLw=", 1031 | "dev": true 1032 | }, 1033 | "babel-plugin-minify-replace": { 1034 | "version": "0.5.0", 1035 | "resolved": "https://registry.npmjs.org/babel-plugin-minify-replace/-/babel-plugin-minify-replace-0.5.0.tgz", 1036 | "integrity": "sha512-aXZiaqWDNUbyNNNpWs/8NyST+oU7QTpK7J9zFEFSA0eOmtUNMU3fczlTTTlnCxHmq/jYNFEmkkSG3DDBtW3Y4Q==", 1037 | "dev": true 1038 | }, 1039 | "babel-plugin-minify-simplify": { 1040 | "version": "0.5.0", 1041 | "resolved": "https://registry.npmjs.org/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.5.0.tgz", 1042 | "integrity": "sha512-TM01J/YcKZ8XIQd1Z3nF2AdWHoDsarjtZ5fWPDksYZNsoOjQ2UO2EWm824Ym6sp127m44gPlLFiO5KFxU8pA5Q==", 1043 | "dev": true, 1044 | "requires": { 1045 | "babel-helper-flip-expressions": "^0.4.3", 1046 | "babel-helper-is-nodes-equiv": "^0.0.1", 1047 | "babel-helper-to-multiple-sequence-expressions": "^0.5.0" 1048 | } 1049 | }, 1050 | "babel-plugin-minify-type-constructors": { 1051 | "version": "0.4.3", 1052 | "resolved": "https://registry.npmjs.org/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.4.3.tgz", 1053 | "integrity": "sha1-G8bxW4f3qxCF1CszC3F2V6IVZQA=", 1054 | "dev": true, 1055 | "requires": { 1056 | "babel-helper-is-void-0": "^0.4.3" 1057 | } 1058 | }, 1059 | "babel-plugin-transform-inline-consecutive-adds": { 1060 | "version": "0.4.3", 1061 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.4.3.tgz", 1062 | "integrity": "sha1-Mj1Ho+pjqDp6w8gRro5pQfrysNE=", 1063 | "dev": true 1064 | }, 1065 | "babel-plugin-transform-member-expression-literals": { 1066 | "version": "6.9.4", 1067 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.4.tgz", 1068 | "integrity": "sha1-NwOcmgwzE6OUlfqsL/OmtbnQOL8=", 1069 | "dev": true 1070 | }, 1071 | "babel-plugin-transform-merge-sibling-variables": { 1072 | "version": "6.9.4", 1073 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.4.tgz", 1074 | "integrity": "sha1-hbQi/DN3tEnJ0c3kQIcgNTJAHa4=", 1075 | "dev": true 1076 | }, 1077 | "babel-plugin-transform-minify-booleans": { 1078 | "version": "6.9.4", 1079 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.4.tgz", 1080 | "integrity": "sha1-rLs+VqNVXdI5KOS1gtKFFi3SsZg=", 1081 | "dev": true 1082 | }, 1083 | "babel-plugin-transform-property-literals": { 1084 | "version": "6.9.4", 1085 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.4.tgz", 1086 | "integrity": "sha1-mMHSHiVXNlc/k+zlRFn2ziSYXTk=", 1087 | "dev": true, 1088 | "requires": { 1089 | "esutils": "^2.0.2" 1090 | } 1091 | }, 1092 | "babel-plugin-transform-regexp-constructors": { 1093 | "version": "0.4.3", 1094 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.4.3.tgz", 1095 | "integrity": "sha1-WLd3W2OvzzMyj66aX4j71PsLSWU=", 1096 | "dev": true 1097 | }, 1098 | "babel-plugin-transform-remove-console": { 1099 | "version": "6.9.4", 1100 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz", 1101 | "integrity": "sha1-uYA2DAZzhOJLNXpYjYB9PINSd4A=", 1102 | "dev": true 1103 | }, 1104 | "babel-plugin-transform-remove-debugger": { 1105 | "version": "6.9.4", 1106 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.4.tgz", 1107 | "integrity": "sha1-QrcnYxyXl44estGZp67IShgznvI=", 1108 | "dev": true 1109 | }, 1110 | "babel-plugin-transform-remove-undefined": { 1111 | "version": "0.5.0", 1112 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.5.0.tgz", 1113 | "integrity": "sha512-+M7fJYFaEE/M9CXa0/IRkDbiV3wRELzA1kKQFCJ4ifhrzLKn/9VCCgj9OFmYWwBd8IB48YdgPkHYtbYq+4vtHQ==", 1114 | "dev": true, 1115 | "requires": { 1116 | "babel-helper-evaluate-path": "^0.5.0" 1117 | } 1118 | }, 1119 | "babel-plugin-transform-simplify-comparison-operators": { 1120 | "version": "6.9.4", 1121 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.4.tgz", 1122 | "integrity": "sha1-9ir+CWyrDh9ootdT/fKDiIRxzrk=", 1123 | "dev": true 1124 | }, 1125 | "babel-plugin-transform-undefined-to-void": { 1126 | "version": "6.9.4", 1127 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.4.tgz", 1128 | "integrity": "sha1-viQcqBQEAwZ4t0hxcyK4nQyP4oA=", 1129 | "dev": true 1130 | }, 1131 | "babel-preset-minify": { 1132 | "version": "0.5.0", 1133 | "resolved": "https://registry.npmjs.org/babel-preset-minify/-/babel-preset-minify-0.5.0.tgz", 1134 | "integrity": "sha512-xj1s9Mon+RFubH569vrGCayA9Fm2GMsCgDRm1Jb8SgctOB7KFcrVc2o8K3YHUyMz+SWP8aea75BoS8YfsXXuiA==", 1135 | "dev": true, 1136 | "requires": { 1137 | "babel-plugin-minify-builtins": "^0.5.0", 1138 | "babel-plugin-minify-constant-folding": "^0.5.0", 1139 | "babel-plugin-minify-dead-code-elimination": "^0.5.0", 1140 | "babel-plugin-minify-flip-comparisons": "^0.4.3", 1141 | "babel-plugin-minify-guarded-expressions": "^0.4.3", 1142 | "babel-plugin-minify-infinity": "^0.4.3", 1143 | "babel-plugin-minify-mangle-names": "^0.5.0", 1144 | "babel-plugin-minify-numeric-literals": "^0.4.3", 1145 | "babel-plugin-minify-replace": "^0.5.0", 1146 | "babel-plugin-minify-simplify": "^0.5.0", 1147 | "babel-plugin-minify-type-constructors": "^0.4.3", 1148 | "babel-plugin-transform-inline-consecutive-adds": "^0.4.3", 1149 | "babel-plugin-transform-member-expression-literals": "^6.9.4", 1150 | "babel-plugin-transform-merge-sibling-variables": "^6.9.4", 1151 | "babel-plugin-transform-minify-booleans": "^6.9.4", 1152 | "babel-plugin-transform-property-literals": "^6.9.4", 1153 | "babel-plugin-transform-regexp-constructors": "^0.4.3", 1154 | "babel-plugin-transform-remove-console": "^6.9.4", 1155 | "babel-plugin-transform-remove-debugger": "^6.9.4", 1156 | "babel-plugin-transform-remove-undefined": "^0.5.0", 1157 | "babel-plugin-transform-simplify-comparison-operators": "^6.9.4", 1158 | "babel-plugin-transform-undefined-to-void": "^6.9.4", 1159 | "lodash.isplainobject": "^4.0.6" 1160 | } 1161 | }, 1162 | "balanced-match": { 1163 | "version": "1.0.2", 1164 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 1165 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 1166 | "dev": true 1167 | }, 1168 | "binary-extensions": { 1169 | "version": "2.2.0", 1170 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", 1171 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", 1172 | "dev": true, 1173 | "optional": true 1174 | }, 1175 | "brace-expansion": { 1176 | "version": "1.1.11", 1177 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 1178 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 1179 | "dev": true, 1180 | "requires": { 1181 | "balanced-match": "^1.0.0", 1182 | "concat-map": "0.0.1" 1183 | } 1184 | }, 1185 | "braces": { 1186 | "version": "3.0.2", 1187 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 1188 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 1189 | "dev": true, 1190 | "optional": true, 1191 | "requires": { 1192 | "fill-range": "^7.0.1" 1193 | } 1194 | }, 1195 | "browserslist": { 1196 | "version": "4.5.6", 1197 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.5.6.tgz", 1198 | "integrity": "sha512-o/hPOtbU9oX507lIqon+UvPYqpx3mHc8cV3QemSBTXwkG8gSQSK6UKvXcE/DcleU3+A59XTUHyCvZ5qGy8xVAg==", 1199 | "dev": true, 1200 | "requires": { 1201 | "caniuse-lite": "^1.0.30000963", 1202 | "electron-to-chromium": "^1.3.127", 1203 | "node-releases": "^1.1.17" 1204 | } 1205 | }, 1206 | "caniuse-lite": { 1207 | "version": "1.0.30000967", 1208 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000967.tgz", 1209 | "integrity": "sha512-rUBIbap+VJfxTzrM4akJ00lkvVb5/n5v3EGXfWzSH5zT8aJmGzjA8HWhJ4U6kCpzxozUSnB+yvAYDRPY6mRpgQ==", 1210 | "dev": true 1211 | }, 1212 | "chalk": { 1213 | "version": "2.4.2", 1214 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 1215 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 1216 | "dev": true, 1217 | "requires": { 1218 | "ansi-styles": "^3.2.1", 1219 | "escape-string-regexp": "^1.0.5", 1220 | "supports-color": "^5.3.0" 1221 | } 1222 | }, 1223 | "chokidar": { 1224 | "version": "3.5.3", 1225 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", 1226 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", 1227 | "dev": true, 1228 | "optional": true, 1229 | "requires": { 1230 | "anymatch": "~3.1.2", 1231 | "braces": "~3.0.2", 1232 | "fsevents": "~2.3.2", 1233 | "glob-parent": "~5.1.2", 1234 | "is-binary-path": "~2.1.0", 1235 | "is-glob": "~4.0.1", 1236 | "normalize-path": "~3.0.0", 1237 | "readdirp": "~3.6.0" 1238 | } 1239 | }, 1240 | "color-convert": { 1241 | "version": "1.9.3", 1242 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 1243 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 1244 | "dev": true, 1245 | "requires": { 1246 | "color-name": "1.1.3" 1247 | } 1248 | }, 1249 | "color-name": { 1250 | "version": "1.1.3", 1251 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 1252 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 1253 | "dev": true 1254 | }, 1255 | "commander": { 1256 | "version": "4.1.1", 1257 | "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", 1258 | "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", 1259 | "dev": true 1260 | }, 1261 | "concat-map": { 1262 | "version": "0.0.1", 1263 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1264 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 1265 | "dev": true 1266 | }, 1267 | "convert-source-map": { 1268 | "version": "1.6.0", 1269 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", 1270 | "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", 1271 | "dev": true, 1272 | "requires": { 1273 | "safe-buffer": "~5.1.1" 1274 | } 1275 | }, 1276 | "core-js": { 1277 | "version": "3.0.1", 1278 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.0.1.tgz", 1279 | "integrity": "sha512-sco40rF+2KlE0ROMvydjkrVMMG1vYilP2ALoRXcYR4obqbYIuV3Bg+51GEDW+HF8n7NRA+iaA4qD0nD9lo9mew==", 1280 | "dev": true 1281 | }, 1282 | "core-js-compat": { 1283 | "version": "3.0.1", 1284 | "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.0.1.tgz", 1285 | "integrity": "sha512-2pC3e+Ht/1/gD7Sim/sqzvRplMiRnFQVlPpDVaHtY9l7zZP7knamr3VRD6NyGfHd84MrDC0tAM9ulNxYMW0T3g==", 1286 | "dev": true, 1287 | "requires": { 1288 | "browserslist": "^4.5.4", 1289 | "core-js": "3.0.1", 1290 | "core-js-pure": "3.0.1", 1291 | "semver": "^6.0.0" 1292 | }, 1293 | "dependencies": { 1294 | "semver": { 1295 | "version": "6.0.0", 1296 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.0.0.tgz", 1297 | "integrity": "sha512-0UewU+9rFapKFnlbirLi3byoOuhrSsli/z/ihNnvM24vgF+8sNBiI1LZPBSH9wJKUwaUbw+s3hToDLCXkrghrQ==", 1298 | "dev": true 1299 | } 1300 | } 1301 | }, 1302 | "core-js-pure": { 1303 | "version": "3.0.1", 1304 | "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.0.1.tgz", 1305 | "integrity": "sha512-mSxeQ6IghKW3MoyF4cz19GJ1cMm7761ON+WObSyLfTu/Jn3x7w4NwNFnrZxgl4MTSvYYepVLNuRtlB4loMwJ5g==", 1306 | "dev": true 1307 | }, 1308 | "electron-to-chromium": { 1309 | "version": "1.3.132", 1310 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.132.tgz", 1311 | "integrity": "sha512-lDt2+2BAJ8w5NrbC2kTMrLMqW4ttC1re2Z1sayHOy9mW6Pzk1fLCbnnx5L4BzNegFPxbBPwnp0/vQ+J2ybJaAg==", 1312 | "dev": true 1313 | }, 1314 | "escape-string-regexp": { 1315 | "version": "1.0.5", 1316 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 1317 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 1318 | "dev": true 1319 | }, 1320 | "esutils": { 1321 | "version": "2.0.2", 1322 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", 1323 | "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", 1324 | "dev": true 1325 | }, 1326 | "fill-range": { 1327 | "version": "7.0.1", 1328 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 1329 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 1330 | "dev": true, 1331 | "optional": true, 1332 | "requires": { 1333 | "to-regex-range": "^5.0.1" 1334 | } 1335 | }, 1336 | "fs-readdir-recursive": { 1337 | "version": "1.1.0", 1338 | "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", 1339 | "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", 1340 | "dev": true 1341 | }, 1342 | "fs.realpath": { 1343 | "version": "1.0.0", 1344 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1345 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 1346 | "dev": true 1347 | }, 1348 | "fsevents": { 1349 | "version": "2.3.2", 1350 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 1351 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 1352 | "dev": true, 1353 | "optional": true 1354 | }, 1355 | "glob": { 1356 | "version": "7.2.3", 1357 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 1358 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 1359 | "dev": true, 1360 | "requires": { 1361 | "fs.realpath": "^1.0.0", 1362 | "inflight": "^1.0.4", 1363 | "inherits": "2", 1364 | "minimatch": "^3.1.1", 1365 | "once": "^1.3.0", 1366 | "path-is-absolute": "^1.0.0" 1367 | } 1368 | }, 1369 | "glob-parent": { 1370 | "version": "5.1.2", 1371 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1372 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1373 | "dev": true, 1374 | "optional": true, 1375 | "requires": { 1376 | "is-glob": "^4.0.1" 1377 | } 1378 | }, 1379 | "globals": { 1380 | "version": "11.12.0", 1381 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", 1382 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", 1383 | "dev": true 1384 | }, 1385 | "has-flag": { 1386 | "version": "3.0.0", 1387 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 1388 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 1389 | "dev": true 1390 | }, 1391 | "inflight": { 1392 | "version": "1.0.6", 1393 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1394 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 1395 | "dev": true, 1396 | "requires": { 1397 | "once": "^1.3.0", 1398 | "wrappy": "1" 1399 | } 1400 | }, 1401 | "inherits": { 1402 | "version": "2.0.4", 1403 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1404 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 1405 | "dev": true 1406 | }, 1407 | "invariant": { 1408 | "version": "2.2.4", 1409 | "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", 1410 | "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", 1411 | "dev": true, 1412 | "requires": { 1413 | "loose-envify": "^1.0.0" 1414 | } 1415 | }, 1416 | "is-binary-path": { 1417 | "version": "2.1.0", 1418 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 1419 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 1420 | "dev": true, 1421 | "optional": true, 1422 | "requires": { 1423 | "binary-extensions": "^2.0.0" 1424 | } 1425 | }, 1426 | "is-extglob": { 1427 | "version": "2.1.1", 1428 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1429 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 1430 | "dev": true, 1431 | "optional": true 1432 | }, 1433 | "is-glob": { 1434 | "version": "4.0.3", 1435 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 1436 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 1437 | "dev": true, 1438 | "optional": true, 1439 | "requires": { 1440 | "is-extglob": "^2.1.1" 1441 | } 1442 | }, 1443 | "is-number": { 1444 | "version": "7.0.0", 1445 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 1446 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 1447 | "dev": true, 1448 | "optional": true 1449 | }, 1450 | "js-levenshtein": { 1451 | "version": "1.1.6", 1452 | "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", 1453 | "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", 1454 | "dev": true 1455 | }, 1456 | "js-tokens": { 1457 | "version": "4.0.0", 1458 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 1459 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 1460 | "dev": true 1461 | }, 1462 | "jsesc": { 1463 | "version": "2.5.2", 1464 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", 1465 | "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", 1466 | "dev": true 1467 | }, 1468 | "json5": { 1469 | "version": "2.1.0", 1470 | "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", 1471 | "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", 1472 | "dev": true, 1473 | "requires": { 1474 | "minimist": "^1.2.0" 1475 | } 1476 | }, 1477 | "lodash": { 1478 | "version": "4.17.15", 1479 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", 1480 | "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", 1481 | "dev": true 1482 | }, 1483 | "lodash.isplainobject": { 1484 | "version": "4.0.6", 1485 | "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", 1486 | "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", 1487 | "dev": true 1488 | }, 1489 | "lodash.some": { 1490 | "version": "4.6.0", 1491 | "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", 1492 | "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=", 1493 | "dev": true 1494 | }, 1495 | "loose-envify": { 1496 | "version": "1.4.0", 1497 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 1498 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 1499 | "dev": true, 1500 | "requires": { 1501 | "js-tokens": "^3.0.0 || ^4.0.0" 1502 | } 1503 | }, 1504 | "make-dir": { 1505 | "version": "2.1.0", 1506 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", 1507 | "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", 1508 | "dev": true, 1509 | "requires": { 1510 | "pify": "^4.0.1", 1511 | "semver": "^5.6.0" 1512 | } 1513 | }, 1514 | "minimatch": { 1515 | "version": "3.1.2", 1516 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1517 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1518 | "dev": true, 1519 | "requires": { 1520 | "brace-expansion": "^1.1.7" 1521 | } 1522 | }, 1523 | "minimist": { 1524 | "version": "1.2.7", 1525 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", 1526 | "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", 1527 | "dev": true 1528 | }, 1529 | "node-releases": { 1530 | "version": "1.1.18", 1531 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.18.tgz", 1532 | "integrity": "sha512-/mnVgm6u/8OwlIsoyRXtTI0RfQcxZoAZbdwyXap0EeWwcOpDDymyCHM2/aR9XKmHXrvizHoPAOs0pcbiJ6RUaA==", 1533 | "dev": true, 1534 | "requires": { 1535 | "semver": "^5.3.0" 1536 | } 1537 | }, 1538 | "normalize-path": { 1539 | "version": "3.0.0", 1540 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 1541 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 1542 | "dev": true, 1543 | "optional": true 1544 | }, 1545 | "once": { 1546 | "version": "1.4.0", 1547 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1548 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 1549 | "dev": true, 1550 | "requires": { 1551 | "wrappy": "1" 1552 | } 1553 | }, 1554 | "path-is-absolute": { 1555 | "version": "1.0.1", 1556 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1557 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 1558 | "dev": true 1559 | }, 1560 | "path-parse": { 1561 | "version": "1.0.6", 1562 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", 1563 | "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", 1564 | "dev": true 1565 | }, 1566 | "picomatch": { 1567 | "version": "2.3.1", 1568 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 1569 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 1570 | "dev": true, 1571 | "optional": true 1572 | }, 1573 | "pify": { 1574 | "version": "4.0.1", 1575 | "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", 1576 | "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", 1577 | "dev": true 1578 | }, 1579 | "private": { 1580 | "version": "0.1.8", 1581 | "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", 1582 | "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", 1583 | "dev": true 1584 | }, 1585 | "readdirp": { 1586 | "version": "3.6.0", 1587 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 1588 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 1589 | "dev": true, 1590 | "optional": true, 1591 | "requires": { 1592 | "picomatch": "^2.2.1" 1593 | } 1594 | }, 1595 | "regenerate": { 1596 | "version": "1.4.0", 1597 | "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", 1598 | "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", 1599 | "dev": true 1600 | }, 1601 | "regenerate-unicode-properties": { 1602 | "version": "8.0.2", 1603 | "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.0.2.tgz", 1604 | "integrity": "sha512-SbA/iNrBUf6Pv2zU8Ekv1Qbhv92yxL4hiDa2siuxs4KKn4oOoMDHXjAf7+Nz9qinUQ46B1LcWEi/PhJfPWpZWQ==", 1605 | "dev": true, 1606 | "requires": { 1607 | "regenerate": "^1.4.0" 1608 | } 1609 | }, 1610 | "regenerator-transform": { 1611 | "version": "0.13.4", 1612 | "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.4.tgz", 1613 | "integrity": "sha512-T0QMBjK3J0MtxjPmdIMXm72Wvj2Abb0Bd4HADdfijwMdoIsyQZ6fWC7kDFhk2YinBBEMZDL7Y7wh0J1sGx3S4A==", 1614 | "dev": true, 1615 | "requires": { 1616 | "private": "^0.1.6" 1617 | } 1618 | }, 1619 | "regexp-tree": { 1620 | "version": "0.1.6", 1621 | "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.6.tgz", 1622 | "integrity": "sha512-LFrA98Dw/heXqDojz7qKFdygZmFoiVlvE1Zp7Cq2cvF+ZA+03Gmhy0k0PQlsC1jvHPiTUSs+pDHEuSWv6+6D7w==", 1623 | "dev": true 1624 | }, 1625 | "regexpu-core": { 1626 | "version": "4.5.4", 1627 | "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.4.tgz", 1628 | "integrity": "sha512-BtizvGtFQKGPUcTy56o3nk1bGRp4SZOTYrDtGNlqCQufptV5IkkLN6Emw+yunAJjzf+C9FQFtvq7IoA3+oMYHQ==", 1629 | "dev": true, 1630 | "requires": { 1631 | "regenerate": "^1.4.0", 1632 | "regenerate-unicode-properties": "^8.0.2", 1633 | "regjsgen": "^0.5.0", 1634 | "regjsparser": "^0.6.0", 1635 | "unicode-match-property-ecmascript": "^1.0.4", 1636 | "unicode-match-property-value-ecmascript": "^1.1.0" 1637 | } 1638 | }, 1639 | "regjsgen": { 1640 | "version": "0.5.0", 1641 | "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", 1642 | "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==", 1643 | "dev": true 1644 | }, 1645 | "regjsparser": { 1646 | "version": "0.6.0", 1647 | "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", 1648 | "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", 1649 | "dev": true, 1650 | "requires": { 1651 | "jsesc": "~0.5.0" 1652 | }, 1653 | "dependencies": { 1654 | "jsesc": { 1655 | "version": "0.5.0", 1656 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", 1657 | "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", 1658 | "dev": true 1659 | } 1660 | } 1661 | }, 1662 | "resolve": { 1663 | "version": "1.10.1", 1664 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.1.tgz", 1665 | "integrity": "sha512-KuIe4mf++td/eFb6wkaPbMDnP6kObCaEtIDuHOUED6MNUo4K670KZUHuuvYPZDxNF0WVLw49n06M2m2dXphEzA==", 1666 | "dev": true, 1667 | "requires": { 1668 | "path-parse": "^1.0.6" 1669 | } 1670 | }, 1671 | "safe-buffer": { 1672 | "version": "5.1.2", 1673 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 1674 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 1675 | "dev": true 1676 | }, 1677 | "semver": { 1678 | "version": "5.7.0", 1679 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", 1680 | "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", 1681 | "dev": true 1682 | }, 1683 | "slash": { 1684 | "version": "2.0.0", 1685 | "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", 1686 | "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", 1687 | "dev": true 1688 | }, 1689 | "source-map": { 1690 | "version": "0.5.7", 1691 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 1692 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 1693 | "dev": true 1694 | }, 1695 | "supports-color": { 1696 | "version": "5.5.0", 1697 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 1698 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 1699 | "dev": true, 1700 | "requires": { 1701 | "has-flag": "^3.0.0" 1702 | } 1703 | }, 1704 | "to-fast-properties": { 1705 | "version": "2.0.0", 1706 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", 1707 | "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", 1708 | "dev": true 1709 | }, 1710 | "to-regex-range": { 1711 | "version": "5.0.1", 1712 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 1713 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 1714 | "dev": true, 1715 | "optional": true, 1716 | "requires": { 1717 | "is-number": "^7.0.0" 1718 | } 1719 | }, 1720 | "trim-right": { 1721 | "version": "1.0.1", 1722 | "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", 1723 | "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", 1724 | "dev": true 1725 | }, 1726 | "unicode-canonical-property-names-ecmascript": { 1727 | "version": "1.0.4", 1728 | "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", 1729 | "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", 1730 | "dev": true 1731 | }, 1732 | "unicode-match-property-ecmascript": { 1733 | "version": "1.0.4", 1734 | "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", 1735 | "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", 1736 | "dev": true, 1737 | "requires": { 1738 | "unicode-canonical-property-names-ecmascript": "^1.0.4", 1739 | "unicode-property-aliases-ecmascript": "^1.0.4" 1740 | } 1741 | }, 1742 | "unicode-match-property-value-ecmascript": { 1743 | "version": "1.1.0", 1744 | "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", 1745 | "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==", 1746 | "dev": true 1747 | }, 1748 | "unicode-property-aliases-ecmascript": { 1749 | "version": "1.0.5", 1750 | "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", 1751 | "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==", 1752 | "dev": true 1753 | }, 1754 | "wrappy": { 1755 | "version": "1.0.2", 1756 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1757 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 1758 | "dev": true 1759 | } 1760 | } 1761 | } 1762 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "next-unleash", 3 | "version": "1.0.0-alpha.1", 4 | "description": "Ease integration with next.js", 5 | "main": "index.js", 6 | "scripts": { 7 | "build": "babel src -d dist", 8 | "prepublish": "npm run build", 9 | "test": "echo \"Error: no test specified\" && exit 1" 10 | }, 11 | "repository": { 12 | "type": "git", 13 | "url": "git+https://github.com/Unleash/next-unleash.git" 14 | }, 15 | "author": "", 16 | "license": "ISC", 17 | "bugs": { 18 | "url": "https://github.com/Unleash/next-unleash/issues" 19 | }, 20 | "homepage": "https://github.com/Unleash/next-unleash#readme", 21 | "peerDependencies": { 22 | "next": "^6.0.0 || ^7.0.0", 23 | "react": "^16.0.0", 24 | "prop-types": "^15.0.0" 25 | }, 26 | "devDependencies": { 27 | "@babel/cli": "^7.4.4", 28 | "@babel/core": "^7.4.4", 29 | "@babel/plugin-proposal-class-properties": "^7.4.4", 30 | "@babel/plugin-proposal-object-rest-spread": "^7.4.4", 31 | "@babel/plugin-transform-react-jsx": "^7.3.0", 32 | "@babel/plugin-transform-runtime": "^7.4.4", 33 | "@babel/preset-env": "^7.4.4", 34 | "babel-preset-minify": "^0.5.0" 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | import withUnleashProvider from './with-unleash-provider'; 2 | import withUnleash from './with-unleash'; 3 | 4 | 5 | export {withUnleashProvider, withUnleash}; -------------------------------------------------------------------------------- /src/unleash-context.js: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | const ThemeContext = React.createContext( 4 | // default values used by a Consumer when it does not have a 5 | // matching Provider above it in the tree, useful for testing 6 | { 7 | toggleContext: {} 8 | } 9 | ); 10 | 11 | export default ThemeContext; 12 | -------------------------------------------------------------------------------- /src/with-unleash-provider.js: -------------------------------------------------------------------------------- 1 | import React, { Component } from 'react'; 2 | import PropTypes from 'prop-types'; 3 | import UnleashContext from './unleash-context'; 4 | 5 | // Gets the display name of a JSX component for dev tools 6 | const getDisplayName = P => P.displayName || P.name || 'Component'; 7 | 8 | const withUnleashProvider = Page => 9 | class extends Component { 10 | static displayName = `withUnleashProvider(${getDisplayName(Page)})`; 11 | 12 | static async getInitialProps(props) { 13 | // Only serverside 14 | const toggles = props.ctx && props.ctx.req ? props.ctx.req.toggles : {}; 15 | 16 | const componentProps = Page.getInitialProps && (await Page.getInitialProps(props)); 17 | 18 | return { ...componentProps, toggles }; 19 | } 20 | 21 | static propTypes = { 22 | toggles: PropTypes.object.isRequired 23 | }; 24 | 25 | constructor(props) { 26 | super(props); 27 | const { toggles } = this.props; 28 | this.state = { 29 | toggles 30 | }; 31 | } 32 | 33 | render() { 34 | return ( 35 | 36 | 37 | 38 | ); 39 | } 40 | }; 41 | export default withUnleashProvider; 42 | -------------------------------------------------------------------------------- /src/with-unleash.js: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import UnleashContext from './unleash-context'; 3 | 4 | function withUnleash(Component) { 5 | return function ThemeComponent(props) { 6 | return {contexts => }; 7 | }; 8 | } 9 | 10 | export default withUnleash; 11 | --------------------------------------------------------------------------------