commit 739746f00b108b9694794283939b6652dd63b20b Author: Dave Lane Date: Mon Oct 26 21:53:10 2020 +1300 initial commit of basic app diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..da93220 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +/node_modules/ +/public/build/ + +.DS_Store diff --git a/README.md b/README.md new file mode 100644 index 0000000..7b1ba83 --- /dev/null +++ b/README.md @@ -0,0 +1,105 @@ +*Looking for a shareable component template? Go here --> [sveltejs/component-template](https://github.com/sveltejs/component-template)* + +--- + +# svelte app + +This is a project template for [Svelte](https://svelte.dev) apps. It lives at https://github.com/sveltejs/template. + +To create a new project based on this template using [degit](https://github.com/Rich-Harris/degit): + +```bash +npx degit sveltejs/template svelte-app +cd svelte-app +``` + +*Note that you will need to have [Node.js](https://nodejs.org) installed.* + + +## Get started + +Install the dependencies... + +```bash +cd svelte-app +npm install +``` + +...then start [Rollup](https://rollupjs.org): + +```bash +npm run dev +``` + +Navigate to [localhost:5000](http://localhost:5000). You should see your app running. Edit a component file in `src`, save it, and reload the page to see your changes. + +By default, the server will only respond to requests from localhost. To allow connections from other computers, edit the `sirv` commands in package.json to include the option `--host 0.0.0.0`. + +If you're using [Visual Studio Code](https://code.visualstudio.com/) we recommend installing the official extension [Svelte for VS Code](https://marketplace.visualstudio.com/items?itemName=svelte.svelte-vscode). If you are using other editors you may need to install a plugin in order to get syntax highlighting and intellisense. + +## Building and running in production mode + +To create an optimised version of the app: + +```bash +npm run build +``` + +You can run the newly built app with `npm run start`. This uses [sirv](https://github.com/lukeed/sirv), which is included in your package.json's `dependencies` so that the app will work when you deploy to platforms like [Heroku](https://heroku.com). + + +## Single-page app mode + +By default, sirv will only respond to requests that match files in `public`. This is to maximise compatibility with static fileservers, allowing you to deploy your app anywhere. + +If you're building a single-page app (SPA) with multiple routes, sirv needs to be able to respond to requests for *any* path. You can make it so by editing the `"start"` command in package.json: + +```js +"start": "sirv public --single" +``` + +## Using TypeScript + +This template comes with a script to set up a TypeScript development environment, you can run it immediately after cloning the template with: + +```bash +node scripts/setupTypeScript.js +``` + +Or remove the script via: + +```bash +rm scripts/setupTypeScript.js +``` + +## Deploying to the web + +### With [Vercel](https://vercel.com) + +Install `vercel` if you haven't already: + +```bash +npm install -g vercel +``` + +Then, from within your project folder: + +```bash +cd public +vercel deploy --name my-project +``` + +### With [surge](https://surge.sh/) + +Install `surge` if you haven't already: + +```bash +npm install -g surge +``` + +Then, from within your project folder: + +```bash +npm run build +surge public my-project.surge.sh +``` diff --git a/npm-debug.log b/npm-debug.log new file mode 100644 index 0000000..217f32a --- /dev/null +++ b/npm-debug.log @@ -0,0 +1,542 @@ +0 info it worked if it ends with ok +1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'update' ] +2 info using npm@3.5.2 +3 info using node@v8.10.0 +4 silly mapToRegistry name sirv-cli +5 silly mapToRegistry using default registry +6 silly mapToRegistry registry https://registry.npmjs.org/ +7 silly mapToRegistry uri https://registry.npmjs.org/sirv-cli +8 silly mapToRegistry name @rollup/plugin-commonjs +9 silly mapToRegistry scope (from package name) @rollup +10 verbose mapToRegistry no registry URL found in name for scope @rollup +11 silly mapToRegistry using default registry +12 silly mapToRegistry registry https://registry.npmjs.org/ +13 silly mapToRegistry uri https://registry.npmjs.org/@rollup%2fplugin-commonjs +14 silly mapToRegistry name @rollup/plugin-node-resolve +15 silly mapToRegistry scope (from package name) @rollup +16 verbose mapToRegistry no registry URL found in name for scope @rollup +17 silly mapToRegistry using default registry +18 silly mapToRegistry registry https://registry.npmjs.org/ +19 silly mapToRegistry uri https://registry.npmjs.org/@rollup%2fplugin-node-resolve +20 silly mapToRegistry name rollup +21 silly mapToRegistry using default registry +22 silly mapToRegistry registry https://registry.npmjs.org/ +23 silly mapToRegistry uri https://registry.npmjs.org/rollup +24 silly mapToRegistry name rollup-plugin-livereload +25 silly mapToRegistry using default registry +26 silly mapToRegistry registry https://registry.npmjs.org/ +27 silly mapToRegistry uri https://registry.npmjs.org/rollup-plugin-livereload +28 silly mapToRegistry name rollup-plugin-svelte +29 silly mapToRegistry using default registry +30 silly mapToRegistry registry https://registry.npmjs.org/ +31 silly mapToRegistry uri https://registry.npmjs.org/rollup-plugin-svelte +32 silly mapToRegistry name rollup-plugin-terser +33 silly mapToRegistry using default registry +34 silly mapToRegistry registry https://registry.npmjs.org/ +35 silly mapToRegistry uri https://registry.npmjs.org/rollup-plugin-terser +36 silly mapToRegistry name svelte +37 silly mapToRegistry using default registry +38 silly mapToRegistry registry https://registry.npmjs.org/ +39 silly mapToRegistry uri https://registry.npmjs.org/svelte +40 verbose request uri https://registry.npmjs.org/@rollup%2fplugin-commonjs +41 verbose request no auth needed +42 info attempt registry request try #1 at 4:32:02 PM +43 verbose request id ce4e6d1b6dbc7fc9 +44 verbose etag W/"b477b9d0a6283ad1f1a1cf612994fe22" +45 verbose lastModified Mon, 21 Sep 2020 05:08:23 GMT +46 http request GET https://registry.npmjs.org/@rollup%2fplugin-commonjs +47 verbose request uri https://registry.npmjs.org/@rollup%2fplugin-node-resolve +48 verbose request no auth needed +49 info attempt registry request try #1 at 4:32:02 PM +50 verbose etag W/"a08394b2618e7d35dad8adaf2b6c9a59" +51 verbose lastModified Thu, 13 Aug 2020 14:08:27 GMT +52 http request GET https://registry.npmjs.org/@rollup%2fplugin-node-resolve +53 verbose request uri https://registry.npmjs.org/sirv-cli +54 verbose request no auth needed +55 info attempt registry request try #1 at 4:32:02 PM +56 verbose etag W/"7cc28bac041027d2397cbe4c0a557e6e" +57 verbose lastModified Fri, 16 Oct 2020 17:09:33 GMT +58 http request GET https://registry.npmjs.org/sirv-cli +59 verbose request uri https://registry.npmjs.org/rollup-plugin-livereload +60 verbose request no auth needed +61 info attempt registry request try #1 at 4:32:02 PM +62 verbose etag W/"12de9b942a6518d4f729a43740230d2b" +63 verbose lastModified Thu, 27 Aug 2020 22:43:06 GMT +64 http request GET https://registry.npmjs.org/rollup-plugin-livereload +65 verbose request uri https://registry.npmjs.org/rollup-plugin-svelte +66 verbose request no auth needed +67 info attempt registry request try #1 at 4:32:02 PM +68 verbose etag W/"6c2f3867d4a61a29538123a2d3bc6ba9" +69 verbose lastModified Tue, 08 Sep 2020 12:51:35 GMT +70 http request GET https://registry.npmjs.org/rollup-plugin-svelte +71 verbose request uri https://registry.npmjs.org/rollup-plugin-terser +72 verbose request no auth needed +73 info attempt registry request try #1 at 4:32:02 PM +74 verbose etag W/"7040abbb613191c4e02574d0b5cc5015" +75 verbose lastModified Fri, 04 Sep 2020 18:39:21 GMT +76 http request GET https://registry.npmjs.org/rollup-plugin-terser +77 verbose request uri https://registry.npmjs.org/rollup +78 verbose request no auth needed +79 info attempt registry request try #1 at 4:32:02 PM +80 verbose etag W/"a6afb35b1ea16c62e75c259cfe13a041" +81 verbose lastModified Fri, 16 Oct 2020 19:00:10 GMT +82 http request GET https://registry.npmjs.org/rollup +83 verbose request uri https://registry.npmjs.org/svelte +84 verbose request no auth needed +85 info attempt registry request try #1 at 4:32:02 PM +86 verbose etag W/"f7378241c6a589011a45c0fd3a522041" +87 verbose lastModified Tue, 29 Sep 2020 20:23:15 GMT +88 http request GET https://registry.npmjs.org/svelte +89 http 304 https://registry.npmjs.org/sirv-cli +90 verbose headers { date: 'Sun, 18 Oct 2020 03:32:02 GMT', +90 verbose headers connection: 'keep-alive', +90 verbose headers 'set-cookie': +90 verbose headers [ '__cfduid=d6376a238ba6b7102e0e01dae318992dc1602991922; expires=Tue, 17-Nov-20 03:32:02 GMT; path=/; domain=.npmjs.org; HttpOnly; SameSite=Lax' ], +90 verbose headers 'cf-ray': '5e3f309bf85aee96-AKL', +90 verbose headers age: '160', +90 verbose headers 'cache-control': 'public, max-age=300', +90 verbose headers etag: '"7cc28bac041027d2397cbe4c0a557e6e"', +90 verbose headers 'last-modified': 'Fri, 16 Oct 2020 17:09:33 GMT', +90 verbose headers vary: 'Accept-Encoding', +90 verbose headers 'cf-cache-status': 'HIT', +90 verbose headers 'cf-request-id': '05db5cb57c0000ee96dfbdf000000001', +90 verbose headers 'expect-ct': 'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"', +90 verbose headers server: 'cloudflare' } +91 silly get cb [ 304, +91 silly get { date: 'Sun, 18 Oct 2020 03:32:02 GMT', +91 silly get connection: 'keep-alive', +91 silly get 'set-cookie': +91 silly get [ '__cfduid=d6376a238ba6b7102e0e01dae318992dc1602991922; expires=Tue, 17-Nov-20 03:32:02 GMT; path=/; domain=.npmjs.org; HttpOnly; SameSite=Lax' ], +91 silly get 'cf-ray': '5e3f309bf85aee96-AKL', +91 silly get age: '160', +91 silly get 'cache-control': 'public, max-age=300', +91 silly get etag: '"7cc28bac041027d2397cbe4c0a557e6e"', +91 silly get 'last-modified': 'Fri, 16 Oct 2020 17:09:33 GMT', +91 silly get vary: 'Accept-Encoding', +91 silly get 'cf-cache-status': 'HIT', +91 silly get 'cf-request-id': '05db5cb57c0000ee96dfbdf000000001', +91 silly get 'expect-ct': 'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"', +91 silly get server: 'cloudflare' } ] +92 verbose etag https://registry.npmjs.org/sirv-cli from cache +93 verbose get saving sirv-cli to /home/dave/.npm/registry.npmjs.org/sirv-cli/.cache.json +94 http 304 https://registry.npmjs.org/rollup +95 verbose headers { date: 'Sun, 18 Oct 2020 03:32:02 GMT', +95 verbose headers connection: 'keep-alive', +95 verbose headers 'set-cookie': +95 verbose headers [ '__cfduid=d2494dcfebd2b4a2c85ffdc37b49f18731602991922; expires=Tue, 17-Nov-20 03:32:02 GMT; path=/; domain=.npmjs.org; HttpOnly; SameSite=Lax' ], +95 verbose headers 'cf-ray': '5e3f309c0bdefb84-AKL', +95 verbose headers age: '153', +95 verbose headers 'cache-control': 'public, max-age=300', +95 verbose headers etag: '"a6afb35b1ea16c62e75c259cfe13a041"', +95 verbose headers 'last-modified': 'Fri, 16 Oct 2020 19:00:10 GMT', +95 verbose headers vary: 'Accept-Encoding', +95 verbose headers 'cf-cache-status': 'HIT', +95 verbose headers 'cf-request-id': '05db5cb5880000fb84ba889000000001', +95 verbose headers 'expect-ct': 'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"', +95 verbose headers server: 'cloudflare' } +96 silly get cb [ 304, +96 silly get { date: 'Sun, 18 Oct 2020 03:32:02 GMT', +96 silly get connection: 'keep-alive', +96 silly get 'set-cookie': +96 silly get [ '__cfduid=d2494dcfebd2b4a2c85ffdc37b49f18731602991922; expires=Tue, 17-Nov-20 03:32:02 GMT; path=/; domain=.npmjs.org; HttpOnly; SameSite=Lax' ], +96 silly get 'cf-ray': '5e3f309c0bdefb84-AKL', +96 silly get age: '153', +96 silly get 'cache-control': 'public, max-age=300', +96 silly get etag: '"a6afb35b1ea16c62e75c259cfe13a041"', +96 silly get 'last-modified': 'Fri, 16 Oct 2020 19:00:10 GMT', +96 silly get vary: 'Accept-Encoding', +96 silly get 'cf-cache-status': 'HIT', +96 silly get 'cf-request-id': '05db5cb5880000fb84ba889000000001', +96 silly get 'expect-ct': 'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"', +96 silly get server: 'cloudflare' } ] +97 verbose etag https://registry.npmjs.org/rollup from cache +98 verbose get saving rollup to /home/dave/.npm/registry.npmjs.org/rollup/.cache.json +99 http 304 https://registry.npmjs.org/svelte +100 verbose headers { date: 'Sun, 18 Oct 2020 03:32:02 GMT', +100 verbose headers connection: 'keep-alive', +100 verbose headers 'set-cookie': +100 verbose headers [ '__cfduid=d0d447c59f130326f3e4a82838c34c1991602991922; expires=Tue, 17-Nov-20 03:32:02 GMT; path=/; domain=.npmjs.org; HttpOnly; SameSite=Lax' ], +100 verbose headers 'cf-ray': '5e3f309c1d04fb8c-AKL', +100 verbose headers age: '153', +100 verbose headers 'cache-control': 'public, max-age=300', +100 verbose headers etag: '"f7378241c6a589011a45c0fd3a522041"', +100 verbose headers 'last-modified': 'Tue, 29 Sep 2020 20:23:15 GMT', +100 verbose headers vary: 'Accept-Encoding', +100 verbose headers 'cf-cache-status': 'HIT', +100 verbose headers 'cf-request-id': '05db5cb58c0000fb8c543a8000000001', +100 verbose headers 'expect-ct': 'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"', +100 verbose headers server: 'cloudflare' } +101 silly get cb [ 304, +101 silly get { date: 'Sun, 18 Oct 2020 03:32:02 GMT', +101 silly get connection: 'keep-alive', +101 silly get 'set-cookie': +101 silly get [ '__cfduid=d0d447c59f130326f3e4a82838c34c1991602991922; expires=Tue, 17-Nov-20 03:32:02 GMT; path=/; domain=.npmjs.org; HttpOnly; SameSite=Lax' ], +101 silly get 'cf-ray': '5e3f309c1d04fb8c-AKL', +101 silly get age: '153', +101 silly get 'cache-control': 'public, max-age=300', +101 silly get etag: '"f7378241c6a589011a45c0fd3a522041"', +101 silly get 'last-modified': 'Tue, 29 Sep 2020 20:23:15 GMT', +101 silly get vary: 'Accept-Encoding', +101 silly get 'cf-cache-status': 'HIT', +101 silly get 'cf-request-id': '05db5cb58c0000fb8c543a8000000001', +101 silly get 'expect-ct': 'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"', +101 silly get server: 'cloudflare' } ] +102 verbose etag https://registry.npmjs.org/svelte from cache +103 verbose get saving svelte to /home/dave/.npm/registry.npmjs.org/svelte/.cache.json +104 http 304 https://registry.npmjs.org/@rollup%2fplugin-node-resolve +105 verbose headers { date: 'Sun, 18 Oct 2020 03:32:02 GMT', +105 verbose headers connection: 'keep-alive', +105 verbose headers 'set-cookie': +105 verbose headers [ '__cfduid=d2494dcfebd2b4a2c85ffdc37b49f18731602991922; expires=Tue, 17-Nov-20 03:32:02 GMT; path=/; domain=.npmjs.org; HttpOnly; SameSite=Lax' ], +105 verbose headers 'cf-ray': '5e3f309c0bddfb84-AKL', +105 verbose headers age: '152', +105 verbose headers 'cache-control': 'public, max-age=300', +105 verbose headers etag: '"a08394b2618e7d35dad8adaf2b6c9a59"', +105 verbose headers 'last-modified': 'Thu, 13 Aug 2020 14:08:27 GMT', +105 verbose headers vary: 'Accept-Encoding', +105 verbose headers 'cf-cache-status': 'HIT', +105 verbose headers 'cf-request-id': '05db5cb5890000fb8464325000000001', +105 verbose headers 'expect-ct': 'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"', +105 verbose headers server: 'cloudflare' } +106 silly get cb [ 304, +106 silly get { date: 'Sun, 18 Oct 2020 03:32:02 GMT', +106 silly get connection: 'keep-alive', +106 silly get 'set-cookie': +106 silly get [ '__cfduid=d2494dcfebd2b4a2c85ffdc37b49f18731602991922; expires=Tue, 17-Nov-20 03:32:02 GMT; path=/; domain=.npmjs.org; HttpOnly; SameSite=Lax' ], +106 silly get 'cf-ray': '5e3f309c0bddfb84-AKL', +106 silly get age: '152', +106 silly get 'cache-control': 'public, max-age=300', +106 silly get etag: '"a08394b2618e7d35dad8adaf2b6c9a59"', +106 silly get 'last-modified': 'Thu, 13 Aug 2020 14:08:27 GMT', +106 silly get vary: 'Accept-Encoding', +106 silly get 'cf-cache-status': 'HIT', +106 silly get 'cf-request-id': '05db5cb5890000fb8464325000000001', +106 silly get 'expect-ct': 'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"', +106 silly get server: 'cloudflare' } ] +107 verbose etag https://registry.npmjs.org/@rollup%2fplugin-node-resolve from cache +108 verbose get saving @rollup/plugin-node-resolve to /home/dave/.npm/registry.npmjs.org/_40rollup_252fplugin-node-resolve/.cache.json +109 http 304 https://registry.npmjs.org/rollup-plugin-svelte +110 verbose headers { date: 'Sun, 18 Oct 2020 03:32:02 GMT', +110 verbose headers connection: 'keep-alive', +110 verbose headers 'set-cookie': +110 verbose headers [ '__cfduid=d2494dcfebd2b4a2c85ffdc37b49f18731602991922; expires=Tue, 17-Nov-20 03:32:02 GMT; path=/; domain=.npmjs.org; HttpOnly; SameSite=Lax' ], +110 verbose headers 'cf-ray': '5e3f309c1bf5fb84-AKL', +110 verbose headers age: '153', +110 verbose headers 'cache-control': 'public, max-age=300', +110 verbose headers etag: '"6c2f3867d4a61a29538123a2d3bc6ba9"', +110 verbose headers 'last-modified': 'Tue, 08 Sep 2020 12:51:35 GMT', +110 verbose headers vary: 'Accept-Encoding', +110 verbose headers 'cf-cache-status': 'HIT', +110 verbose headers 'cf-request-id': '05db5cb5940000fb849385c000000001', +110 verbose headers 'expect-ct': 'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"', +110 verbose headers server: 'cloudflare' } +111 silly get cb [ 304, +111 silly get { date: 'Sun, 18 Oct 2020 03:32:02 GMT', +111 silly get connection: 'keep-alive', +111 silly get 'set-cookie': +111 silly get [ '__cfduid=d2494dcfebd2b4a2c85ffdc37b49f18731602991922; expires=Tue, 17-Nov-20 03:32:02 GMT; path=/; domain=.npmjs.org; HttpOnly; SameSite=Lax' ], +111 silly get 'cf-ray': '5e3f309c1bf5fb84-AKL', +111 silly get age: '153', +111 silly get 'cache-control': 'public, max-age=300', +111 silly get etag: '"6c2f3867d4a61a29538123a2d3bc6ba9"', +111 silly get 'last-modified': 'Tue, 08 Sep 2020 12:51:35 GMT', +111 silly get vary: 'Accept-Encoding', +111 silly get 'cf-cache-status': 'HIT', +111 silly get 'cf-request-id': '05db5cb5940000fb849385c000000001', +111 silly get 'expect-ct': 'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"', +111 silly get server: 'cloudflare' } ] +112 verbose etag https://registry.npmjs.org/rollup-plugin-svelte from cache +113 verbose get saving rollup-plugin-svelte to /home/dave/.npm/registry.npmjs.org/rollup-plugin-svelte/.cache.json +114 http 304 https://registry.npmjs.org/@rollup%2fplugin-commonjs +115 verbose headers { date: 'Sun, 18 Oct 2020 03:32:02 GMT', +115 verbose headers connection: 'keep-alive', +115 verbose headers 'set-cookie': +115 verbose headers [ '__cfduid=d91de546b5a694a2e1a87e192a99df1b31602991922; expires=Tue, 17-Nov-20 03:32:02 GMT; path=/; domain=.npmjs.org; HttpOnly; SameSite=Lax' ], +115 verbose headers 'cf-ray': '5e3f309c0b27a42d-AKL', +115 verbose headers age: '152', +115 verbose headers 'cache-control': 'public, max-age=300', +115 verbose headers etag: '"b477b9d0a6283ad1f1a1cf612994fe22"', +115 verbose headers 'last-modified': 'Mon, 21 Sep 2020 05:08:23 GMT', +115 verbose headers vary: 'Accept-Encoding', +115 verbose headers 'cf-cache-status': 'HIT', +115 verbose headers 'cf-request-id': '05db5cb5840000a42dc5acd000000001', +115 verbose headers 'expect-ct': 'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"', +115 verbose headers server: 'cloudflare' } +116 silly get cb [ 304, +116 silly get { date: 'Sun, 18 Oct 2020 03:32:02 GMT', +116 silly get connection: 'keep-alive', +116 silly get 'set-cookie': +116 silly get [ '__cfduid=d91de546b5a694a2e1a87e192a99df1b31602991922; expires=Tue, 17-Nov-20 03:32:02 GMT; path=/; domain=.npmjs.org; HttpOnly; SameSite=Lax' ], +116 silly get 'cf-ray': '5e3f309c0b27a42d-AKL', +116 silly get age: '152', +116 silly get 'cache-control': 'public, max-age=300', +116 silly get etag: '"b477b9d0a6283ad1f1a1cf612994fe22"', +116 silly get 'last-modified': 'Mon, 21 Sep 2020 05:08:23 GMT', +116 silly get vary: 'Accept-Encoding', +116 silly get 'cf-cache-status': 'HIT', +116 silly get 'cf-request-id': '05db5cb5840000a42dc5acd000000001', +116 silly get 'expect-ct': 'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"', +116 silly get server: 'cloudflare' } ] +117 verbose etag https://registry.npmjs.org/@rollup%2fplugin-commonjs from cache +118 verbose get saving @rollup/plugin-commonjs to /home/dave/.npm/registry.npmjs.org/_40rollup_252fplugin-commonjs/.cache.json +119 http 304 https://registry.npmjs.org/rollup-plugin-terser +120 verbose headers { date: 'Sun, 18 Oct 2020 03:32:02 GMT', +120 verbose headers connection: 'keep-alive', +120 verbose headers 'set-cookie': +120 verbose headers [ '__cfduid=d39ccd0e6ba32a82ee1256b52e82ce9651602991922; expires=Tue, 17-Nov-20 03:32:02 GMT; path=/; domain=.npmjs.org; HttpOnly; SameSite=Lax' ], +120 verbose headers 'cf-ray': '5e3f309c2977fb88-AKL', +120 verbose headers age: '153', +120 verbose headers 'cache-control': 'public, max-age=300', +120 verbose headers etag: '"7040abbb613191c4e02574d0b5cc5015"', +120 verbose headers 'last-modified': 'Fri, 04 Sep 2020 18:39:21 GMT', +120 verbose headers vary: 'Accept-Encoding', +120 verbose headers 'cf-cache-status': 'HIT', +120 verbose headers 'cf-request-id': '05db5cb5950000fb8829b00000000001', +120 verbose headers 'expect-ct': 'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"', +120 verbose headers server: 'cloudflare' } +121 silly get cb [ 304, +121 silly get { date: 'Sun, 18 Oct 2020 03:32:02 GMT', +121 silly get connection: 'keep-alive', +121 silly get 'set-cookie': +121 silly get [ '__cfduid=d39ccd0e6ba32a82ee1256b52e82ce9651602991922; expires=Tue, 17-Nov-20 03:32:02 GMT; path=/; domain=.npmjs.org; HttpOnly; SameSite=Lax' ], +121 silly get 'cf-ray': '5e3f309c2977fb88-AKL', +121 silly get age: '153', +121 silly get 'cache-control': 'public, max-age=300', +121 silly get etag: '"7040abbb613191c4e02574d0b5cc5015"', +121 silly get 'last-modified': 'Fri, 04 Sep 2020 18:39:21 GMT', +121 silly get vary: 'Accept-Encoding', +121 silly get 'cf-cache-status': 'HIT', +121 silly get 'cf-request-id': '05db5cb5950000fb8829b00000000001', +121 silly get 'expect-ct': 'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"', +121 silly get server: 'cloudflare' } ] +122 verbose etag https://registry.npmjs.org/rollup-plugin-terser from cache +123 verbose get saving rollup-plugin-terser to /home/dave/.npm/registry.npmjs.org/rollup-plugin-terser/.cache.json +124 http 304 https://registry.npmjs.org/rollup-plugin-livereload +125 verbose headers { date: 'Sun, 18 Oct 2020 03:32:02 GMT', +125 verbose headers connection: 'keep-alive', +125 verbose headers 'set-cookie': +125 verbose headers [ '__cfduid=dd61f5ad46b3241c0583e2b335cb5e3fb1602991922; expires=Tue, 17-Nov-20 03:32:02 GMT; path=/; domain=.npmjs.org; HttpOnly; SameSite=Lax' ], +125 verbose headers 'cf-ray': '5e3f309c2ba6a43f-AKL', +125 verbose headers age: '153', +125 verbose headers 'cache-control': 'public, max-age=300', +125 verbose headers etag: '"12de9b942a6518d4f729a43740230d2b"', +125 verbose headers 'last-modified': 'Thu, 27 Aug 2020 22:43:06 GMT', +125 verbose headers vary: 'Accept-Encoding', +125 verbose headers 'cf-cache-status': 'HIT', +125 verbose headers 'cf-request-id': '05db5cb59c0000a43fb394c000000001', +125 verbose headers 'expect-ct': 'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"', +125 verbose headers server: 'cloudflare' } +126 silly get cb [ 304, +126 silly get { date: 'Sun, 18 Oct 2020 03:32:02 GMT', +126 silly get connection: 'keep-alive', +126 silly get 'set-cookie': +126 silly get [ '__cfduid=dd61f5ad46b3241c0583e2b335cb5e3fb1602991922; expires=Tue, 17-Nov-20 03:32:02 GMT; path=/; domain=.npmjs.org; HttpOnly; SameSite=Lax' ], +126 silly get 'cf-ray': '5e3f309c2ba6a43f-AKL', +126 silly get age: '153', +126 silly get 'cache-control': 'public, max-age=300', +126 silly get etag: '"12de9b942a6518d4f729a43740230d2b"', +126 silly get 'last-modified': 'Thu, 27 Aug 2020 22:43:06 GMT', +126 silly get vary: 'Accept-Encoding', +126 silly get 'cf-cache-status': 'HIT', +126 silly get 'cf-request-id': '05db5cb59c0000a43fb394c000000001', +126 silly get 'expect-ct': 'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"', +126 silly get server: 'cloudflare' } ] +127 verbose etag https://registry.npmjs.org/rollup-plugin-livereload from cache +128 verbose get saving rollup-plugin-livereload to /home/dave/.npm/registry.npmjs.org/rollup-plugin-livereload/.cache.json +129 info outdated updating [ { dep: +129 info outdated { package: [Object], +129 info outdated path: '/home/dave/Projects/svelte/svelte-app', +129 info outdated parent: [Object], +129 info outdated isMissing: true }, +129 info outdated depname: '@rollup/plugin-commonjs', +129 info outdated current: undefined, +129 info outdated wanted: '14.0.0', +129 info outdated latest: '15.1.0', +129 info outdated req: '^14.0.0', +129 info outdated what: '@rollup/plugin-commonjs@14.0.0' }, +129 info outdated { dep: +129 info outdated { package: [Object], +129 info outdated path: '/home/dave/Projects/svelte/svelte-app', +129 info outdated parent: [Object], +129 info outdated isMissing: true }, +129 info outdated depname: '@rollup/plugin-node-resolve', +129 info outdated current: undefined, +129 info outdated wanted: '8.4.0', +129 info outdated latest: '9.0.0', +129 info outdated req: '^8.0.0', +129 info outdated what: '@rollup/plugin-node-resolve@8.4.0' }, +129 info outdated { dep: +129 info outdated { package: [Object], +129 info outdated path: '/home/dave/Projects/svelte/svelte-app', +129 info outdated parent: [Object], +129 info outdated isMissing: true }, +129 info outdated depname: 'rollup', +129 info outdated current: undefined, +129 info outdated wanted: '2.32.0', +129 info outdated latest: '2.32.0', +129 info outdated req: '^2.3.4', +129 info outdated what: 'rollup@2.32.0' }, +129 info outdated { dep: +129 info outdated { package: [Object], +129 info outdated path: '/home/dave/Projects/svelte/svelte-app', +129 info outdated parent: [Object], +129 info outdated isMissing: true }, +129 info outdated depname: 'rollup-plugin-livereload', +129 info outdated current: undefined, +129 info outdated wanted: '2.0.0', +129 info outdated latest: '2.0.0', +129 info outdated req: '^2.0.0', +129 info outdated what: 'rollup-plugin-livereload@2.0.0' }, +129 info outdated { dep: +129 info outdated { package: [Object], +129 info outdated path: '/home/dave/Projects/svelte/svelte-app', +129 info outdated parent: [Object], +129 info outdated isMissing: true }, +129 info outdated depname: 'rollup-plugin-svelte', +129 info outdated current: undefined, +129 info outdated wanted: '6.0.1', +129 info outdated latest: '6.0.1', +129 info outdated req: '^6.0.0', +129 info outdated what: 'rollup-plugin-svelte@6.0.1' }, +129 info outdated { dep: +129 info outdated { package: [Object], +129 info outdated path: '/home/dave/Projects/svelte/svelte-app', +129 info outdated parent: [Object], +129 info outdated isMissing: true }, +129 info outdated depname: 'rollup-plugin-terser', +129 info outdated current: undefined, +129 info outdated wanted: '7.0.2', +129 info outdated latest: '7.0.2', +129 info outdated req: '^7.0.0', +129 info outdated what: 'rollup-plugin-terser@7.0.2' }, +129 info outdated { dep: +129 info outdated { package: [Object], +129 info outdated path: '/home/dave/Projects/svelte/svelte-app', +129 info outdated parent: [Object], +129 info outdated isMissing: true }, +129 info outdated depname: 'sirv-cli', +129 info outdated current: undefined, +129 info outdated wanted: '1.0.7', +129 info outdated latest: '1.0.7', +129 info outdated req: '^1.0.0', +129 info outdated what: 'sirv-cli@1.0.7' }, +129 info outdated { dep: +129 info outdated { package: [Object], +129 info outdated path: '/home/dave/Projects/svelte/svelte-app', +129 info outdated parent: [Object], +129 info outdated isMissing: true }, +129 info outdated depname: 'svelte', +129 info outdated current: undefined, +129 info outdated wanted: '3.29.0', +129 info outdated latest: '3.29.0', +129 info outdated req: '^3.0.0', +129 info outdated what: 'svelte@3.29.0' } ] +130 silly loadCurrentTree Starting +131 silly install loadCurrentTree +132 silly install readLocalPackageData +133 silly fetchPackageMetaData @rollup/plugin-commonjs@14.0.0 +134 silly fetchPackageMetaData @rollup/plugin-node-resolve@8.4.0 +135 silly fetchPackageMetaData rollup@2.32.0 +136 silly fetchPackageMetaData rollup-plugin-livereload@2.0.0 +137 silly fetchPackageMetaData rollup-plugin-svelte@6.0.1 +138 silly fetchPackageMetaData rollup-plugin-terser@7.0.2 +139 silly fetchPackageMetaData sirv-cli@1.0.7 +140 silly fetchPackageMetaData svelte@3.29.0 +141 silly fetchNamedPackageData @rollup/plugin-commonjs +142 silly mapToRegistry name @rollup/plugin-commonjs +143 silly mapToRegistry scope (from package name) @rollup +144 verbose mapToRegistry no registry URL found in name for scope @rollup +145 silly mapToRegistry using default registry +146 silly mapToRegistry registry https://registry.npmjs.org/ +147 silly mapToRegistry uri https://registry.npmjs.org/@rollup%2fplugin-commonjs +148 silly fetchNamedPackageData @rollup/plugin-node-resolve +149 silly mapToRegistry name @rollup/plugin-node-resolve +150 silly mapToRegistry scope (from package name) @rollup +151 verbose mapToRegistry no registry URL found in name for scope @rollup +152 silly mapToRegistry using default registry +153 silly mapToRegistry registry https://registry.npmjs.org/ +154 silly mapToRegistry uri https://registry.npmjs.org/@rollup%2fplugin-node-resolve +155 silly fetchNamedPackageData rollup +156 silly mapToRegistry name rollup +157 silly mapToRegistry using default registry +158 silly mapToRegistry registry https://registry.npmjs.org/ +159 silly mapToRegistry uri https://registry.npmjs.org/rollup +160 silly fetchNamedPackageData rollup-plugin-livereload +161 silly mapToRegistry name rollup-plugin-livereload +162 silly mapToRegistry using default registry +163 silly mapToRegistry registry https://registry.npmjs.org/ +164 silly mapToRegistry uri https://registry.npmjs.org/rollup-plugin-livereload +165 silly fetchNamedPackageData rollup-plugin-svelte +166 silly mapToRegistry name rollup-plugin-svelte +167 silly mapToRegistry using default registry +168 silly mapToRegistry registry https://registry.npmjs.org/ +169 silly mapToRegistry uri https://registry.npmjs.org/rollup-plugin-svelte +170 silly fetchNamedPackageData rollup-plugin-terser +171 silly mapToRegistry name rollup-plugin-terser +172 silly mapToRegistry using default registry +173 silly mapToRegistry registry https://registry.npmjs.org/ +174 silly mapToRegistry uri https://registry.npmjs.org/rollup-plugin-terser +175 silly fetchNamedPackageData sirv-cli +176 silly mapToRegistry name sirv-cli +177 silly mapToRegistry using default registry +178 silly mapToRegistry registry https://registry.npmjs.org/ +179 silly mapToRegistry uri https://registry.npmjs.org/sirv-cli +180 silly fetchNamedPackageData svelte +181 silly mapToRegistry name svelte +182 silly mapToRegistry using default registry +183 silly mapToRegistry registry https://registry.npmjs.org/ +184 silly mapToRegistry uri https://registry.npmjs.org/svelte +185 verbose get https://registry.npmjs.org/@rollup%2fplugin-commonjs not expired, no request +186 verbose get https://registry.npmjs.org/@rollup%2fplugin-node-resolve not expired, no request +187 verbose get https://registry.npmjs.org/rollup-plugin-livereload not expired, no request +188 verbose get https://registry.npmjs.org/rollup-plugin-svelte not expired, no request +189 verbose get https://registry.npmjs.org/sirv-cli not expired, no request +190 verbose get https://registry.npmjs.org/svelte not expired, no request +191 verbose get https://registry.npmjs.org/rollup-plugin-terser not expired, no request +192 verbose get https://registry.npmjs.org/rollup not expired, no request +193 silly install normalizeTree +194 silly loadCurrentTree Finishing +195 silly loadIdealTree Starting +196 silly install loadIdealTree +197 silly cloneCurrentTree Starting +198 silly install cloneCurrentTreeToIdealTree +199 silly cloneCurrentTree Finishing +200 silly loadShrinkwrap Starting +201 silly install loadShrinkwrap +202 silly loadShrinkwrap Finishing +203 silly loadAllDepsIntoIdealTree Starting +204 silly install loadAllDepsIntoIdealTree +205 silly resolveWithNewModule @rollup/plugin-commonjs@14.0.0 checking installable status +206 silly cache add args [ '@rollup/plugin-commonjs@14.0.0', null ] +207 verbose cache add spec @rollup/plugin-commonjs@14.0.0 +208 verbose stack Error: Missing required argument #1 +208 verbose stack at andLogAndFinish (/usr/share/npm/lib/fetch-package-metadata.js:31:3) +208 verbose stack at fetchPackageMetadata (/usr/share/npm/lib/fetch-package-metadata.js:51:22) +208 verbose stack at resolveWithNewModule (/usr/share/npm/lib/install/deps.js:456:12) +208 verbose stack at /usr/share/npm/lib/install/deps.js:190:5 +208 verbose stack at /usr/share/npm/node_modules/slide/lib/async-map.js:52:35 +208 verbose stack at Array.forEach () +208 verbose stack at /usr/share/npm/node_modules/slide/lib/async-map.js:52:11 +208 verbose stack at Array.forEach () +208 verbose stack at asyncMap (/usr/share/npm/node_modules/slide/lib/async-map.js:51:8) +208 verbose stack at exports.loadRequestedDeps (/usr/share/npm/lib/install/deps.js:188:3) +209 verbose cwd /home/dave/Projects/svelte/svelte-app +210 error Linux 5.4.0-51-generic +211 error argv "/usr/bin/node" "/usr/bin/npm" "update" +212 error node v8.10.0 +213 error npm v3.5.2 +214 error code EMISSINGARG +215 error typeerror Error: Missing required argument #1 +215 error typeerror at andLogAndFinish (/usr/share/npm/lib/fetch-package-metadata.js:31:3) +215 error typeerror at fetchPackageMetadata (/usr/share/npm/lib/fetch-package-metadata.js:51:22) +215 error typeerror at resolveWithNewModule (/usr/share/npm/lib/install/deps.js:456:12) +215 error typeerror at /usr/share/npm/lib/install/deps.js:190:5 +215 error typeerror at /usr/share/npm/node_modules/slide/lib/async-map.js:52:35 +215 error typeerror at Array.forEach () +215 error typeerror at /usr/share/npm/node_modules/slide/lib/async-map.js:52:11 +215 error typeerror at Array.forEach () +215 error typeerror at asyncMap (/usr/share/npm/node_modules/slide/lib/async-map.js:51:8) +215 error typeerror at exports.loadRequestedDeps (/usr/share/npm/lib/install/deps.js:188:3) +216 error typeerror This is an error with npm itself. Please report this error at: +216 error typeerror +217 verbose exit [ 1, true ] diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..5a552b9 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,744 @@ +{ + "name": "svelte-app", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@polka/url": { + "version": "1.0.0-next.11", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.11.tgz", + "integrity": "sha512-3NsZsJIA/22P3QUyrEDNA2D133H4j224twJrdipXN38dpnIOzAbUDtOwkcJ5pXmn75w7LSQDjA4tO9dm1XlqlA==" + }, + "@rollup/plugin-commonjs": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-14.0.0.tgz", + "integrity": "sha512-+PSmD9ePwTAeU106i9FRdc+Zb3XUWyW26mo5Atr2mk82hor8+nPwkztEjFo8/B1fJKfaQDg9aM2bzQkjhi7zOw==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.0.8", + "commondir": "^1.0.1", + "estree-walker": "^1.0.1", + "glob": "^7.1.2", + "is-reference": "^1.1.2", + "magic-string": "^0.25.2", + "resolve": "^1.11.0" + } + }, + "@rollup/plugin-node-resolve": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-8.4.0.tgz", + "integrity": "sha512-LFqKdRLn0ShtQyf6SBYO69bGE1upV6wUhBX0vFOUnLAyzx5cwp8svA0eHUnu8+YU57XOkrMtfG63QOpQx25pHQ==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deep-freeze": "^0.0.1", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.17.0" + } + }, + "@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "requires": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + } + }, + "@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true + }, + "@types/node": { + "version": "14.11.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.11.10.tgz", + "integrity": "sha512-yV1nWZPlMFpoXyoknm4S56y2nlTAuFYaJuQtYRAOU7xA/FJ9RY0Xm7QOkaYMMmr8ESdHIuUb6oQgR/0+2NqlyA==", + "dev": true + }, + "@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "binary-extensions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "builtin-modules": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz", + "integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chokidar": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", + "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "console-clear": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/console-clear/-/console-clear-1.1.1.tgz", + "integrity": "sha512-pMD+MVR538ipqkG5JXeOEbKWS5um1H4LUUccUQG68qpeqBYbzYy79Gh55jkd2TtPdRfUaLWdv6LPP//5Zt0aPQ==" + }, + "deep-freeze": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/deep-freeze/-/deep-freeze-0.0.1.tgz", + "integrity": "sha1-OgsABd4YZygZ39OM0x+RF5yJPoQ=", + "dev": true + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + }, + "get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=" + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "dev": true, + "requires": { + "@types/estree": "*" + } + }, + "jest-worker": { + "version": "26.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.5.0.tgz", + "integrity": "sha512-kTw66Dn4ZX7WpjZ7T/SUDgRhapFRKWmisVAF0Rv4Fu8SLFD7eLbqpLvbxVqYhSgaWa7I+bW7pHnbyfNsH6stug==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + }, + "livereload": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/livereload/-/livereload-0.9.1.tgz", + "integrity": "sha512-9g7sua11kkyZNo2hLRCG3LuZZwqexoyEyecSlV8cAsfAVVCZqLzVir6XDqmH0r+Vzgnd5LrdHDMyjtFnJQLAYw==", + "dev": true, + "requires": { + "chokidar": "^3.3.0", + "livereload-js": "^3.1.0", + "opts": ">= 1.2.0", + "ws": "^6.2.1" + } + }, + "livereload-js": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-3.3.1.tgz", + "integrity": "sha512-CBu1gTEfzVhlOK1WASKAAJ9Qx1fHECTq0SUB67sfxwQssopTyvzqTlgl+c0h9pZ6V+Fzd2rc510ppuNusg9teQ==", + "dev": true + }, + "local-access": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/local-access/-/local-access-1.0.1.tgz", + "integrity": "sha512-ykt2pgN0aqIy6KQC1CqdWTWkmUwNgaOS6dcpHVjyBJONA+Xi7AtSB1vuxC/U/0tjIP3wcRudwQk1YYzUvzk2bA==" + }, + "magic-string": { + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", + "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.4" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "mime": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", + "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "mri": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.6.tgz", + "integrity": "sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ==" + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "opts": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/opts/-/opts-2.0.2.tgz", + "integrity": "sha512-k41FwbcLnlgnFh69f4qdUfvDQ+5vaSDnVPFI/y5XuhKRq97EnVVneO9F1ESVCdiVu4fCS2L8usX3mU331hB7pg==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "require-relative": { + "version": "0.8.7", + "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz", + "integrity": "sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=", + "dev": true + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "rollup": { + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.32.0.tgz", + "integrity": "sha512-0FIG1jY88uhCP2yP4CfvtKEqPDRmsUwfY1kEOOM+DH/KOGATgaIFd/is1+fQOxsvh62ELzcFfKonwKWnHhrqmw==", + "dev": true, + "requires": { + "fsevents": "~2.1.2" + } + }, + "rollup-plugin-livereload": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-livereload/-/rollup-plugin-livereload-2.0.0.tgz", + "integrity": "sha512-oC/8NqumGYuphkqrfszOHUUIwzKsaHBICw6QRwT5uD07gvePTS+HW+GFwu6f9K8W02CUuTvtIM9AWJrbj4wE1A==", + "dev": true, + "requires": { + "livereload": "^0.9.1" + } + }, + "rollup-plugin-svelte": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-svelte/-/rollup-plugin-svelte-6.0.1.tgz", + "integrity": "sha512-kS9/JZMBNgpKTqVKlwV8mhmGwxu8NiNf6+n5ZzdZ8yDp3+ADqjf8Au+JNEpoOn6kLlh1hLS2Gsa76k9RP57HDQ==", + "dev": true, + "requires": { + "require-relative": "^0.8.7", + "rollup-pluginutils": "^2.8.2", + "sourcemap-codec": "^1.4.8" + } + }, + "rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + } + }, + "rollup-pluginutils": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", + "dev": true, + "requires": { + "estree-walker": "^0.6.1" + }, + "dependencies": { + "estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", + "dev": true + } + } + }, + "sade": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.7.4.tgz", + "integrity": "sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA==", + "requires": { + "mri": "^1.1.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "semiver": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/semiver/-/semiver-1.1.0.tgz", + "integrity": "sha512-QNI2ChmuioGC1/xjyYwyZYADILWyW6AmS1UH6gDj/SFUUUS4MBAWs/7mxnkRPc/F4iHezDP+O8t0dO8WHiEOdg==" + }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "sirv": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.7.tgz", + "integrity": "sha512-QMT2OTD3CTr8de9VByPmvSEeyt6k8/Cxg0J2kQJ5HNhIWfhFg9ypcIWWzez9rPWnGj+WtJ7AZD/MdT/vdilV/A==", + "requires": { + "@polka/url": "^1.0.0-next.9", + "mime": "^2.3.1", + "totalist": "^1.0.0" + } + }, + "sirv-cli": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/sirv-cli/-/sirv-cli-1.0.7.tgz", + "integrity": "sha512-Ln9oXA+HVXWbj/SM/Am6TIVesF6pgAGxnUtn6pw9ofOVEyazv6Gf/J9vU2u6VbE14+pf/NNRGQbVJ6ZWuOruuA==", + "requires": { + "console-clear": "^1.1.0", + "get-port": "^3.2.0", + "kleur": "^3.0.0", + "local-access": "^1.0.1", + "sade": "^1.6.0", + "semiver": "^1.0.0", + "sirv": "^1.0.7", + "tinydate": "^1.0.0" + } + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "svelte": { + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.29.0.tgz", + "integrity": "sha512-f+A65eyOQ5ujETLy+igNXtlr6AEjAQLYd1yJE1VwNiXMQO5Z/Vmiy3rL+zblV/9jd7rtTTWqO1IcuXsP2Qv0OA==", + "dev": true + }, + "terser": { + "version": "5.3.5", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.3.5.tgz", + "integrity": "sha512-Qw3CZAMmmfU824AoGKalx+riwocSI5Cs0PoGp9RdSLfmxkmJgyBxqLBP/isDNtFyhHnitikvRMZzyVgeq+U+Tg==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.19" + } + }, + "tinydate": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/tinydate/-/tinydate-1.3.0.tgz", + "integrity": "sha512-7cR8rLy2QhYHpsBDBVYnnWXm8uRTr38RoZakFSW7Bs7PzfMPNZthuMLkwqZv7MTu8lhQ91cOFYS5a7iFj2oR3w==" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "totalist": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", + "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==" + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "ws": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..e9e9def --- /dev/null +++ b/package.json @@ -0,0 +1,21 @@ +{ + "name": "svelte-app", + "version": "1.0.0", + "scripts": { + "build": "rollup -c", + "dev": "rollup -c -w", + "start": "sirv public" + }, + "devDependencies": { + "@rollup/plugin-commonjs": "^14.0.0", + "@rollup/plugin-node-resolve": "^8.0.0", + "rollup": "^2.3.4", + "rollup-plugin-livereload": "^2.0.0", + "rollup-plugin-svelte": "^6.0.0", + "rollup-plugin-terser": "^7.0.0", + "svelte": "^3.0.0" + }, + "dependencies": { + "sirv-cli": "^1.0.0" + } +} diff --git a/public/favicon.png b/public/favicon.png new file mode 100644 index 0000000..7e6f5eb Binary files /dev/null and b/public/favicon.png differ diff --git a/public/global.css b/public/global.css new file mode 100644 index 0000000..bb28a94 --- /dev/null +++ b/public/global.css @@ -0,0 +1,63 @@ +html, body { + position: relative; + width: 100%; + height: 100%; +} + +body { + color: #333; + margin: 0; + padding: 8px; + box-sizing: border-box; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; +} + +a { + color: rgb(0,100,200); + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +a:visited { + color: rgb(0,80,160); +} + +label { + display: block; +} + +input, button, select, textarea { + font-family: inherit; + font-size: inherit; + -webkit-padding: 0.4em 0; + padding: 0.4em; + margin: 0 0 0.5em 0; + box-sizing: border-box; + border: 1px solid #ccc; + border-radius: 2px; +} + +input:disabled { + color: #ccc; +} + +button { + color: #333; + background-color: #f4f4f4; + outline: none; +} + +button:disabled { + color: #999; +} + +button:not(:disabled):active { + background-color: #ddd; +} + +button:focus { + border-color: #666; +} diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..5da7ed3 --- /dev/null +++ b/public/index.html @@ -0,0 +1,18 @@ + + + + + + + Svelte app + + + + + + + + + + + diff --git a/rollup.config.js b/rollup.config.js new file mode 100644 index 0000000..ecdc627 --- /dev/null +++ b/rollup.config.js @@ -0,0 +1,75 @@ +import svelte from 'rollup-plugin-svelte'; +import resolve from '@rollup/plugin-node-resolve'; +import commonjs from '@rollup/plugin-commonjs'; +import livereload from 'rollup-plugin-livereload'; +import { terser } from 'rollup-plugin-terser'; + +const production = !process.env.ROLLUP_WATCH; + +function serve() { + let server; + + function toExit() { + if (server) server.kill(0); + } + + return { + writeBundle() { + if (server) return; + server = require('child_process').spawn('npm', ['run', 'start', '--', '--dev'], { + stdio: ['ignore', 'inherit', 'inherit'], + shell: true + }); + + process.on('SIGTERM', toExit); + process.on('exit', toExit); + } + }; +} + +export default { + input: 'src/main.js', + output: { + sourcemap: true, + format: 'iife', + name: 'app', + file: 'public/build/bundle.js' + }, + plugins: [ + svelte({ + // enable run-time checks when not in production + dev: !production, + // we'll extract any component CSS out into + // a separate file - better for performance + css: css => { + css.write('bundle.css'); + } + }), + + // If you have external dependencies installed from + // npm, you'll most likely need these plugins. In + // some cases you'll need additional configuration - + // consult the documentation for details: + // https://github.com/rollup/plugins/tree/master/packages/commonjs + resolve({ + browser: true, + dedupe: ['svelte'] + }), + commonjs(), + + // In dev mode, call `npm run start` once + // the bundle has been generated + !production && serve(), + + // Watch the `public` directory and refresh the + // browser on changes when not in production + !production && livereload('public'), + + // If we're building for production (npm run build + // instead of npm run dev), minify + production && terser() + ], + watch: { + clearScreen: false + } +}; diff --git a/scripts/setupTypeScript.js b/scripts/setupTypeScript.js new file mode 100644 index 0000000..71efddf --- /dev/null +++ b/scripts/setupTypeScript.js @@ -0,0 +1,128 @@ +// @ts-check + +/** This script modifies the project to support TS code in .svelte files like: + + + + As well as validating the code for CI. + */ + +/** To work on this script: + rm -rf test-template template && git clone sveltejs/template test-template && node scripts/setupTypeScript.js test-template +*/ + +const fs = require("fs") +const path = require("path") +const { argv } = require("process") + +const projectRoot = argv[2] || path.join(__dirname, "..") + +// Add deps to pkg.json +const packageJSON = JSON.parse(fs.readFileSync(path.join(projectRoot, "package.json"), "utf8")) +packageJSON.devDependencies = Object.assign(packageJSON.devDependencies, { + "svelte-check": "^1.0.0", + "svelte-preprocess": "^4.0.0", + "@rollup/plugin-typescript": "^6.0.0", + "typescript": "^3.9.3", + "tslib": "^2.0.0", + "@tsconfig/svelte": "^1.0.0" +}) + +// Add script for checking +packageJSON.scripts = Object.assign(packageJSON.scripts, { + "validate": "svelte-check" +}) + +// Write the package JSON +fs.writeFileSync(path.join(projectRoot, "package.json"), JSON.stringify(packageJSON, null, " ")) + +// mv src/main.js to main.ts - note, we need to edit rollup.config.js for this too +const beforeMainJSPath = path.join(projectRoot, "src", "main.js") +const afterMainTSPath = path.join(projectRoot, "src", "main.ts") +fs.renameSync(beforeMainJSPath, afterMainTSPath) + +// Switch the app.svelte file to use TS +const appSveltePath = path.join(projectRoot, "src", "App.svelte") +let appFile = fs.readFileSync(appSveltePath, "utf8") +appFile = appFile.replace(" + +
+

Hello {name}!

+

Visit the Svelte tutorial to learn how to build Svelte apps.

+
+ + diff --git a/src/Button.svelte b/src/Button.svelte new file mode 100644 index 0000000..cb31b03 --- /dev/null +++ b/src/Button.svelte @@ -0,0 +1,11 @@ + + + + + diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..a5de2df --- /dev/null +++ b/src/main.js @@ -0,0 +1,10 @@ +import App from './App.svelte'; + +const app = new App({ + target: document.body, + props: { + name: 'Seb & Nate' + } +}); + +export default app;