├── .gitignore ├── README.md ├── cypress.json ├── cypress ├── fixtures │ └── example.json ├── integration │ └── spec.js ├── plugins │ └── index.js └── support │ ├── commands.js │ └── index.js ├── package-lock.json ├── package.json ├── postcss.config.js ├── rollup.config.js ├── src ├── client.js ├── components │ ├── Charts │ │ ├── BarChart.svelte │ │ ├── DoughnutChart.svelte │ │ ├── LineChart.svelte │ │ └── PieChart.svelte │ ├── Footer.svelte │ ├── List.svelte │ ├── Navbar.svelte │ ├── NavbarIcons.svelte │ ├── Searchbar.svelte │ ├── Sidebar.svelte │ ├── constant.js │ └── stores.js ├── routes │ ├── _error.svelte │ ├── _layout.svelte │ ├── about │ │ └── index.svelte │ ├── blog │ │ ├── [slug].json.js │ │ ├── [slug].svelte │ │ ├── _posts.js │ │ ├── index.json.js │ │ └── index.svelte │ ├── buttons │ │ └── index.svelte │ ├── index.svelte │ ├── tables │ │ └── index.svelte │ └── typography │ │ └── index.svelte ├── server.js ├── service-worker.js └── template.html ├── static ├── favicon.png ├── global.css ├── great-success.png ├── index.css ├── logo-192.png ├── logo-512.png ├── manifest.json └── tailwind.css └── tailwind.config.js /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | /node_modules/ 3 | /src/node_modules/@sapper/ 4 | yarn-error.log 5 | /cypress/screenshots/ 6 | /__sapper__/ 7 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # sapper-template 2 | 3 | The default [Sapper](https://github.com/sveltejs/sapper) template, available for Rollup and webpack. 4 | 5 | 6 | ## Getting started 7 | 8 | 9 | ### Using `degit` 10 | 11 | [`degit`](https://github.com/Rich-Harris/degit) is a scaffolding tool that lets you create a directory from a branch in a repository. Use either the `rollup` or `webpack` branch in `sapper-template`: 12 | 13 | ```bash 14 | # for Rollup 15 | npx degit "sveltejs/sapper-template#rollup" my-app 16 | # for webpack 17 | npx degit "sveltejs/sapper-template#webpack" my-app 18 | ``` 19 | 20 | 21 | ### Using GitHub templates 22 | 23 | Alternatively, you can use GitHub's template feature with the [sapper-template-rollup](https://github.com/sveltejs/sapper-template-rollup) or [sapper-template-webpack](https://github.com/sveltejs/sapper-template-webpack) repositories. 24 | 25 | 26 | ### Running the project 27 | 28 | However you get the code, you can install dependencies and run the project in development mode with: 29 | 30 | ```bash 31 | cd my-app 32 | npm install # or yarn 33 | npm run dev 34 | ``` 35 | 36 | Open up [localhost:3000](http://localhost:3000) and start clicking around. 37 | 38 | Consult [sapper.svelte.dev](https://sapper.svelte.dev) for help getting started. 39 | 40 | 41 | ## Structure 42 | 43 | Sapper expects to find two directories in the root of your project — `src` and `static`. 44 | 45 | 46 | ### src 47 | 48 | The [src](src) directory contains the entry points for your app — `client.js`, `server.js` and (optionally) a `service-worker.js` — along with a `template.html` file and a `routes` directory. 49 | 50 | 51 | #### src/routes 52 | 53 | This is the heart of your Sapper app. There are two kinds of routes — *pages*, and *server routes*. 54 | 55 | **Pages** are Svelte components written in `.svelte` files. When a user first visits the application, they will be served a server-rendered version of the route in question, plus some JavaScript that 'hydrates' the page and initialises a client-side router. From that point forward, navigating to other pages is handled entirely on the client for a fast, app-like feel. (Sapper will preload and cache the code for these subsequent pages, so that navigation is instantaneous.) 56 | 57 | **Server routes** are modules written in `.js` files, that export functions corresponding to HTTP methods. Each function receives Express `request` and `response` objects as arguments, plus a `next` function. This is useful for creating a JSON API, for example. 58 | 59 | There are three simple rules for naming the files that define your routes: 60 | 61 | * A file called `src/routes/about.svelte` corresponds to the `/about` route. A file called `src/routes/blog/[slug].svelte` corresponds to the `/blog/:slug` route, in which case `params.slug` is available to the route 62 | * The file `src/routes/index.svelte` (or `src/routes/index.js`) corresponds to the root of your app. `src/routes/about/index.svelte` is treated the same as `src/routes/about.svelte`. 63 | * Files and directories with a leading underscore do *not* create routes. This allows you to colocate helper modules and components with the routes that depend on them — for example you could have a file called `src/routes/_helpers/datetime.js` and it would *not* create a `/_helpers/datetime` route 64 | 65 | 66 | ### static 67 | 68 | The [static](static) directory contains any static assets that should be available. These are served using [sirv](https://github.com/lukeed/sirv). 69 | 70 | In your [service-worker.js](src/service-worker.js) file, you can import these as `files` from the generated manifest... 71 | 72 | ```js 73 | import { files } from '@sapper/service-worker'; 74 | ``` 75 | 76 | ...so that you can cache them (though you can choose not to, for example if you don't want to cache very large files). 77 | 78 | 79 | ## Bundler config 80 | 81 | Sapper uses Rollup or webpack to provide code-splitting and dynamic imports, as well as compiling your Svelte components. With webpack, it also provides hot module reloading. As long as you don't do anything daft, you can edit the configuration files to add whatever plugins you'd like. 82 | 83 | 84 | ## Production mode and deployment 85 | 86 | To start a production version of your app, run `npm run build && npm start`. This will disable live reloading, and activate the appropriate bundler plugins. 87 | 88 | You can deploy your application to any environment that supports Node 8 or above. As an example, to deploy to [Now](https://zeit.co/now), run these commands: 89 | 90 | ```bash 91 | npm install -g now 92 | now 93 | ``` 94 | 95 | 96 | ## Using external components 97 | 98 | When using Svelte components installed from npm, such as [@sveltejs/svelte-virtual-list](https://github.com/sveltejs/svelte-virtual-list), Svelte needs the original component source (rather than any precompiled JavaScript that ships with the component). This allows the component to be rendered server-side, and also keeps your client-side app smaller. 99 | 100 | Because of that, it's essential that the bundler doesn't treat the package as an *external dependency*. You can either modify the `external` option under `server` in [rollup.config.js](rollup.config.js) or the `externals` option in [webpack.config.js](webpack.config.js), or simply install the package to `devDependencies` rather than `dependencies`, which will cause it to get bundled (and therefore compiled) with your app: 101 | 102 | ```bash 103 | npm install -D @sveltejs/svelte-virtual-list 104 | ``` 105 | 106 | 107 | ## Bugs and feedback 108 | 109 | Sapper is in early development, and may have the odd rough edge here and there. Please be vocal over on the [Sapper issue tracker](https://github.com/sveltejs/sapper/issues). 110 | -------------------------------------------------------------------------------- /cypress.json: -------------------------------------------------------------------------------- 1 | { 2 | "baseUrl": "http://localhost:3000", 3 | "video": false 4 | } -------------------------------------------------------------------------------- /cypress/fixtures/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Using fixtures to represent data", 3 | "email": "hello@cypress.io", 4 | "body": "Fixtures are a great way to mock data for responses to routes" 5 | } -------------------------------------------------------------------------------- /cypress/integration/spec.js: -------------------------------------------------------------------------------- 1 | describe('Sapper template app', () => { 2 | beforeEach(() => { 3 | cy.visit('/') 4 | }); 5 | 6 | it('has the correct

