From 60041889cd121c02eb55101614914d2d7f177c0c Mon Sep 17 00:00:00 2001 From: "Brady J. Garvin" <bgarvin@cse.unl.edu> Date: Wed, 28 Sep 2022 09:50:13 -0500 Subject: [PATCH] Updated dependencies. --- README.md | 25 + dynamic-programming.code-workspace | 2 +- dynamic-programming/notes.md | 16 +- dynamic-programming/package.json | 58 +- dynamic-programming/public/index.html | 8 +- dynamic-programming/public/logo.png | Bin 0 -> 9806 bytes dynamic-programming/public/manifest.json | 10 +- dynamic-programming/src/app.js | 20 +- dynamic-programming/src/index.js | 10 +- dynamic-programming/src/service-worker.js | 75 - .../src/serviceWorkerRegistration.js | 140 -- eslint-config | 2 +- package-lock.json | 1621 ----------------- package.json | 2 +- stylelint-config | 2 +- 15 files changed, 96 insertions(+), 1895 deletions(-) create mode 100644 README.md create mode 100755 dynamic-programming/public/logo.png delete mode 100644 dynamic-programming/src/service-worker.js delete mode 100644 dynamic-programming/src/serviceWorkerRegistration.js delete mode 100644 package-lock.json diff --git a/README.md b/README.md new file mode 100644 index 0000000..280017c --- /dev/null +++ b/README.md @@ -0,0 +1,25 @@ +# Quick Start + +Recursively clone this repository and `cd` into the root folder: + +``` +$ git clone --recursive git@git.unl.edu:csce-310/dynamic-programming.git +$ cd dynamic-programming +``` + +(If you forget `--recursive` when cloning, you can `cd` into your clone and run +`git submodule update --init --recursive` instead.) + +Install dependencies: + +``` +$ npm install +``` + +And then serve the application locally: + +``` +$ npm start +``` + +When you are done, press control-c to stop the server. diff --git a/dynamic-programming.code-workspace b/dynamic-programming.code-workspace index 25b5c80..3ecdc26 100644 --- a/dynamic-programming.code-workspace +++ b/dynamic-programming.code-workspace @@ -5,7 +5,7 @@ } ], "settings": { - "files.eol": "LF", + "files.eol": "\n", "files.exclude": { "**/node_modules": true }, diff --git a/dynamic-programming/notes.md b/dynamic-programming/notes.md index bc4e267..ead5fd2 100644 --- a/dynamic-programming/notes.md +++ b/dynamic-programming/notes.md @@ -49,11 +49,11 @@ Problem: Subject to an integer weight limit, what choice of items (allowing repe ## DAG -* Vertices (situations): - * … * Edges (actions): * … or * … +* Vertices (situations): + * … * Edge weights: * … * Topological order: @@ -82,6 +82,8 @@ Problem: Subject to an integer weight limit, what choice of items (allowing repe * Item A weighs 3 kg and is worth $10. * Item B weighs 4 kg and is worth $14. + Backpointer + ------------------- Weight (kg) Item Total Value (Back to Weight) ----------- ------ ----------- ---------------- 0 [none] $0 ⊥ @@ -98,7 +100,7 @@ Problem: Subject to an integer weight limit, what choice of items (allowing repe Reversed Path ---- - 10 → (Item …) → … + 10 ← (Item …) ← … -------------------------------------------------------------------------------- @@ -108,10 +110,10 @@ Problem: Wrap a paragraph to a line length, minimizing the sum of the squares of ## DAG -* Vertices (situations): - * … * Edges (actions): * … +* Vertices (situations): + * … * Edge weights: * … * Topological order: @@ -139,6 +141,8 @@ Problem: Wrap a paragraph to a line length, minimizing the sum of the squares of > x x x x xxxx xxxx > 0 1 2 3 4 5 6 + Backpointer + ----------------------------- Index Previous Index Total Penalty ----- -------------- ------------- 0 ⊥ 0 @@ -151,4 +155,4 @@ Problem: Wrap a paragraph to a line length, minimizing the sum of the squares of Reversed Path ---- - 6 → … + 6 ← … diff --git a/dynamic-programming/package.json b/dynamic-programming/package.json index d7c5875..0c36153 100644 --- a/dynamic-programming/package.json +++ b/dynamic-programming/package.json @@ -1,5 +1,5 @@ { - "name": "@unlsoft/dynamic-programming", + "name": "@unlcsce/dynamic-programming", "version": "1.0.0", "description": "Starter code for the class on dynamic programming.", "private": true, @@ -16,43 +16,45 @@ }, "homepage": ".", "dependencies": { - "@reduxjs/toolkit": "^1.6.0", - "@testing-library/jest-dom": "^5.14.1", - "@testing-library/react": "^12.0.0", - "@testing-library/user-event": "^13.1.9", + "@reduxjs/toolkit": "^1.8.3", + "@testing-library/jest-dom": "^5.16.4", + "@testing-library/react": "^13.3.0", + "@testing-library/user-event": "^14.3.0", "classnames": "^2.3.1", "npm-run-all": "^4.1.5", - "react": "^17.0.2", - "react-dom": "^17.0.2", - "react-redux": "^7.2.4", - "react-router-dom": "^5.2.0", - "react-scripts": "^4.0.3", - "workbox-background-sync": "^5.1.3", - "workbox-broadcast-update": "^5.1.3", - "workbox-cacheable-response": "^5.1.3", - "workbox-core": "^5.1.3", - "workbox-expiration": "^5.1.3", - "workbox-google-analytics": "^5.1.3", - "workbox-navigation-preload": "^5.1.3", - "workbox-precaching": "^5.1.3", - "workbox-range-requests": "^5.1.3", - "workbox-routing": "^5.1.3", - "workbox-strategies": "^5.1.3", - "workbox-streams": "^5.1.3" + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-redux": "^8.0.2", + "react-router-dom": "^6.3.0", + "react-scripts": "^5.0.1", + "workbox-background-sync": "^6.5.3", + "workbox-broadcast-update": "^6.5.3", + "workbox-cacheable-response": "^6.5.3", + "workbox-core": "^6.5.3", + "workbox-expiration": "^6.5.3", + "workbox-navigation-preload": "^6.5.3", + "workbox-precaching": "^6.5.3", + "workbox-range-requests": "^6.5.3", + "workbox-routing": "^6.5.3", + "workbox-strategies": "^6.5.3", + "workbox-streams": "^6.5.3" }, "devDependencies": { - "@unlsoft/eslint-config": "file:../eslint-config", - "@unlsoft/stylelint-config": "file:../stylelint-config", - "eslint-plugin-jest-dom": "^3.9.0", - "stylelint": "^13.13.1" + "@unlcsce/eslint-config": "file:../eslint-config", + "@unlcsce/stylelint-config": "file:../stylelint-config", + "eslint-plugin-jest-dom": "^4.0.2", + "stylelint": "^14.9.1" }, "stylelint": { - "extends": "@unlsoft/stylelint-config" + "extends": "@unlcsce/stylelint-config" }, "eslintConfig": { "extends": [ "react-app", - "@unlsoft/eslint-config/react" + "react-app/jest", + "plugin:jest-dom/recommended", + "plugin:testing-library/react", + "@unlcsce/eslint-config/react" ] }, "jest": { diff --git a/dynamic-programming/public/index.html b/dynamic-programming/public/index.html index 8beb0dd..0d5f132 100644 --- a/dynamic-programming/public/index.html +++ b/dynamic-programming/public/index.html @@ -8,10 +8,14 @@ name="description" content="Starter code for the class on dynamic programming." /> - <meta name="theme-color" content="rgba(208 0 0 / 100%)" /> + <meta name="theme-color" content="#d00000" /> + <link rel="icon" href="%PUBLIC_URL%/logo.png" /> <link rel="icon" href="%PUBLIC_URL%/logo.svg" /> + <link rel="apple-touch-icon" href="%PUBLIC_URL%/logo.png" /> <link rel="apple-touch-icon" href="%PUBLIC_URL%/logo.svg" /> - <title>Dynamic Programming in Class</title> + <link rel="apple-touch-startup-image" href="%PUBLIC_URL%/logo.png" /> + <link rel="apple-touch-startup-image" href="%PUBLIC_URL%/logo.svg" /> + <title>Dynamic Programming</title> </head> <body> <noscript>You need to enable JavaScript to run this app.</noscript> diff --git a/dynamic-programming/public/logo.png b/dynamic-programming/public/logo.png new file mode 100755 index 0000000000000000000000000000000000000000..8fdf4626ff909640cbb6fdd996565794bf42a43e GIT binary patch literal 9806 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 WXZ_QLl1c^!1_n=8KbLh*2~7Yd6IXQr literal 0 HcmV?d00001 diff --git a/dynamic-programming/public/manifest.json b/dynamic-programming/public/manifest.json index bba475c..6d94c74 100644 --- a/dynamic-programming/public/manifest.json +++ b/dynamic-programming/public/manifest.json @@ -8,11 +8,17 @@ "type": "image/svg+xml", "sizes": "192x192 512x512", "purpose": "any maskable" + }, + { + "src": "logo.png", + "type": "image/png", + "sizes": "512x512", + "purpose": "any maskable" } ], "start_url": ".", "display": "standalone", "orientation": "portrait", - "theme_color": "rgba(208 0 0 / 100%)", - "background_color": "rgba(255 255 255 / 100%)" + "theme_color": "#d00000", + "background_color": "#ffffff" } diff --git a/dynamic-programming/src/app.js b/dynamic-programming/src/app.js index 89d0b50..bc7df3a 100644 --- a/dynamic-programming/src/app.js +++ b/dynamic-programming/src/app.js @@ -1,17 +1,19 @@ -import { Route } from 'react-router-dom'; +import { Routes, Route } from 'react-router-dom'; import { Solution as KnapsackSolution } from './features/knapsack/solution.js'; import { Solution as WrappingSolution } from './features/wrapping/solution.js'; export function App() { - return ( + const page = <> - <Route exact path={'/'}> - <h1>Knapsack Problem</h1> - <KnapsackSolution /> - <h1>Wrapping Problem</h1> - <WrappingSolution /> - </Route> - </> + <h1>Knapsack Problem</h1> + <KnapsackSolution /> + <h1>Wrapping Problem</h1> + <WrappingSolution /> + </>; + return ( + <Routes> + <Route path={'/*'} element={page} /> + </Routes> ); } diff --git a/dynamic-programming/src/index.js b/dynamic-programming/src/index.js index f507e9f..f13267b 100644 --- a/dynamic-programming/src/index.js +++ b/dynamic-programming/src/index.js @@ -1,14 +1,12 @@ import React from 'react'; -import ReactDOM from 'react-dom'; +import { createRoot } from 'react-dom/client'; import { HashRouter as Router } from 'react-router-dom'; import { App } from './app.js'; import './index.css'; -import * as serviceWorkerRegistration from './serviceWorkerRegistration.js'; - -ReactDOM.render( +createRoot(document.getElementById('root')).render( <React.StrictMode> <Router> <div id="portrait"> @@ -16,8 +14,4 @@ ReactDOM.render( </div> </Router> </React.StrictMode>, - document.getElementById('root'), ); - -// Learn more about service workers: https://cra.link/PWA -serviceWorkerRegistration.register(); diff --git a/dynamic-programming/src/service-worker.js b/dynamic-programming/src/service-worker.js deleted file mode 100644 index 79ca1c0..0000000 --- a/dynamic-programming/src/service-worker.js +++ /dev/null @@ -1,75 +0,0 @@ -/* eslint-disable no-restricted-globals, no-underscore-dangle */ - -// This service worker can be customized! -// See https://developers.google.com/web/tools/workbox/modules -// for the list of available Workbox modules, or add any other -// code you'd like. -// You can also remove this file if you'd prefer not to use a -// service worker, and the Workbox build step will be skipped. - -import { clientsClaim } from 'workbox-core'; -import { ExpirationPlugin } from 'workbox-expiration'; -import { precacheAndRoute, createHandlerBoundToURL } from 'workbox-precaching'; -import { registerRoute } from 'workbox-routing'; -import { StaleWhileRevalidate } from 'workbox-strategies'; - -clientsClaim(); - -// Precache all of the assets generated by your build process. -// Their URLs are injected into the manifest variable below. -// This variable must be present somewhere in your service worker file, -// even if you decide not to use precaching. See https://cra.link/PWA -precacheAndRoute(self.__WB_MANIFEST); - -// Set up App Shell-style routing, so that all navigation requests -// are fulfilled with your index.html shell. Learn more at -// https://developers.google.com/web/fundamentals/architecture/app-shell -const fileExtensionRegexp = new RegExp('/[^/?]+\\.[^/]+$'); -registerRoute( - // Return false to exempt requests from being fulfilled by index.html. - ({ request, url }) => { - // If this isn't a navigation, skip. - if (request.mode !== 'navigate') { - return false; - } // If this is a URL that starts with /_, skip. - - if (url.pathname.startsWith('/_')) { - return false; - } // If this looks like a URL for a resource, because it contains // a file extension, skip. - - if (url.pathname.match(fileExtensionRegexp)) { - return false; - } // Return true to signal that we want to use the handler. - - return true; - }, - createHandlerBoundToURL(`${process.env.PUBLIC_URL}/index.html`), -); - -const MAX_ENTRIES = 50; - -// An example runtime caching route for requests that aren't handled by the -// precache, in this case same-origin .png requests like those from in public/ -registerRoute( - // Add in any other file extensions or routing criteria as needed. - // Customize this strategy as needed, e.g., by changing to CacheFirst. - ({ url }) => url.origin === self.location.origin && url.pathname.endsWith('.png'), - new StaleWhileRevalidate({ - cacheName: 'images', - plugins: [ - // Ensure that once this runtime cache reaches a maximum size the - // least-recently used images are removed. - new ExpirationPlugin({ maxEntries: MAX_ENTRIES }), - ], - }), -); - -// This allows the web app to trigger skipWaiting via -// registration.waiting.postMessage({type: 'SKIP_WAITING'}) -self.addEventListener('message', (event) => { - if (event.data && event.data.type === 'SKIP_WAITING') { - self.skipWaiting(); - } -}); - -// Any other custom service worker logic can go here. diff --git a/dynamic-programming/src/serviceWorkerRegistration.js b/dynamic-programming/src/serviceWorkerRegistration.js deleted file mode 100644 index 0857669..0000000 --- a/dynamic-programming/src/serviceWorkerRegistration.js +++ /dev/null @@ -1,140 +0,0 @@ -/* eslint-disable no-restricted-syntax */ - -// This optional code is used to register a service worker. -// register() is not called by default. - -// This lets the app load faster on subsequent visits in production, and gives -// it offline capabilities. However, it also means that developers (and users) -// will only see deployed updates on subsequent visits to a page, after all the -// existing tabs open on the page have been closed, since previously cached -// resources are updated in the background. - -// To learn more about the benefits of this model and instructions on how to -// opt-in, read https://cra.link/PWA - -const isLocalhost = Boolean( - window.location.hostname === 'localhost' || - // [::1] is the IPv6 localhost address. - window.location.hostname === '[::1]' || - // 127.0.0.0/8 are considered localhost for IPv4. - window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/), -); - -export function register(config) { - if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) { - // The URL constructor is available in all browsers that support SW. - const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href); - if (publicUrl.origin !== window.location.origin) { - // Our service worker won't work if PUBLIC_URL is on a different origin - // from what our page is served on. This might happen if a CDN is used to - // serve assets; see https://github.com/facebook/create-react-app/issues/2374 - return; - } - - window.addEventListener('load', () => { - const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`; - - if (isLocalhost) { - // This is running on localhost. Let's check if a service worker still exists or not. - checkValidServiceWorker(swUrl, config); - - // Add some additional logging to localhost, pointing developers to the - // service worker/PWA documentation. - navigator.serviceWorker.ready.then(() => { - console.log( - 'This web app is being served cache-first by a service worker. To learn more, visit https://cra.link/PWA', - ); - }); - } else { - // Is not localhost. Just register service worker - registerValidSW(swUrl, config); - } - }); - } -} - -function registerValidSW(swUrl, config) { - navigator.serviceWorker - .register(swUrl) - .then((registration) => { - registration.onupdatefound = () => { - const installingWorker = registration.installing; - if (installingWorker === null) { - return; - } - installingWorker.onstatechange = () => { - if (installingWorker.state === 'installed') { - if (navigator.serviceWorker.controller) { - // At this point, the updated precached content has been fetched, - // but the previous service worker will still serve the older - // content until all client tabs are closed. - console.log( - 'New content is available and will be used when all ' + - 'tabs for this page are closed. See https://cra.link/PWA.', - ); - - // Execute callback - if (config && config.onUpdate) { - config.onUpdate(registration); - } - } else { - // At this point, everything has been precached. - // It's the perfect time to display a - // "Content is cached for offline use." message. - console.log('Content is cached for offline use.'); - - // Execute callback - if (config && config.onSuccess) { - config.onSuccess(registration); - } - } - } - }; - }; - }) - .catch((error) => { - console.error('Error during service worker registration:', error); - }); -} - -const NOT_FOUND = 404; - -function checkValidServiceWorker(swUrl, config) { - // Check if the service worker can be found. If it can't reload the page. - fetch(swUrl, { - headers: { 'Service-Worker': 'script' }, - }) - .then((response) => { - // Ensure service worker exists, and that we really are getting a JS file. - const contentType = response.headers.get('content-type'); - if ( - response.status === NOT_FOUND || - (contentType !== null && contentType.indexOf('javascript') === -1) - ) { - // No service worker found. Probably a different app. Reload the page. - navigator.serviceWorker.ready.then((registration) => { - registration.unregister().then(() => { - window.location.reload(); - }); - }); - } else { - // Service worker found. Proceed as normal. - registerValidSW(swUrl, config); - } - }) - .catch(() => { - console.log('No internet connection found. App is running in offline mode.'); - }); -} - -export function unregister() { - if ('serviceWorker' in navigator) { - navigator.serviceWorker.ready - .then((registration) => { - registration.unregister(); - }) - .catch((error) => { - console.error(error.message); - }); - } -} diff --git a/eslint-config b/eslint-config index 24df42f..a85278e 160000 --- a/eslint-config +++ b/eslint-config @@ -1 +1 @@ -Subproject commit 24df42fb655d234b83c93b0fb24d012e4d9ecb58 +Subproject commit a85278e2bd62f637800bc32fa6b372bc2855546e diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 8ffe4af..0000000 --- a/package-lock.json +++ /dev/null @@ -1,1621 +0,0 @@ -{ - "name": "@unlsoft/dynamic-programming-in-class", - "version": "1.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "@unlsoft/dynamic-programming-in-class", - "version": "1.0.0", - "hasInstallScript": true, - "license": "UNLICENSED", - "devDependencies": { - "ghooks": "^2.0.4", - "npm-run-all": "^4.1.5" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/colors": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", - "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=", - "dev": true, - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/commander": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.1.0.tgz", - "integrity": "sha1-0SG7roYNmZKj1Re6lvVliOR8Z4E=", - "dev": true, - "engines": { - "node": ">= 0.6.x" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "dependencies": { - "object-keys": "^1.0.12" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-abstract": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz", - "integrity": "sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "is-callable": "^1.2.3", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.3", - "is-string": "^1.0.6", - "object-inspect": "^1.10.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/findup": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/findup/-/findup-0.1.5.tgz", - "integrity": "sha1-itkpozk7rGJ5V6fl3kYjsGsOLOs=", - "dev": true, - "dependencies": { - "colors": "~0.6.0-1", - "commander": "~2.1.0" - }, - "bin": { - "findup": "bin/findup.js" - }, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ghooks": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/ghooks/-/ghooks-2.0.4.tgz", - "integrity": "sha1-/VDgQP9UiQauQstReToBv+JFZ7k=", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "findup": "0.1.5", - "lodash.clone": "4.5.0", - "manage-path": "2.0.0", - "opt-cli": "1.5.1", - "path-exists": "3.0.0", - "spawn-command": "0.0.2" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", - "dev": true - }, - "node_modules/graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", - "dev": true - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "node_modules/is-bigint": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", - "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", - "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-callable": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", - "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz", - "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", - "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", - "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-regex": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", - "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-string": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", - "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "node_modules/load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/lodash._baseclone": { - "version": "4.5.7", - "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-4.5.7.tgz", - "integrity": "sha1-zkKt4IOE711i+nfDD2GkbmhvhDQ=", - "dev": true - }, - "node_modules/lodash.clone": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", - "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=", - "dev": true - }, - "node_modules/manage-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/manage-path/-/manage-path-2.0.0.tgz", - "integrity": "sha1-9M+EV7km7u4qg7FzUBQUvHbrlZc=", - "dev": true - }, - "node_modules/memorystream": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", - "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", - "dev": true, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/npm-run-all": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", - "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "chalk": "^2.4.1", - "cross-spawn": "^6.0.5", - "memorystream": "^0.3.1", - "minimatch": "^3.0.4", - "pidtree": "^0.3.0", - "read-pkg": "^3.0.0", - "shell-quote": "^1.6.1", - "string.prototype.padend": "^3.0.0" - }, - "bin": { - "npm-run-all": "bin/npm-run-all/index.js", - "run-p": "bin/run-p/index.js", - "run-s": "bin/run-s/index.js" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/object-inspect": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", - "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/opt-cli": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/opt-cli/-/opt-cli-1.5.1.tgz", - "integrity": "sha1-BNtEexPJa5kusxaFJm9O0NlzbcI=", - "dev": true, - "dependencies": { - "commander": "2.9.0", - "lodash.clone": "4.3.2", - "manage-path": "2.0.0", - "spawn-command": "0.0.2-1" - }, - "bin": { - "opt": "bin/index.js" - } - }, - "node_modules/opt-cli/node_modules/commander": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", - "dev": true, - "dependencies": { - "graceful-readlink": ">= 1.0.0" - }, - "engines": { - "node": ">= 0.6.x" - } - }, - "node_modules/opt-cli/node_modules/lodash.clone": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.3.2.tgz", - "integrity": "sha1-5WsXa2gjp93jj38r9Y3n1ZcSAOk=", - "dev": true, - "dependencies": { - "lodash._baseclone": "~4.5.0" - } - }, - "node_modules/opt-cli/node_modules/spawn-command": { - "version": "0.0.2-1", - "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz", - "integrity": "sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=", - "dev": true - }, - "node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/pidtree": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", - "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", - "dev": true, - "bin": { - "pidtree": "bin/pidtree.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "dependencies": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "dev": true, - "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shell-quote": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", - "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", - "dev": true - }, - "node_modules/spawn-command": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz", - "integrity": "sha1-lUThpDygRfhTGqwaSMspva5iM44=", - "dev": true - }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz", - "integrity": "sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ==", - "dev": true - }, - "node_modules/string.prototype.padend": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz", - "integrity": "sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - } - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "colors": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", - "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=", - "dev": true - }, - "commander": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.1.0.tgz", - "integrity": "sha1-0SG7roYNmZKj1Re6lvVliOR8Z4E=", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz", - "integrity": "sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "is-callable": "^1.2.3", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.3", - "is-string": "^1.0.6", - "object-inspect": "^1.10.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "findup": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/findup/-/findup-0.1.5.tgz", - "integrity": "sha1-itkpozk7rGJ5V6fl3kYjsGsOLOs=", - "dev": true, - "requires": { - "colors": "~0.6.0-1", - "commander": "~2.1.0" - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "ghooks": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/ghooks/-/ghooks-2.0.4.tgz", - "integrity": "sha1-/VDgQP9UiQauQstReToBv+JFZ7k=", - "dev": true, - "requires": { - "findup": "0.1.5", - "lodash.clone": "4.5.0", - "manage-path": "2.0.0", - "opt-cli": "1.5.1", - "path-exists": "3.0.0", - "spawn-command": "0.0.2" - } - }, - "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", - "dev": true - }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "dev": true - }, - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-bigint": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", - "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==", - "dev": true - }, - "is-boolean-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", - "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-callable": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", - "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", - "dev": true - }, - "is-core-module": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz", - "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-date-object": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", - "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==", - "dev": true - }, - "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "dev": true - }, - "is-number-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", - "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==", - "dev": true - }, - "is-regex": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", - "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-symbols": "^1.0.2" - } - }, - "is-string": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", - "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==", - "dev": true - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - } - }, - "lodash._baseclone": { - "version": "4.5.7", - "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-4.5.7.tgz", - "integrity": "sha1-zkKt4IOE711i+nfDD2GkbmhvhDQ=", - "dev": true - }, - "lodash.clone": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", - "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=", - "dev": true - }, - "manage-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/manage-path/-/manage-path-2.0.0.tgz", - "integrity": "sha1-9M+EV7km7u4qg7FzUBQUvHbrlZc=", - "dev": true - }, - "memorystream": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", - "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "npm-run-all": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", - "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "chalk": "^2.4.1", - "cross-spawn": "^6.0.5", - "memorystream": "^0.3.1", - "minimatch": "^3.0.4", - "pidtree": "^0.3.0", - "read-pkg": "^3.0.0", - "shell-quote": "^1.6.1", - "string.prototype.padend": "^3.0.0" - } - }, - "object-inspect": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", - "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", - "dev": true - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "opt-cli": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/opt-cli/-/opt-cli-1.5.1.tgz", - "integrity": "sha1-BNtEexPJa5kusxaFJm9O0NlzbcI=", - "dev": true, - "requires": { - "commander": "2.9.0", - "lodash.clone": "4.3.2", - "manage-path": "2.0.0", - "spawn-command": "0.0.2-1" - }, - "dependencies": { - "commander": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", - "dev": true, - "requires": { - "graceful-readlink": ">= 1.0.0" - } - }, - "lodash.clone": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.3.2.tgz", - "integrity": "sha1-5WsXa2gjp93jj38r9Y3n1ZcSAOk=", - "dev": true, - "requires": { - "lodash._baseclone": "~4.5.0" - } - }, - "spawn-command": { - "version": "0.0.2-1", - "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz", - "integrity": "sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=", - "dev": true - } - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pidtree": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", - "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", - "dev": true - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - } - }, - "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "dev": true, - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "shell-quote": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", - "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", - "dev": true - }, - "spawn-command": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz", - "integrity": "sha1-lUThpDygRfhTGqwaSMspva5iM44=", - "dev": true - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz", - "integrity": "sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ==", - "dev": true - }, - "string.prototype.padend": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz", - "integrity": "sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" - } - }, - "string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", - "which-boxed-primitive": "^1.0.2" - } - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - } - } -} diff --git a/package.json b/package.json index 616fa26..c3a4b3c 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "@unlsoft/dynamic-programming-in-class", + "name": "@unlcsce/dynamic-programming-in-class", "version": "1.0.0", "description": "Starter code for the class on dynamic programming.", "private": true, diff --git a/stylelint-config b/stylelint-config index 40b0b09..948fc88 160000 --- a/stylelint-config +++ b/stylelint-config @@ -1 +1 @@ -Subproject commit 40b0b09694d1fa983446ff2768211c23f71f0f78 +Subproject commit 948fc884d068e87763fa0f0c165ca0cd256bf43d -- GitLab