julien-c HF staff commited on
Commit
b8b1de1
1 Parent(s): fb634fc

npx degit sveltejs/template

Browse files
.gitignore ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ /node_modules/
2
+ /public/build/
3
+
4
+ .DS_Store
.vscode/extensions.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ {
2
+ "recommendations": ["svelte.svelte-vscode"]
3
+ }
package.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "svelte-app",
3
+ "version": "1.0.0",
4
+ "private": true,
5
+ "scripts": {
6
+ "build": "rollup -c",
7
+ "dev": "rollup -c -w",
8
+ "start": "sirv public --no-clear",
9
+ "check": "svelte-check --tsconfig ./tsconfig.json"
10
+ },
11
+ "devDependencies": {
12
+ "@rollup/plugin-commonjs": "^17.0.0",
13
+ "@rollup/plugin-node-resolve": "^11.0.0",
14
+ "rollup": "^2.3.4",
15
+ "rollup-plugin-css-only": "^3.1.0",
16
+ "rollup-plugin-livereload": "^2.0.0",
17
+ "rollup-plugin-svelte": "^7.0.0",
18
+ "rollup-plugin-terser": "^7.0.0",
19
+ "svelte": "^3.0.0",
20
+ "svelte-check": "^2.0.0",
21
+ "svelte-preprocess": "^4.0.0",
22
+ "@rollup/plugin-typescript": "^8.0.0",
23
+ "typescript": "^4.0.0",
24
+ "tslib": "^2.0.0",
25
+ "@tsconfig/svelte": "^2.0.0"
26
+ },
27
+ "dependencies": {
28
+ "sirv-cli": "^2.0.0"
29
+ }
30
+ }
public/favicon.png ADDED
public/global.css ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ html, body {
2
+ position: relative;
3
+ width: 100%;
4
+ height: 100%;
5
+ }
6
+
7
+ body {
8
+ color: #333;
9
+ margin: 0;
10
+ padding: 8px;
11
+ box-sizing: border-box;
12
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
13
+ }
14
+
15
+ a {
16
+ color: rgb(0,100,200);
17
+ text-decoration: none;
18
+ }
19
+
20
+ a:hover {
21
+ text-decoration: underline;
22
+ }
23
+
24
+ a:visited {
25
+ color: rgb(0,80,160);
26
+ }
27
+
28
+ label {
29
+ display: block;
30
+ }
31
+
32
+ input, button, select, textarea {
33
+ font-family: inherit;
34
+ font-size: inherit;
35
+ -webkit-padding: 0.4em 0;
36
+ padding: 0.4em;
37
+ margin: 0 0 0.5em 0;
38
+ box-sizing: border-box;
39
+ border: 1px solid #ccc;
40
+ border-radius: 2px;
41
+ }
42
+
43
+ input:disabled {
44
+ color: #ccc;
45
+ }
46
+
47
+ button {
48
+ color: #333;
49
+ background-color: #f4f4f4;
50
+ outline: none;
51
+ }
52
+
53
+ button:disabled {
54
+ color: #999;
55
+ }
56
+
57
+ button:not(:disabled):active {
58
+ background-color: #ddd;
59
+ }
60
+
61
+ button:focus {
62
+ border-color: #666;
63
+ }
public/index.html ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset='utf-8'>
5
+ <meta name='viewport' content='width=device-width,initial-scale=1'>
6
+
7
+ <title>Svelte app</title>
8
+
9
+ <link rel='icon' type='image/png' href='/favicon.png'>
10
+ <link rel='stylesheet' href='/global.css'>
11
+ <link rel='stylesheet' href='/build/bundle.css'>
12
+
13
+ <script defer src='/build/bundle.js'></script>
14
+ </head>
15
+
16
+ <body>
17
+ </body>
18
+ </html>
rollup.config.js ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import svelte from 'rollup-plugin-svelte';
2
+ import commonjs from '@rollup/plugin-commonjs';
3
+ import resolve from '@rollup/plugin-node-resolve';
4
+ import livereload from 'rollup-plugin-livereload';
5
+ import { terser } from 'rollup-plugin-terser';
6
+ import sveltePreprocess from 'svelte-preprocess';
7
+ import typescript from '@rollup/plugin-typescript';
8
+ import css from 'rollup-plugin-css-only';
9
+
10
+ const production = !process.env.ROLLUP_WATCH;
11
+
12
+ function serve() {
13
+ let server;
14
+
15
+ function toExit() {
16
+ if (server) server.kill(0);
17
+ }
18
+
19
+ return {
20
+ writeBundle() {
21
+ if (server) return;
22
+ server = require('child_process').spawn('npm', ['run', 'start', '--', '--dev'], {
23
+ stdio: ['ignore', 'inherit', 'inherit'],
24
+ shell: true
25
+ });
26
+
27
+ process.on('SIGTERM', toExit);
28
+ process.on('exit', toExit);
29
+ }
30
+ };
31
+ }
32
+
33
+ export default {
34
+ input: 'src/main.ts',
35
+ output: {
36
+ sourcemap: true,
37
+ format: 'iife',
38
+ name: 'app',
39
+ file: 'public/build/bundle.js'
40
+ },
41
+ plugins: [
42
+ svelte({
43
+ preprocess: sveltePreprocess({ sourceMap: !production }),
44
+ compilerOptions: {
45
+ // enable run-time checks when not in production
46
+ dev: !production
47
+ }
48
+ }),
49
+ // we'll extract any component CSS out into
50
+ // a separate file - better for performance
51
+ css({ output: 'bundle.css' }),
52
+
53
+ // If you have external dependencies installed from
54
+ // npm, you'll most likely need these plugins. In
55
+ // some cases you'll need additional configuration -
56
+ // consult the documentation for details:
57
+ // https://github.com/rollup/plugins/tree/master/packages/commonjs
58
+ resolve({
59
+ browser: true,
60
+ dedupe: ['svelte']
61
+ }),
62
+ commonjs(),
63
+ typescript({
64
+ sourceMap: !production,
65
+ inlineSources: !production
66
+ }),
67
+
68
+ // In dev mode, call `npm run start` once
69
+ // the bundle has been generated
70
+ !production && serve(),
71
+
72
+ // Watch the `public` directory and refresh the
73
+ // browser on changes when not in production
74
+ !production && livereload('public'),
75
+
76
+ // If we're building for production (npm run build
77
+ // instead of npm run dev), minify
78
+ production && terser()
79
+ ],
80
+ watch: {
81
+ clearScreen: false
82
+ }
83
+ };
src/App.svelte ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script lang="ts">
2
+ export let name: string;
3
+ </script>
4
+
5
+ <main>
6
+ <h1>Hello {name}!</h1>
7
+ <p>Visit the <a href="https://svelte.dev/tutorial">Svelte tutorial</a> to learn how to build Svelte apps.</p>
8
+ </main>
9
+
10
+ <style>
11
+ main {
12
+ text-align: center;
13
+ padding: 1em;
14
+ max-width: 240px;
15
+ margin: 0 auto;
16
+ }
17
+
18
+ h1 {
19
+ color: #ff3e00;
20
+ text-transform: uppercase;
21
+ font-size: 4em;
22
+ font-weight: 100;
23
+ }
24
+
25
+ @media (min-width: 640px) {
26
+ main {
27
+ max-width: none;
28
+ }
29
+ }
30
+ </style>
src/global.d.ts ADDED
@@ -0,0 +1 @@
 
 
1
+ /// <reference types="svelte" />
src/main.ts ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ import App from './App.svelte';
2
+
3
+ const app = new App({
4
+ target: document.body,
5
+ props: {
6
+ name: 'world'
7
+ }
8
+ });
9
+
10
+ export default app;
tsconfig.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "extends": "@tsconfig/svelte/tsconfig.json",
3
+
4
+ "include": ["src/**/*"],
5
+ "exclude": ["node_modules/*", "__sapper__/*", "public/*"]
6
+ }