2
.gitignore
vendored
@@ -7,4 +7,4 @@ yarn-error.log
|
||||
/templates/.*
|
||||
/export/
|
||||
/build/
|
||||
/app/manifest/
|
||||
/src/manifest/
|
||||
|
||||
20
package-lock.json
generated
@@ -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",
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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);
|
||||
})
|
||||
});
|
||||
|
Before Width: | Height: | Size: 721 B After Width: | Height: | Size: 721 B |
|
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
77
webpack.config.js
Normal file
@@ -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
|
||||
}
|
||||
};
|
||||
@@ -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'
|
||||
};
|
||||
@@ -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
|
||||
}
|
||||
};
|
||||
@@ -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
|
||||
};
|
||||