', () => { 7 | cy.contains('h1', 'Great success!') 8 | }); 9 | 10 | it('navigates to /about', () => { 11 | cy.get('nav a').contains('about').click(); 12 | cy.url().should('include', '/about'); 13 | }); 14 | 15 | it('navigates to /blog', () => { 16 | cy.get('nav a').contains('blog').click(); 17 | cy.url().should('include', '/blog'); 18 | }); 19 | }); -------------------------------------------------------------------------------- /cypress/plugins/index.js: -------------------------------------------------------------------------------- 1 | // *********************************************************** 2 | // This example plugins/index.js can be used to load plugins 3 | // 4 | // You can change the location of this file or turn off loading 5 | // the plugins file with the 'pluginsFile' configuration option. 6 | // 7 | // You can read more here: 8 | // https://on.cypress.io/plugins-guide 9 | // *********************************************************** 10 | 11 | // This function is called when a project is opened or re-opened (e.g. due to 12 | // the project's config changing) 13 | 14 | module.exports = (on, config) => { 15 | // `on` is used to hook into various events Cypress emits 16 | // `config` is the resolved Cypress config 17 | } 18 | -------------------------------------------------------------------------------- /cypress/support/commands.js: -------------------------------------------------------------------------------- 1 | // *********************************************** 2 | // This example commands.js shows you how to 3 | // create various custom commands and overwrite 4 | // existing commands. 5 | // 6 | // For more comprehensive examples of custom 7 | // commands please read more here: 8 | // https://on.cypress.io/custom-commands 9 | // *********************************************** 10 | // 11 | // 12 | // -- This is a parent command -- 13 | // Cypress.Commands.add("login", (email, password) => { ... }) 14 | // 15 | // 16 | // -- This is a child command -- 17 | // Cypress.Commands.add("drag", { prevSubject: 'element'}, (subject, options) => { ... }) 18 | // 19 | // 20 | // -- This is a dual command -- 21 | // Cypress.Commands.add("dismiss", { prevSubject: 'optional'}, (subject, options) => { ... }) 22 | // 23 | // 24 | // -- This is will overwrite an existing command -- 25 | // Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... }) 26 | -------------------------------------------------------------------------------- /cypress/support/index.js: -------------------------------------------------------------------------------- 1 | // *********************************************************** 2 | // This example support/index.js is processed and 3 | // loaded automatically before your test files. 4 | // 5 | // This is a great place to put global configuration and 6 | // behavior that modifies Cypress. 7 | // 8 | // You can change the location of this file or turn off 9 | // automatically serving support files with the 10 | // 'supportFile' configuration option. 11 | // 12 | // You can read more here: 13 | // https://on.cypress.io/configuration 14 | // *********************************************************** 15 | 16 | // Import commands.js using ES2015 syntax: 17 | import './commands' 18 | 19 | // Alternatively you can use CommonJS syntax: 20 | // require('./commands') 21 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TODO", 3 | "version": "0.0.1", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@babel/code-frame": { 8 | "version": "7.8.3", 9 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", 10 | "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", 11 | "dev": true, 12 | "requires": { 13 | "@babel/highlight": "^7.8.3" 14 | } 15 | }, 16 | "@babel/compat-data": { 17 | "version": "7.8.1", 18 | "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.8.1.tgz", 19 | "integrity": "sha512-Z+6ZOXvyOWYxJ50BwxzdhRnRsGST8Y3jaZgxYig575lTjVSs3KtJnmESwZegg6e2Dn0td1eDhoWlp1wI4BTCPw==", 20 | "dev": true, 21 | "requires": { 22 | "browserslist": "^4.8.2", 23 | "invariant": "^2.2.4", 24 | "semver": "^5.5.0" 25 | } 26 | }, 27 | "@babel/core": { 28 | "version": "7.8.3", 29 | "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.8.3.tgz", 30 | "integrity": "sha512-4XFkf8AwyrEG7Ziu3L2L0Cv+WyY47Tcsp70JFmpftbAA1K7YL/sgE9jh9HyNj08Y/U50ItUchpN0w6HxAoX1rA==", 31 | "dev": true, 32 | "requires": { 33 | "@babel/code-frame": "^7.8.3", 34 | "@babel/generator": "^7.8.3", 35 | "@babel/helpers": "^7.8.3", 36 | "@babel/parser": "^7.8.3", 37 | "@babel/template": "^7.8.3", 38 | "@babel/traverse": "^7.8.3", 39 | "@babel/types": "^7.8.3", 40 | "convert-source-map": "^1.7.0", 41 | "debug": "^4.1.0", 42 | "gensync": "^1.0.0-beta.1", 43 | "json5": "^2.1.0", 44 | "lodash": "^4.17.13", 45 | "resolve": "^1.3.2", 46 | "semver": "^5.4.1", 47 | "source-map": "^0.5.0" 48 | }, 49 | "dependencies": { 50 | "debug": { 51 | "version": "4.1.1", 52 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", 53 | "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", 54 | "dev": true, 55 | "requires": { 56 | "ms": "^2.1.1" 57 | } 58 | }, 59 | "ms": { 60 | "version": "2.1.2", 61 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 62 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 63 | "dev": true 64 | } 65 | } 66 | }, 67 | "@babel/generator": { 68 | "version": "7.8.3", 69 | "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.3.tgz", 70 | "integrity": "sha512-WjoPk8hRpDRqqzRpvaR8/gDUPkrnOOeuT2m8cNICJtZH6mwaCo3v0OKMI7Y6SM1pBtyijnLtAL0HDi41pf41ug==", 71 | "dev": true, 72 | "requires": { 73 | "@babel/types": "^7.8.3", 74 | "jsesc": "^2.5.1", 75 | "lodash": "^4.17.13", 76 | "source-map": "^0.5.0" 77 | } 78 | }, 79 | "@babel/helper-annotate-as-pure": { 80 | "version": "7.8.3", 81 | "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz", 82 | "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==", 83 | "dev": true, 84 | "requires": { 85 | "@babel/types": "^7.8.3" 86 | } 87 | }, 88 | "@babel/helper-builder-binary-assignment-operator-visitor": { 89 | "version": "7.8.3", 90 | "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz", 91 | "integrity": "sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw==", 92 | "dev": true, 93 | "requires": { 94 | "@babel/helper-explode-assignable-expression": "^7.8.3", 95 | "@babel/types": "^7.8.3" 96 | } 97 | }, 98 | "@babel/helper-call-delegate": { 99 | "version": "7.8.3", 100 | "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.8.3.tgz", 101 | "integrity": "sha512-6Q05px0Eb+N4/GTyKPPvnkig7Lylw+QzihMpws9iiZQv7ZImf84ZsZpQH7QoWN4n4tm81SnSzPgHw2qtO0Zf3A==", 102 | "dev": true, 103 | "requires": { 104 | "@babel/helper-hoist-variables": "^7.8.3", 105 | "@babel/traverse": "^7.8.3", 106 | "@babel/types": "^7.8.3" 107 | } 108 | }, 109 | "@babel/helper-compilation-targets": { 110 | "version": "7.8.3", 111 | "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.3.tgz", 112 | "integrity": "sha512-JLylPCsFjhLN+6uBSSh3iYdxKdeO9MNmoY96PE/99d8kyBFaXLORtAVhqN6iHa+wtPeqxKLghDOZry0+Aiw9Tw==", 113 | "dev": true, 114 | "requires": { 115 | "@babel/compat-data": "^7.8.1", 116 | "browserslist": "^4.8.2", 117 | "invariant": "^2.2.4", 118 | "levenary": "^1.1.0", 119 | "semver": "^5.5.0" 120 | } 121 | }, 122 | "@babel/helper-create-regexp-features-plugin": { 123 | "version": "7.8.3", 124 | "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.3.tgz", 125 | "integrity": "sha512-Gcsm1OHCUr9o9TcJln57xhWHtdXbA2pgQ58S0Lxlks0WMGNXuki4+GLfX0p+L2ZkINUGZvfkz8rzoqJQSthI+Q==", 126 | "dev": true, 127 | "requires": { 128 | "@babel/helper-regex": "^7.8.3", 129 | "regexpu-core": "^4.6.0" 130 | } 131 | }, 132 | "@babel/helper-define-map": { 133 | "version": "7.8.3", 134 | "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz", 135 | "integrity": "sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g==", 136 | "dev": true, 137 | "requires": { 138 | "@babel/helper-function-name": "^7.8.3", 139 | "@babel/types": "^7.8.3", 140 | "lodash": "^4.17.13" 141 | } 142 | }, 143 | "@babel/helper-explode-assignable-expression": { 144 | "version": "7.8.3", 145 | "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz", 146 | "integrity": "sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw==", 147 | "dev": true, 148 | "requires": { 149 | "@babel/traverse": "^7.8.3", 150 | "@babel/types": "^7.8.3" 151 | } 152 | }, 153 | "@babel/helper-function-name": { 154 | "version": "7.8.3", 155 | "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", 156 | "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", 157 | "dev": true, 158 | "requires": { 159 | "@babel/helper-get-function-arity": "^7.8.3", 160 | "@babel/template": "^7.8.3", 161 | "@babel/types": "^7.8.3" 162 | } 163 | }, 164 | "@babel/helper-get-function-arity": { 165 | "version": "7.8.3", 166 | "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", 167 | "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", 168 | "dev": true, 169 | "requires": { 170 | "@babel/types": "^7.8.3" 171 | } 172 | }, 173 | "@babel/helper-hoist-variables": { 174 | "version": "7.8.3", 175 | "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz", 176 | "integrity": "sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==", 177 | "dev": true, 178 | "requires": { 179 | "@babel/types": "^7.8.3" 180 | } 181 | }, 182 | "@babel/helper-member-expression-to-functions": { 183 | "version": "7.8.3", 184 | "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz", 185 | "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==", 186 | "dev": true, 187 | "requires": { 188 | "@babel/types": "^7.8.3" 189 | } 190 | }, 191 | "@babel/helper-module-imports": { 192 | "version": "7.8.3", 193 | "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz", 194 | "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==", 195 | "dev": true, 196 | "requires": { 197 | "@babel/types": "^7.8.3" 198 | } 199 | }, 200 | "@babel/helper-module-transforms": { 201 | "version": "7.8.3", 202 | "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.8.3.tgz", 203 | "integrity": "sha512-C7NG6B7vfBa/pwCOshpMbOYUmrYQDfCpVL/JCRu0ek8B5p8kue1+BCXpg2vOYs7w5ACB9GTOBYQ5U6NwrMg+3Q==", 204 | "dev": true, 205 | "requires": { 206 | "@babel/helper-module-imports": "^7.8.3", 207 | "@babel/helper-simple-access": "^7.8.3", 208 | "@babel/helper-split-export-declaration": "^7.8.3", 209 | "@babel/template": "^7.8.3", 210 | "@babel/types": "^7.8.3", 211 | "lodash": "^4.17.13" 212 | } 213 | }, 214 | "@babel/helper-optimise-call-expression": { 215 | "version": "7.8.3", 216 | "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz", 217 | "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==", 218 | "dev": true, 219 | "requires": { 220 | "@babel/types": "^7.8.3" 221 | } 222 | }, 223 | "@babel/helper-plugin-utils": { 224 | "version": "7.8.3", 225 | "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", 226 | "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", 227 | "dev": true 228 | }, 229 | "@babel/helper-regex": { 230 | "version": "7.8.3", 231 | "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz", 232 | "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==", 233 | "dev": true, 234 | "requires": { 235 | "lodash": "^4.17.13" 236 | } 237 | }, 238 | "@babel/helper-remap-async-to-generator": { 239 | "version": "7.8.3", 240 | "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz", 241 | "integrity": "sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA==", 242 | "dev": true, 243 | "requires": { 244 | "@babel/helper-annotate-as-pure": "^7.8.3", 245 | "@babel/helper-wrap-function": "^7.8.3", 246 | "@babel/template": "^7.8.3", 247 | "@babel/traverse": "^7.8.3", 248 | "@babel/types": "^7.8.3" 249 | } 250 | }, 251 | "@babel/helper-replace-supers": { 252 | "version": "7.8.3", 253 | "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.3.tgz", 254 | "integrity": "sha512-xOUssL6ho41U81etpLoT2RTdvdus4VfHamCuAm4AHxGr+0it5fnwoVdwUJ7GFEqCsQYzJUhcbsN9wB9apcYKFA==", 255 | "dev": true, 256 | "requires": { 257 | "@babel/helper-member-expression-to-functions": "^7.8.3", 258 | "@babel/helper-optimise-call-expression": "^7.8.3", 259 | "@babel/traverse": "^7.8.3", 260 | "@babel/types": "^7.8.3" 261 | } 262 | }, 263 | "@babel/helper-simple-access": { 264 | "version": "7.8.3", 265 | "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz", 266 | "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==", 267 | "dev": true, 268 | "requires": { 269 | "@babel/template": "^7.8.3", 270 | "@babel/types": "^7.8.3" 271 | } 272 | }, 273 | "@babel/helper-split-export-declaration": { 274 | "version": "7.8.3", 275 | "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", 276 | "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", 277 | "dev": true, 278 | "requires": { 279 | "@babel/types": "^7.8.3" 280 | } 281 | }, 282 | "@babel/helper-wrap-function": { 283 | "version": "7.8.3", 284 | "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz", 285 | "integrity": "sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ==", 286 | "dev": true, 287 | "requires": { 288 | "@babel/helper-function-name": "^7.8.3", 289 | "@babel/template": "^7.8.3", 290 | "@babel/traverse": "^7.8.3", 291 | "@babel/types": "^7.8.3" 292 | } 293 | }, 294 | "@babel/helpers": { 295 | "version": "7.8.3", 296 | "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.8.3.tgz", 297 | "integrity": "sha512-LmU3q9Pah/XyZU89QvBgGt+BCsTPoQa+73RxAQh8fb8qkDyIfeQnmgs+hvzhTCKTzqOyk7JTkS3MS1S8Mq5yrQ==", 298 | "dev": true, 299 | "requires": { 300 | "@babel/template": "^7.8.3", 301 | "@babel/traverse": "^7.8.3", 302 | "@babel/types": "^7.8.3" 303 | } 304 | }, 305 | "@babel/highlight": { 306 | "version": "7.8.3", 307 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", 308 | "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", 309 | "dev": true, 310 | "requires": { 311 | "chalk": "^2.0.0", 312 | "esutils": "^2.0.2", 313 | "js-tokens": "^4.0.0" 314 | } 315 | }, 316 | "@babel/parser": { 317 | "version": "7.8.3", 318 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.3.tgz", 319 | "integrity": "sha512-/V72F4Yp/qmHaTALizEm9Gf2eQHV3QyTL3K0cNfijwnMnb1L+LDlAubb/ZnSdGAVzVSWakujHYs1I26x66sMeQ==", 320 | "dev": true 321 | }, 322 | "@babel/plugin-proposal-async-generator-functions": { 323 | "version": "7.8.3", 324 | "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz", 325 | "integrity": "sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw==", 326 | "dev": true, 327 | "requires": { 328 | "@babel/helper-plugin-utils": "^7.8.3", 329 | "@babel/helper-remap-async-to-generator": "^7.8.3", 330 | "@babel/plugin-syntax-async-generators": "^7.8.0" 331 | } 332 | }, 333 | "@babel/plugin-proposal-dynamic-import": { 334 | "version": "7.8.3", 335 | "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz", 336 | "integrity": "sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w==", 337 | "dev": true, 338 | "requires": { 339 | "@babel/helper-plugin-utils": "^7.8.3", 340 | "@babel/plugin-syntax-dynamic-import": "^7.8.0" 341 | } 342 | }, 343 | "@babel/plugin-proposal-json-strings": { 344 | "version": "7.8.3", 345 | "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz", 346 | "integrity": "sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q==", 347 | "dev": true, 348 | "requires": { 349 | "@babel/helper-plugin-utils": "^7.8.3", 350 | "@babel/plugin-syntax-json-strings": "^7.8.0" 351 | } 352 | }, 353 | "@babel/plugin-proposal-nullish-coalescing-operator": { 354 | "version": "7.8.3", 355 | "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz", 356 | "integrity": "sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw==", 357 | "dev": true, 358 | "requires": { 359 | "@babel/helper-plugin-utils": "^7.8.3", 360 | "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" 361 | } 362 | }, 363 | "@babel/plugin-proposal-object-rest-spread": { 364 | "version": "7.8.3", 365 | "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.8.3.tgz", 366 | "integrity": "sha512-8qvuPwU/xxUCt78HocNlv0mXXo0wdh9VT1R04WU8HGOfaOob26pF+9P5/lYjN/q7DHOX1bvX60hnhOvuQUJdbA==", 367 | "dev": true, 368 | "requires": { 369 | "@babel/helper-plugin-utils": "^7.8.3", 370 | "@babel/plugin-syntax-object-rest-spread": "^7.8.0" 371 | } 372 | }, 373 | "@babel/plugin-proposal-optional-catch-binding": { 374 | "version": "7.8.3", 375 | "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz", 376 | "integrity": "sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw==", 377 | "dev": true, 378 | "requires": { 379 | "@babel/helper-plugin-utils": "^7.8.3", 380 | "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" 381 | } 382 | }, 383 | "@babel/plugin-proposal-optional-chaining": { 384 | "version": "7.8.3", 385 | "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.8.3.tgz", 386 | "integrity": "sha512-QIoIR9abkVn+seDE3OjA08jWcs3eZ9+wJCKSRgo3WdEU2csFYgdScb+8qHB3+WXsGJD55u+5hWCISI7ejXS+kg==", 387 | "dev": true, 388 | "requires": { 389 | "@babel/helper-plugin-utils": "^7.8.3", 390 | "@babel/plugin-syntax-optional-chaining": "^7.8.0" 391 | } 392 | }, 393 | "@babel/plugin-proposal-unicode-property-regex": { 394 | "version": "7.8.3", 395 | "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.3.tgz", 396 | "integrity": "sha512-1/1/rEZv2XGweRwwSkLpY+s60za9OZ1hJs4YDqFHCw0kYWYwL5IFljVY1MYBL+weT1l9pokDO2uhSTLVxzoHkQ==", 397 | "dev": true, 398 | "requires": { 399 | "@babel/helper-create-regexp-features-plugin": "^7.8.3", 400 | "@babel/helper-plugin-utils": "^7.8.3" 401 | } 402 | }, 403 | "@babel/plugin-syntax-async-generators": { 404 | "version": "7.8.4", 405 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", 406 | "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", 407 | "dev": true, 408 | "requires": { 409 | "@babel/helper-plugin-utils": "^7.8.0" 410 | } 411 | }, 412 | "@babel/plugin-syntax-dynamic-import": { 413 | "version": "7.8.3", 414 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", 415 | "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", 416 | "dev": true, 417 | "requires": { 418 | "@babel/helper-plugin-utils": "^7.8.0" 419 | } 420 | }, 421 | "@babel/plugin-syntax-json-strings": { 422 | "version": "7.8.3", 423 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", 424 | "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", 425 | "dev": true, 426 | "requires": { 427 | "@babel/helper-plugin-utils": "^7.8.0" 428 | } 429 | }, 430 | "@babel/plugin-syntax-nullish-coalescing-operator": { 431 | "version": "7.8.3", 432 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", 433 | "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", 434 | "dev": true, 435 | "requires": { 436 | "@babel/helper-plugin-utils": "^7.8.0" 437 | } 438 | }, 439 | "@babel/plugin-syntax-object-rest-spread": { 440 | "version": "7.8.3", 441 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", 442 | "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", 443 | "dev": true, 444 | "requires": { 445 | "@babel/helper-plugin-utils": "^7.8.0" 446 | } 447 | }, 448 | "@babel/plugin-syntax-optional-catch-binding": { 449 | "version": "7.8.3", 450 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", 451 | "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", 452 | "dev": true, 453 | "requires": { 454 | "@babel/helper-plugin-utils": "^7.8.0" 455 | } 456 | }, 457 | "@babel/plugin-syntax-optional-chaining": { 458 | "version": "7.8.3", 459 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", 460 | "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", 461 | "dev": true, 462 | "requires": { 463 | "@babel/helper-plugin-utils": "^7.8.0" 464 | } 465 | }, 466 | "@babel/plugin-syntax-top-level-await": { 467 | "version": "7.8.3", 468 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz", 469 | "integrity": "sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g==", 470 | "dev": true, 471 | "requires": { 472 | "@babel/helper-plugin-utils": "^7.8.3" 473 | } 474 | }, 475 | "@babel/plugin-transform-arrow-functions": { 476 | "version": "7.8.3", 477 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz", 478 | "integrity": "sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg==", 479 | "dev": true, 480 | "requires": { 481 | "@babel/helper-plugin-utils": "^7.8.3" 482 | } 483 | }, 484 | "@babel/plugin-transform-async-to-generator": { 485 | "version": "7.8.3", 486 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz", 487 | "integrity": "sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ==", 488 | "dev": true, 489 | "requires": { 490 | "@babel/helper-module-imports": "^7.8.3", 491 | "@babel/helper-plugin-utils": "^7.8.3", 492 | "@babel/helper-remap-async-to-generator": "^7.8.3" 493 | } 494 | }, 495 | "@babel/plugin-transform-block-scoped-functions": { 496 | "version": "7.8.3", 497 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz", 498 | "integrity": "sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg==", 499 | "dev": true, 500 | "requires": { 501 | "@babel/helper-plugin-utils": "^7.8.3" 502 | } 503 | }, 504 | "@babel/plugin-transform-block-scoping": { 505 | "version": "7.8.3", 506 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz", 507 | "integrity": "sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w==", 508 | "dev": true, 509 | "requires": { 510 | "@babel/helper-plugin-utils": "^7.8.3", 511 | "lodash": "^4.17.13" 512 | } 513 | }, 514 | "@babel/plugin-transform-classes": { 515 | "version": "7.8.3", 516 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.8.3.tgz", 517 | "integrity": "sha512-SjT0cwFJ+7Rbr1vQsvphAHwUHvSUPmMjMU/0P59G8U2HLFqSa082JO7zkbDNWs9kH/IUqpHI6xWNesGf8haF1w==", 518 | "dev": true, 519 | "requires": { 520 | "@babel/helper-annotate-as-pure": "^7.8.3", 521 | "@babel/helper-define-map": "^7.8.3", 522 | "@babel/helper-function-name": "^7.8.3", 523 | "@babel/helper-optimise-call-expression": "^7.8.3", 524 | "@babel/helper-plugin-utils": "^7.8.3", 525 | "@babel/helper-replace-supers": "^7.8.3", 526 | "@babel/helper-split-export-declaration": "^7.8.3", 527 | "globals": "^11.1.0" 528 | } 529 | }, 530 | "@babel/plugin-transform-computed-properties": { 531 | "version": "7.8.3", 532 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz", 533 | "integrity": "sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA==", 534 | "dev": true, 535 | "requires": { 536 | "@babel/helper-plugin-utils": "^7.8.3" 537 | } 538 | }, 539 | "@babel/plugin-transform-destructuring": { 540 | "version": "7.8.3", 541 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.3.tgz", 542 | "integrity": "sha512-H4X646nCkiEcHZUZaRkhE2XVsoz0J/1x3VVujnn96pSoGCtKPA99ZZA+va+gK+92Zycd6OBKCD8tDb/731bhgQ==", 543 | "dev": true, 544 | "requires": { 545 | "@babel/helper-plugin-utils": "^7.8.3" 546 | } 547 | }, 548 | "@babel/plugin-transform-dotall-regex": { 549 | "version": "7.8.3", 550 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz", 551 | "integrity": "sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw==", 552 | "dev": true, 553 | "requires": { 554 | "@babel/helper-create-regexp-features-plugin": "^7.8.3", 555 | "@babel/helper-plugin-utils": "^7.8.3" 556 | } 557 | }, 558 | "@babel/plugin-transform-duplicate-keys": { 559 | "version": "7.8.3", 560 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz", 561 | "integrity": "sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ==", 562 | "dev": true, 563 | "requires": { 564 | "@babel/helper-plugin-utils": "^7.8.3" 565 | } 566 | }, 567 | "@babel/plugin-transform-exponentiation-operator": { 568 | "version": "7.8.3", 569 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz", 570 | "integrity": "sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ==", 571 | "dev": true, 572 | "requires": { 573 | "@babel/helper-builder-binary-assignment-operator-visitor": "^7.8.3", 574 | "@babel/helper-plugin-utils": "^7.8.3" 575 | } 576 | }, 577 | "@babel/plugin-transform-for-of": { 578 | "version": "7.8.3", 579 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.8.3.tgz", 580 | "integrity": "sha512-ZjXznLNTxhpf4Q5q3x1NsngzGA38t9naWH8Gt+0qYZEJAcvPI9waSStSh56u19Ofjr7QmD0wUsQ8hw8s/p1VnA==", 581 | "dev": true, 582 | "requires": { 583 | "@babel/helper-plugin-utils": "^7.8.3" 584 | } 585 | }, 586 | "@babel/plugin-transform-function-name": { 587 | "version": "7.8.3", 588 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz", 589 | "integrity": "sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ==", 590 | "dev": true, 591 | "requires": { 592 | "@babel/helper-function-name": "^7.8.3", 593 | "@babel/helper-plugin-utils": "^7.8.3" 594 | } 595 | }, 596 | "@babel/plugin-transform-literals": { 597 | "version": "7.8.3", 598 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz", 599 | "integrity": "sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A==", 600 | "dev": true, 601 | "requires": { 602 | "@babel/helper-plugin-utils": "^7.8.3" 603 | } 604 | }, 605 | "@babel/plugin-transform-member-expression-literals": { 606 | "version": "7.8.3", 607 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz", 608 | "integrity": "sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA==", 609 | "dev": true, 610 | "requires": { 611 | "@babel/helper-plugin-utils": "^7.8.3" 612 | } 613 | }, 614 | "@babel/plugin-transform-modules-amd": { 615 | "version": "7.8.3", 616 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.8.3.tgz", 617 | "integrity": "sha512-MadJiU3rLKclzT5kBH4yxdry96odTUwuqrZM+GllFI/VhxfPz+k9MshJM+MwhfkCdxxclSbSBbUGciBngR+kEQ==", 618 | "dev": true, 619 | "requires": { 620 | "@babel/helper-module-transforms": "^7.8.3", 621 | "@babel/helper-plugin-utils": "^7.8.3", 622 | "babel-plugin-dynamic-import-node": "^2.3.0" 623 | } 624 | }, 625 | "@babel/plugin-transform-modules-commonjs": { 626 | "version": "7.8.3", 627 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.8.3.tgz", 628 | "integrity": "sha512-JpdMEfA15HZ/1gNuB9XEDlZM1h/gF/YOH7zaZzQu2xCFRfwc01NXBMHHSTT6hRjlXJJs5x/bfODM3LiCk94Sxg==", 629 | "dev": true, 630 | "requires": { 631 | "@babel/helper-module-transforms": "^7.8.3", 632 | "@babel/helper-plugin-utils": "^7.8.3", 633 | "@babel/helper-simple-access": "^7.8.3", 634 | "babel-plugin-dynamic-import-node": "^2.3.0" 635 | } 636 | }, 637 | "@babel/plugin-transform-modules-systemjs": { 638 | "version": "7.8.3", 639 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.8.3.tgz", 640 | "integrity": "sha512-8cESMCJjmArMYqa9AO5YuMEkE4ds28tMpZcGZB/jl3n0ZzlsxOAi3mC+SKypTfT8gjMupCnd3YiXCkMjj2jfOg==", 641 | "dev": true, 642 | "requires": { 643 | "@babel/helper-hoist-variables": "^7.8.3", 644 | "@babel/helper-module-transforms": "^7.8.3", 645 | "@babel/helper-plugin-utils": "^7.8.3", 646 | "babel-plugin-dynamic-import-node": "^2.3.0" 647 | } 648 | }, 649 | "@babel/plugin-transform-modules-umd": { 650 | "version": "7.8.3", 651 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.8.3.tgz", 652 | "integrity": "sha512-evhTyWhbwbI3/U6dZAnx/ePoV7H6OUG+OjiJFHmhr9FPn0VShjwC2kdxqIuQ/+1P50TMrneGzMeyMTFOjKSnAw==", 653 | "dev": true, 654 | "requires": { 655 | "@babel/helper-module-transforms": "^7.8.3", 656 | "@babel/helper-plugin-utils": "^7.8.3" 657 | } 658 | }, 659 | "@babel/plugin-transform-named-capturing-groups-regex": { 660 | "version": "7.8.3", 661 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz", 662 | "integrity": "sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==", 663 | "dev": true, 664 | "requires": { 665 | "@babel/helper-create-regexp-features-plugin": "^7.8.3" 666 | } 667 | }, 668 | "@babel/plugin-transform-new-target": { 669 | "version": "7.8.3", 670 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz", 671 | "integrity": "sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw==", 672 | "dev": true, 673 | "requires": { 674 | "@babel/helper-plugin-utils": "^7.8.3" 675 | } 676 | }, 677 | "@babel/plugin-transform-object-super": { 678 | "version": "7.8.3", 679 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz", 680 | "integrity": "sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ==", 681 | "dev": true, 682 | "requires": { 683 | "@babel/helper-plugin-utils": "^7.8.3", 684 | "@babel/helper-replace-supers": "^7.8.3" 685 | } 686 | }, 687 | "@babel/plugin-transform-parameters": { 688 | "version": "7.8.3", 689 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.3.tgz", 690 | "integrity": "sha512-/pqngtGb54JwMBZ6S/D3XYylQDFtGjWrnoCF4gXZOUpFV/ujbxnoNGNvDGu6doFWRPBveE72qTx/RRU44j5I/Q==", 691 | "dev": true, 692 | "requires": { 693 | "@babel/helper-call-delegate": "^7.8.3", 694 | "@babel/helper-get-function-arity": "^7.8.3", 695 | "@babel/helper-plugin-utils": "^7.8.3" 696 | } 697 | }, 698 | "@babel/plugin-transform-property-literals": { 699 | "version": "7.8.3", 700 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz", 701 | "integrity": "sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg==", 702 | "dev": true, 703 | "requires": { 704 | "@babel/helper-plugin-utils": "^7.8.3" 705 | } 706 | }, 707 | "@babel/plugin-transform-regenerator": { 708 | "version": "7.8.3", 709 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.3.tgz", 710 | "integrity": "sha512-qt/kcur/FxrQrzFR432FGZznkVAjiyFtCOANjkAKwCbt465L6ZCiUQh2oMYGU3Wo8LRFJxNDFwWn106S5wVUNA==", 711 | "dev": true, 712 | "requires": { 713 | "regenerator-transform": "^0.14.0" 714 | } 715 | }, 716 | "@babel/plugin-transform-reserved-words": { 717 | "version": "7.8.3", 718 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz", 719 | "integrity": "sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A==", 720 | "dev": true, 721 | "requires": { 722 | "@babel/helper-plugin-utils": "^7.8.3" 723 | } 724 | }, 725 | "@babel/plugin-transform-runtime": { 726 | "version": "7.8.3", 727 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.8.3.tgz", 728 | "integrity": "sha512-/vqUt5Yh+cgPZXXjmaG9NT8aVfThKk7G4OqkVhrXqwsC5soMn/qTCxs36rZ2QFhpfTJcjw4SNDIZ4RUb8OL4jQ==", 729 | "dev": true, 730 | "requires": { 731 | "@babel/helper-module-imports": "^7.8.3", 732 | "@babel/helper-plugin-utils": "^7.8.3", 733 | "resolve": "^1.8.1", 734 | "semver": "^5.5.1" 735 | } 736 | }, 737 | "@babel/plugin-transform-shorthand-properties": { 738 | "version": "7.8.3", 739 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz", 740 | "integrity": "sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w==", 741 | "dev": true, 742 | "requires": { 743 | "@babel/helper-plugin-utils": "^7.8.3" 744 | } 745 | }, 746 | "@babel/plugin-transform-spread": { 747 | "version": "7.8.3", 748 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz", 749 | "integrity": "sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g==", 750 | "dev": true, 751 | "requires": { 752 | "@babel/helper-plugin-utils": "^7.8.3" 753 | } 754 | }, 755 | "@babel/plugin-transform-sticky-regex": { 756 | "version": "7.8.3", 757 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz", 758 | "integrity": "sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw==", 759 | "dev": true, 760 | "requires": { 761 | "@babel/helper-plugin-utils": "^7.8.3", 762 | "@babel/helper-regex": "^7.8.3" 763 | } 764 | }, 765 | "@babel/plugin-transform-template-literals": { 766 | "version": "7.8.3", 767 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz", 768 | "integrity": "sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ==", 769 | "dev": true, 770 | "requires": { 771 | "@babel/helper-annotate-as-pure": "^7.8.3", 772 | "@babel/helper-plugin-utils": "^7.8.3" 773 | } 774 | }, 775 | "@babel/plugin-transform-typeof-symbol": { 776 | "version": "7.8.3", 777 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.3.tgz", 778 | "integrity": "sha512-3TrkKd4LPqm4jHs6nPtSDI/SV9Cm5PRJkHLUgTcqRQQTMAZ44ZaAdDZJtvWFSaRcvT0a1rTmJ5ZA5tDKjleF3g==", 779 | "dev": true, 780 | "requires": { 781 | "@babel/helper-plugin-utils": "^7.8.3" 782 | } 783 | }, 784 | "@babel/plugin-transform-unicode-regex": { 785 | "version": "7.8.3", 786 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz", 787 | "integrity": "sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw==", 788 | "dev": true, 789 | "requires": { 790 | "@babel/helper-create-regexp-features-plugin": "^7.8.3", 791 | "@babel/helper-plugin-utils": "^7.8.3" 792 | } 793 | }, 794 | "@babel/preset-env": { 795 | "version": "7.8.3", 796 | "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.8.3.tgz", 797 | "integrity": "sha512-Rs4RPL2KjSLSE2mWAx5/iCH+GC1ikKdxPrhnRS6PfFVaiZeom22VFKN4X8ZthyN61kAaR05tfXTbCvatl9WIQg==", 798 | "dev": true, 799 | "requires": { 800 | "@babel/compat-data": "^7.8.0", 801 | "@babel/helper-compilation-targets": "^7.8.3", 802 | "@babel/helper-module-imports": "^7.8.3", 803 | "@babel/helper-plugin-utils": "^7.8.3", 804 | "@babel/plugin-proposal-async-generator-functions": "^7.8.3", 805 | "@babel/plugin-proposal-dynamic-import": "^7.8.3", 806 | "@babel/plugin-proposal-json-strings": "^7.8.3", 807 | "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3", 808 | "@babel/plugin-proposal-object-rest-spread": "^7.8.3", 809 | "@babel/plugin-proposal-optional-catch-binding": "^7.8.3", 810 | "@babel/plugin-proposal-optional-chaining": "^7.8.3", 811 | "@babel/plugin-proposal-unicode-property-regex": "^7.8.3", 812 | "@babel/plugin-syntax-async-generators": "^7.8.0", 813 | "@babel/plugin-syntax-dynamic-import": "^7.8.0", 814 | "@babel/plugin-syntax-json-strings": "^7.8.0", 815 | "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", 816 | "@babel/plugin-syntax-object-rest-spread": "^7.8.0", 817 | "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", 818 | "@babel/plugin-syntax-optional-chaining": "^7.8.0", 819 | "@babel/plugin-syntax-top-level-await": "^7.8.3", 820 | "@babel/plugin-transform-arrow-functions": "^7.8.3", 821 | "@babel/plugin-transform-async-to-generator": "^7.8.3", 822 | "@babel/plugin-transform-block-scoped-functions": "^7.8.3", 823 | "@babel/plugin-transform-block-scoping": "^7.8.3", 824 | "@babel/plugin-transform-classes": "^7.8.3", 825 | "@babel/plugin-transform-computed-properties": "^7.8.3", 826 | "@babel/plugin-transform-destructuring": "^7.8.3", 827 | "@babel/plugin-transform-dotall-regex": "^7.8.3", 828 | "@babel/plugin-transform-duplicate-keys": "^7.8.3", 829 | "@babel/plugin-transform-exponentiation-operator": "^7.8.3", 830 | "@babel/plugin-transform-for-of": "^7.8.3", 831 | "@babel/plugin-transform-function-name": "^7.8.3", 832 | "@babel/plugin-transform-literals": "^7.8.3", 833 | "@babel/plugin-transform-member-expression-literals": "^7.8.3", 834 | "@babel/plugin-transform-modules-amd": "^7.8.3", 835 | "@babel/plugin-transform-modules-commonjs": "^7.8.3", 836 | "@babel/plugin-transform-modules-systemjs": "^7.8.3", 837 | "@babel/plugin-transform-modules-umd": "^7.8.3", 838 | "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3", 839 | "@babel/plugin-transform-new-target": "^7.8.3", 840 | "@babel/plugin-transform-object-super": "^7.8.3", 841 | "@babel/plugin-transform-parameters": "^7.8.3", 842 | "@babel/plugin-transform-property-literals": "^7.8.3", 843 | "@babel/plugin-transform-regenerator": "^7.8.3", 844 | "@babel/plugin-transform-reserved-words": "^7.8.3", 845 | "@babel/plugin-transform-shorthand-properties": "^7.8.3", 846 | "@babel/plugin-transform-spread": "^7.8.3", 847 | "@babel/plugin-transform-sticky-regex": "^7.8.3", 848 | "@babel/plugin-transform-template-literals": "^7.8.3", 849 | "@babel/plugin-transform-typeof-symbol": "^7.8.3", 850 | "@babel/plugin-transform-unicode-regex": "^7.8.3", 851 | "@babel/types": "^7.8.3", 852 | "browserslist": "^4.8.2", 853 | "core-js-compat": "^3.6.2", 854 | "invariant": "^2.2.2", 855 | "levenary": "^1.1.0", 856 | "semver": "^5.5.0" 857 | } 858 | }, 859 | "@babel/runtime": { 860 | "version": "7.8.3", 861 | "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.3.tgz", 862 | "integrity": "sha512-fVHx1rzEmwB130VTkLnxR+HmxcTjGzH12LYQcFFoBwakMd3aOMD4OsRN7tGG/UOYE2ektgFrS8uACAoRk1CY0w==", 863 | "dev": true, 864 | "requires": { 865 | "regenerator-runtime": "^0.13.2" 866 | } 867 | }, 868 | "@babel/template": { 869 | "version": "7.8.3", 870 | "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.3.tgz", 871 | "integrity": "sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ==", 872 | "dev": true, 873 | "requires": { 874 | "@babel/code-frame": "^7.8.3", 875 | "@babel/parser": "^7.8.3", 876 | "@babel/types": "^7.8.3" 877 | } 878 | }, 879 | "@babel/traverse": { 880 | "version": "7.8.3", 881 | "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.3.tgz", 882 | "integrity": "sha512-we+a2lti+eEImHmEXp7bM9cTxGzxPmBiVJlLVD+FuuQMeeO7RaDbutbgeheDkw+Xe3mCfJHnGOWLswT74m2IPg==", 883 | "dev": true, 884 | "requires": { 885 | "@babel/code-frame": "^7.8.3", 886 | "@babel/generator": "^7.8.3", 887 | "@babel/helper-function-name": "^7.8.3", 888 | "@babel/helper-split-export-declaration": "^7.8.3", 889 | "@babel/parser": "^7.8.3", 890 | "@babel/types": "^7.8.3", 891 | "debug": "^4.1.0", 892 | "globals": "^11.1.0", 893 | "lodash": "^4.17.13" 894 | }, 895 | "dependencies": { 896 | "debug": { 897 | "version": "4.1.1", 898 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", 899 | "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", 900 | "dev": true, 901 | "requires": { 902 | "ms": "^2.1.1" 903 | } 904 | }, 905 | "ms": { 906 | "version": "2.1.2", 907 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 908 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 909 | "dev": true 910 | } 911 | } 912 | }, 913 | "@babel/types": { 914 | "version": "7.8.3", 915 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz", 916 | "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==", 917 | "dev": true, 918 | "requires": { 919 | "esutils": "^2.0.2", 920 | "lodash": "^4.17.13", 921 | "to-fast-properties": "^2.0.0" 922 | } 923 | }, 924 | "@polka/url": { 925 | "version": "1.0.0-next.11", 926 | "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.11.tgz", 927 | "integrity": "sha512-3NsZsJIA/22P3QUyrEDNA2D133H4j224twJrdipXN38dpnIOzAbUDtOwkcJ5pXmn75w7LSQDjA4tO9dm1XlqlA==" 928 | }, 929 | "@rollup/plugin-commonjs": { 930 | "version": "11.0.1", 931 | "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-11.0.1.tgz", 932 | "integrity": "sha512-SaVUoaLDg3KnIXC5IBNIspr1APTYDzk05VaYcI6qz+0XX3ZlSCwAkfAhNSOxfd5GAdcm/63Noi4TowOY9MpcDg==", 933 | "dev": true, 934 | "requires": { 935 | "@rollup/pluginutils": "^3.0.0", 936 | "estree-walker": "^0.6.1", 937 | "is-reference": "^1.1.2", 938 | "magic-string": "^0.25.2", 939 | "resolve": "^1.11.0" 940 | } 941 | }, 942 | "@rollup/plugin-node-resolve": { 943 | "version": "6.1.0", 944 | "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-6.1.0.tgz", 945 | "integrity": "sha512-Cv7PDIvxdE40SWilY5WgZpqfIUEaDxFxs89zCAHjqyRwlTSuql4M5hjIuc5QYJkOH0/vyiyNXKD72O+LhRipGA==", 946 | "dev": true, 947 | "requires": { 948 | "@rollup/pluginutils": "^3.0.0", 949 | "@types/resolve": "0.0.8", 950 | "builtin-modules": "^3.1.0", 951 | "is-module": "^1.0.0", 952 | "resolve": "^1.11.1" 953 | } 954 | }, 955 | "@rollup/plugin-replace": { 956 | "version": "2.3.0", 957 | "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.3.0.tgz", 958 | "integrity": "sha512-rzWAMqXAHC1w3eKpK6LxRqiF4f3qVFaa1sGii6Bp3rluKcwHNOpPt+hWRCmAH6SDEPtbPiLFf0pfNQyHs6Btlg==", 959 | "dev": true, 960 | "requires": { 961 | "magic-string": "^0.25.2", 962 | "rollup-pluginutils": "^2.6.0" 963 | } 964 | }, 965 | "@rollup/pluginutils": { 966 | "version": "3.0.4", 967 | "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.0.4.tgz", 968 | "integrity": "sha512-buc0oeq2zqQu2mpMyvZgAaQvitikYjT/4JYhA4EXwxX8/g0ZGHoGiX+0AwmfhrNqH4oJv67gn80sTZFQ/jL1bw==", 969 | "dev": true, 970 | "requires": { 971 | "estree-walker": "^0.6.1" 972 | } 973 | }, 974 | "@types/estree": { 975 | "version": "0.0.39", 976 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", 977 | "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", 978 | "dev": true 979 | }, 980 | "@types/node": { 981 | "version": "13.1.6", 982 | "resolved": "https://registry.npmjs.org/@types/node/-/node-13.1.6.tgz", 983 | "integrity": "sha512-Jg1F+bmxcpENHP23sVKkNuU3uaxPnsBMW0cLjleiikFKomJQbsn0Cqk2yDvQArqzZN6ABfBkZ0To7pQ8sLdWDg==", 984 | "dev": true 985 | }, 986 | "@types/resolve": { 987 | "version": "0.0.8", 988 | "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz", 989 | "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==", 990 | "dev": true, 991 | "requires": { 992 | "@types/node": "*" 993 | } 994 | }, 995 | "accepts": { 996 | "version": "1.3.7", 997 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", 998 | "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", 999 | "requires": { 1000 | "mime-types": "~2.1.24", 1001 | "negotiator": "0.6.2" 1002 | } 1003 | }, 1004 | "acorn": { 1005 | "version": "7.1.0", 1006 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", 1007 | "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", 1008 | "dev": true 1009 | }, 1010 | "ansi-styles": { 1011 | "version": "3.2.1", 1012 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 1013 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 1014 | "dev": true, 1015 | "requires": { 1016 | "color-convert": "^1.9.0" 1017 | } 1018 | }, 1019 | "babel-plugin-dynamic-import-node": { 1020 | "version": "2.3.0", 1021 | "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", 1022 | "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", 1023 | "dev": true, 1024 | "requires": { 1025 | "object.assign": "^4.1.0" 1026 | } 1027 | }, 1028 | "balanced-match": { 1029 | "version": "1.0.0", 1030 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 1031 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 1032 | "dev": true 1033 | }, 1034 | "brace-expansion": { 1035 | "version": "1.1.11", 1036 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 1037 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 1038 | "dev": true, 1039 | "requires": { 1040 | "balanced-match": "^1.0.0", 1041 | "concat-map": "0.0.1" 1042 | } 1043 | }, 1044 | "browserslist": { 1045 | "version": "4.8.3", 1046 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.3.tgz", 1047 | "integrity": "sha512-iU43cMMknxG1ClEZ2MDKeonKE1CCrFVkQK2AqO2YWFmvIrx4JWrvQ4w4hQez6EpVI8rHTtqh/ruHHDHSOKxvUg==", 1048 | "dev": true, 1049 | "requires": { 1050 | "caniuse-lite": "^1.0.30001017", 1051 | "electron-to-chromium": "^1.3.322", 1052 | "node-releases": "^1.1.44" 1053 | } 1054 | }, 1055 | "buffer-from": { 1056 | "version": "1.1.1", 1057 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", 1058 | "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", 1059 | "dev": true 1060 | }, 1061 | "builtin-modules": { 1062 | "version": "3.1.0", 1063 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz", 1064 | "integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==", 1065 | "dev": true 1066 | }, 1067 | "bytes": { 1068 | "version": "3.0.0", 1069 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", 1070 | "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" 1071 | }, 1072 | "camel-case": { 1073 | "version": "3.0.0", 1074 | "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", 1075 | "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", 1076 | "dev": true, 1077 | "requires": { 1078 | "no-case": "^2.2.0", 1079 | "upper-case": "^1.1.1" 1080 | } 1081 | }, 1082 | "caniuse-lite": { 1083 | "version": "1.0.30001021", 1084 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001021.tgz", 1085 | "integrity": "sha512-wuMhT7/hwkgd8gldgp2jcrUjOU9RXJ4XxGumQeOsUr91l3WwmM68Cpa/ymCnWEDqakwFXhuDQbaKNHXBPgeE9g==", 1086 | "dev": true 1087 | }, 1088 | "chalk": { 1089 | "version": "2.4.2", 1090 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 1091 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 1092 | "dev": true, 1093 | "requires": { 1094 | "ansi-styles": "^3.2.1", 1095 | "escape-string-regexp": "^1.0.5", 1096 | "supports-color": "^5.3.0" 1097 | } 1098 | }, 1099 | "clean-css": { 1100 | "version": "4.2.1", 1101 | "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", 1102 | "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", 1103 | "dev": true, 1104 | "requires": { 1105 | "source-map": "~0.6.0" 1106 | }, 1107 | "dependencies": { 1108 | "source-map": { 1109 | "version": "0.6.1", 1110 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 1111 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 1112 | "dev": true 1113 | } 1114 | } 1115 | }, 1116 | "color-convert": { 1117 | "version": "1.9.3", 1118 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 1119 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 1120 | "dev": true, 1121 | "requires": { 1122 | "color-name": "1.1.3" 1123 | } 1124 | }, 1125 | "color-name": { 1126 | "version": "1.1.3", 1127 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 1128 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 1129 | "dev": true 1130 | }, 1131 | "commander": { 1132 | "version": "2.20.3", 1133 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", 1134 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", 1135 | "dev": true 1136 | }, 1137 | "compressible": { 1138 | "version": "2.0.18", 1139 | "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", 1140 | "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", 1141 | "requires": { 1142 | "mime-db": ">= 1.43.0 < 2" 1143 | } 1144 | }, 1145 | "compression": { 1146 | "version": "1.7.4", 1147 | "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", 1148 | "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", 1149 | "requires": { 1150 | "accepts": "~1.3.5", 1151 | "bytes": "3.0.0", 1152 | "compressible": "~2.0.16", 1153 | "debug": "2.6.9", 1154 | "on-headers": "~1.0.2", 1155 | "safe-buffer": "5.1.2", 1156 | "vary": "~1.1.2" 1157 | } 1158 | }, 1159 | "concat-map": { 1160 | "version": "0.0.1", 1161 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1162 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 1163 | "dev": true 1164 | }, 1165 | "convert-source-map": { 1166 | "version": "1.7.0", 1167 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", 1168 | "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", 1169 | "dev": true, 1170 | "requires": { 1171 | "safe-buffer": "~5.1.1" 1172 | } 1173 | }, 1174 | "core-js-compat": { 1175 | "version": "3.6.4", 1176 | "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.4.tgz", 1177 | "integrity": "sha512-zAa3IZPvsJ0slViBQ2z+vgyyTuhd3MFn1rBQjZSKVEgB0UMYhUkCj9jJUVPgGTGqWvsBVmfnruXgTcNyTlEiSA==", 1178 | "dev": true, 1179 | "requires": { 1180 | "browserslist": "^4.8.3", 1181 | "semver": "7.0.0" 1182 | }, 1183 | "dependencies": { 1184 | "semver": { 1185 | "version": "7.0.0", 1186 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", 1187 | "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", 1188 | "dev": true 1189 | } 1190 | } 1191 | }, 1192 | "cross-spawn": { 1193 | "version": "6.0.5", 1194 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", 1195 | "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", 1196 | "dev": true, 1197 | "requires": { 1198 | "nice-try": "^1.0.4", 1199 | "path-key": "^2.0.1", 1200 | "semver": "^5.5.0", 1201 | "shebang-command": "^1.2.0", 1202 | "which": "^1.2.9" 1203 | } 1204 | }, 1205 | "debug": { 1206 | "version": "2.6.9", 1207 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 1208 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 1209 | "requires": { 1210 | "ms": "2.0.0" 1211 | } 1212 | }, 1213 | "define-properties": { 1214 | "version": "1.1.3", 1215 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", 1216 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", 1217 | "dev": true, 1218 | "requires": { 1219 | "object-keys": "^1.0.12" 1220 | } 1221 | }, 1222 | "electron-to-chromium": { 1223 | "version": "1.3.334", 1224 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.334.tgz", 1225 | "integrity": "sha512-RcjJhpsVaX0X6ntu/WSBlW9HE9pnCgXS9B8mTUObl1aDxaiOa0Lu+NMveIS5IDC+VELzhM32rFJDCC+AApVwcA==", 1226 | "dev": true 1227 | }, 1228 | "error-ex": { 1229 | "version": "1.3.2", 1230 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", 1231 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", 1232 | "dev": true, 1233 | "requires": { 1234 | "is-arrayish": "^0.2.1" 1235 | } 1236 | }, 1237 | "es-abstract": { 1238 | "version": "1.17.1", 1239 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.1.tgz", 1240 | "integrity": "sha512-WmWNHWmm/LDwK8jaeZic/g6sU1ZckM+vvOyCV1qFRhJJ6hzve6DRgthNQB7Lra1ocrw68HexLKYgtdxIPcb3Fg==", 1241 | "dev": true, 1242 | "requires": { 1243 | "es-to-primitive": "^1.2.1", 1244 | "function-bind": "^1.1.1", 1245 | "has": "^1.0.3", 1246 | "has-symbols": "^1.0.1", 1247 | "is-callable": "^1.1.5", 1248 | "is-regex": "^1.0.5", 1249 | "object-inspect": "^1.7.0", 1250 | "object-keys": "^1.1.1", 1251 | "object.assign": "^4.1.0", 1252 | "string.prototype.trimleft": "^2.1.1", 1253 | "string.prototype.trimright": "^2.1.1" 1254 | } 1255 | }, 1256 | "es-to-primitive": { 1257 | "version": "1.2.1", 1258 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", 1259 | "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", 1260 | "dev": true, 1261 | "requires": { 1262 | "is-callable": "^1.1.4", 1263 | "is-date-object": "^1.0.1", 1264 | "is-symbol": "^1.0.2" 1265 | } 1266 | }, 1267 | "escape-string-regexp": { 1268 | "version": "1.0.5", 1269 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 1270 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 1271 | "dev": true 1272 | }, 1273 | "estree-walker": { 1274 | "version": "0.6.1", 1275 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", 1276 | "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", 1277 | "dev": true 1278 | }, 1279 | "esutils": { 1280 | "version": "2.0.3", 1281 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 1282 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 1283 | "dev": true 1284 | }, 1285 | "function-bind": { 1286 | "version": "1.1.1", 1287 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 1288 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 1289 | "dev": true 1290 | }, 1291 | "gensync": { 1292 | "version": "1.0.0-beta.1", 1293 | "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", 1294 | "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", 1295 | "dev": true 1296 | }, 1297 | "globals": { 1298 | "version": "11.12.0", 1299 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", 1300 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", 1301 | "dev": true 1302 | }, 1303 | "graceful-fs": { 1304 | "version": "4.2.3", 1305 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", 1306 | "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", 1307 | "dev": true 1308 | }, 1309 | "has": { 1310 | "version": "1.0.3", 1311 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 1312 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 1313 | "dev": true, 1314 | "requires": { 1315 | "function-bind": "^1.1.1" 1316 | } 1317 | }, 1318 | "has-flag": { 1319 | "version": "3.0.0", 1320 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 1321 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 1322 | "dev": true 1323 | }, 1324 | "has-symbols": { 1325 | "version": "1.0.1", 1326 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", 1327 | "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", 1328 | "dev": true 1329 | }, 1330 | "he": { 1331 | "version": "1.2.0", 1332 | "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", 1333 | "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", 1334 | "dev": true 1335 | }, 1336 | "hosted-git-info": { 1337 | "version": "2.8.5", 1338 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", 1339 | "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==", 1340 | "dev": true 1341 | }, 1342 | "html-minifier": { 1343 | "version": "4.0.0", 1344 | "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz", 1345 | "integrity": "sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==", 1346 | "dev": true, 1347 | "requires": { 1348 | "camel-case": "^3.0.0", 1349 | "clean-css": "^4.2.1", 1350 | "commander": "^2.19.0", 1351 | "he": "^1.2.0", 1352 | "param-case": "^2.1.1", 1353 | "relateurl": "^0.2.7", 1354 | "uglify-js": "^3.5.1" 1355 | } 1356 | }, 1357 | "http-link-header": { 1358 | "version": "1.0.2", 1359 | "resolved": "https://registry.npmjs.org/http-link-header/-/http-link-header-1.0.2.tgz", 1360 | "integrity": "sha512-z6YOZ8ZEnejkcCWlGZzYXNa6i+ZaTfiTg3WhlV/YvnNya3W/RbX1bMVUMTuCrg/DrtTCQxaFCkXCz4FtLpcebg==", 1361 | "dev": true 1362 | }, 1363 | "invariant": { 1364 | "version": "2.2.4", 1365 | "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", 1366 | "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", 1367 | "dev": true, 1368 | "requires": { 1369 | "loose-envify": "^1.0.0" 1370 | } 1371 | }, 1372 | "is-arrayish": { 1373 | "version": "0.2.1", 1374 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 1375 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", 1376 | "dev": true 1377 | }, 1378 | "is-callable": { 1379 | "version": "1.1.5", 1380 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", 1381 | "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", 1382 | "dev": true 1383 | }, 1384 | "is-date-object": { 1385 | "version": "1.0.2", 1386 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", 1387 | "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", 1388 | "dev": true 1389 | }, 1390 | "is-module": { 1391 | "version": "1.0.0", 1392 | "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", 1393 | "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", 1394 | "dev": true 1395 | }, 1396 | "is-reference": { 1397 | "version": "1.1.4", 1398 | "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.4.tgz", 1399 | "integrity": "sha512-uJA/CDPO3Tao3GTrxYn6AwkM4nUPJiGGYu5+cB8qbC7WGFlrKZbiRo7SFKxUAEpFUfiHofWCXBUNhvYJMh+6zw==", 1400 | "dev": true, 1401 | "requires": { 1402 | "@types/estree": "0.0.39" 1403 | } 1404 | }, 1405 | "is-regex": { 1406 | "version": "1.0.5", 1407 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", 1408 | "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", 1409 | "dev": true, 1410 | "requires": { 1411 | "has": "^1.0.3" 1412 | } 1413 | }, 1414 | "is-symbol": { 1415 | "version": "1.0.3", 1416 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", 1417 | "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", 1418 | "dev": true, 1419 | "requires": { 1420 | "has-symbols": "^1.0.1" 1421 | } 1422 | }, 1423 | "isexe": { 1424 | "version": "2.0.0", 1425 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1426 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 1427 | "dev": true 1428 | }, 1429 | "jest-worker": { 1430 | "version": "24.9.0", 1431 | "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", 1432 | "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", 1433 | "dev": true, 1434 | "requires": { 1435 | "merge-stream": "^2.0.0", 1436 | "supports-color": "^6.1.0" 1437 | }, 1438 | "dependencies": { 1439 | "supports-color": { 1440 | "version": "6.1.0", 1441 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", 1442 | "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", 1443 | "dev": true, 1444 | "requires": { 1445 | "has-flag": "^3.0.0" 1446 | } 1447 | } 1448 | } 1449 | }, 1450 | "js-tokens": { 1451 | "version": "4.0.0", 1452 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 1453 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 1454 | "dev": true 1455 | }, 1456 | "jsesc": { 1457 | "version": "2.5.2", 1458 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", 1459 | "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", 1460 | "dev": true 1461 | }, 1462 | "json-parse-better-errors": { 1463 | "version": "1.0.2", 1464 | "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", 1465 | "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", 1466 | "dev": true 1467 | }, 1468 | "json5": { 1469 | "version": "2.1.1", 1470 | "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", 1471 | "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", 1472 | "dev": true, 1473 | "requires": { 1474 | "minimist": "^1.2.0" 1475 | } 1476 | }, 1477 | "leven": { 1478 | "version": "3.1.0", 1479 | "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", 1480 | "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", 1481 | "dev": true 1482 | }, 1483 | "levenary": { 1484 | "version": "1.1.0", 1485 | "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.0.tgz", 1486 | "integrity": "sha512-VHcwhO0UTpUW7rLPN2/OiWJdgA1e9BqEDALhrgCe/F+uUJnep6CoUsTzMeP8Rh0NGr9uKquXxqe7lwLZo509nQ==", 1487 | "dev": true, 1488 | "requires": { 1489 | "leven": "^3.1.0" 1490 | } 1491 | }, 1492 | "load-json-file": { 1493 | "version": "4.0.0", 1494 | "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", 1495 | "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", 1496 | "dev": true, 1497 | "requires": { 1498 | "graceful-fs": "^4.1.2", 1499 | "parse-json": "^4.0.0", 1500 | "pify": "^3.0.0", 1501 | "strip-bom": "^3.0.0" 1502 | } 1503 | }, 1504 | "lodash": { 1505 | "version": "4.17.15", 1506 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", 1507 | "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", 1508 | "dev": true 1509 | }, 1510 | "loose-envify": { 1511 | "version": "1.4.0", 1512 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 1513 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 1514 | "dev": true, 1515 | "requires": { 1516 | "js-tokens": "^3.0.0 || ^4.0.0" 1517 | } 1518 | }, 1519 | "lower-case": { 1520 | "version": "1.1.4", 1521 | "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", 1522 | "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", 1523 | "dev": true 1524 | }, 1525 | "magic-string": { 1526 | "version": "0.25.6", 1527 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.6.tgz", 1528 | "integrity": "sha512-3a5LOMSGoCTH5rbqobC2HuDNRtE2glHZ8J7pK+QZYppyWA36yuNpsX994rIY2nCuyP7CZYy7lQq/X2jygiZ89g==", 1529 | "dev": true, 1530 | "requires": { 1531 | "sourcemap-codec": "^1.4.4" 1532 | } 1533 | }, 1534 | "memorystream": { 1535 | "version": "0.3.1", 1536 | "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", 1537 | "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", 1538 | "dev": true 1539 | }, 1540 | "merge-stream": { 1541 | "version": "2.0.0", 1542 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", 1543 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", 1544 | "dev": true 1545 | }, 1546 | "mime": { 1547 | "version": "2.4.4", 1548 | "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", 1549 | "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==" 1550 | }, 1551 | "mime-db": { 1552 | "version": "1.43.0", 1553 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", 1554 | "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==" 1555 | }, 1556 | "mime-types": { 1557 | "version": "2.1.26", 1558 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", 1559 | "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", 1560 | "requires": { 1561 | "mime-db": "1.43.0" 1562 | } 1563 | }, 1564 | "minimatch": { 1565 | "version": "3.0.4", 1566 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 1567 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 1568 | "dev": true, 1569 | "requires": { 1570 | "brace-expansion": "^1.1.7" 1571 | } 1572 | }, 1573 | "minimist": { 1574 | "version": "1.2.0", 1575 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 1576 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", 1577 | "dev": true 1578 | }, 1579 | "ms": { 1580 | "version": "2.0.0", 1581 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 1582 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 1583 | }, 1584 | "negotiator": { 1585 | "version": "0.6.2", 1586 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", 1587 | "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" 1588 | }, 1589 | "nice-try": { 1590 | "version": "1.0.5", 1591 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", 1592 | "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", 1593 | "dev": true 1594 | }, 1595 | "no-case": { 1596 | "version": "2.3.2", 1597 | "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", 1598 | "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", 1599 | "dev": true, 1600 | "requires": { 1601 | "lower-case": "^1.1.1" 1602 | } 1603 | }, 1604 | "node-releases": { 1605 | "version": "1.1.45", 1606 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.45.tgz", 1607 | "integrity": "sha512-cXvGSfhITKI8qsV116u2FTzH5EWZJfgG7d4cpqwF8I8+1tWpD6AsvvGRKq2onR0DNj1jfqsjkXZsm14JMS7Cyg==", 1608 | "dev": true, 1609 | "requires": { 1610 | "semver": "^6.3.0" 1611 | }, 1612 | "dependencies": { 1613 | "semver": { 1614 | "version": "6.3.0", 1615 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", 1616 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", 1617 | "dev": true 1618 | } 1619 | } 1620 | }, 1621 | "normalize-package-data": { 1622 | "version": "2.5.0", 1623 | "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", 1624 | "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", 1625 | "dev": true, 1626 | "requires": { 1627 | "hosted-git-info": "^2.1.4", 1628 | "resolve": "^1.10.0", 1629 | "semver": "2 || 3 || 4 || 5", 1630 | "validate-npm-package-license": "^3.0.1" 1631 | } 1632 | }, 1633 | "npm-run-all": { 1634 | "version": "4.1.5", 1635 | "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", 1636 | "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", 1637 | "dev": true, 1638 | "requires": { 1639 | "ansi-styles": "^3.2.1", 1640 | "chalk": "^2.4.1", 1641 | "cross-spawn": "^6.0.5", 1642 | "memorystream": "^0.3.1", 1643 | "minimatch": "^3.0.4", 1644 | "pidtree": "^0.3.0", 1645 | "read-pkg": "^3.0.0", 1646 | "shell-quote": "^1.6.1", 1647 | "string.prototype.padend": "^3.0.0" 1648 | } 1649 | }, 1650 | "object-inspect": { 1651 | "version": "1.7.0", 1652 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", 1653 | "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", 1654 | "dev": true 1655 | }, 1656 | "object-keys": { 1657 | "version": "1.1.1", 1658 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", 1659 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", 1660 | "dev": true 1661 | }, 1662 | "object.assign": { 1663 | "version": "4.1.0", 1664 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", 1665 | "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", 1666 | "dev": true, 1667 | "requires": { 1668 | "define-properties": "^1.1.2", 1669 | "function-bind": "^1.1.1", 1670 | "has-symbols": "^1.0.0", 1671 | "object-keys": "^1.0.11" 1672 | } 1673 | }, 1674 | "on-headers": { 1675 | "version": "1.0.2", 1676 | "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", 1677 | "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" 1678 | }, 1679 | "param-case": { 1680 | "version": "2.1.1", 1681 | "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", 1682 | "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", 1683 | "dev": true, 1684 | "requires": { 1685 | "no-case": "^2.2.0" 1686 | } 1687 | }, 1688 | "parse-json": { 1689 | "version": "4.0.0", 1690 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", 1691 | "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", 1692 | "dev": true, 1693 | "requires": { 1694 | "error-ex": "^1.3.1", 1695 | "json-parse-better-errors": "^1.0.1" 1696 | } 1697 | }, 1698 | "path-key": { 1699 | "version": "2.0.1", 1700 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", 1701 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", 1702 | "dev": true 1703 | }, 1704 | "path-parse": { 1705 | "version": "1.0.6", 1706 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", 1707 | "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", 1708 | "dev": true 1709 | }, 1710 | "path-type": { 1711 | "version": "3.0.0", 1712 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", 1713 | "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", 1714 | "dev": true, 1715 | "requires": { 1716 | "pify": "^3.0.0" 1717 | } 1718 | }, 1719 | "pidtree": { 1720 | "version": "0.3.0", 1721 | "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.0.tgz", 1722 | "integrity": "sha512-9CT4NFlDcosssyg8KVFltgokyKZIFjoBxw8CTGy+5F38Y1eQWrt8tRayiUOXE+zVKQnYu5BR8JjCtvK3BcnBhg==", 1723 | "dev": true 1724 | }, 1725 | "pify": { 1726 | "version": "3.0.0", 1727 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", 1728 | "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", 1729 | "dev": true 1730 | }, 1731 | "polka": { 1732 | "version": "1.0.0-next.11", 1733 | "resolved": "https://registry.npmjs.org/polka/-/polka-1.0.0-next.11.tgz", 1734 | "integrity": "sha512-M/HBkS6ILksrDq7uvktCTev81OzuLwNtpxMyYdUhxLKQlMWdsu789XMotQU+p8JY8CM8vx8ML0HudyWjRus/lg==", 1735 | "requires": { 1736 | "@polka/url": "^1.0.0-next.11", 1737 | "trouter": "^3.1.0" 1738 | } 1739 | }, 1740 | "private": { 1741 | "version": "0.1.8", 1742 | "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", 1743 | "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", 1744 | "dev": true 1745 | }, 1746 | "read-pkg": { 1747 | "version": "3.0.0", 1748 | "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", 1749 | "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", 1750 | "dev": true, 1751 | "requires": { 1752 | "load-json-file": "^4.0.0", 1753 | "normalize-package-data": "^2.3.2", 1754 | "path-type": "^3.0.0" 1755 | } 1756 | }, 1757 | "regenerate": { 1758 | "version": "1.4.0", 1759 | "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", 1760 | "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", 1761 | "dev": true 1762 | }, 1763 | "regenerate-unicode-properties": { 1764 | "version": "8.1.0", 1765 | "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", 1766 | "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", 1767 | "dev": true, 1768 | "requires": { 1769 | "regenerate": "^1.4.0" 1770 | } 1771 | }, 1772 | "regenerator-runtime": { 1773 | "version": "0.13.3", 1774 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", 1775 | "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==", 1776 | "dev": true 1777 | }, 1778 | "regenerator-transform": { 1779 | "version": "0.14.1", 1780 | "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz", 1781 | "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==", 1782 | "dev": true, 1783 | "requires": { 1784 | "private": "^0.1.6" 1785 | } 1786 | }, 1787 | "regexparam": { 1788 | "version": "1.3.0", 1789 | "resolved": "https://registry.npmjs.org/regexparam/-/regexparam-1.3.0.tgz", 1790 | "integrity": "sha512-6IQpFBv6e5vz1QAqI+V4k8P2e/3gRrqfCJ9FI+O1FLQTO+Uz6RXZEZOPmTJ6hlGj7gkERzY5BRCv09whKP96/g==" 1791 | }, 1792 | "regexpu-core": { 1793 | "version": "4.6.0", 1794 | "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz", 1795 | "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==", 1796 | "dev": true, 1797 | "requires": { 1798 | "regenerate": "^1.4.0", 1799 | "regenerate-unicode-properties": "^8.1.0", 1800 | "regjsgen": "^0.5.0", 1801 | "regjsparser": "^0.6.0", 1802 | "unicode-match-property-ecmascript": "^1.0.4", 1803 | "unicode-match-property-value-ecmascript": "^1.1.0" 1804 | } 1805 | }, 1806 | "regjsgen": { 1807 | "version": "0.5.1", 1808 | "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz", 1809 | "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==", 1810 | "dev": true 1811 | }, 1812 | "regjsparser": { 1813 | "version": "0.6.2", 1814 | "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.2.tgz", 1815 | "integrity": "sha512-E9ghzUtoLwDekPT0DYCp+c4h+bvuUpe6rRHCTYn6eGoqj1LgKXxT6I0Il4WbjhQkOghzi/V+y03bPKvbllL93Q==", 1816 | "dev": true, 1817 | "requires": { 1818 | "jsesc": "~0.5.0" 1819 | }, 1820 | "dependencies": { 1821 | "jsesc": { 1822 | "version": "0.5.0", 1823 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", 1824 | "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", 1825 | "dev": true 1826 | } 1827 | } 1828 | }, 1829 | "relateurl": { 1830 | "version": "0.2.7", 1831 | "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", 1832 | "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", 1833 | "dev": true 1834 | }, 1835 | "require-relative": { 1836 | "version": "0.8.7", 1837 | "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz", 1838 | "integrity": "sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=", 1839 | "dev": true 1840 | }, 1841 | "resolve": { 1842 | "version": "1.14.2", 1843 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.14.2.tgz", 1844 | "integrity": "sha512-EjlOBLBO1kxsUxsKjLt7TAECyKW6fOh1VRkykQkKGzcBbjjPIxBqGh0jf7GJ3k/f5mxMqW3htMD3WdTUVtW8HQ==", 1845 | "dev": true, 1846 | "requires": { 1847 | "path-parse": "^1.0.6" 1848 | } 1849 | }, 1850 | "rollup": { 1851 | "version": "1.29.0", 1852 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.29.0.tgz", 1853 | "integrity": "sha512-V63Iz0dSdI5qPPN5HmCN6OBRzBFhMqNWcvwgq863JtSCTU6Vdvqq6S2fYle/dSCyoPrBkIP3EIr1RVs3HTRqqg==", 1854 | "dev": true, 1855 | "requires": { 1856 | "@types/estree": "*", 1857 | "@types/node": "*", 1858 | "acorn": "^7.1.0" 1859 | } 1860 | }, 1861 | "rollup-plugin-babel": { 1862 | "version": "4.3.3", 1863 | "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.3.3.tgz", 1864 | "integrity": "sha512-tKzWOCmIJD/6aKNz0H1GMM+lW1q9KyFubbWzGiOG540zxPPifnEAHTZwjo0g991Y+DyOZcLqBgqOdqazYE5fkw==", 1865 | "dev": true, 1866 | "requires": { 1867 | "@babel/helper-module-imports": "^7.0.0", 1868 | "rollup-pluginutils": "^2.8.1" 1869 | } 1870 | }, 1871 | "rollup-plugin-svelte": { 1872 | "version": "5.1.1", 1873 | "resolved": "https://registry.npmjs.org/rollup-plugin-svelte/-/rollup-plugin-svelte-5.1.1.tgz", 1874 | "integrity": "sha512-wP3CnKHjR4fZUgNm5Iey7eItnxwnH/nAw568WJ8dpMSchBxxZ/DmKSx8e6h8k/B6SwG1wfGvWehadFJHcuFFSw==", 1875 | "dev": true, 1876 | "requires": { 1877 | "require-relative": "^0.8.7", 1878 | "rollup-pluginutils": "^2.3.3", 1879 | "sourcemap-codec": "^1.4.4" 1880 | } 1881 | }, 1882 | "rollup-plugin-terser": { 1883 | "version": "4.0.4", 1884 | "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-4.0.4.tgz", 1885 | "integrity": "sha512-wPANT5XKVJJ8RDUN0+wIr7UPd0lIXBo4UdJ59VmlPCtlFsE20AM+14pe+tk7YunCsWEiuzkDBY3QIkSCjtrPXg==", 1886 | "dev": true, 1887 | "requires": { 1888 | "@babel/code-frame": "^7.0.0", 1889 | "jest-worker": "^24.0.0", 1890 | "serialize-javascript": "^1.6.1", 1891 | "terser": "^3.14.1" 1892 | } 1893 | }, 1894 | "rollup-pluginutils": { 1895 | "version": "2.8.2", 1896 | "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", 1897 | "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", 1898 | "dev": true, 1899 | "requires": { 1900 | "estree-walker": "^0.6.1" 1901 | } 1902 | }, 1903 | "safe-buffer": { 1904 | "version": "5.1.2", 1905 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 1906 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 1907 | }, 1908 | "sapper": { 1909 | "version": "0.27.9", 1910 | "resolved": "https://registry.npmjs.org/sapper/-/sapper-0.27.9.tgz", 1911 | "integrity": "sha512-v3b3UgGeVhFUOpA5IZgdThdr4nZ6aMH6IxDsg1Yu2UWHWEV9vW/Zehch9M/xqJNp/x9n9X+S9syJg1s5QOOmFA==", 1912 | "dev": true, 1913 | "requires": { 1914 | "html-minifier": "^4.0.0", 1915 | "http-link-header": "^1.0.2", 1916 | "shimport": "^1.0.1", 1917 | "sourcemap-codec": "^1.4.6", 1918 | "string-hash": "^1.1.3" 1919 | } 1920 | }, 1921 | "semver": { 1922 | "version": "5.7.1", 1923 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 1924 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", 1925 | "dev": true 1926 | }, 1927 | "serialize-javascript": { 1928 | "version": "1.9.1", 1929 | "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", 1930 | "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==", 1931 | "dev": true 1932 | }, 1933 | "shebang-command": { 1934 | "version": "1.2.0", 1935 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 1936 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 1937 | "dev": true, 1938 | "requires": { 1939 | "shebang-regex": "^1.0.0" 1940 | } 1941 | }, 1942 | "shebang-regex": { 1943 | "version": "1.0.0", 1944 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 1945 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", 1946 | "dev": true 1947 | }, 1948 | "shell-quote": { 1949 | "version": "1.7.2", 1950 | "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", 1951 | "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", 1952 | "dev": true 1953 | }, 1954 | "shimport": { 1955 | "version": "1.0.1", 1956 | "resolved": "https://registry.npmjs.org/shimport/-/shimport-1.0.1.tgz", 1957 | "integrity": "sha512-Imf4gH+8WQmT1GvxS/x79qpmfnE6m50hyN1ucatX+7oMCgmaF8obZWCPIzSUe6+P+YmXM46lkP2pxiV2/lt9Og==", 1958 | "dev": true 1959 | }, 1960 | "sirv": { 1961 | "version": "0.4.2", 1962 | "resolved": "https://registry.npmjs.org/sirv/-/sirv-0.4.2.tgz", 1963 | "integrity": "sha512-dQbZnsMaIiTQPZmbGmktz+c74zt/hyrJEB4tdp2Jj0RNv9J6B/OWR5RyrZEvIn9fyh9Zlg2OlE2XzKz6wMKGAw==", 1964 | "requires": { 1965 | "@polka/url": "^0.5.0", 1966 | "mime": "^2.3.1" 1967 | }, 1968 | "dependencies": { 1969 | "@polka/url": { 1970 | "version": "0.5.0", 1971 | "resolved": "https://registry.npmjs.org/@polka/url/-/url-0.5.0.tgz", 1972 | "integrity": "sha512-oZLYFEAzUKyi3SKnXvj32ZCEGH6RDnao7COuCVhDydMS9NrCSVXhM79VaKyP5+Zc33m0QXEd2DN3UkU7OsHcfw==" 1973 | } 1974 | } 1975 | }, 1976 | "source-map": { 1977 | "version": "0.5.7", 1978 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 1979 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 1980 | "dev": true 1981 | }, 1982 | "source-map-support": { 1983 | "version": "0.5.16", 1984 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", 1985 | "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", 1986 | "dev": true, 1987 | "requires": { 1988 | "buffer-from": "^1.0.0", 1989 | "source-map": "^0.6.0" 1990 | }, 1991 | "dependencies": { 1992 | "source-map": { 1993 | "version": "0.6.1", 1994 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 1995 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 1996 | "dev": true 1997 | } 1998 | } 1999 | }, 2000 | "sourcemap-codec": { 2001 | "version": "1.4.7", 2002 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.7.tgz", 2003 | "integrity": "sha512-RuN23NzhAOuUtaivhcrjXx1OPXsFeH9m5sI373/U7+tGLKihjUyboZAzOadytMjnqHp1f45RGk1IzDKCpDpSYA==", 2004 | "dev": true 2005 | }, 2006 | "spdx-correct": { 2007 | "version": "3.1.0", 2008 | "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", 2009 | "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", 2010 | "dev": true, 2011 | "requires": { 2012 | "spdx-expression-parse": "^3.0.0", 2013 | "spdx-license-ids": "^3.0.0" 2014 | } 2015 | }, 2016 | "spdx-exceptions": { 2017 | "version": "2.2.0", 2018 | "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", 2019 | "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", 2020 | "dev": true 2021 | }, 2022 | "spdx-expression-parse": { 2023 | "version": "3.0.0", 2024 | "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", 2025 | "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", 2026 | "dev": true, 2027 | "requires": { 2028 | "spdx-exceptions": "^2.1.0", 2029 | "spdx-license-ids": "^3.0.0" 2030 | } 2031 | }, 2032 | "spdx-license-ids": { 2033 | "version": "3.0.5", 2034 | "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", 2035 | "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", 2036 | "dev": true 2037 | }, 2038 | "string-hash": { 2039 | "version": "1.1.3", 2040 | "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz", 2041 | "integrity": "sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=", 2042 | "dev": true 2043 | }, 2044 | "string.prototype.padend": { 2045 | "version": "3.1.0", 2046 | "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.0.tgz", 2047 | "integrity": "sha512-3aIv8Ffdp8EZj8iLwREGpQaUZiPyrWrpzMBHvkiSW/bK/EGve9np07Vwy7IJ5waydpGXzQZu/F8Oze2/IWkBaA==", 2048 | "dev": true, 2049 | "requires": { 2050 | "define-properties": "^1.1.3", 2051 | "es-abstract": "^1.17.0-next.1" 2052 | } 2053 | }, 2054 | "string.prototype.trimleft": { 2055 | "version": "2.1.1", 2056 | "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", 2057 | "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", 2058 | "dev": true, 2059 | "requires": { 2060 | "define-properties": "^1.1.3", 2061 | "function-bind": "^1.1.1" 2062 | } 2063 | }, 2064 | "string.prototype.trimright": { 2065 | "version": "2.1.1", 2066 | "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", 2067 | "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", 2068 | "dev": true, 2069 | "requires": { 2070 | "define-properties": "^1.1.3", 2071 | "function-bind": "^1.1.1" 2072 | } 2073 | }, 2074 | "strip-bom": { 2075 | "version": "3.0.0", 2076 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", 2077 | "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", 2078 | "dev": true 2079 | }, 2080 | "supports-color": { 2081 | "version": "5.5.0", 2082 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 2083 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 2084 | "dev": true, 2085 | "requires": { 2086 | "has-flag": "^3.0.0" 2087 | } 2088 | }, 2089 | "svelte": { 2090 | "version": "3.17.1", 2091 | "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.17.1.tgz", 2092 | "integrity": "sha512-IjX6agpbu01VHBaL/12oFem+ufPRyZNLkg4ay7lJl7IbUB/er90kdIsWCNZX44XaniSEhG/0Hja4GsrtufTwCw==", 2093 | "dev": true 2094 | }, 2095 | "terser": { 2096 | "version": "3.17.0", 2097 | "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", 2098 | "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==", 2099 | "dev": true, 2100 | "requires": { 2101 | "commander": "^2.19.0", 2102 | "source-map": "~0.6.1", 2103 | "source-map-support": "~0.5.10" 2104 | }, 2105 | "dependencies": { 2106 | "source-map": { 2107 | "version": "0.6.1", 2108 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 2109 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 2110 | "dev": true 2111 | } 2112 | } 2113 | }, 2114 | "to-fast-properties": { 2115 | "version": "2.0.0", 2116 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", 2117 | "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", 2118 | "dev": true 2119 | }, 2120 | "trouter": { 2121 | "version": "3.1.0", 2122 | "resolved": "https://registry.npmjs.org/trouter/-/trouter-3.1.0.tgz", 2123 | "integrity": "sha512-3Swwu638QQWOefHLss9cdyLi5/9BKYmXZEXpH0KOFfB9YZwUAwHbDAcoYxaHfqAeFvbi/LqAK7rGkhCr1v1BJA==", 2124 | "requires": { 2125 | "regexparam": "^1.3.0" 2126 | } 2127 | }, 2128 | "uglify-js": { 2129 | "version": "3.7.5", 2130 | "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.7.5.tgz", 2131 | "integrity": "sha512-GFZ3EXRptKGvb/C1Sq6nO1iI7AGcjyqmIyOw0DrD0675e+NNbGO72xmMM2iEBdFbxaTLo70NbjM/Wy54uZIlsg==", 2132 | "dev": true, 2133 | "requires": { 2134 | "commander": "~2.20.3", 2135 | "source-map": "~0.6.1" 2136 | }, 2137 | "dependencies": { 2138 | "source-map": { 2139 | "version": "0.6.1", 2140 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 2141 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 2142 | "dev": true 2143 | } 2144 | } 2145 | }, 2146 | "unicode-canonical-property-names-ecmascript": { 2147 | "version": "1.0.4", 2148 | "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", 2149 | "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", 2150 | "dev": true 2151 | }, 2152 | "unicode-match-property-ecmascript": { 2153 | "version": "1.0.4", 2154 | "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", 2155 | "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", 2156 | "dev": true, 2157 | "requires": { 2158 | "unicode-canonical-property-names-ecmascript": "^1.0.4", 2159 | "unicode-property-aliases-ecmascript": "^1.0.4" 2160 | } 2161 | }, 2162 | "unicode-match-property-value-ecmascript": { 2163 | "version": "1.1.0", 2164 | "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", 2165 | "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==", 2166 | "dev": true 2167 | }, 2168 | "unicode-property-aliases-ecmascript": { 2169 | "version": "1.0.5", 2170 | "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", 2171 | "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==", 2172 | "dev": true 2173 | }, 2174 | "upper-case": { 2175 | "version": "1.1.3", 2176 | "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", 2177 | "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", 2178 | "dev": true 2179 | }, 2180 | "validate-npm-package-license": { 2181 | "version": "3.0.4", 2182 | "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", 2183 | "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", 2184 | "dev": true, 2185 | "requires": { 2186 | "spdx-correct": "^3.0.0", 2187 | "spdx-expression-parse": "^3.0.0" 2188 | } 2189 | }, 2190 | "vary": { 2191 | "version": "1.1.2", 2192 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", 2193 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" 2194 | }, 2195 | "which": { 2196 | "version": "1.3.1", 2197 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", 2198 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", 2199 | "dev": true, 2200 | "requires": { 2201 | "isexe": "^2.0.0" 2202 | } 2203 | } 2204 | } 2205 | } 2206 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TODO", 3 | "description": "TODO", 4 | "version": "0.0.1", 5 | "scripts": { 6 | "build:tailwind": "NODE_ENV=production postcss static/tailwind.css -o static/index.css", 7 | "build": "npm run build:tailwind && sapper build --legacy", 8 | "cy:open": "cypress open", 9 | "cy:run": "cypress run", 10 | "dev": "sapper dev", 11 | "export": "sapper export --legacy", 12 | "start": "node __sapper__/build", 13 | "test": "run-p --race dev cy:run", 14 | "watch:tailwind": "postcss static/tailwind.css -o static/index.css -w" 15 | }, 16 | "dependencies": { 17 | "@fullhuman/postcss-purgecss": "^1.3.0", 18 | "chart.js": "^2.9.3", 19 | "compression": "^1.7.1", 20 | "polka": "next", 21 | "sirv": "^0.4.0", 22 | "svelte-table": "^0.1.6" 23 | }, 24 | "devDependencies": { 25 | "@babel/core": "^7.0.0", 26 | "@babel/plugin-syntax-dynamic-import": "^7.0.0", 27 | "@babel/plugin-transform-runtime": "^7.0.0", 28 | "@babel/preset-env": "^7.0.0", 29 | "@babel/runtime": "^7.0.0", 30 | "@rollup/plugin-commonjs": "^11.0.0", 31 | "@rollup/plugin-node-resolve": "^6.0.0", 32 | "@rollup/plugin-replace": "^2.2.0", 33 | "npm-run-all": "^4.1.5", 34 | "postcss-cli": "^7.1.0", 35 | "rollup": "^1.20.0", 36 | "rollup-plugin-babel": "^4.0.2", 37 | "rollup-plugin-svelte": "^5.0.1", 38 | "rollup-plugin-terser": "^4.0.4", 39 | "sapper": "^0.27.0", 40 | "svelte": "^3.0.0", 41 | "tailwindcss": "^1.1.4" 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | // only needed if you want to purge 2 | const purgecss = require('@fullhuman/postcss-purgecss')({ 3 | content: ['./src/**/*.svelte', './src/**/*.html'], 4 | defaultExtractor: content => content.match(/[A-Za-z0-9-_:/]+/g) || [], 5 | }); 6 | 7 | module.exports = { 8 | plugins: [ 9 | require('tailwindcss'), 10 | // only needed if you want to purge 11 | ...(process.env.NODE_ENV === 'production' ? [purgecss] : []), 12 | ], 13 | }; 14 | -------------------------------------------------------------------------------- /rollup.config.js: -------------------------------------------------------------------------------- 1 | import resolve from '@rollup/plugin-node-resolve'; 2 | import replace from '@rollup/plugin-replace'; 3 | import commonjs from '@rollup/plugin-commonjs'; 4 | import svelte from 'rollup-plugin-svelte'; 5 | import babel from 'rollup-plugin-babel'; 6 | import { terser } from 'rollup-plugin-terser'; 7 | import config from 'sapper/config/rollup.js'; 8 | import pkg from './package.json'; 9 | 10 | const mode = process.env.NODE_ENV; 11 | const dev = mode === 'development'; 12 | const legacy = !!process.env.SAPPER_LEGACY_BUILD; 13 | 14 | const onwarn = (warning, onwarn) => (warning.code === 'CIRCULAR_DEPENDENCY' && /[/\\]@sapper[/\\]/.test(warning.message)) || onwarn(warning); 15 | const dedupe = importee => importee === 'svelte' || importee.startsWith('svelte/'); 16 | 17 | export default { 18 | client: { 19 | input: config.client.input(), 20 | output: config.client.output(), 21 | plugins: [ 22 | replace({ 23 | 'process.browser': true, 24 | 'process.env.NODE_ENV': JSON.stringify(mode) 25 | }), 26 | svelte({ 27 | dev, 28 | hydratable: true, 29 | emitCss: true 30 | }), 31 | resolve({ 32 | browser: true, 33 | dedupe 34 | }), 35 | commonjs(), 36 | 37 | legacy && babel({ 38 | extensions: ['.js', '.mjs', '.html', '.svelte'], 39 | runtimeHelpers: true, 40 | exclude: ['node_modules/@babel/**'], 41 | presets: [ 42 | ['@babel/preset-env', { 43 | targets: '> 0.25%, not dead' 44 | }] 45 | ], 46 | plugins: [ 47 | '@babel/plugin-syntax-dynamic-import', 48 | ['@babel/plugin-transform-runtime', { 49 | useESModules: true 50 | }] 51 | ] 52 | }), 53 | 54 | !dev && terser({ 55 | module: true 56 | }) 57 | ], 58 | 59 | onwarn, 60 | }, 61 | 62 | server: { 63 | input: config.server.input(), 64 | output: config.server.output(), 65 | plugins: [ 66 | replace({ 67 | 'process.browser': false, 68 | 'process.env.NODE_ENV': JSON.stringify(mode) 69 | }), 70 | svelte({ 71 | generate: 'ssr', 72 | dev 73 | }), 74 | resolve({ 75 | dedupe 76 | }), 77 | commonjs() 78 | ], 79 | external: Object.keys(pkg.dependencies).concat( 80 | require('module').builtinModules || Object.keys(process.binding('natives')) 81 | ), 82 | 83 | onwarn, 84 | }, 85 | 86 | serviceworker: { 87 | input: config.serviceworker.input(), 88 | output: config.serviceworker.output(), 89 | plugins: [ 90 | resolve(), 91 | replace({ 92 | 'process.browser': true, 93 | 'process.env.NODE_ENV': JSON.stringify(mode) 94 | }), 95 | commonjs(), 96 | !dev && terser() 97 | ], 98 | 99 | onwarn, 100 | } 101 | }; 102 | -------------------------------------------------------------------------------- /src/client.js: -------------------------------------------------------------------------------- 1 | import * as sapper from '@sapper/app'; 2 | 3 | sapper.start({ 4 | target: document.querySelector('#sapper') 5 | }); -------------------------------------------------------------------------------- /src/components/Charts/BarChart.svelte: -------------------------------------------------------------------------------- 1 | 62 | 63 | 106 | 107 |
108 |

Bar Chart

109 |

{description}

110 | 111 |
112 | -------------------------------------------------------------------------------- /src/components/Charts/DoughnutChart.svelte: -------------------------------------------------------------------------------- 1 | 38 | 39 | 82 | 83 |
84 |

Doughnut Chart

85 |

{description}

86 | 87 |
88 | -------------------------------------------------------------------------------- /src/components/Charts/LineChart.svelte: -------------------------------------------------------------------------------- 1 | 54 | 55 | 99 | 100 |
101 |

Line Chart

102 |

{description}

103 | 104 |
105 | -------------------------------------------------------------------------------- /src/components/Charts/PieChart.svelte: -------------------------------------------------------------------------------- 1 | 65 | 66 | 111 | 112 |
113 |

Pie Chart

114 |

{description}

115 | 116 |
117 | -------------------------------------------------------------------------------- /src/components/Footer.svelte: -------------------------------------------------------------------------------- 1 | 4 | 5 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/components/List.svelte: -------------------------------------------------------------------------------- 1 | 8 | 9 | 25 | 26 | 51 | -------------------------------------------------------------------------------- /src/components/Navbar.svelte: -------------------------------------------------------------------------------- 1 | 22 | 23 | 43 | 44 | 45 | 46 |
50 | {#if width <= 1279} 51 | 54 | {/if} 55 | {#if width >= 648} 56 |

{title}

57 | {/if} 58 | 59 | 60 |
61 | -------------------------------------------------------------------------------- /src/components/NavbarIcons.svelte: -------------------------------------------------------------------------------- 1 | 5 | 6 | 28 | 29 |
30 | 33 | 36 | 39 | 42 | 45 |
46 | -------------------------------------------------------------------------------- /src/components/Searchbar.svelte: -------------------------------------------------------------------------------- 1 | 17 | 18 | 56 | 57 | 76 | -------------------------------------------------------------------------------- /src/components/Sidebar.svelte: -------------------------------------------------------------------------------- 1 | 31 | 32 | 58 | 59 | {#if isVisible} 60 | 83 | {/if} 84 | -------------------------------------------------------------------------------- /src/components/constant.js: -------------------------------------------------------------------------------- 1 | const colors = { 2 | primary: 'rgb(57,187,176)', 3 | primaryGray: 'rgb(243, 243, 243)', 4 | secondaryGray: 'rgb(233, 233, 233)', 5 | }; 6 | export default colors; 7 | -------------------------------------------------------------------------------- /src/components/stores.js: -------------------------------------------------------------------------------- 1 | import { writable } from 'svelte/store'; 2 | export const isSidebarVisible = writable(true); 3 | -------------------------------------------------------------------------------- /src/routes/_error.svelte: -------------------------------------------------------------------------------- 1 | 7 | 8 | 29 | 30 | 31 | {status} 32 | 33 | 34 |

{status}

35 | 36 |

{error.message}

37 | 38 | {#if dev && error.stack} 39 |
{error.stack}
40 | {/if} 41 | -------------------------------------------------------------------------------- /src/routes/_layout.svelte: -------------------------------------------------------------------------------- 1 | 9 | 10 | 59 | 60 | 61 | 62 | 63 |
64 | 65 |
66 |
67 | -------------------------------------------------------------------------------- /src/routes/about/index.svelte: -------------------------------------------------------------------------------- 1 | 2 | About 3 | 4 | 5 |

About this site

6 | 7 |

This is the 'about' page. There's not much here.

8 | -------------------------------------------------------------------------------- /src/routes/blog/[slug].json.js: -------------------------------------------------------------------------------- 1 | import posts from './_posts.js'; 2 | 3 | const lookup = new Map(); 4 | posts.forEach(post => { 5 | lookup.set(post.slug, JSON.stringify(post)); 6 | }); 7 | 8 | export function get(req, res, next) { 9 | // the `slug` parameter is available because 10 | // this file is called [slug].json.js 11 | const { slug } = req.params; 12 | 13 | if (lookup.has(slug)) { 14 | res.writeHead(200, { 15 | 'Content-Type': 'application/json' 16 | }); 17 | 18 | res.end(lookup.get(slug)); 19 | } else { 20 | res.writeHead(404, { 21 | 'Content-Type': 'application/json' 22 | }); 23 | 24 | res.end(JSON.stringify({ 25 | message: `Not found` 26 | })); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/routes/blog/[slug].svelte: -------------------------------------------------------------------------------- 1 | 15 | 16 | 19 | 20 | 55 | 56 | 57 | {post.title} 58 | 59 | 60 |

{post.title}

61 | 62 |
63 | {@html post.html} 64 |
65 | -------------------------------------------------------------------------------- /src/routes/blog/_posts.js: -------------------------------------------------------------------------------- 1 | // Ordinarily, you'd generate this data from markdown files in your 2 | // repo, or fetch them from a database of some kind. But in order to 3 | // avoid unnecessary dependencies in the starter template, and in the 4 | // service of obviousness, we're just going to leave it here. 5 | 6 | // This file is called `_posts.js` rather than `posts.js`, because 7 | // we don't want to create an `/blog/posts` route — the leading 8 | // underscore tells Sapper not to do that. 9 | 10 | const posts = [ 11 | { 12 | title: 'What is Sapper?', 13 | slug: 'what-is-sapper', 14 | html: ` 15 |

First, you have to know what Svelte is. Svelte is a UI framework with a bold new idea: rather than providing a library that you write code with (like React or Vue, for example), it's a compiler that turns your components into highly optimized vanilla JavaScript. If you haven't already read the introductory blog post, you should!

16 | 17 |

Sapper is a Next.js-style framework (more on that here) built around Svelte. It makes it embarrassingly easy to create extremely high performance web apps. Out of the box, you get:

18 | 19 |
    20 |
  • Code-splitting, dynamic imports and hot module replacement, powered by webpack
  • 21 |
  • Server-side rendering (SSR) with client-side hydration
  • 22 |
  • Service worker for offline support, and all the PWA bells and whistles
  • 23 |
  • The nicest development experience you've ever had, or your money back
  • 24 |
25 | 26 |

It's implemented as Express middleware. Everything is set up and waiting for you to get started, but you keep complete control over the server, service worker, webpack config and everything else, so it's as flexible as you need it to be.

27 | ` 28 | }, 29 | 30 | { 31 | title: 'How to use Sapper', 32 | slug: 'how-to-use-sapper', 33 | html: ` 34 |

Step one

35 |

Create a new project, using degit:

36 | 37 |
npx degit "sveltejs/sapper-template#rollup" my-app
38 | 			cd my-app
39 | 			npm install # or yarn!
40 | 			npm run dev
41 | 			
42 | 43 |

Step two

44 |

Go to localhost:3000. Open my-app in your editor. Edit the files in the src/routes directory or add new ones.

45 | 46 |

Step three

47 |

...

48 | 49 |

Step four

50 |

Resist overdone joke formats.

51 | ` 52 | }, 53 | 54 | { 55 | title: 'Why the name?', 56 | slug: 'why-the-name', 57 | html: ` 58 |

In war, the soldiers who build bridges, repair roads, clear minefields and conduct demolitions — all under combat conditions — are known as sappers.

59 | 60 |

For web developers, the stakes are generally lower than those for combat engineers. But we face our own hostile environment: underpowered devices, poor network connections, and the complexity inherent in front-end engineering. Sapper, which is short for Svelte app maker, is your courageous and dutiful ally.

61 | ` 62 | }, 63 | 64 | { 65 | title: 'How is Sapper different from Next.js?', 66 | slug: 'how-is-sapper-different-from-next', 67 | html: ` 68 |

Next.js is a React framework from Zeit, and is the inspiration for Sapper. There are a few notable differences, however:

69 | 70 |
    71 |
  • It's powered by Svelte instead of React, so it's faster and your apps are smaller
  • 72 |
  • Instead of route masking, we encode route parameters in filenames. For example, the page you're looking at right now is src/routes/blog/[slug].html
  • 73 |
  • As well as pages (Svelte components, which render on server or client), you can create server routes in your routes directory. These are just .js files that export functions corresponding to HTTP methods, and receive Express request and response objects as arguments. This makes it very easy to, for example, add a JSON API such as the one powering this very page
  • 74 |
  • Links are just <a> elements, rather than framework-specific <Link> components. That means, for example, that this link right here, despite being inside a blob of HTML, works with the router as you'd expect.
  • 75 |
76 | ` 77 | }, 78 | 79 | { 80 | title: 'How can I get involved?', 81 | slug: 'how-can-i-get-involved', 82 | html: ` 83 |

We're so glad you asked! Come on over to the Svelte and Sapper repos, and join us in the Discord chatroom. Everyone is welcome, especially you!

84 | ` 85 | } 86 | ]; 87 | 88 | posts.forEach(post => { 89 | post.html = post.html.replace(/^\t{3}/gm, ''); 90 | }); 91 | 92 | export default posts; 93 | -------------------------------------------------------------------------------- /src/routes/blog/index.json.js: -------------------------------------------------------------------------------- 1 | import posts from './_posts.js'; 2 | 3 | const contents = JSON.stringify(posts.map(post => { 4 | return { 5 | title: post.title, 6 | slug: post.slug 7 | }; 8 | })); 9 | 10 | export function get(req, res) { 11 | res.writeHead(200, { 12 | 'Content-Type': 'application/json' 13 | }); 14 | 15 | res.end(contents); 16 | } -------------------------------------------------------------------------------- /src/routes/blog/index.svelte: -------------------------------------------------------------------------------- 1 | 8 | 9 | 12 | 13 | 19 | 20 | 21 | Blog 22 | 23 | 24 |

Recent posts

25 | 26 |
    27 | {#each posts as post} 28 | 32 |
  • {post.title}
  • 33 | {/each} 34 |
-------------------------------------------------------------------------------- /src/routes/buttons/index.svelte: -------------------------------------------------------------------------------- 1 | 18 | 19 | 131 | 132 | 133 | Buttons 134 | 135 | 136 |
137 |

BUTTONS

138 | 139 | There are two directives that can make a group of buttons behave like a set 140 | of checkboxes, radio buttons, or a hybrfont-size:id where radio buttons can 141 | be unchecked. 142 | 143 |
144 | 145 |
146 |

Toggle States

147 | 150 |
151 |
{value}
152 |
153 |
154 |

155 | Checkbox 156 |

Checkbox-like buttons set with variable states

157 |

158 |
159 | 165 | 171 | 177 |
178 |
179 |
180 |

{'{'}

181 |

{`"left"` + ': ' + `${leftState} ,`}

182 |

{`"middle"'` + ': ' + `${midState} ,`}

183 |

{`"right"` + ': ' + `${rightState}`}

184 |

{'}'}

185 | 186 |
187 |
188 |
189 |

190 | Radio 191 |

192 | Radio buttons with checked/unchecked states. Group can be created in two 193 | ways: using btnRadioGroup directive or using the same ngModel binding with 194 | several buttons (works only for template driven forms). Check the demo 195 | below for more info 196 |

197 |

198 |
199 | 205 | 211 | 217 |
218 |
219 | (radioStatus = 'Left')}> 223 | Left 224 | 225 | (radioStatus = 'Middle')}> 229 | Middle 230 | 231 | (radioStatus = 'Right')}> 235 | Right 236 | 237 |
238 |
239 |
240 |

{`"${radioStatus}"`}

241 |
242 |
243 |
244 |

245 | Custom template styling 246 |

247 | Use modifier class .btn-group--custom in order to get a template spefici 248 | styling on all button elements. 249 |

250 |

251 |
252 | (leftState = !leftState)}> 256 | Left 257 | 258 | (midState = !midState)}> 261 | Middle 262 | 263 | (rightState = !rightState)}> 267 | Right 268 | 269 |
270 |
271 | (radioStatus = 'Left')}> 275 | Left 276 | 277 | (radioStatus = 'Middle')}> 281 | Middle 282 | 283 | (radioStatus = 'Right')}> 287 | Right 288 | 289 |
290 |
291 | -------------------------------------------------------------------------------- /src/routes/index.svelte: -------------------------------------------------------------------------------- 1 | 7 | 8 | 57 | 58 | 59 | Dashboard 60 | 61 | 62 |
63 |

