├── .gitignore
├── LICENSE
├── README.md
├── api
└── data
│ └── index.js
├── cra
├── .gitignore
├── README.md
├── package-lock.json
├── package.json
├── public
│ ├── favicon.ico
│ ├── index.html
│ └── manifest.json
├── src
│ ├── App.js
│ ├── App.test.js
│ ├── index.js
│ ├── logo.svg
│ └── serviceWorker.js
└── yarn.lock
├── nextjs
├── next.config.js
├── package-lock.json
├── package.json
└── pages
│ └── index.js
├── now.json
├── package-lock.json
├── package.json
└── serve.js
/.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 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 Sean Connolly
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # nextjs-cra
--------------------------------------------------------------------------------
/api/data/index.js:
--------------------------------------------------------------------------------
1 | module.exports = (req, res) => {
2 | console.time('api:data');
3 | let data = [];
4 | for (let i=0; i<1000; i++) {
5 | data.push({
6 | id: i,
7 | FirstName: `First_${i}`,
8 | LastName: `Last_${i}`,
9 | DateOfBirth: '2011-10-05T14:48:00.000Z',
10 | Address: {
11 | Street: `${i} Pearl St.`,
12 | City: 'Boulder',
13 | State: 'CO',
14 | Zip: '80302',
15 | Country: 'United States of America',
16 | }
17 | })
18 | }
19 | res.end(JSON.stringify(data));
20 | console.timeEnd('api:data');
21 | };
--------------------------------------------------------------------------------
/cra/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/cra/README.md:
--------------------------------------------------------------------------------
1 | This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
2 |
3 | ## Available Scripts
4 |
5 | In the project directory, you can run:
6 |
7 | ### `npm start`
8 |
9 | Runs the app in the development mode.
10 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
11 |
12 | The page will reload if you make edits.
13 | You will also see any lint errors in the console.
14 |
15 | ### `npm test`
16 |
17 | Launches the test runner in the interactive watch mode.
18 | See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.
19 |
20 | ### `npm run build`
21 |
22 | Builds the app for production to the `build` folder.
23 | It correctly bundles React in production mode and optimizes the build for the best performance.
24 |
25 | The build is minified and the filenames include the hashes.
26 | Your app is ready to be deployed!
27 |
28 | See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.
29 |
30 | ### `npm run eject`
31 |
32 | **Note: this is a one-way operation. Once you `eject`, you can’t go back!**
33 |
34 | If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.
35 |
36 | Instead, it will copy all the configuration files and the transitive dependencies (Webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.
37 |
38 | You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.
39 |
40 | ## Learn More
41 |
42 | You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).
43 |
44 | To learn React, check out the [React documentation](https://reactjs.org/).
45 |
46 | ### Code Splitting
47 |
48 | This section has moved here: https://facebook.github.io/create-react-app/docs/code-splitting
49 |
50 | ### Analyzing the Bundle Size
51 |
52 | This section has moved here: https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size
53 |
54 | ### Making a Progressive Web App
55 |
56 | This section has moved here: https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app
57 |
58 | ### Advanced Configuration
59 |
60 | This section has moved here: https://facebook.github.io/create-react-app/docs/advanced-configuration
61 |
62 | ### Deployment
63 |
64 | This section has moved here: https://facebook.github.io/create-react-app/docs/deployment
65 |
66 | ### `npm run build` fails to minify
67 |
68 | This section has moved here: https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify
69 |
--------------------------------------------------------------------------------
/cra/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "cra",
3 | "version": "0.1.0",
4 | "private": true,
5 | "dependencies": {
6 | "@emotion/core": "10.0.10",
7 | "@emotion/is-prop-valid": "0.7.3",
8 | "@emotion/styled": "10.0.10",
9 | "axios": "0.18.0",
10 | "emotion-theming": "10.0.10",
11 | "mineral-ui": "0.58.0",
12 | "moment": "2.24.0",
13 | "react": "^16.8.6",
14 | "react-dom": "^16.8.6",
15 | "react-scripts": "3.0.0"
16 | },
17 | "scripts": {
18 | "dev": "BROWSER=none react-scripts start",
19 | "build": "react-scripts build",
20 | "test": "react-scripts test",
21 | "eject": "react-scripts eject",
22 | "now-build": "react-scripts build"
23 | },
24 | "eslintConfig": {
25 | "extends": "react-app"
26 | },
27 | "browserslist": {
28 | "production": [
29 | ">0.2%",
30 | "not dead",
31 | "not op_mini all"
32 | ],
33 | "development": [
34 | "last 1 chrome version",
35 | "last 1 firefox version",
36 | "last 1 safari version"
37 | ]
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/cra/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seanconnollydev/nextjs-cra/3d2b9dc0b6ea440e84effcfd3a0c017775a9dc34/cra/public/favicon.ico
--------------------------------------------------------------------------------
/cra/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
12 |
13 |
22 | React App
23 |
24 |
25 | You need to enable JavaScript to run this app.
26 |
27 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/cra/public/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "short_name": "React App",
3 | "name": "Create React App Sample",
4 | "icons": [
5 | {
6 | "src": "favicon.ico",
7 | "sizes": "64x64 32x32 24x24 16x16",
8 | "type": "image/x-icon"
9 | }
10 | ],
11 | "start_url": ".",
12 | "display": "standalone",
13 | "theme_color": "#000000",
14 | "background_color": "#ffffff"
15 | }
16 |
--------------------------------------------------------------------------------
/cra/src/App.js:
--------------------------------------------------------------------------------
1 | import React, { useEffect, useState } from 'react';
2 | import axios from 'axios';
3 | import moment from 'moment';
4 | import { ThemeProvider } from 'mineral-ui/themes';
5 | import { PrimaryNav, NavItem } from 'mineral-ui/Navigation';
6 | import Table from 'mineral-ui/Table';
7 | import Text from 'mineral-ui/Text';
8 |
9 | function App() {
10 | const [users, setUsers] = useState([]);
11 | useEffect(() => {
12 | const fetchData = async () => {
13 | console.time('cra:data');
14 | const resp = await axios.get('/api/data');
15 | console.timeEnd('cra:data');
16 | const users = resp.data.map(user => {
17 | return {
18 | id: user.id,
19 | FirstName: user.FirstName,
20 | DateOfBirth: moment(user.DateOfBirth).format('MMMM Do YYYY'),
21 | }
22 | });
23 | setUsers(users);
24 | };
25 | fetchData();
26 | }, []);
27 |
28 | if (users.length === 0) return null;
29 |
30 | return (
31 |
32 |
33 |
Create React App
34 |
35 | Create React App
36 | Next.js
37 |
38 |
43 |
44 |
45 | );
46 | }
47 |
48 | export default App;
49 |
--------------------------------------------------------------------------------
/cra/src/App.test.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import App from './App';
4 |
5 | it('renders without crashing', () => {
6 | const div = document.createElement('div');
7 | ReactDOM.render( , div);
8 | ReactDOM.unmountComponentAtNode(div);
9 | });
10 |
--------------------------------------------------------------------------------
/cra/src/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import App from './App';
4 | import * as serviceWorker from './serviceWorker';
5 |
6 | ReactDOM.render( , document.getElementById('root'));
7 |
8 | // If you want your app to work offline and load faster, you can change
9 | // unregister() to register() below. Note this comes with some pitfalls.
10 | // Learn more about service workers: https://bit.ly/CRA-PWA
11 | serviceWorker.unregister();
12 |
--------------------------------------------------------------------------------
/cra/src/logo.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/cra/src/serviceWorker.js:
--------------------------------------------------------------------------------
1 | // This optional code is used to register a service worker.
2 | // register() is not called by default.
3 |
4 | // This lets the app load faster on subsequent visits in production, and gives
5 | // it offline capabilities. However, it also means that developers (and users)
6 | // will only see deployed updates on subsequent visits to a page, after all the
7 | // existing tabs open on the page have been closed, since previously cached
8 | // resources are updated in the background.
9 |
10 | // To learn more about the benefits of this model and instructions on how to
11 | // opt-in, read https://bit.ly/CRA-PWA
12 |
13 | const isLocalhost = Boolean(
14 | window.location.hostname === 'localhost' ||
15 | // [::1] is the IPv6 localhost address.
16 | window.location.hostname === '[::1]' ||
17 | // 127.0.0.1/8 is considered localhost for IPv4.
18 | window.location.hostname.match(
19 | /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/
20 | )
21 | );
22 |
23 | export function register(config) {
24 | if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {
25 | // The URL constructor is available in all browsers that support SW.
26 | const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);
27 | if (publicUrl.origin !== window.location.origin) {
28 | // Our service worker won't work if PUBLIC_URL is on a different origin
29 | // from what our page is served on. This might happen if a CDN is used to
30 | // serve assets; see https://github.com/facebook/create-react-app/issues/2374
31 | return;
32 | }
33 |
34 | window.addEventListener('load', () => {
35 | const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;
36 |
37 | if (isLocalhost) {
38 | // This is running on localhost. Let's check if a service worker still exists or not.
39 | checkValidServiceWorker(swUrl, config);
40 |
41 | // Add some additional logging to localhost, pointing developers to the
42 | // service worker/PWA documentation.
43 | navigator.serviceWorker.ready.then(() => {
44 | console.log(
45 | 'This web app is being served cache-first by a service ' +
46 | 'worker. To learn more, visit https://bit.ly/CRA-PWA'
47 | );
48 | });
49 | } else {
50 | // Is not localhost. Just register service worker
51 | registerValidSW(swUrl, config);
52 | }
53 | });
54 | }
55 | }
56 |
57 | function registerValidSW(swUrl, config) {
58 | navigator.serviceWorker
59 | .register(swUrl)
60 | .then(registration => {
61 | registration.onupdatefound = () => {
62 | const installingWorker = registration.installing;
63 | if (installingWorker == null) {
64 | return;
65 | }
66 | installingWorker.onstatechange = () => {
67 | if (installingWorker.state === 'installed') {
68 | if (navigator.serviceWorker.controller) {
69 | // At this point, the updated precached content has been fetched,
70 | // but the previous service worker will still serve the older
71 | // content until all client tabs are closed.
72 | console.log(
73 | 'New content is available and will be used when all ' +
74 | 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'
75 | );
76 |
77 | // Execute callback
78 | if (config && config.onUpdate) {
79 | config.onUpdate(registration);
80 | }
81 | } else {
82 | // At this point, everything has been precached.
83 | // It's the perfect time to display a
84 | // "Content is cached for offline use." message.
85 | console.log('Content is cached for offline use.');
86 |
87 | // Execute callback
88 | if (config && config.onSuccess) {
89 | config.onSuccess(registration);
90 | }
91 | }
92 | }
93 | };
94 | };
95 | })
96 | .catch(error => {
97 | console.error('Error during service worker registration:', error);
98 | });
99 | }
100 |
101 | function checkValidServiceWorker(swUrl, config) {
102 | // Check if the service worker can be found. If it can't reload the page.
103 | fetch(swUrl)
104 | .then(response => {
105 | // Ensure service worker exists, and that we really are getting a JS file.
106 | const contentType = response.headers.get('content-type');
107 | if (
108 | response.status === 404 ||
109 | (contentType != null && contentType.indexOf('javascript') === -1)
110 | ) {
111 | // No service worker found. Probably a different app. Reload the page.
112 | navigator.serviceWorker.ready.then(registration => {
113 | registration.unregister().then(() => {
114 | window.location.reload();
115 | });
116 | });
117 | } else {
118 | // Service worker found. Proceed as normal.
119 | registerValidSW(swUrl, config);
120 | }
121 | })
122 | .catch(() => {
123 | console.log(
124 | 'No internet connection found. App is running in offline mode.'
125 | );
126 | });
127 | }
128 |
129 | export function unregister() {
130 | if ('serviceWorker' in navigator) {
131 | navigator.serviceWorker.ready.then(registration => {
132 | registration.unregister();
133 | });
134 | }
135 | }
136 |
--------------------------------------------------------------------------------
/nextjs/next.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | target: 'serverless'
3 | };
--------------------------------------------------------------------------------
/nextjs/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "nextjs",
3 | "version": "1.0.0",
4 | "scripts": {
5 | "dev": "next -p 3001",
6 | "build": "next build",
7 | "start": "next start -p 3001"
8 | },
9 | "license": "MIT",
10 | "dependencies": {
11 | "@emotion/core": "10.0.10",
12 | "@emotion/is-prop-valid": "0.7.3",
13 | "@emotion/styled": "10.0.10",
14 | "axios": "0.18.0",
15 | "emotion-theming": "10.0.10",
16 | "mineral-ui": "0.58.0",
17 | "moment": "2.24.0",
18 | "next": "8.1.0",
19 | "react": "16.8.6",
20 | "react-dom": "16.8.6"
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/nextjs/pages/index.js:
--------------------------------------------------------------------------------
1 | import axios from 'axios';
2 | import moment from 'moment';
3 | import { ThemeProvider } from 'mineral-ui/themes';
4 | import { PrimaryNav, NavItem } from 'mineral-ui/Navigation';
5 | import Table from 'mineral-ui/Table';
6 | import Text from 'mineral-ui/Text';
7 |
8 | const Index = ({ users }) => (
9 |
10 |
11 |
Next.js
12 |
13 | Create React App
14 | Next.js
15 |
16 |
21 |
22 |
23 | );
24 |
25 | Index.getInitialProps = async({ req }) => {
26 | console.time('nextjs:data');
27 | const resp = await axios.get(`http://${req.headers.host}/api/data`);
28 | console.timeEnd('nextjs:data');
29 | const users = resp.data.map(user => {
30 | return {
31 | id: user.id,
32 | FirstName: user.FirstName,
33 | DateOfBirth: moment(user.DateOfBirth).format('MMMM Do YYYY'),
34 | }
35 | });
36 | return { users };
37 | }
38 |
39 | export default Index;
--------------------------------------------------------------------------------
/now.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": 2,
3 | "name": "nextjs-cra",
4 | "builds": [
5 | { "src": "nextjs/package.json", "use": "@now/next" },
6 | { "src": "cra/package.json", "use": "@now/static-build", "config": { "distDir": "build" } },
7 | { "src": "api/data/index.js", "use": "@now/node" }
8 | ],
9 | "routes": [
10 | { "src": "/static/(.*)", "headers": { "cache-control": "s-maxage=31536000,immutable" }, "dest": "/cra/static/$1" },
11 | { "src": "/favicon.ico", "dest": "/cra/favicon.ico" },
12 | { "src": "/asset-manifest.json", "dest": "/cra/asset-manifest.json" },
13 | { "src": "/manifest.json", "dest": "/cra/manifest.json" },
14 | { "src": "/precache-manifest.(.*)", "dest": "/cra/precache-manifest.$1" },
15 | { "src": "/service-worker.js", "headers": { "cache-control": "s-maxage=0" }, "dest": "/cra/service-worker.js" },
16 | { "src": "/api/data", "dest": "/api/data" },
17 | { "src": "/nextjs/(.*)", "dest": "/nextjs/$1" },
18 | { "src": "/_next/(.*)", "dest": "/nextjs/_next/$1" },
19 | { "src": "/", "headers": {"cache-control": "s-maxage=0"}, "dest": "/cra/index.html" }
20 | ]
21 | }
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "nextjs-cra",
3 | "version": "1.0.0",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "accepts": {
8 | "version": "1.3.6",
9 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.6.tgz",
10 | "integrity": "sha512-QsaoUD2dpVpjENy8JFpQnXP9vyzoZPmAoKrE3S6HtSB7qzSebkJNnmdY4p004FQUSSiHXPueENpoeuUW/7a8Ig==",
11 | "requires": {
12 | "mime-types": "~2.1.24",
13 | "negotiator": "0.6.1"
14 | }
15 | },
16 | "ansi-styles": {
17 | "version": "3.2.1",
18 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
19 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
20 | "dev": true,
21 | "requires": {
22 | "color-convert": "^1.9.0"
23 | }
24 | },
25 | "arr-diff": {
26 | "version": "4.0.0",
27 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
28 | "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
29 | },
30 | "arr-flatten": {
31 | "version": "1.1.0",
32 | "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
33 | "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
34 | },
35 | "arr-union": {
36 | "version": "3.1.0",
37 | "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
38 | "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
39 | },
40 | "array-filter": {
41 | "version": "0.0.1",
42 | "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz",
43 | "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=",
44 | "dev": true
45 | },
46 | "array-flatten": {
47 | "version": "1.1.1",
48 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
49 | "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
50 | },
51 | "array-map": {
52 | "version": "0.0.0",
53 | "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz",
54 | "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=",
55 | "dev": true
56 | },
57 | "array-reduce": {
58 | "version": "0.0.0",
59 | "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz",
60 | "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=",
61 | "dev": true
62 | },
63 | "array-unique": {
64 | "version": "0.3.2",
65 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
66 | "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
67 | },
68 | "assign-symbols": {
69 | "version": "1.0.0",
70 | "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
71 | "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c="
72 | },
73 | "atob": {
74 | "version": "2.1.2",
75 | "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
76 | "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
77 | },
78 | "balanced-match": {
79 | "version": "1.0.0",
80 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
81 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
82 | "dev": true
83 | },
84 | "base": {
85 | "version": "0.11.2",
86 | "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
87 | "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
88 | "requires": {
89 | "cache-base": "^1.0.1",
90 | "class-utils": "^0.3.5",
91 | "component-emitter": "^1.2.1",
92 | "define-property": "^1.0.0",
93 | "isobject": "^3.0.1",
94 | "mixin-deep": "^1.2.0",
95 | "pascalcase": "^0.1.1"
96 | },
97 | "dependencies": {
98 | "define-property": {
99 | "version": "1.0.0",
100 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
101 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
102 | "requires": {
103 | "is-descriptor": "^1.0.0"
104 | }
105 | },
106 | "is-accessor-descriptor": {
107 | "version": "1.0.0",
108 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
109 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
110 | "requires": {
111 | "kind-of": "^6.0.0"
112 | }
113 | },
114 | "is-data-descriptor": {
115 | "version": "1.0.0",
116 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
117 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
118 | "requires": {
119 | "kind-of": "^6.0.0"
120 | }
121 | },
122 | "is-descriptor": {
123 | "version": "1.0.2",
124 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
125 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
126 | "requires": {
127 | "is-accessor-descriptor": "^1.0.0",
128 | "is-data-descriptor": "^1.0.0",
129 | "kind-of": "^6.0.2"
130 | }
131 | }
132 | }
133 | },
134 | "body-parser": {
135 | "version": "1.18.3",
136 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz",
137 | "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=",
138 | "requires": {
139 | "bytes": "3.0.0",
140 | "content-type": "~1.0.4",
141 | "debug": "2.6.9",
142 | "depd": "~1.1.2",
143 | "http-errors": "~1.6.3",
144 | "iconv-lite": "0.4.23",
145 | "on-finished": "~2.3.0",
146 | "qs": "6.5.2",
147 | "raw-body": "2.3.3",
148 | "type-is": "~1.6.16"
149 | },
150 | "dependencies": {
151 | "debug": {
152 | "version": "2.6.9",
153 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
154 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
155 | "requires": {
156 | "ms": "2.0.0"
157 | }
158 | },
159 | "ms": {
160 | "version": "2.0.0",
161 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
162 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
163 | }
164 | }
165 | },
166 | "brace-expansion": {
167 | "version": "1.1.11",
168 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
169 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
170 | "dev": true,
171 | "requires": {
172 | "balanced-match": "^1.0.0",
173 | "concat-map": "0.0.1"
174 | }
175 | },
176 | "braces": {
177 | "version": "2.3.2",
178 | "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
179 | "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
180 | "requires": {
181 | "arr-flatten": "^1.1.0",
182 | "array-unique": "^0.3.2",
183 | "extend-shallow": "^2.0.1",
184 | "fill-range": "^4.0.0",
185 | "isobject": "^3.0.1",
186 | "repeat-element": "^1.1.2",
187 | "snapdragon": "^0.8.1",
188 | "snapdragon-node": "^2.0.1",
189 | "split-string": "^3.0.2",
190 | "to-regex": "^3.0.1"
191 | },
192 | "dependencies": {
193 | "extend-shallow": {
194 | "version": "2.0.1",
195 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
196 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
197 | "requires": {
198 | "is-extendable": "^0.1.0"
199 | }
200 | }
201 | }
202 | },
203 | "bytes": {
204 | "version": "3.0.0",
205 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
206 | "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
207 | },
208 | "cache-base": {
209 | "version": "1.0.1",
210 | "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
211 | "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
212 | "requires": {
213 | "collection-visit": "^1.0.0",
214 | "component-emitter": "^1.2.1",
215 | "get-value": "^2.0.6",
216 | "has-value": "^1.0.0",
217 | "isobject": "^3.0.1",
218 | "set-value": "^2.0.0",
219 | "to-object-path": "^0.3.0",
220 | "union-value": "^1.0.0",
221 | "unset-value": "^1.0.0"
222 | }
223 | },
224 | "chalk": {
225 | "version": "2.4.2",
226 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
227 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
228 | "dev": true,
229 | "requires": {
230 | "ansi-styles": "^3.2.1",
231 | "escape-string-regexp": "^1.0.5",
232 | "supports-color": "^5.3.0"
233 | }
234 | },
235 | "class-utils": {
236 | "version": "0.3.6",
237 | "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
238 | "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
239 | "requires": {
240 | "arr-union": "^3.1.0",
241 | "define-property": "^0.2.5",
242 | "isobject": "^3.0.0",
243 | "static-extend": "^0.1.1"
244 | },
245 | "dependencies": {
246 | "define-property": {
247 | "version": "0.2.5",
248 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
249 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
250 | "requires": {
251 | "is-descriptor": "^0.1.0"
252 | }
253 | }
254 | }
255 | },
256 | "collection-visit": {
257 | "version": "1.0.0",
258 | "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
259 | "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
260 | "requires": {
261 | "map-visit": "^1.0.0",
262 | "object-visit": "^1.0.0"
263 | }
264 | },
265 | "color-convert": {
266 | "version": "1.9.3",
267 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
268 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
269 | "dev": true,
270 | "requires": {
271 | "color-name": "1.1.3"
272 | }
273 | },
274 | "color-name": {
275 | "version": "1.1.3",
276 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
277 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
278 | "dev": true
279 | },
280 | "component-emitter": {
281 | "version": "1.3.0",
282 | "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
283 | "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
284 | },
285 | "concat-map": {
286 | "version": "0.0.1",
287 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
288 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
289 | "dev": true
290 | },
291 | "content-disposition": {
292 | "version": "0.5.2",
293 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
294 | "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ="
295 | },
296 | "content-type": {
297 | "version": "1.0.4",
298 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
299 | "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
300 | },
301 | "cookie": {
302 | "version": "0.3.1",
303 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
304 | "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s="
305 | },
306 | "cookie-signature": {
307 | "version": "1.0.6",
308 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
309 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
310 | },
311 | "copy-descriptor": {
312 | "version": "0.1.1",
313 | "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
314 | "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
315 | },
316 | "cross-spawn": {
317 | "version": "6.0.5",
318 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
319 | "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
320 | "dev": true,
321 | "requires": {
322 | "nice-try": "^1.0.4",
323 | "path-key": "^2.0.1",
324 | "semver": "^5.5.0",
325 | "shebang-command": "^1.2.0",
326 | "which": "^1.2.9"
327 | }
328 | },
329 | "debug": {
330 | "version": "3.2.6",
331 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
332 | "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
333 | "requires": {
334 | "ms": "^2.1.1"
335 | }
336 | },
337 | "decode-uri-component": {
338 | "version": "0.2.0",
339 | "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
340 | "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
341 | },
342 | "define-properties": {
343 | "version": "1.1.3",
344 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
345 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
346 | "dev": true,
347 | "requires": {
348 | "object-keys": "^1.0.12"
349 | }
350 | },
351 | "define-property": {
352 | "version": "2.0.2",
353 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
354 | "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
355 | "requires": {
356 | "is-descriptor": "^1.0.2",
357 | "isobject": "^3.0.1"
358 | },
359 | "dependencies": {
360 | "is-accessor-descriptor": {
361 | "version": "1.0.0",
362 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
363 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
364 | "requires": {
365 | "kind-of": "^6.0.0"
366 | }
367 | },
368 | "is-data-descriptor": {
369 | "version": "1.0.0",
370 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
371 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
372 | "requires": {
373 | "kind-of": "^6.0.0"
374 | }
375 | },
376 | "is-descriptor": {
377 | "version": "1.0.2",
378 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
379 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
380 | "requires": {
381 | "is-accessor-descriptor": "^1.0.0",
382 | "is-data-descriptor": "^1.0.0",
383 | "kind-of": "^6.0.2"
384 | }
385 | }
386 | }
387 | },
388 | "depd": {
389 | "version": "1.1.2",
390 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
391 | "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
392 | },
393 | "destroy": {
394 | "version": "1.0.4",
395 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
396 | "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
397 | },
398 | "ee-first": {
399 | "version": "1.1.1",
400 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
401 | "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
402 | },
403 | "encodeurl": {
404 | "version": "1.0.2",
405 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
406 | "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
407 | },
408 | "error-ex": {
409 | "version": "1.3.2",
410 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
411 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
412 | "dev": true,
413 | "requires": {
414 | "is-arrayish": "^0.2.1"
415 | }
416 | },
417 | "es-abstract": {
418 | "version": "1.13.0",
419 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz",
420 | "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==",
421 | "dev": true,
422 | "requires": {
423 | "es-to-primitive": "^1.2.0",
424 | "function-bind": "^1.1.1",
425 | "has": "^1.0.3",
426 | "is-callable": "^1.1.4",
427 | "is-regex": "^1.0.4",
428 | "object-keys": "^1.0.12"
429 | }
430 | },
431 | "es-to-primitive": {
432 | "version": "1.2.0",
433 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
434 | "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
435 | "dev": true,
436 | "requires": {
437 | "is-callable": "^1.1.4",
438 | "is-date-object": "^1.0.1",
439 | "is-symbol": "^1.0.2"
440 | }
441 | },
442 | "escape-html": {
443 | "version": "1.0.3",
444 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
445 | "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
446 | },
447 | "escape-string-regexp": {
448 | "version": "1.0.5",
449 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
450 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
451 | "dev": true
452 | },
453 | "etag": {
454 | "version": "1.8.1",
455 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
456 | "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
457 | },
458 | "eventemitter3": {
459 | "version": "3.1.1",
460 | "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.1.tgz",
461 | "integrity": "sha512-MXmFv3KYbv7MPjPeGlFCTieXB9zNvmHfy4fXzZbrdMeUUk3pxQ8SS0cJ6CcwUDZnIL3ZDa01qQFzhlusB8s51Q=="
462 | },
463 | "expand-brackets": {
464 | "version": "2.1.4",
465 | "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
466 | "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
467 | "requires": {
468 | "debug": "^2.3.3",
469 | "define-property": "^0.2.5",
470 | "extend-shallow": "^2.0.1",
471 | "posix-character-classes": "^0.1.0",
472 | "regex-not": "^1.0.0",
473 | "snapdragon": "^0.8.1",
474 | "to-regex": "^3.0.1"
475 | },
476 | "dependencies": {
477 | "debug": {
478 | "version": "2.6.9",
479 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
480 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
481 | "requires": {
482 | "ms": "2.0.0"
483 | }
484 | },
485 | "define-property": {
486 | "version": "0.2.5",
487 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
488 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
489 | "requires": {
490 | "is-descriptor": "^0.1.0"
491 | }
492 | },
493 | "extend-shallow": {
494 | "version": "2.0.1",
495 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
496 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
497 | "requires": {
498 | "is-extendable": "^0.1.0"
499 | }
500 | },
501 | "ms": {
502 | "version": "2.0.0",
503 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
504 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
505 | }
506 | }
507 | },
508 | "express": {
509 | "version": "4.16.4",
510 | "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz",
511 | "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==",
512 | "requires": {
513 | "accepts": "~1.3.5",
514 | "array-flatten": "1.1.1",
515 | "body-parser": "1.18.3",
516 | "content-disposition": "0.5.2",
517 | "content-type": "~1.0.4",
518 | "cookie": "0.3.1",
519 | "cookie-signature": "1.0.6",
520 | "debug": "2.6.9",
521 | "depd": "~1.1.2",
522 | "encodeurl": "~1.0.2",
523 | "escape-html": "~1.0.3",
524 | "etag": "~1.8.1",
525 | "finalhandler": "1.1.1",
526 | "fresh": "0.5.2",
527 | "merge-descriptors": "1.0.1",
528 | "methods": "~1.1.2",
529 | "on-finished": "~2.3.0",
530 | "parseurl": "~1.3.2",
531 | "path-to-regexp": "0.1.7",
532 | "proxy-addr": "~2.0.4",
533 | "qs": "6.5.2",
534 | "range-parser": "~1.2.0",
535 | "safe-buffer": "5.1.2",
536 | "send": "0.16.2",
537 | "serve-static": "1.13.2",
538 | "setprototypeof": "1.1.0",
539 | "statuses": "~1.4.0",
540 | "type-is": "~1.6.16",
541 | "utils-merge": "1.0.1",
542 | "vary": "~1.1.2"
543 | },
544 | "dependencies": {
545 | "debug": {
546 | "version": "2.6.9",
547 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
548 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
549 | "requires": {
550 | "ms": "2.0.0"
551 | }
552 | },
553 | "ms": {
554 | "version": "2.0.0",
555 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
556 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
557 | }
558 | }
559 | },
560 | "extend-shallow": {
561 | "version": "3.0.2",
562 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
563 | "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
564 | "requires": {
565 | "assign-symbols": "^1.0.0",
566 | "is-extendable": "^1.0.1"
567 | },
568 | "dependencies": {
569 | "is-extendable": {
570 | "version": "1.0.1",
571 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
572 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
573 | "requires": {
574 | "is-plain-object": "^2.0.4"
575 | }
576 | }
577 | }
578 | },
579 | "extglob": {
580 | "version": "2.0.4",
581 | "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
582 | "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
583 | "requires": {
584 | "array-unique": "^0.3.2",
585 | "define-property": "^1.0.0",
586 | "expand-brackets": "^2.1.4",
587 | "extend-shallow": "^2.0.1",
588 | "fragment-cache": "^0.2.1",
589 | "regex-not": "^1.0.0",
590 | "snapdragon": "^0.8.1",
591 | "to-regex": "^3.0.1"
592 | },
593 | "dependencies": {
594 | "define-property": {
595 | "version": "1.0.0",
596 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
597 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
598 | "requires": {
599 | "is-descriptor": "^1.0.0"
600 | }
601 | },
602 | "extend-shallow": {
603 | "version": "2.0.1",
604 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
605 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
606 | "requires": {
607 | "is-extendable": "^0.1.0"
608 | }
609 | },
610 | "is-accessor-descriptor": {
611 | "version": "1.0.0",
612 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
613 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
614 | "requires": {
615 | "kind-of": "^6.0.0"
616 | }
617 | },
618 | "is-data-descriptor": {
619 | "version": "1.0.0",
620 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
621 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
622 | "requires": {
623 | "kind-of": "^6.0.0"
624 | }
625 | },
626 | "is-descriptor": {
627 | "version": "1.0.2",
628 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
629 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
630 | "requires": {
631 | "is-accessor-descriptor": "^1.0.0",
632 | "is-data-descriptor": "^1.0.0",
633 | "kind-of": "^6.0.2"
634 | }
635 | }
636 | }
637 | },
638 | "fill-range": {
639 | "version": "4.0.0",
640 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
641 | "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
642 | "requires": {
643 | "extend-shallow": "^2.0.1",
644 | "is-number": "^3.0.0",
645 | "repeat-string": "^1.6.1",
646 | "to-regex-range": "^2.1.0"
647 | },
648 | "dependencies": {
649 | "extend-shallow": {
650 | "version": "2.0.1",
651 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
652 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
653 | "requires": {
654 | "is-extendable": "^0.1.0"
655 | }
656 | }
657 | }
658 | },
659 | "finalhandler": {
660 | "version": "1.1.1",
661 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz",
662 | "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==",
663 | "requires": {
664 | "debug": "2.6.9",
665 | "encodeurl": "~1.0.2",
666 | "escape-html": "~1.0.3",
667 | "on-finished": "~2.3.0",
668 | "parseurl": "~1.3.2",
669 | "statuses": "~1.4.0",
670 | "unpipe": "~1.0.0"
671 | },
672 | "dependencies": {
673 | "debug": {
674 | "version": "2.6.9",
675 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
676 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
677 | "requires": {
678 | "ms": "2.0.0"
679 | }
680 | },
681 | "ms": {
682 | "version": "2.0.0",
683 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
684 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
685 | }
686 | }
687 | },
688 | "follow-redirects": {
689 | "version": "1.7.0",
690 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.7.0.tgz",
691 | "integrity": "sha512-m/pZQy4Gj287eNy94nivy5wchN3Kp+Q5WgUPNy5lJSZ3sgkVKSYV/ZChMAQVIgx1SqfZ2zBZtPA2YlXIWxxJOQ==",
692 | "requires": {
693 | "debug": "^3.2.6"
694 | }
695 | },
696 | "for-in": {
697 | "version": "1.0.2",
698 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
699 | "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
700 | },
701 | "forwarded": {
702 | "version": "0.1.2",
703 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
704 | "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
705 | },
706 | "fragment-cache": {
707 | "version": "0.2.1",
708 | "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
709 | "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
710 | "requires": {
711 | "map-cache": "^0.2.2"
712 | }
713 | },
714 | "fresh": {
715 | "version": "0.5.2",
716 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
717 | "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
718 | },
719 | "function-bind": {
720 | "version": "1.1.1",
721 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
722 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
723 | "dev": true
724 | },
725 | "get-value": {
726 | "version": "2.0.6",
727 | "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
728 | "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
729 | },
730 | "graceful-fs": {
731 | "version": "4.1.15",
732 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
733 | "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==",
734 | "dev": true
735 | },
736 | "has": {
737 | "version": "1.0.3",
738 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
739 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
740 | "dev": true,
741 | "requires": {
742 | "function-bind": "^1.1.1"
743 | }
744 | },
745 | "has-flag": {
746 | "version": "3.0.0",
747 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
748 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
749 | "dev": true
750 | },
751 | "has-symbols": {
752 | "version": "1.0.0",
753 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
754 | "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
755 | "dev": true
756 | },
757 | "has-value": {
758 | "version": "1.0.0",
759 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
760 | "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
761 | "requires": {
762 | "get-value": "^2.0.6",
763 | "has-values": "^1.0.0",
764 | "isobject": "^3.0.0"
765 | }
766 | },
767 | "has-values": {
768 | "version": "1.0.0",
769 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
770 | "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
771 | "requires": {
772 | "is-number": "^3.0.0",
773 | "kind-of": "^4.0.0"
774 | },
775 | "dependencies": {
776 | "kind-of": {
777 | "version": "4.0.0",
778 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
779 | "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
780 | "requires": {
781 | "is-buffer": "^1.1.5"
782 | }
783 | }
784 | }
785 | },
786 | "hosted-git-info": {
787 | "version": "2.7.1",
788 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
789 | "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==",
790 | "dev": true
791 | },
792 | "http-errors": {
793 | "version": "1.6.3",
794 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
795 | "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
796 | "requires": {
797 | "depd": "~1.1.2",
798 | "inherits": "2.0.3",
799 | "setprototypeof": "1.1.0",
800 | "statuses": ">= 1.4.0 < 2"
801 | }
802 | },
803 | "http-proxy": {
804 | "version": "1.17.0",
805 | "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz",
806 | "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==",
807 | "requires": {
808 | "eventemitter3": "^3.0.0",
809 | "follow-redirects": "^1.0.0",
810 | "requires-port": "^1.0.0"
811 | }
812 | },
813 | "http-proxy-middleware": {
814 | "version": "0.19.1",
815 | "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz",
816 | "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==",
817 | "requires": {
818 | "http-proxy": "^1.17.0",
819 | "is-glob": "^4.0.0",
820 | "lodash": "^4.17.11",
821 | "micromatch": "^3.1.10"
822 | }
823 | },
824 | "iconv-lite": {
825 | "version": "0.4.23",
826 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
827 | "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
828 | "requires": {
829 | "safer-buffer": ">= 2.1.2 < 3"
830 | }
831 | },
832 | "inherits": {
833 | "version": "2.0.3",
834 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
835 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
836 | },
837 | "ipaddr.js": {
838 | "version": "1.9.0",
839 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz",
840 | "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA=="
841 | },
842 | "is-accessor-descriptor": {
843 | "version": "0.1.6",
844 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
845 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
846 | "requires": {
847 | "kind-of": "^3.0.2"
848 | },
849 | "dependencies": {
850 | "kind-of": {
851 | "version": "3.2.2",
852 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
853 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
854 | "requires": {
855 | "is-buffer": "^1.1.5"
856 | }
857 | }
858 | }
859 | },
860 | "is-arrayish": {
861 | "version": "0.2.1",
862 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
863 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
864 | "dev": true
865 | },
866 | "is-buffer": {
867 | "version": "1.1.6",
868 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
869 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
870 | },
871 | "is-callable": {
872 | "version": "1.1.4",
873 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
874 | "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
875 | "dev": true
876 | },
877 | "is-data-descriptor": {
878 | "version": "0.1.4",
879 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
880 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
881 | "requires": {
882 | "kind-of": "^3.0.2"
883 | },
884 | "dependencies": {
885 | "kind-of": {
886 | "version": "3.2.2",
887 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
888 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
889 | "requires": {
890 | "is-buffer": "^1.1.5"
891 | }
892 | }
893 | }
894 | },
895 | "is-date-object": {
896 | "version": "1.0.1",
897 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
898 | "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
899 | "dev": true
900 | },
901 | "is-descriptor": {
902 | "version": "0.1.6",
903 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
904 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
905 | "requires": {
906 | "is-accessor-descriptor": "^0.1.6",
907 | "is-data-descriptor": "^0.1.4",
908 | "kind-of": "^5.0.0"
909 | },
910 | "dependencies": {
911 | "kind-of": {
912 | "version": "5.1.0",
913 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
914 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
915 | }
916 | }
917 | },
918 | "is-extendable": {
919 | "version": "0.1.1",
920 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
921 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
922 | },
923 | "is-extglob": {
924 | "version": "2.1.1",
925 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
926 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
927 | },
928 | "is-glob": {
929 | "version": "4.0.1",
930 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
931 | "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
932 | "requires": {
933 | "is-extglob": "^2.1.1"
934 | }
935 | },
936 | "is-number": {
937 | "version": "3.0.0",
938 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
939 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
940 | "requires": {
941 | "kind-of": "^3.0.2"
942 | },
943 | "dependencies": {
944 | "kind-of": {
945 | "version": "3.2.2",
946 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
947 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
948 | "requires": {
949 | "is-buffer": "^1.1.5"
950 | }
951 | }
952 | }
953 | },
954 | "is-plain-object": {
955 | "version": "2.0.4",
956 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
957 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
958 | "requires": {
959 | "isobject": "^3.0.1"
960 | }
961 | },
962 | "is-regex": {
963 | "version": "1.0.4",
964 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
965 | "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
966 | "dev": true,
967 | "requires": {
968 | "has": "^1.0.1"
969 | }
970 | },
971 | "is-symbol": {
972 | "version": "1.0.2",
973 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
974 | "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
975 | "dev": true,
976 | "requires": {
977 | "has-symbols": "^1.0.0"
978 | }
979 | },
980 | "is-windows": {
981 | "version": "1.0.2",
982 | "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
983 | "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="
984 | },
985 | "isarray": {
986 | "version": "1.0.0",
987 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
988 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
989 | },
990 | "isexe": {
991 | "version": "2.0.0",
992 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
993 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
994 | "dev": true
995 | },
996 | "isobject": {
997 | "version": "3.0.1",
998 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
999 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
1000 | },
1001 | "json-parse-better-errors": {
1002 | "version": "1.0.2",
1003 | "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
1004 | "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
1005 | "dev": true
1006 | },
1007 | "jsonify": {
1008 | "version": "0.0.0",
1009 | "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
1010 | "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
1011 | "dev": true
1012 | },
1013 | "kind-of": {
1014 | "version": "6.0.2",
1015 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
1016 | "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
1017 | },
1018 | "load-json-file": {
1019 | "version": "4.0.0",
1020 | "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
1021 | "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
1022 | "dev": true,
1023 | "requires": {
1024 | "graceful-fs": "^4.1.2",
1025 | "parse-json": "^4.0.0",
1026 | "pify": "^3.0.0",
1027 | "strip-bom": "^3.0.0"
1028 | }
1029 | },
1030 | "lodash": {
1031 | "version": "4.17.11",
1032 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
1033 | "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg=="
1034 | },
1035 | "map-cache": {
1036 | "version": "0.2.2",
1037 | "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
1038 | "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8="
1039 | },
1040 | "map-visit": {
1041 | "version": "1.0.0",
1042 | "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
1043 | "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
1044 | "requires": {
1045 | "object-visit": "^1.0.0"
1046 | }
1047 | },
1048 | "media-typer": {
1049 | "version": "0.3.0",
1050 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
1051 | "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
1052 | },
1053 | "memorystream": {
1054 | "version": "0.3.1",
1055 | "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz",
1056 | "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=",
1057 | "dev": true
1058 | },
1059 | "merge-descriptors": {
1060 | "version": "1.0.1",
1061 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
1062 | "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
1063 | },
1064 | "methods": {
1065 | "version": "1.1.2",
1066 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
1067 | "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
1068 | },
1069 | "micromatch": {
1070 | "version": "3.1.10",
1071 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
1072 | "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
1073 | "requires": {
1074 | "arr-diff": "^4.0.0",
1075 | "array-unique": "^0.3.2",
1076 | "braces": "^2.3.1",
1077 | "define-property": "^2.0.2",
1078 | "extend-shallow": "^3.0.2",
1079 | "extglob": "^2.0.4",
1080 | "fragment-cache": "^0.2.1",
1081 | "kind-of": "^6.0.2",
1082 | "nanomatch": "^1.2.9",
1083 | "object.pick": "^1.3.0",
1084 | "regex-not": "^1.0.0",
1085 | "snapdragon": "^0.8.1",
1086 | "to-regex": "^3.0.2"
1087 | }
1088 | },
1089 | "mime": {
1090 | "version": "1.4.1",
1091 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
1092 | "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ=="
1093 | },
1094 | "mime-db": {
1095 | "version": "1.40.0",
1096 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
1097 | "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA=="
1098 | },
1099 | "mime-types": {
1100 | "version": "2.1.24",
1101 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
1102 | "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
1103 | "requires": {
1104 | "mime-db": "1.40.0"
1105 | }
1106 | },
1107 | "minimatch": {
1108 | "version": "3.0.4",
1109 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
1110 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
1111 | "dev": true,
1112 | "requires": {
1113 | "brace-expansion": "^1.1.7"
1114 | }
1115 | },
1116 | "mixin-deep": {
1117 | "version": "1.3.1",
1118 | "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
1119 | "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
1120 | "requires": {
1121 | "for-in": "^1.0.2",
1122 | "is-extendable": "^1.0.1"
1123 | },
1124 | "dependencies": {
1125 | "is-extendable": {
1126 | "version": "1.0.1",
1127 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
1128 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
1129 | "requires": {
1130 | "is-plain-object": "^2.0.4"
1131 | }
1132 | }
1133 | }
1134 | },
1135 | "ms": {
1136 | "version": "2.1.1",
1137 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
1138 | "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
1139 | },
1140 | "nanomatch": {
1141 | "version": "1.2.13",
1142 | "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
1143 | "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
1144 | "requires": {
1145 | "arr-diff": "^4.0.0",
1146 | "array-unique": "^0.3.2",
1147 | "define-property": "^2.0.2",
1148 | "extend-shallow": "^3.0.2",
1149 | "fragment-cache": "^0.2.1",
1150 | "is-windows": "^1.0.2",
1151 | "kind-of": "^6.0.2",
1152 | "object.pick": "^1.3.0",
1153 | "regex-not": "^1.0.0",
1154 | "snapdragon": "^0.8.1",
1155 | "to-regex": "^3.0.1"
1156 | }
1157 | },
1158 | "negotiator": {
1159 | "version": "0.6.1",
1160 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
1161 | "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk="
1162 | },
1163 | "nice-try": {
1164 | "version": "1.0.5",
1165 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
1166 | "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
1167 | "dev": true
1168 | },
1169 | "normalize-package-data": {
1170 | "version": "2.5.0",
1171 | "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
1172 | "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
1173 | "dev": true,
1174 | "requires": {
1175 | "hosted-git-info": "^2.1.4",
1176 | "resolve": "^1.10.0",
1177 | "semver": "2 || 3 || 4 || 5",
1178 | "validate-npm-package-license": "^3.0.1"
1179 | }
1180 | },
1181 | "npm-run-all": {
1182 | "version": "4.1.5",
1183 | "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz",
1184 | "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==",
1185 | "dev": true,
1186 | "requires": {
1187 | "ansi-styles": "^3.2.1",
1188 | "chalk": "^2.4.1",
1189 | "cross-spawn": "^6.0.5",
1190 | "memorystream": "^0.3.1",
1191 | "minimatch": "^3.0.4",
1192 | "pidtree": "^0.3.0",
1193 | "read-pkg": "^3.0.0",
1194 | "shell-quote": "^1.6.1",
1195 | "string.prototype.padend": "^3.0.0"
1196 | }
1197 | },
1198 | "object-copy": {
1199 | "version": "0.1.0",
1200 | "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
1201 | "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
1202 | "requires": {
1203 | "copy-descriptor": "^0.1.0",
1204 | "define-property": "^0.2.5",
1205 | "kind-of": "^3.0.3"
1206 | },
1207 | "dependencies": {
1208 | "define-property": {
1209 | "version": "0.2.5",
1210 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
1211 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1212 | "requires": {
1213 | "is-descriptor": "^0.1.0"
1214 | }
1215 | },
1216 | "kind-of": {
1217 | "version": "3.2.2",
1218 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1219 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1220 | "requires": {
1221 | "is-buffer": "^1.1.5"
1222 | }
1223 | }
1224 | }
1225 | },
1226 | "object-keys": {
1227 | "version": "1.1.1",
1228 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
1229 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
1230 | "dev": true
1231 | },
1232 | "object-visit": {
1233 | "version": "1.0.1",
1234 | "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
1235 | "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
1236 | "requires": {
1237 | "isobject": "^3.0.0"
1238 | }
1239 | },
1240 | "object.pick": {
1241 | "version": "1.3.0",
1242 | "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
1243 | "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
1244 | "requires": {
1245 | "isobject": "^3.0.1"
1246 | }
1247 | },
1248 | "on-finished": {
1249 | "version": "2.3.0",
1250 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
1251 | "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
1252 | "requires": {
1253 | "ee-first": "1.1.1"
1254 | }
1255 | },
1256 | "parse-json": {
1257 | "version": "4.0.0",
1258 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
1259 | "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
1260 | "dev": true,
1261 | "requires": {
1262 | "error-ex": "^1.3.1",
1263 | "json-parse-better-errors": "^1.0.1"
1264 | }
1265 | },
1266 | "parseurl": {
1267 | "version": "1.3.3",
1268 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
1269 | "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
1270 | },
1271 | "pascalcase": {
1272 | "version": "0.1.1",
1273 | "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
1274 | "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
1275 | },
1276 | "path-key": {
1277 | "version": "2.0.1",
1278 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
1279 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
1280 | "dev": true
1281 | },
1282 | "path-parse": {
1283 | "version": "1.0.6",
1284 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
1285 | "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
1286 | "dev": true
1287 | },
1288 | "path-to-regexp": {
1289 | "version": "0.1.7",
1290 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
1291 | "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
1292 | },
1293 | "path-type": {
1294 | "version": "3.0.0",
1295 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
1296 | "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
1297 | "dev": true,
1298 | "requires": {
1299 | "pify": "^3.0.0"
1300 | }
1301 | },
1302 | "pidtree": {
1303 | "version": "0.3.0",
1304 | "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.0.tgz",
1305 | "integrity": "sha512-9CT4NFlDcosssyg8KVFltgokyKZIFjoBxw8CTGy+5F38Y1eQWrt8tRayiUOXE+zVKQnYu5BR8JjCtvK3BcnBhg==",
1306 | "dev": true
1307 | },
1308 | "pify": {
1309 | "version": "3.0.0",
1310 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
1311 | "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
1312 | "dev": true
1313 | },
1314 | "posix-character-classes": {
1315 | "version": "0.1.1",
1316 | "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
1317 | "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
1318 | },
1319 | "proxy-addr": {
1320 | "version": "2.0.5",
1321 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz",
1322 | "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==",
1323 | "requires": {
1324 | "forwarded": "~0.1.2",
1325 | "ipaddr.js": "1.9.0"
1326 | }
1327 | },
1328 | "qs": {
1329 | "version": "6.5.2",
1330 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
1331 | "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
1332 | },
1333 | "range-parser": {
1334 | "version": "1.2.0",
1335 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
1336 | "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4="
1337 | },
1338 | "raw-body": {
1339 | "version": "2.3.3",
1340 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz",
1341 | "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==",
1342 | "requires": {
1343 | "bytes": "3.0.0",
1344 | "http-errors": "1.6.3",
1345 | "iconv-lite": "0.4.23",
1346 | "unpipe": "1.0.0"
1347 | }
1348 | },
1349 | "read-pkg": {
1350 | "version": "3.0.0",
1351 | "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
1352 | "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
1353 | "dev": true,
1354 | "requires": {
1355 | "load-json-file": "^4.0.0",
1356 | "normalize-package-data": "^2.3.2",
1357 | "path-type": "^3.0.0"
1358 | }
1359 | },
1360 | "regex-not": {
1361 | "version": "1.0.2",
1362 | "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
1363 | "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
1364 | "requires": {
1365 | "extend-shallow": "^3.0.2",
1366 | "safe-regex": "^1.1.0"
1367 | }
1368 | },
1369 | "repeat-element": {
1370 | "version": "1.1.3",
1371 | "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
1372 | "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g=="
1373 | },
1374 | "repeat-string": {
1375 | "version": "1.6.1",
1376 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
1377 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
1378 | },
1379 | "requires-port": {
1380 | "version": "1.0.0",
1381 | "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
1382 | "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
1383 | },
1384 | "resolve": {
1385 | "version": "1.10.1",
1386 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.1.tgz",
1387 | "integrity": "sha512-KuIe4mf++td/eFb6wkaPbMDnP6kObCaEtIDuHOUED6MNUo4K670KZUHuuvYPZDxNF0WVLw49n06M2m2dXphEzA==",
1388 | "dev": true,
1389 | "requires": {
1390 | "path-parse": "^1.0.6"
1391 | }
1392 | },
1393 | "resolve-url": {
1394 | "version": "0.2.1",
1395 | "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
1396 | "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
1397 | },
1398 | "ret": {
1399 | "version": "0.1.15",
1400 | "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
1401 | "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="
1402 | },
1403 | "safe-buffer": {
1404 | "version": "5.1.2",
1405 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
1406 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
1407 | },
1408 | "safe-regex": {
1409 | "version": "1.1.0",
1410 | "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
1411 | "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
1412 | "requires": {
1413 | "ret": "~0.1.10"
1414 | }
1415 | },
1416 | "safer-buffer": {
1417 | "version": "2.1.2",
1418 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
1419 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
1420 | },
1421 | "semver": {
1422 | "version": "5.7.0",
1423 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz",
1424 | "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==",
1425 | "dev": true
1426 | },
1427 | "send": {
1428 | "version": "0.16.2",
1429 | "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz",
1430 | "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==",
1431 | "requires": {
1432 | "debug": "2.6.9",
1433 | "depd": "~1.1.2",
1434 | "destroy": "~1.0.4",
1435 | "encodeurl": "~1.0.2",
1436 | "escape-html": "~1.0.3",
1437 | "etag": "~1.8.1",
1438 | "fresh": "0.5.2",
1439 | "http-errors": "~1.6.2",
1440 | "mime": "1.4.1",
1441 | "ms": "2.0.0",
1442 | "on-finished": "~2.3.0",
1443 | "range-parser": "~1.2.0",
1444 | "statuses": "~1.4.0"
1445 | },
1446 | "dependencies": {
1447 | "debug": {
1448 | "version": "2.6.9",
1449 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1450 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1451 | "requires": {
1452 | "ms": "2.0.0"
1453 | }
1454 | },
1455 | "ms": {
1456 | "version": "2.0.0",
1457 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1458 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
1459 | }
1460 | }
1461 | },
1462 | "serve-static": {
1463 | "version": "1.13.2",
1464 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz",
1465 | "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==",
1466 | "requires": {
1467 | "encodeurl": "~1.0.2",
1468 | "escape-html": "~1.0.3",
1469 | "parseurl": "~1.3.2",
1470 | "send": "0.16.2"
1471 | }
1472 | },
1473 | "set-value": {
1474 | "version": "2.0.0",
1475 | "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
1476 | "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
1477 | "requires": {
1478 | "extend-shallow": "^2.0.1",
1479 | "is-extendable": "^0.1.1",
1480 | "is-plain-object": "^2.0.3",
1481 | "split-string": "^3.0.1"
1482 | },
1483 | "dependencies": {
1484 | "extend-shallow": {
1485 | "version": "2.0.1",
1486 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1487 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1488 | "requires": {
1489 | "is-extendable": "^0.1.0"
1490 | }
1491 | }
1492 | }
1493 | },
1494 | "setprototypeof": {
1495 | "version": "1.1.0",
1496 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
1497 | "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ=="
1498 | },
1499 | "shebang-command": {
1500 | "version": "1.2.0",
1501 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
1502 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
1503 | "dev": true,
1504 | "requires": {
1505 | "shebang-regex": "^1.0.0"
1506 | }
1507 | },
1508 | "shebang-regex": {
1509 | "version": "1.0.0",
1510 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
1511 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
1512 | "dev": true
1513 | },
1514 | "shell-quote": {
1515 | "version": "1.6.1",
1516 | "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz",
1517 | "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=",
1518 | "dev": true,
1519 | "requires": {
1520 | "array-filter": "~0.0.0",
1521 | "array-map": "~0.0.0",
1522 | "array-reduce": "~0.0.0",
1523 | "jsonify": "~0.0.0"
1524 | }
1525 | },
1526 | "snapdragon": {
1527 | "version": "0.8.2",
1528 | "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
1529 | "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
1530 | "requires": {
1531 | "base": "^0.11.1",
1532 | "debug": "^2.2.0",
1533 | "define-property": "^0.2.5",
1534 | "extend-shallow": "^2.0.1",
1535 | "map-cache": "^0.2.2",
1536 | "source-map": "^0.5.6",
1537 | "source-map-resolve": "^0.5.0",
1538 | "use": "^3.1.0"
1539 | },
1540 | "dependencies": {
1541 | "debug": {
1542 | "version": "2.6.9",
1543 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1544 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1545 | "requires": {
1546 | "ms": "2.0.0"
1547 | }
1548 | },
1549 | "define-property": {
1550 | "version": "0.2.5",
1551 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
1552 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1553 | "requires": {
1554 | "is-descriptor": "^0.1.0"
1555 | }
1556 | },
1557 | "extend-shallow": {
1558 | "version": "2.0.1",
1559 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1560 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1561 | "requires": {
1562 | "is-extendable": "^0.1.0"
1563 | }
1564 | },
1565 | "ms": {
1566 | "version": "2.0.0",
1567 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1568 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
1569 | }
1570 | }
1571 | },
1572 | "snapdragon-node": {
1573 | "version": "2.1.1",
1574 | "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
1575 | "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
1576 | "requires": {
1577 | "define-property": "^1.0.0",
1578 | "isobject": "^3.0.0",
1579 | "snapdragon-util": "^3.0.1"
1580 | },
1581 | "dependencies": {
1582 | "define-property": {
1583 | "version": "1.0.0",
1584 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
1585 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
1586 | "requires": {
1587 | "is-descriptor": "^1.0.0"
1588 | }
1589 | },
1590 | "is-accessor-descriptor": {
1591 | "version": "1.0.0",
1592 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
1593 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
1594 | "requires": {
1595 | "kind-of": "^6.0.0"
1596 | }
1597 | },
1598 | "is-data-descriptor": {
1599 | "version": "1.0.0",
1600 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
1601 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
1602 | "requires": {
1603 | "kind-of": "^6.0.0"
1604 | }
1605 | },
1606 | "is-descriptor": {
1607 | "version": "1.0.2",
1608 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
1609 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
1610 | "requires": {
1611 | "is-accessor-descriptor": "^1.0.0",
1612 | "is-data-descriptor": "^1.0.0",
1613 | "kind-of": "^6.0.2"
1614 | }
1615 | }
1616 | }
1617 | },
1618 | "snapdragon-util": {
1619 | "version": "3.0.1",
1620 | "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
1621 | "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
1622 | "requires": {
1623 | "kind-of": "^3.2.0"
1624 | },
1625 | "dependencies": {
1626 | "kind-of": {
1627 | "version": "3.2.2",
1628 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1629 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1630 | "requires": {
1631 | "is-buffer": "^1.1.5"
1632 | }
1633 | }
1634 | }
1635 | },
1636 | "source-map": {
1637 | "version": "0.5.7",
1638 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
1639 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
1640 | },
1641 | "source-map-resolve": {
1642 | "version": "0.5.2",
1643 | "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
1644 | "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
1645 | "requires": {
1646 | "atob": "^2.1.1",
1647 | "decode-uri-component": "^0.2.0",
1648 | "resolve-url": "^0.2.1",
1649 | "source-map-url": "^0.4.0",
1650 | "urix": "^0.1.0"
1651 | }
1652 | },
1653 | "source-map-url": {
1654 | "version": "0.4.0",
1655 | "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
1656 | "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM="
1657 | },
1658 | "spdx-correct": {
1659 | "version": "3.1.0",
1660 | "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
1661 | "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
1662 | "dev": true,
1663 | "requires": {
1664 | "spdx-expression-parse": "^3.0.0",
1665 | "spdx-license-ids": "^3.0.0"
1666 | }
1667 | },
1668 | "spdx-exceptions": {
1669 | "version": "2.2.0",
1670 | "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
1671 | "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==",
1672 | "dev": true
1673 | },
1674 | "spdx-expression-parse": {
1675 | "version": "3.0.0",
1676 | "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
1677 | "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
1678 | "dev": true,
1679 | "requires": {
1680 | "spdx-exceptions": "^2.1.0",
1681 | "spdx-license-ids": "^3.0.0"
1682 | }
1683 | },
1684 | "spdx-license-ids": {
1685 | "version": "3.0.4",
1686 | "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz",
1687 | "integrity": "sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA==",
1688 | "dev": true
1689 | },
1690 | "split-string": {
1691 | "version": "3.1.0",
1692 | "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
1693 | "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
1694 | "requires": {
1695 | "extend-shallow": "^3.0.0"
1696 | }
1697 | },
1698 | "static-extend": {
1699 | "version": "0.1.2",
1700 | "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
1701 | "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
1702 | "requires": {
1703 | "define-property": "^0.2.5",
1704 | "object-copy": "^0.1.0"
1705 | },
1706 | "dependencies": {
1707 | "define-property": {
1708 | "version": "0.2.5",
1709 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
1710 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1711 | "requires": {
1712 | "is-descriptor": "^0.1.0"
1713 | }
1714 | }
1715 | }
1716 | },
1717 | "statuses": {
1718 | "version": "1.4.0",
1719 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
1720 | "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew=="
1721 | },
1722 | "string.prototype.padend": {
1723 | "version": "3.0.0",
1724 | "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz",
1725 | "integrity": "sha1-86rvfBcZ8XDF6rHDK/eA2W4h8vA=",
1726 | "dev": true,
1727 | "requires": {
1728 | "define-properties": "^1.1.2",
1729 | "es-abstract": "^1.4.3",
1730 | "function-bind": "^1.0.2"
1731 | }
1732 | },
1733 | "strip-bom": {
1734 | "version": "3.0.0",
1735 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
1736 | "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
1737 | "dev": true
1738 | },
1739 | "supports-color": {
1740 | "version": "5.5.0",
1741 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
1742 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
1743 | "dev": true,
1744 | "requires": {
1745 | "has-flag": "^3.0.0"
1746 | }
1747 | },
1748 | "to-object-path": {
1749 | "version": "0.3.0",
1750 | "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
1751 | "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
1752 | "requires": {
1753 | "kind-of": "^3.0.2"
1754 | },
1755 | "dependencies": {
1756 | "kind-of": {
1757 | "version": "3.2.2",
1758 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1759 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1760 | "requires": {
1761 | "is-buffer": "^1.1.5"
1762 | }
1763 | }
1764 | }
1765 | },
1766 | "to-regex": {
1767 | "version": "3.0.2",
1768 | "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
1769 | "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
1770 | "requires": {
1771 | "define-property": "^2.0.2",
1772 | "extend-shallow": "^3.0.2",
1773 | "regex-not": "^1.0.2",
1774 | "safe-regex": "^1.1.0"
1775 | }
1776 | },
1777 | "to-regex-range": {
1778 | "version": "2.1.1",
1779 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
1780 | "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
1781 | "requires": {
1782 | "is-number": "^3.0.0",
1783 | "repeat-string": "^1.6.1"
1784 | }
1785 | },
1786 | "type-is": {
1787 | "version": "1.6.18",
1788 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
1789 | "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
1790 | "requires": {
1791 | "media-typer": "0.3.0",
1792 | "mime-types": "~2.1.24"
1793 | }
1794 | },
1795 | "union-value": {
1796 | "version": "1.0.0",
1797 | "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
1798 | "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
1799 | "requires": {
1800 | "arr-union": "^3.1.0",
1801 | "get-value": "^2.0.6",
1802 | "is-extendable": "^0.1.1",
1803 | "set-value": "^0.4.3"
1804 | },
1805 | "dependencies": {
1806 | "extend-shallow": {
1807 | "version": "2.0.1",
1808 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1809 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1810 | "requires": {
1811 | "is-extendable": "^0.1.0"
1812 | }
1813 | },
1814 | "set-value": {
1815 | "version": "0.4.3",
1816 | "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
1817 | "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
1818 | "requires": {
1819 | "extend-shallow": "^2.0.1",
1820 | "is-extendable": "^0.1.1",
1821 | "is-plain-object": "^2.0.1",
1822 | "to-object-path": "^0.3.0"
1823 | }
1824 | }
1825 | }
1826 | },
1827 | "unpipe": {
1828 | "version": "1.0.0",
1829 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
1830 | "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
1831 | },
1832 | "unset-value": {
1833 | "version": "1.0.0",
1834 | "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
1835 | "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
1836 | "requires": {
1837 | "has-value": "^0.3.1",
1838 | "isobject": "^3.0.0"
1839 | },
1840 | "dependencies": {
1841 | "has-value": {
1842 | "version": "0.3.1",
1843 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
1844 | "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
1845 | "requires": {
1846 | "get-value": "^2.0.3",
1847 | "has-values": "^0.1.4",
1848 | "isobject": "^2.0.0"
1849 | },
1850 | "dependencies": {
1851 | "isobject": {
1852 | "version": "2.1.0",
1853 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
1854 | "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
1855 | "requires": {
1856 | "isarray": "1.0.0"
1857 | }
1858 | }
1859 | }
1860 | },
1861 | "has-values": {
1862 | "version": "0.1.4",
1863 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
1864 | "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
1865 | }
1866 | }
1867 | },
1868 | "urix": {
1869 | "version": "0.1.0",
1870 | "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
1871 | "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
1872 | },
1873 | "use": {
1874 | "version": "3.1.1",
1875 | "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
1876 | "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ=="
1877 | },
1878 | "utils-merge": {
1879 | "version": "1.0.1",
1880 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
1881 | "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
1882 | },
1883 | "validate-npm-package-license": {
1884 | "version": "3.0.4",
1885 | "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
1886 | "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
1887 | "dev": true,
1888 | "requires": {
1889 | "spdx-correct": "^3.0.0",
1890 | "spdx-expression-parse": "^3.0.0"
1891 | }
1892 | },
1893 | "vary": {
1894 | "version": "1.1.2",
1895 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
1896 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
1897 | },
1898 | "which": {
1899 | "version": "1.3.1",
1900 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
1901 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
1902 | "dev": true,
1903 | "requires": {
1904 | "isexe": "^2.0.0"
1905 | }
1906 | }
1907 | }
1908 | }
1909 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "nextjs-cra",
3 | "version": "1.0.0",
4 | "scripts": {
5 | "dev": "node serve.js & run-p dev:cra dev:nextjs",
6 | "dev:cra": "cd cra && npm run dev",
7 | "dev:nextjs": "cd nextjs && npm run dev"
8 | },
9 | "repository": {
10 | "type": "git",
11 | "url": "git+https://github.com/goldenshun/nextjs-cra.git"
12 | },
13 | "author": "Sean Connolly",
14 | "license": "MIT",
15 | "bugs": {
16 | "url": "https://github.com/goldenshun/nextjs-cra/issues"
17 | },
18 | "homepage": "https://github.com/goldenshun/nextjs-cra#readme",
19 | "devDependencies": {
20 | "npm-run-all": "4.1.5"
21 | },
22 | "dependencies": {
23 | "express": "4.16.4",
24 | "http-proxy-middleware": "0.19.1"
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/serve.js:
--------------------------------------------------------------------------------
1 | const express = require('express');
2 | const proxy = require('http-proxy-middleware');
3 | const data = require('./api/data');
4 | const app = express();
5 | const port = 3002;
6 |
7 | app.get('/api/data', data);
8 | app.use(['/nextjs', '/_next'], proxy({
9 | target: 'http://localhost:3001',
10 | pathRewrite: { '^/nextjs': '' }, // e.g. /nextjs/index -> /index
11 | }));
12 | app.use('/', proxy({
13 | target: 'http://localhost:3000',
14 | }))
15 |
16 | app.listen(port, () => console.log(`Listening on port ${port}!`))
--------------------------------------------------------------------------------