diff --git a/.gitignore b/.gitignore index 33cade9..9869aa9 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,4 @@ yarn-error.log /templates/.* /export/ /build/ -/app/manifest/ +/src/manifest/ diff --git a/package-lock.json b/package-lock.json index a913c4f..04f622c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3365,12 +3365,12 @@ } }, "sapper": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/sapper/-/sapper-0.20.0.tgz", - "integrity": "sha512-Y82mPz7T0lPBtQuB7bldBUi08//8U1MLp8GVpdR0wzM2Hnro6D1QLv0L+ohHIHDPGsYb8T6+NMEX5pdkTF+Z4A==", + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/sapper/-/sapper-0.21.0.tgz", + "integrity": "sha512-uhie/KdZmozvXc4c6j+Zehw/jtxP3claCma22wO/e8fYMm/yw0vffQi2T/Jp8TPDI+GbNiF+tQKkX8axszym2g==", "requires": { "html-minifier": "^3.5.16", - "shimport": "^0.0.10", + "shimport": "0.0.11", "source-map-support": "^0.5.6", "sourcemap-codec": "^1.4.1", "string-hash": "^1.1.3", @@ -3472,9 +3472,9 @@ } }, "shimport": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/shimport/-/shimport-0.0.10.tgz", - "integrity": "sha512-3xPFDLmcLj87sx0OwA60qbloMQUsu6VGF97IG4RqxTf91sGeiaaXOPxM1PoQHbaTm4TOhH8zosokqLAZtuNGnA==" + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/shimport/-/shimport-0.0.11.tgz", + "integrity": "sha512-wRlG/wMuV/czrzJEWBUPjydU/Ve0kTrTH8wHLRjuY6S2BDB+qDDXkTY/WrNc/7t5jnd0LPVO1sRIE7Ga6uXTpw==" }, "sirv": { "version": "0.2.1", @@ -3639,9 +3639,9 @@ "dev": true }, "sourcemap-codec": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.1.tgz", - "integrity": "sha512-hX1eNBNuilj8yfFnECh0DzLgwKpBLMIvmhgEhixXNui8lMLBInTI8Kyxt++RwJnMNu7cAUo635L2+N1TxMJCzA==" + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.3.tgz", + "integrity": "sha512-vFrY/x/NdsD7Yc8mpTJXuao9S8lq08Z/kOITHz6b7YbfI9xL8Spe5EvSQUHOI7SbpY8bRPr0U3kKSsPuqEGSfA==" }, "spdx-correct": { "version": "3.0.0", diff --git a/package.json b/package.json index 3a1a18f..8da42ca 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "dependencies": { "compression": "^1.7.1", "polka": "^0.4.0", - "sapper": "^0.20.0", + "sapper": "^0.21.0", "sirv": "^0.2.0" }, "devDependencies": { diff --git a/app/client.js b/src/client.js similarity index 100% rename from app/client.js rename to src/client.js diff --git a/components/Nav.html b/src/components/Nav.html similarity index 100% rename from components/Nav.html rename to src/components/Nav.html diff --git a/routes/_error.html b/src/routes/_error.html similarity index 100% rename from routes/_error.html rename to src/routes/_error.html diff --git a/routes/_layout.html b/src/routes/_layout.html similarity index 100% rename from routes/_layout.html rename to src/routes/_layout.html diff --git a/routes/about.html b/src/routes/about.html similarity index 100% rename from routes/about.html rename to src/routes/about.html diff --git a/routes/blog/[slug].html b/src/routes/blog/[slug].html similarity index 100% rename from routes/blog/[slug].html rename to src/routes/blog/[slug].html diff --git a/routes/blog/[slug].json.js b/src/routes/blog/[slug].json.js similarity index 100% rename from routes/blog/[slug].json.js rename to src/routes/blog/[slug].json.js diff --git a/routes/blog/_posts.js b/src/routes/blog/_posts.js similarity index 100% rename from routes/blog/_posts.js rename to src/routes/blog/_posts.js diff --git a/routes/blog/index.html b/src/routes/blog/index.html similarity index 100% rename from routes/blog/index.html rename to src/routes/blog/index.html diff --git a/routes/blog/index.json.js b/src/routes/blog/index.json.js similarity index 100% rename from routes/blog/index.json.js rename to src/routes/blog/index.json.js diff --git a/routes/index.html b/src/routes/index.html similarity index 100% rename from routes/index.html rename to src/routes/index.html diff --git a/app/server.js b/src/server.js similarity index 92% rename from app/server.js rename to src/server.js index dec9098..f248e34 100644 --- a/app/server.js +++ b/src/server.js @@ -10,9 +10,9 @@ const dev = NODE_ENV === 'development'; polka() // You can also use Express .use( compression({ threshold: 0 }), - sirv('assets', { dev }), + sirv('static', { dev }), sapper({ manifest }) ) .listen(PORT, err => { if (err) console.log('error', err); - }) + }); diff --git a/app/service-worker.js b/src/service-worker.js similarity index 100% rename from app/service-worker.js rename to src/service-worker.js diff --git a/app/template.html b/src/template.html similarity index 100% rename from app/template.html rename to src/template.html diff --git a/assets/favicon.png b/static/favicon.png similarity index 100% rename from assets/favicon.png rename to static/favicon.png diff --git a/assets/global.css b/static/global.css similarity index 100% rename from assets/global.css rename to static/global.css diff --git a/assets/great-success.png b/static/great-success.png similarity index 100% rename from assets/great-success.png rename to static/great-success.png diff --git a/assets/manifest.json b/static/manifest.json similarity index 100% rename from assets/manifest.json rename to static/manifest.json diff --git a/assets/svelte-logo-192.png b/static/svelte-logo-192.png similarity index 100% rename from assets/svelte-logo-192.png rename to static/svelte-logo-192.png diff --git a/assets/svelte-logo-512.png b/static/svelte-logo-512.png similarity index 100% rename from assets/svelte-logo-512.png rename to static/svelte-logo-512.png diff --git a/webpack.config.js b/webpack.config.js new file mode 100644 index 0000000..3401f75 --- /dev/null +++ b/webpack.config.js @@ -0,0 +1,77 @@ +const webpack = require('webpack'); +const config = require('sapper/config/webpack.js'); +const pkg = require('./package.json'); + +const mode = process.env.NODE_ENV; +const dev = mode === 'development'; + +module.exports = { + client: { + entry: config.client.entry(), + output: config.client.output(), + resolve: { + extensions: ['.js', '.json', '.html'], + mainFields: ['svelte', 'module', 'browser', 'main'] + }, + module: { + rules: [ + { + test: /\.html$/, + use: { + loader: 'svelte-loader', + options: { + dev, + hydratable: true, + hotReload: true + } + } + } + ] + }, + mode, + plugins: [ + dev && new webpack.HotModuleReplacementPlugin(), + new webpack.DefinePlugin({ + 'process.browser': true, + 'process.env.NODE_ENV': JSON.stringify(mode) + }), + ].filter(Boolean), + devtool: dev && 'inline-source-map' + }, + + server: { + entry: config.server.entry(), + output: config.server.output(), + target: 'node', + resolve: { + extensions: ['.js', '.json', '.html'], + mainFields: ['svelte', 'module', 'browser', 'main'] + }, + externals: Object.keys(pkg.dependencies), + module: { + rules: [ + { + test: /\.html$/, + use: { + loader: 'svelte-loader', + options: { + css: false, + generate: 'ssr', + dev + } + } + } + ] + }, + mode: process.env.NODE_ENV, + performance: { + hints: false // it doesn't matter if server.js is large + } + }, + + serviceworker: { + entry: config.serviceworker.entry(), + output: config.serviceworker.output(), + mode: process.env.NODE_ENV + } +}; diff --git a/webpack/client.config.js b/webpack/client.config.js deleted file mode 100644 index ff4400a..0000000 --- a/webpack/client.config.js +++ /dev/null @@ -1,38 +0,0 @@ -const webpack = require('webpack'); -const config = require('sapper/config/webpack.js'); - -const mode = process.env.NODE_ENV; -const dev = mode === 'development'; - -module.exports = { - entry: config.client.entry(), - output: config.client.output(), - resolve: { - extensions: ['.js', '.json', '.html'], - mainFields: ['svelte', 'module', 'browser', 'main'] - }, - module: { - rules: [ - { - test: /\.html$/, - use: { - loader: 'svelte-loader', - options: { - dev, - hydratable: true, - hotReload: true - } - } - } - ] - }, - mode, - plugins: [ - dev && new webpack.HotModuleReplacementPlugin(), - new webpack.DefinePlugin({ - 'process.browser': true, - 'process.env.NODE_ENV': JSON.stringify(mode) - }), - ].filter(Boolean), - devtool: dev && 'inline-source-map' -}; diff --git a/webpack/server.config.js b/webpack/server.config.js deleted file mode 100644 index 6de2a07..0000000 --- a/webpack/server.config.js +++ /dev/null @@ -1,34 +0,0 @@ -const config = require('sapper/config/webpack.js'); -const pkg = require('../package.json'); - -const dev = process.env.NODE_ENV === 'development'; - -module.exports = { - entry: config.server.entry(), - output: config.server.output(), - target: 'node', - resolve: { - extensions: ['.js', '.json', '.html'], - mainFields: ['svelte', 'module', 'browser', 'main'] - }, - externals: Object.keys(pkg.dependencies), - module: { - rules: [ - { - test: /\.html$/, - use: { - loader: 'svelte-loader', - options: { - css: false, - generate: 'ssr', - dev - } - } - } - ] - }, - mode: process.env.NODE_ENV, - performance: { - hints: false // it doesn't matter if server.js is large - } -}; \ No newline at end of file diff --git a/webpack/service-worker.config.js b/webpack/service-worker.config.js deleted file mode 100644 index ab91eb4..0000000 --- a/webpack/service-worker.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const config = require('sapper/config/webpack.js'); - -module.exports = { - entry: config.serviceworker.entry(), - output: config.serviceworker.output(), - mode: process.env.NODE_ENV -}; \ No newline at end of file