Vašek Šraier
4 years ago
11 changed files with 1190 additions and 0 deletions
@ -0,0 +1,4 @@ |
|||
/node_modules/ |
|||
/public/build/ |
|||
|
|||
.DS_Store |
@ -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 |
|||
``` |
@ -0,0 +1,736 @@ |
|||
{ |
|||
"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.2", |
|||
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.11.2.tgz", |
|||
"integrity": "sha512-jiE3QIxJ8JLNcb1Ps6rDbysDhN4xa8DJJvuC9prr6w+1tIh+QAbYyNF3tyiZNLDBIuBCf4KEcV2UvQm/V60xfA==", |
|||
"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.2", |
|||
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.2.tgz", |
|||
"integrity": "sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==", |
|||
"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.4.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.3.0", |
|||
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.3.0.tgz", |
|||
"integrity": "sha512-Vmpn2F6IASefL+DVBhPzI2J9/GJUsqzomdeN+P+dK8/jKxbh8R3BtFnx3FIta7wYlPU62cpJMJQo4kuOowcMnw==", |
|||
"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.4.0", |
|||
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", |
|||
"integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", |
|||
"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.28.2", |
|||
"resolved": "https://registry.npmjs.org/rollup/-/rollup-2.28.2.tgz", |
|||
"integrity": "sha512-8txbsFBFLmm9Xdt4ByTOGa9Muonmc8MfNjnGAR8U8scJlF1ZW7AgNZa7aqBXaKtlvnYP/ab++fQIq9dB9NWUbg==", |
|||
"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.3", |
|||
"resolved": "https://registry.npmjs.org/sade/-/sade-1.7.3.tgz", |
|||
"integrity": "sha512-m4BctppMvJ60W1dXnHq7jMmFe3hPJZDAH85kQ3ACTo7XZNVUuTItCQ+2HfyaMeV5cKrbw7l4vD/6We3GBxvdJw==", |
|||
"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.6", |
|||
"resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.6.tgz", |
|||
"integrity": "sha512-LRGu7Op4Xl9hhigOy2kcB53zAYTjNDdpooey49dIU0cMdpOv9ithVf7nstk3jvs8EhMiT/VORoyazZYGgw4vnA==", |
|||
"requires": { |
|||
"@polka/url": "^1.0.0-next.9", |
|||
"mime": "^2.3.1", |
|||
"totalist": "^1.0.0" |
|||
} |
|||
}, |
|||
"sirv-cli": { |
|||
"version": "1.0.6", |
|||
"resolved": "https://registry.npmjs.org/sirv-cli/-/sirv-cli-1.0.6.tgz", |
|||
"integrity": "sha512-K/iY1OHG7hTw4GzLoqMhwzKCbgWmx5joYAAF2+CwyiamWCpVzAgNVWgAc0JmSA2Gf3wseov05il2QbFTGTZMVg==", |
|||
"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.6", |
|||
"tinydate": "^1.0.0" |
|||
} |
|||
}, |
|||
"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 |
|||
}, |
|||
"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" |
|||
} |
|||
}, |
|||
"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.28.0", |
|||
"resolved": "https://registry.npmjs.org/svelte/-/svelte-3.28.0.tgz", |
|||
"integrity": "sha512-WJW8wD+aTmU5GUnTUjdhVF35mve2MjylubLgB6fGWoXHpYENdwcwWsWvjMQLayzMynqNH733h1Ck8wJzNR7gdQ==", |
|||
"dev": true |
|||
}, |
|||
"terser": { |
|||
"version": "5.3.2", |
|||
"resolved": "https://registry.npmjs.org/terser/-/terser-5.3.2.tgz", |
|||
"integrity": "sha512-H67sydwBz5jCUA32ZRL319ULu+Su1cAoZnnc+lXnenGRYWyLE3Scgkt8mNoAsMx0h5kdo758zdoS0LG9rYZXDQ==", |
|||
"dev": true, |
|||
"requires": { |
|||
"commander": "^2.20.0", |
|||
"source-map": "~0.6.1", |
|||
"source-map-support": "~0.5.12" |
|||
} |
|||
}, |
|||
"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" |
|||
} |
|||
} |
|||
} |
|||
} |
@ -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" |
|||
} |
|||
} |
After Width: | Height: | Size: 3.1 KiB |
@ -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; |
|||
} |
@ -0,0 +1,18 @@ |
|||
<!DOCTYPE html> |
|||
<html lang="en"> |
|||
<head> |
|||
<meta charset='utf-8'> |
|||
<meta name='viewport' content='width=device-width,initial-scale=1'> |
|||
|
|||
<title>Svelte app</title> |
|||
|
|||
<link rel='icon' type='image/png' href='/favicon.png'> |
|||
<link rel='stylesheet' href='/global.css'> |
|||
<link rel='stylesheet' href='/build/bundle.css'> |
|||
|
|||
<script defer src='/build/bundle.js'></script> |
|||
</head> |
|||
|
|||
<body> |
|||
</body> |
|||
</html> |
@ -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 |
|||
} |
|||
}; |
@ -0,0 +1,128 @@ |
|||
// @ts-check
|
|||
|
|||
/** This script modifies the project to support TS code in .svelte files like: |
|||
|
|||
<script lang="ts"> |
|||
export let name: string; |
|||
</script> |
|||
|
|||
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("<script>", '<script lang="ts">') |
|||
appFile = appFile.replace("export let name;", 'export let name: string;') |
|||
fs.writeFileSync(appSveltePath, appFile) |
|||
|
|||
// Edit rollup config
|
|||
const rollupConfigPath = path.join(projectRoot, "rollup.config.js") |
|||
let rollupConfig = fs.readFileSync(rollupConfigPath, "utf8") |
|||
|
|||
// Edit imports
|
|||
rollupConfig = rollupConfig.replace(`'rollup-plugin-terser';`, `'rollup-plugin-terser';
|
|||
import sveltePreprocess from 'svelte-preprocess'; |
|||
import typescript from '@rollup/plugin-typescript';`)
|
|||
|
|||
// Replace name of entry point
|
|||
rollupConfig = rollupConfig.replace(`'src/main.js'`, `'src/main.ts'`) |
|||
|
|||
// Add preprocess to the svelte config, this is tricky because there's no easy signifier.
|
|||
// Instead we look for `css:` then the next `}` and add the preprocessor to that
|
|||
let foundCSS = false |
|||
let match |
|||
|
|||
// https://regex101.com/r/OtNjwo/1
|
|||
const configEditor = new RegExp(/css:.|\n*}/gmi) |
|||
while (( match = configEditor.exec(rollupConfig)) != null) { |
|||
if (foundCSS) { |
|||
const endOfCSSIndex = match.index + 1 |
|||
rollupConfig = rollupConfig.slice(0, endOfCSSIndex) + ",\n preprocess: sveltePreprocess()," + rollupConfig.slice(endOfCSSIndex); |
|||
break |
|||
} |
|||
if (match[0].includes("css:")) foundCSS = true |
|||
} |
|||
|
|||
|
|||
// Add TypeScript
|
|||
rollupConfig = rollupConfig.replace( |
|||
'commonjs(),', |
|||
'commonjs(),\n\t\ttypescript({\n\t\t\tsourceMap: !production,\n\t\t\tinlineSources: !production\n\t\t}),' |
|||
); |
|||
fs.writeFileSync(rollupConfigPath, rollupConfig) |
|||
|
|||
// Add TSConfig
|
|||
const tsconfig = `{
|
|||
"extends": "@tsconfig/svelte/tsconfig.json", |
|||
|
|||
"include": ["src/**/*"], |
|||
"exclude": ["node_modules/*", "__sapper__/*", "public/*"], |
|||
}` |
|||
const tsconfigPath = path.join(projectRoot, "tsconfig.json") |
|||
fs.writeFileSync(tsconfigPath, tsconfig) |
|||
|
|||
// Delete this script, but not during testing
|
|||
if (!argv[2]) { |
|||
// Remove the script
|
|||
fs.unlinkSync(path.join(__filename)) |
|||
|
|||
// Check for Mac's DS_store file, and if it's the only one left remove it
|
|||
const remainingFiles = fs.readdirSync(path.join(__dirname)) |
|||
if (remainingFiles.length === 1 && remainingFiles[0] === '.DS_store') { |
|||
fs.unlinkSync(path.join(__dirname, '.DS_store')) |
|||
} |
|||
|
|||
// Check if the scripts folder is empty
|
|||
if (fs.readdirSync(path.join(__dirname)).length === 0) { |
|||
// Remove the scripts folder
|
|||
fs.rmdirSync(path.join(__dirname)) |
|||
} |
|||
} |
|||
|
|||
// Adds the extension recommendation
|
|||
fs.mkdirSync(path.join(projectRoot, ".vscode")) |
|||
fs.writeFileSync(path.join(projectRoot, ".vscode", "extensions.json"), `{
|
|||
"recommendations": ["svelte.svelte-vscode"] |
|||
} |
|||
`)
|
|||
|
|||
console.log("Converted to TypeScript.") |
|||
|
|||
if (fs.existsSync(path.join(projectRoot, "node_modules"))) { |
|||
console.log("\nYou will need to re-run your dependency manager to get started.") |
|||
} |
@ -0,0 +1,30 @@ |
|||
<script> |
|||
export let name; |
|||
</script> |
|||
|
|||
<main> |
|||
<h1>Hello {name}!</h1> |
|||
<p>Visit the <a href="https://svelte.dev/tutorial">Svelte tutorial</a> to learn how to build Svelte apps.</p> |
|||
</main> |
|||
|
|||
<style> |
|||
main { |
|||
text-align: center; |
|||
padding: 1em; |
|||
max-width: 240px; |
|||
margin: 0 auto; |
|||
} |
|||
|
|||
h1 { |
|||
color: #ff3e00; |
|||
text-transform: uppercase; |
|||
font-size: 4em; |
|||
font-weight: 100; |
|||
} |
|||
|
|||
@media (min-width: 640px) { |
|||
main { |
|||
max-width: none; |
|||
} |
|||
} |
|||
</style> |
@ -0,0 +1,10 @@ |
|||
import App from './App.svelte'; |
|||
|
|||
const app = new App({ |
|||
target: document.body, |
|||
props: { |
|||
name: 'world' |
|||
} |
|||
}); |
|||
|
|||
export default app; |
Reference in new issue