Apply some measurements for shaving off the few kilobytes.
- Shave off about 30 kB by building with preact instead of react. - Shave off another 20 kB by using a moment-timezone build with only data for 2012~2022. Should be updated in time!pull/1/head
parent
02aff29fc1
commit
b87e1e7577
|
@ -12,6 +12,10 @@ module.exports = {
|
|||
},
|
||||
|
||||
webpack: {
|
||||
aliases: {
|
||||
'moment-timezone': 'moment-timezone/builds/moment-timezone-with-data-2012-2022.js',
|
||||
},
|
||||
|
||||
autoprefixer: '> 1%, last 2 versions, Firefox ESR, ios >= 8',
|
||||
|
||||
extra: {
|
||||
|
|
|
@ -4980,6 +4980,14 @@
|
|||
"integrity": "sha1-QyNS5XrM2HqzEQ6C0/6g5HgSFW0=",
|
||||
"dev": true
|
||||
},
|
||||
"immutability-helper": {
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/immutability-helper/-/immutability-helper-2.3.1.tgz",
|
||||
"integrity": "sha1-jM/OkhVyCMEgsq+tftBcERFMCG4=",
|
||||
"requires": {
|
||||
"invariant": "2.2.2"
|
||||
}
|
||||
},
|
||||
"imurmurhash": {
|
||||
"version": "0.1.4",
|
||||
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
|
||||
|
@ -8752,6 +8760,36 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"preact": {
|
||||
"version": "8.2.1",
|
||||
"resolved": "https://registry.npmjs.org/preact/-/preact-8.2.1.tgz",
|
||||
"integrity": "sha1-Z0JD3wyEeITQGYNARKovzTEecu0="
|
||||
},
|
||||
"preact-compat": {
|
||||
"version": "3.17.0",
|
||||
"resolved": "https://registry.npmjs.org/preact-compat/-/preact-compat-3.17.0.tgz",
|
||||
"integrity": "sha1-Uoz9/DARkMGg9HVnM2vh9L4CZrM=",
|
||||
"requires": {
|
||||
"immutability-helper": "2.3.1",
|
||||
"preact-render-to-string": "3.6.3",
|
||||
"preact-transition-group": "1.1.1",
|
||||
"prop-types": "15.5.10",
|
||||
"standalone-react-addons-pure-render-mixin": "0.1.1"
|
||||
}
|
||||
},
|
||||
"preact-render-to-string": {
|
||||
"version": "3.6.3",
|
||||
"resolved": "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-3.6.3.tgz",
|
||||
"integrity": "sha1-SB0NW9rJGS0zR1V0N9XNAKoxIEM=",
|
||||
"requires": {
|
||||
"pretty-format": "3.8.0"
|
||||
}
|
||||
},
|
||||
"preact-transition-group": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/preact-transition-group/-/preact-transition-group-1.1.1.tgz",
|
||||
"integrity": "sha1-8KSTJ+pRXs406ivoZMSn0p5dbhA="
|
||||
},
|
||||
"prelude-ls": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
|
||||
|
@ -8780,6 +8818,11 @@
|
|||
"utila": "0.4.0"
|
||||
}
|
||||
},
|
||||
"pretty-format": {
|
||||
"version": "3.8.0",
|
||||
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-3.8.0.tgz",
|
||||
"integrity": "sha1-v77VbV6ad2ZF9LH/eqGjrE+jw4U="
|
||||
},
|
||||
"private": {
|
||||
"version": "0.1.7",
|
||||
"resolved": "https://registry.npmjs.org/private/-/private-0.1.7.tgz",
|
||||
|
@ -10272,6 +10315,11 @@
|
|||
"integrity": "sha1-M6qE8Rd6VUjIk1Uzy/6zQgl19aQ=",
|
||||
"dev": true
|
||||
},
|
||||
"standalone-react-addons-pure-render-mixin": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/standalone-react-addons-pure-render-mixin/-/standalone-react-addons-pure-render-mixin-0.1.1.tgz",
|
||||
"integrity": "sha1-PHQJ9MecQN6axyxhbPZ5qZTzdVE="
|
||||
},
|
||||
"statuses": {
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
"private": true,
|
||||
"main": "src/index.jsx",
|
||||
"scripts": {
|
||||
"build": "nwb build-react-app ./src",
|
||||
"build": "nwb build-react-app ./src --preact",
|
||||
"clean": "nwb clean-app",
|
||||
"start": "nwb serve-react-app ./src",
|
||||
"test": "nwb test-react",
|
||||
|
@ -45,6 +45,8 @@
|
|||
"dependencies": {
|
||||
"moment-timezone": "^0.5.13",
|
||||
"normalize-scss": "^7.0.0",
|
||||
"preact": "^8.2.1",
|
||||
"preact-compat": "^3.17.0",
|
||||
"prop-types": "^15.5.10",
|
||||
"react": "^15.6.1",
|
||||
"react-dom": "^15.6.1",
|
||||
|
|
|
@ -50,6 +50,9 @@ class App extends React.Component {
|
|||
}
|
||||
|
||||
const { nextUpcomingDate } = this.state;
|
||||
if (!nextUpcomingDate) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return (
|
||||
<div className={style.app}>
|
||||
|
|
Loading…
Reference in New Issue