Merge pull request #83 from sveltejs/webpack-0.21

Webpack 0.21
This commit is contained in:
Rich Harris
2018-09-23 22:04:13 -04:00
committed by GitHub
27 changed files with 91 additions and 93 deletions

2
.gitignore vendored
View File

@@ -7,4 +7,4 @@ yarn-error.log
/templates/.*
/export/
/build/
/app/manifest/
/src/manifest/

20
package-lock.json generated
View File

@@ -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",

View File

@@ -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": {

View File

@@ -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);
})
});

View File

Before

Width:  |  Height:  |  Size: 721 B

After

Width:  |  Height:  |  Size: 721 B

View File

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 80 KiB

View File

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

77
webpack.config.js Normal file
View 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
}
};

View File

@@ -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'
};

View File

@@ -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
}
};

View File

@@ -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
};