DASHBOARD

64 |

Welcome to the unique Material Design admin web app experience!

65 |
66 | 67 |
68 |
69 | 70 | 71 |
72 | 73 |
74 | 75 | 76 |
77 |
78 | -------------------------------------------------------------------------------- /src/routes/tables/index.svelte: -------------------------------------------------------------------------------- 1 | 117 | 118 | 142 | 143 | 144 | Data Table 145 | 146 | 147 |
148 |

DATA TABLE

149 |
150 | 151 |
152 |
153 | -------------------------------------------------------------------------------- /src/routes/typography/index.svelte: -------------------------------------------------------------------------------- 1 | 5 | 6 | 101 | 102 | 103 | Typography 104 | 105 | 106 |
107 |

TYPOGRAPHY

108 |
109 | 110 |
111 |

Body Copy

112 |

{bodyData}

113 |
114 | 115 |
116 |

117 | Headings 118 |

119 | All HTML headings, 120 | {'

'} 121 | through 122 | {'
'} 123 | , are available. 124 |

125 |

126 | .h1 127 | through 128 | .h6 129 | classes are also available, for when you want to match the font styling of 130 | a heading but cannot use the associated HTML element. 131 |

132 |
133 |

h1. Svelte heading

134 |

h2. Svelte heading

135 |

h3. Svelte heading

136 |

h4. Svelte heading

137 |
h5. Svelte heading
138 |
h6. Svelte heading
139 |

140 | 141 |
142 |

143 | Lists 144 |

145 | All lists 146 | {' —

    '} 147 | , 148 | {'
      '} 149 | and 150 | {'
      —'} 151 | have their margin-top removed and a 152 | {'margin-bottom: 1rem'} 153 | . Nested lists have no margin-bottom. 154 |

      155 |

156 |
Custom styled
157 |

158 | Use below given custom list style classes style the bullets. 159 |

160 |
161 |
    162 |
  • Lorem ipsum dolor sit amet
  • 163 |
  • Consectetur adipiscing elit
  • 164 |
  • Integer molestie lorem at massa
  • 165 |
  • Facilisis in pretium nisl aliquet
  • 166 |
  • Nulla volutpat aliquam velit
  • 167 |
  • Faucibus porta lacus fringilla vel
  • 168 |
  • Aenean sit amet erat nunc
  • 169 |
  • Eget porttitor lorem
  • 170 |
171 |
    172 |
  • Lorem ipsum dolor sit amet
  • 173 |
  • Consectetur adipiscing elit
  • 174 |
  • Integer molestie lorem at massa
  • 175 |
  • Facilisis in pretium nisl aliquet
  • 176 |
  • Nulla volutpat aliquam velit
  • 177 |
  • Faucibus porta lacus fringilla vel
  • 178 |
  • Aenean sit amet erat nunc
  • 179 |
  • Eget porttitor lorem
  • 180 |
181 |
    182 |
  • Lorem ipsum dolor sit amet
  • 183 |
  • Consectetur adipiscing elit
  • 184 |
  • Integer molestie lorem at massa
  • 185 |
  • Facilisis in pretium nisl aliquet
  • 186 |
  • Nulla volutpat aliquam velit
  • 187 |
  • Faucibus porta lacus fringilla vel
  • 188 |
  • Aenean sit amet erat nunc
  • 189 |
  • Eget porttitor lorem
  • 190 |
191 |
192 |
193 | 194 |
Unstyled
195 |

196 | Remove the default 197 | {'list-style'} 198 | and left margin on list items (immediate children only). This only applies 199 | to immediate children list items, meaning you will need to add the class for 200 | any nested lists as well. 201 |

202 |
    203 |
  • Lorem ipsum dolor sit amet
  • 204 |
  • Consectetur adipiscing elit
  • 205 |
  • Integer molestie lorem at massa
  • 206 |
  • Facilisis in pretium nisl aliquet
  • 207 |
  • 208 | Nulla volutpat aliquam velit 209 |
      210 |
    • Phasellus iaculis neque
    • 211 |
    • Purus sodales ultricies
    • 212 |
    • Vestibulum laoreet porttitor sem
    • 213 |
    • Ac tristique libero volutpat at
    • 214 |
    215 |
  • 216 |
  • Faucibus porta lacus fringilla vel
  • 217 |
  • Aenean sit amet erat nunc
  • 218 |
  • Eget porttitor lorem
  • 219 |
220 |
221 | -------------------------------------------------------------------------------- /src/server.js: -------------------------------------------------------------------------------- 1 | import sirv from 'sirv'; 2 | import polka from 'polka'; 3 | import compression from 'compression'; 4 | import * as sapper from '@sapper/server'; 5 | 6 | const { PORT, NODE_ENV } = process.env; 7 | const dev = NODE_ENV === 'development'; 8 | 9 | polka() // You can also use Express 10 | .use( 11 | compression({ threshold: 0 }), 12 | sirv('static', { dev }), 13 | sapper.middleware() 14 | ) 15 | .listen(PORT, err => { 16 | if (err) console.log('error', err); 17 | }); 18 | -------------------------------------------------------------------------------- /src/service-worker.js: -------------------------------------------------------------------------------- 1 | import { timestamp, files, shell, routes } from '@sapper/service-worker'; 2 | 3 | const ASSETS = `cache${timestamp}`; 4 | 5 | // `shell` is an array of all the files generated by the bundler, 6 | // `files` is an array of everything in the `static` directory 7 | const to_cache = shell.concat(files); 8 | const cached = new Set(to_cache); 9 | 10 | self.addEventListener('install', event => { 11 | event.waitUntil( 12 | caches 13 | .open(ASSETS) 14 | .then(cache => cache.addAll(to_cache)) 15 | .then(() => { 16 | self.skipWaiting(); 17 | }) 18 | ); 19 | }); 20 | 21 | self.addEventListener('activate', event => { 22 | event.waitUntil( 23 | caches.keys().then(async keys => { 24 | // delete old caches 25 | for (const key of keys) { 26 | if (key !== ASSETS) await caches.delete(key); 27 | } 28 | 29 | self.clients.claim(); 30 | }) 31 | ); 32 | }); 33 | 34 | self.addEventListener('fetch', event => { 35 | if (event.request.method !== 'GET' || event.request.headers.has('range')) return; 36 | 37 | const url = new URL(event.request.url); 38 | 39 | // don't try to handle e.g. data: URIs 40 | if (!url.protocol.startsWith('http')) return; 41 | 42 | // ignore dev server requests 43 | if (url.hostname === self.location.hostname && url.port !== self.location.port) return; 44 | 45 | // always serve static files and bundler-generated assets from cache 46 | if (url.host === self.location.host && cached.has(url.pathname)) { 47 | event.respondWith(caches.match(event.request)); 48 | return; 49 | } 50 | 51 | // for pages, you might want to serve a shell `service-worker-index.html` file, 52 | // which Sapper has generated for you. It's not right for every 53 | // app, but if it's right for yours then uncomment this section 54 | /* 55 | if (url.origin === self.origin && routes.find(route => route.pattern.test(url.pathname))) { 56 | event.respondWith(caches.match('/service-worker-index.html')); 57 | return; 58 | } 59 | */ 60 | 61 | if (event.request.cache === 'only-if-cached') return; 62 | 63 | // for everything else, try the network first, falling back to 64 | // cache if the user is offline. (If the pages never change, you 65 | // might prefer a cache-first approach to a network-first one.) 66 | event.respondWith( 67 | caches 68 | .open(`offline${timestamp}`) 69 | .then(async cache => { 70 | try { 71 | const response = await fetch(event.request); 72 | cache.put(event.request, response.clone()); 73 | return response; 74 | } catch(err) { 75 | const response = await cache.match(event.request); 76 | if (response) return response; 77 | 78 | throw err; 79 | } 80 | }) 81 | ); 82 | }); 83 | -------------------------------------------------------------------------------- /src/template.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | %sapper.base% 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 20 | %sapper.styles% 21 | 22 | 24 | %sapper.head% 25 | 26 | 27 | 28 | 30 |
%sapper.html%
31 | 32 | 35 | %sapper.scripts% 36 | 37 | 38 | -------------------------------------------------------------------------------- /static/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/svelte-admin-dashboard/bc94e3b9cf8ccb964ed457a3c9285940ed1fba54/static/favicon.png -------------------------------------------------------------------------------- /static/global.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | font-family: Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, Oxygen, 4 | Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; 5 | font-size: 14px; 6 | line-height: 1.5; 7 | color: #333; 8 | } 9 | 10 | h1, 11 | h2, 12 | h3, 13 | h4, 14 | h5, 15 | h6 { 16 | margin: 0 0 0.5em 0; 17 | font-weight: 400; 18 | line-height: 1.2; 19 | } 20 | 21 | h1 { 22 | font-size: 2em; 23 | } 24 | 25 | h2 { 26 | font-size: 1.75em; 27 | } 28 | 29 | h3 { 30 | font-size: 1.5em; 31 | } 32 | 33 | h4 { 34 | font-size: 1.25em; 35 | } 36 | 37 | h5 { 38 | font-size: 1em; 39 | } 40 | 41 | h6 { 42 | font-size: 0.75em; 43 | } 44 | 45 | a { 46 | color: inherit; 47 | } 48 | 49 | code { 50 | font-family: menlo, inconsolata, monospace; 51 | font-size: calc(1em - 2px); 52 | color: #555; 53 | background-color: #f0f0f0; 54 | padding: 0.2em 0.4em; 55 | border-radius: 2px; 56 | } 57 | 58 | @media (min-width: 400px) { 59 | body { 60 | font-size: 16px; 61 | } 62 | } 63 | 64 | #sapper { 65 | display: flex; 66 | } -------------------------------------------------------------------------------- /static/great-success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/svelte-admin-dashboard/bc94e3b9cf8ccb964ed457a3c9285940ed1fba54/static/great-success.png -------------------------------------------------------------------------------- /static/index.css: -------------------------------------------------------------------------------- 1 | /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ 2 | 3 | /* Document 4 | ========================================================================== */ 5 | 6 | /** 7 | * 1. Correct the line height in all browsers. 8 | * 2. Prevent adjustments of font size after orientation changes in iOS. 9 | */ 10 | 11 | html { 12 | line-height: 1.15; /* 1 */ 13 | -webkit-text-size-adjust: 100%; /* 2 */ 14 | } 15 | 16 | /* Sections 17 | ========================================================================== */ 18 | 19 | /** 20 | * Remove the margin in all browsers. 21 | */ 22 | 23 | body { 24 | margin: 0; 25 | } 26 | 27 | /** 28 | * Render the `main` element consistently in IE. 29 | */ 30 | 31 | main { 32 | display: block; 33 | } 34 | 35 | /** 36 | * Correct the font size and margin on `h1` elements within `section` and 37 | * `article` contexts in Chrome, Firefox, and Safari. 38 | */ 39 | 40 | h1 { 41 | font-size: 2em; 42 | margin: 0.67em 0; 43 | } 44 | 45 | /* Grouping content 46 | ========================================================================== */ 47 | 48 | /** 49 | * 1. Add the correct box sizing in Firefox. 50 | * 2. Show the overflow in Edge and IE. 51 | */ 52 | 53 | hr { 54 | box-sizing: content-box; /* 1 */ 55 | height: 0; /* 1 */ 56 | overflow: visible; /* 2 */ 57 | } 58 | 59 | /** 60 | * 1. Correct the inheritance and scaling of font size in all browsers. 61 | * 2. Correct the odd `em` font sizing in all browsers. 62 | */ 63 | 64 | pre { 65 | font-family: monospace, monospace; /* 1 */ 66 | font-size: 1em; /* 2 */ 67 | } 68 | 69 | /* Text-level semantics 70 | ========================================================================== */ 71 | 72 | /** 73 | * Remove the gray background on active links in IE 10. 74 | */ 75 | 76 | a { 77 | background-color: transparent; 78 | } 79 | 80 | /** 81 | * 1. Remove the bottom border in Chrome 57- 82 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. 83 | */ 84 | 85 | /** 86 | * Add the correct font weight in Chrome, Edge, and Safari. 87 | */ 88 | 89 | /** 90 | * 1. Correct the inheritance and scaling of font size in all browsers. 91 | * 2. Correct the odd `em` font sizing in all browsers. 92 | */ 93 | 94 | code { 95 | font-family: monospace, monospace; /* 1 */ 96 | font-size: 1em; /* 2 */ 97 | } 98 | 99 | /** 100 | * Add the correct font size in all browsers. 101 | */ 102 | 103 | /** 104 | * Prevent `sub` and `sup` elements from affecting the line height in 105 | * all browsers. 106 | */ 107 | 108 | /* Embedded content 109 | ========================================================================== */ 110 | 111 | /** 112 | * Remove the border on images inside links in IE 10. 113 | */ 114 | 115 | img { 116 | border-style: none; 117 | } 118 | 119 | /* Forms 120 | ========================================================================== */ 121 | 122 | /** 123 | * 1. Change the font styles in all browsers. 124 | * 2. Remove the margin in Firefox and Safari. 125 | */ 126 | 127 | button, 128 | input { 129 | font-family: inherit; /* 1 */ 130 | font-size: 100%; /* 1 */ 131 | line-height: 1.15; /* 1 */ 132 | margin: 0; /* 2 */ 133 | } 134 | 135 | /** 136 | * Show the overflow in IE. 137 | * 1. Show the overflow in Edge. 138 | */ 139 | 140 | button, 141 | input { /* 1 */ 142 | overflow: visible; 143 | } 144 | 145 | /** 146 | * Remove the inheritance of text transform in Edge, Firefox, and IE. 147 | * 1. Remove the inheritance of text transform in Firefox. 148 | */ 149 | 150 | button { /* 1 */ 151 | text-transform: none; 152 | } 153 | 154 | /** 155 | * Correct the inability to style clickable types in iOS and Safari. 156 | */ 157 | 158 | button, 159 | [type="button"], 160 | [type="reset"], 161 | [type="submit"] { 162 | -webkit-appearance: button; 163 | } 164 | 165 | /** 166 | * Remove the inner border and padding in Firefox. 167 | */ 168 | 169 | button::-moz-focus-inner, 170 | [type="button"]::-moz-focus-inner, 171 | [type="reset"]::-moz-focus-inner, 172 | [type="submit"]::-moz-focus-inner { 173 | border-style: none; 174 | padding: 0; 175 | } 176 | 177 | /** 178 | * Restore the focus styles unset by the previous rule. 179 | */ 180 | 181 | button:-moz-focusring, 182 | [type="button"]:-moz-focusring, 183 | [type="reset"]:-moz-focusring, 184 | [type="submit"]:-moz-focusring { 185 | outline: 1px dotted ButtonText; 186 | } 187 | 188 | /** 189 | * Correct the padding in Firefox. 190 | */ 191 | 192 | /** 193 | * 1. Correct the text wrapping in Edge and IE. 194 | * 2. Correct the color inheritance from `fieldset` elements in IE. 195 | * 3. Remove the padding so developers are not caught out when they zero out 196 | * `fieldset` elements in all browsers. 197 | */ 198 | 199 | /** 200 | * Add the correct vertical alignment in Chrome, Firefox, and Opera. 201 | */ 202 | 203 | /** 204 | * Remove the default vertical scrollbar in IE 10+. 205 | */ 206 | 207 | /** 208 | * 1. Add the correct box sizing in IE 10. 209 | * 2. Remove the padding in IE 10. 210 | */ 211 | 212 | [type="checkbox"], 213 | [type="radio"] { 214 | box-sizing: border-box; /* 1 */ 215 | padding: 0; /* 2 */ 216 | } 217 | 218 | /** 219 | * Correct the cursor style of increment and decrement buttons in Chrome. 220 | */ 221 | 222 | [type="number"]::-webkit-inner-spin-button, 223 | [type="number"]::-webkit-outer-spin-button { 224 | height: auto; 225 | } 226 | 227 | /** 228 | * 1. Correct the odd appearance in Chrome and Safari. 229 | * 2. Correct the outline style in Safari. 230 | */ 231 | 232 | [type="search"] { 233 | -webkit-appearance: textfield; /* 1 */ 234 | outline-offset: -2px; /* 2 */ 235 | } 236 | 237 | /** 238 | * Remove the inner padding in Chrome and Safari on macOS. 239 | */ 240 | 241 | [type="search"]::-webkit-search-decoration { 242 | -webkit-appearance: none; 243 | } 244 | 245 | /** 246 | * 1. Correct the inability to style clickable types in iOS and Safari. 247 | * 2. Change font properties to `inherit` in Safari. 248 | */ 249 | 250 | ::-webkit-file-upload-button { 251 | -webkit-appearance: button; /* 1 */ 252 | font: inherit; /* 2 */ 253 | } 254 | 255 | /* Interactive 256 | ========================================================================== */ 257 | 258 | /* 259 | * Add the correct display in Edge, IE 10+, and Firefox. 260 | */ 261 | 262 | /* 263 | * Add the correct display in all browsers. 264 | */ 265 | 266 | /* Misc 267 | ========================================================================== */ 268 | 269 | /** 270 | * Add the correct display in IE 10+. 271 | */ 272 | 273 | template { 274 | display: none; 275 | } 276 | 277 | /** 278 | * Add the correct display in IE 10. 279 | */ 280 | 281 | [hidden] { 282 | display: none; 283 | } 284 | 285 | /** 286 | * Manually forked from SUIT CSS Base: https://github.com/suitcss/base 287 | * A thin layer on top of normalize.css that provides a starting point more 288 | * suitable for web applications. 289 | */ 290 | 291 | /** 292 | * 1. Prevent padding and border from affecting element width 293 | * https://goo.gl/pYtbK7 294 | * 2. Change the default font family in all browsers (opinionated) 295 | */ 296 | 297 | html { 298 | box-sizing: border-box; /* 1 */ 299 | font-family: sans-serif; /* 2 */ 300 | } 301 | 302 | *, 303 | *::before, 304 | *::after { 305 | box-sizing: inherit; 306 | } 307 | 308 | /** 309 | * Removes the default spacing and border for appropriate elements. 310 | */ 311 | 312 | 313 | dl, 314 | h1, 315 | h2, 316 | h3, 317 | h4, 318 | h5, 319 | h6, 320 | hr, 321 | p, 322 | pre { 323 | margin: 0; 324 | } 325 | 326 | button { 327 | background: transparent; 328 | padding: 0; 329 | } 330 | 331 | /** 332 | * Work around a Firefox/IE bug where the transparent `button` background 333 | * results in a loss of the default `button` focus styles. 334 | */ 335 | 336 | button:focus { 337 | outline: 1px dotted; 338 | outline: 5px auto -webkit-focus-ring-color; 339 | } 340 | 341 | ol, 342 | ul { 343 | list-style: none; 344 | margin: 0; 345 | padding: 0; 346 | } 347 | 348 | /** 349 | * Tailwind custom reset styles 350 | */ 351 | 352 | /** 353 | * 1. Use the system font stack as a sane default. 354 | * 2. Use Tailwind's default "normal" line-height so the user isn't forced 355 | * to override it to ensure consistency even when using the default theme. 356 | */ 357 | 358 | html { 359 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 1 */ 360 | line-height: 1.5; /* 2 */ 361 | } 362 | 363 | /** 364 | * Allow adding a border to an element by just adding a border-width. 365 | * 366 | * By default, the way the browser specifies that an element should have no 367 | * border is by setting it's border-style to `none` in the user-agent 368 | * stylesheet. 369 | * 370 | * In order to easily add borders to elements by just setting the `border-width` 371 | * property, we change the default border-style for all elements to `solid`, and 372 | * use border-width to hide them instead. This way our `border` utilities only 373 | * need to set the `border-width` property instead of the entire `border` 374 | * shorthand, making our border utilities much more straightforward to compose. 375 | * 376 | * https://github.com/tailwindcss/tailwindcss/pull/116 377 | */ 378 | 379 | *, 380 | *::before, 381 | *::after { 382 | border-width: 0; 383 | border-style: solid; 384 | border-color: #e2e8f0; 385 | } 386 | 387 | /* 388 | * Ensure horizontal rules are visible by default 389 | */ 390 | 391 | hr { 392 | border-top-width: 1px; 393 | } 394 | 395 | /** 396 | * Undo the `border-style: none` reset that Normalize applies to images so that 397 | * our `border-{width}` utilities have the expected effect. 398 | * 399 | * The Normalize reset is unnecessary for us since we default the border-width 400 | * to 0 on all elements. 401 | * 402 | * https://github.com/tailwindcss/tailwindcss/issues/362 403 | */ 404 | 405 | img { 406 | border-style: solid; 407 | } 408 | 409 | input::placeholder { 410 | color: #a0aec0; 411 | } 412 | 413 | button, 414 | [role="button"] { 415 | cursor: pointer; 416 | } 417 | 418 | table { 419 | border-collapse: collapse; 420 | } 421 | 422 | h1, 423 | h2, 424 | h3, 425 | h4, 426 | h5, 427 | h6 { 428 | font-size: inherit; 429 | font-weight: inherit; 430 | } 431 | 432 | /** 433 | * Reset links to optimize for opt-in styling instead of 434 | * opt-out. 435 | */ 436 | 437 | a { 438 | color: inherit; 439 | text-decoration: inherit; 440 | } 441 | 442 | /** 443 | * Reset form element properties that are easy to forget to 444 | * style explicitly so you don't inadvertently introduce 445 | * styles that deviate from your design system. These styles 446 | * supplement a partial reset that is already applied by 447 | * normalize.css. 448 | */ 449 | 450 | button, 451 | input { 452 | padding: 0; 453 | line-height: inherit; 454 | color: inherit; 455 | } 456 | 457 | /** 458 | * Use the configured 'mono' font family for elements that 459 | * are expected to be rendered with a monospace font, falling 460 | * back to the system monospace stack if there is no configured 461 | * 'mono' font family. 462 | */ 463 | 464 | pre, 465 | code { 466 | font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; 467 | } 468 | 469 | /** 470 | * Make replaced elements `display: block` by default as that's 471 | * the behavior you want almost all of the time. Inspired by 472 | * CSS Remedy, with `svg` added as well. 473 | * 474 | * https://github.com/mozdevs/cssremedy/issues/14 475 | */ 476 | 477 | img, 478 | canvas { 479 | display: block; 480 | vertical-align: middle; 481 | } 482 | 483 | /** 484 | * Constrain images and videos to the parent width and preserve 485 | * their instrinsic aspect ratio. 486 | * 487 | * https://github.com/mozdevs/cssremedy/issues/14 488 | */ 489 | 490 | img { 491 | max-width: 100%; 492 | height: auto; 493 | } 494 | 495 | .container { 496 | width: 100%; 497 | } 498 | 499 | @media (min-width: 640px) { 500 | .container { 501 | max-width: 640px; 502 | } 503 | } 504 | 505 | @media (min-width: 768px) { 506 | .container { 507 | max-width: 768px; 508 | } 509 | } 510 | 511 | @media (min-width: 1024px) { 512 | .container { 513 | max-width: 1024px; 514 | } 515 | } 516 | 517 | @media (min-width: 1280px) { 518 | .container { 519 | max-width: 1280px; 520 | } 521 | } 522 | 523 | .bg-transparent { 524 | background-color: transparent; 525 | } 526 | 527 | .bg-gray-300 { 528 | background-color: #e2e8f0; 529 | } 530 | 531 | .bg-red-500 { 532 | background-color: #f56565; 533 | } 534 | 535 | .hover\:bg-gray-400:hover { 536 | background-color: #cbd5e0; 537 | } 538 | 539 | .rounded { 540 | border-radius: 0.25rem; 541 | } 542 | 543 | .rounded-full { 544 | border-radius: 9999px; 545 | } 546 | 547 | .block { 548 | display: block; 549 | } 550 | 551 | .flex { 552 | display: flex; 553 | } 554 | 555 | .inline-flex { 556 | display: inline-flex; 557 | } 558 | 559 | .table { 560 | display: table; 561 | } 562 | 563 | .flex-row { 564 | flex-direction: row; 565 | } 566 | 567 | .flex-col { 568 | flex-direction: column; 569 | } 570 | 571 | .items-center { 572 | align-items: center; 573 | } 574 | 575 | .justify-center { 576 | justify-content: center; 577 | } 578 | 579 | .flex-1 { 580 | flex: 1 1 0%; 581 | } 582 | 583 | .font-light { 584 | font-weight: 300; 585 | } 586 | 587 | .font-normal { 588 | font-weight: 400; 589 | } 590 | 591 | .m-1 { 592 | margin: 0.25rem; 593 | } 594 | 595 | .m-auto { 596 | margin: auto; 597 | } 598 | 599 | .mx-1 { 600 | margin-left: 0.25rem; 601 | margin-right: 0.25rem; 602 | } 603 | 604 | .mx-auto { 605 | margin-left: auto; 606 | margin-right: auto; 607 | } 608 | 609 | .mb-2 { 610 | margin-bottom: 0.5rem; 611 | } 612 | 613 | .ml-2 { 614 | margin-left: 0.5rem; 615 | } 616 | 617 | .mt-5 { 618 | margin-top: 1.25rem; 619 | } 620 | 621 | .mb-5 { 622 | margin-bottom: 1.25rem; 623 | } 624 | 625 | .overflow-hidden { 626 | overflow: hidden; 627 | } 628 | 629 | .p-1 { 630 | padding: 0.25rem; 631 | } 632 | 633 | .p-2 { 634 | padding: 0.5rem; 635 | } 636 | 637 | .p-5 { 638 | padding: 1.25rem; 639 | } 640 | 641 | .px-1 { 642 | padding-left: 0.25rem; 643 | padding-right: 0.25rem; 644 | } 645 | 646 | .py-2 { 647 | padding-top: 0.5rem; 648 | padding-bottom: 0.5rem; 649 | } 650 | 651 | .py-3 { 652 | padding-top: 0.75rem; 653 | padding-bottom: 0.75rem; 654 | } 655 | 656 | .px-3 { 657 | padding-left: 0.75rem; 658 | padding-right: 0.75rem; 659 | } 660 | 661 | .px-5 { 662 | padding-left: 1.25rem; 663 | padding-right: 1.25rem; 664 | } 665 | 666 | .pl-1 { 667 | padding-left: 0.25rem; 668 | } 669 | 670 | .pl-5 { 671 | padding-left: 1.25rem; 672 | } 673 | 674 | .fixed { 675 | position: fixed; 676 | } 677 | 678 | .relative { 679 | position: relative; 680 | } 681 | 682 | .top-0 { 683 | top: 0; 684 | } 685 | 686 | .right-0 { 687 | right: 0; 688 | } 689 | 690 | .left-0 { 691 | left: 0; 692 | } 693 | 694 | .text-left { 695 | text-align: left; 696 | } 697 | 698 | .text-center { 699 | text-align: center; 700 | } 701 | 702 | .text-white { 703 | color: #fff; 704 | } 705 | 706 | .text-gray-500 { 707 | color: #a0aec0; 708 | } 709 | 710 | .text-gray-600 { 711 | color: #718096; 712 | } 713 | 714 | .text-xs { 715 | font-size: 0.75rem; 716 | } 717 | 718 | .text-sm { 719 | font-size: 0.875rem; 720 | } 721 | 722 | .text-lg { 723 | font-size: 1.125rem; 724 | } 725 | 726 | .uppercase { 727 | text-transform: uppercase; 728 | } 729 | 730 | .capitalize { 731 | text-transform: capitalize; 732 | } 733 | 734 | .whitespace-no-wrap { 735 | white-space: nowrap; 736 | } 737 | 738 | .w-1\/2 { 739 | width: 50%; 740 | } 741 | 742 | .z-30 { 743 | z-index: 30; 744 | } 745 | 746 | @media (min-width: 640px) { 747 | 748 | .sm\:bg-green-200 { 749 | background-color: #c6f6d5; 750 | } 751 | } 752 | 753 | @media (min-width: 768px) { 754 | 755 | .md\:bg-blue-200 { 756 | background-color: #bee3f8; 757 | } 758 | } 759 | 760 | @media (min-width: 1024px) { 761 | 762 | .lg\:bg-pink-500 { 763 | background-color: #ed64a6; 764 | } 765 | } 766 | 767 | @media (min-width: 1280px) { 768 | 769 | .xl\:bg-teal-500 { 770 | background-color: #38b2ac; 771 | } 772 | } -------------------------------------------------------------------------------- /static/logo-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/svelte-admin-dashboard/bc94e3b9cf8ccb964ed457a3c9285940ed1fba54/static/logo-192.png -------------------------------------------------------------------------------- /static/logo-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekyAnts/svelte-admin-dashboard/bc94e3b9cf8ccb964ed457a3c9285940ed1fba54/static/logo-512.png -------------------------------------------------------------------------------- /static/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "background_color": "#ffffff", 3 | "theme_color": "#333333", 4 | "name": "TODO", 5 | "short_name": "TODO", 6 | "display": "minimal-ui", 7 | "start_url": "/", 8 | "icons": [ 9 | { 10 | "src": "logo-192.png", 11 | "sizes": "192x192", 12 | "type": "image/png" 13 | }, 14 | { 15 | "src": "logo-512.png", 16 | "sizes": "512x512", 17 | "type": "image/png" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /static/tailwind.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | theme: { 3 | extend: { 4 | colors: {}, 5 | }, 6 | }, 7 | variants: {}, 8 | plugins: [], 9 | }; 10 | --------------------------------------------------------------------------------