mirror of
https://github.com/nkoehring/250kb-club.git
synced 2025-04-19 21:59:04 +02:00
better build process, caching fixes
This commit is contained in:
parent
c9f817a676
commit
3b5b233b06
9 changed files with 116 additions and 1391 deletions
|
@ -14,6 +14,8 @@
|
|||
"chalk": "^4.1.0",
|
||||
"phantomas": "^2.0.0",
|
||||
"rollup": "^2.3.4",
|
||||
"rollup-plugin-app-utils": "^1.0.6",
|
||||
"rollup-plugin-hash": "^1.3.0",
|
||||
"rollup-plugin-livereload": "^2.0.0",
|
||||
"rollup-plugin-svelte": "^6.0.0",
|
||||
"rollup-plugin-terser": "^7.0.0",
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
|
||||
/*# sourceMappingURL=bundle.css.map */
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"version": 3,
|
||||
"file": "bundle.css",
|
||||
"sources": [],
|
||||
"sourcesContent": [],
|
||||
"names": [],
|
||||
"mappings": ""
|
||||
}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -6,8 +6,8 @@
|
|||
<title>The 250kb Club</title>
|
||||
<meta name="description" content="An exclusive membership for web pages presenting themselves in no more than 250kb.">
|
||||
<link rel="icon" href="/favicon.png" type="image/x-icon">
|
||||
<link rel='stylesheet' href='/global.css'>
|
||||
<script defer src='/build/bundle.js'></script>
|
||||
<link rel='stylesheet' href='/global.css?1606074523572'>
|
||||
<script defer src='/build/bundle.js?1606074523572'></script>
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
|
|
|
@ -1,31 +1,33 @@
|
|||
import svelte from 'rollup-plugin-svelte';
|
||||
import resolve from '@rollup/plugin-node-resolve';
|
||||
import commonjs from '@rollup/plugin-commonjs';
|
||||
import json from '@rollup/plugin-json';
|
||||
import livereload from 'rollup-plugin-livereload';
|
||||
import { terser } from 'rollup-plugin-terser';
|
||||
import svelte from 'rollup-plugin-svelte'
|
||||
import resolve from '@rollup/plugin-node-resolve'
|
||||
import commonjs from '@rollup/plugin-commonjs'
|
||||
import json from '@rollup/plugin-json'
|
||||
import livereload from 'rollup-plugin-livereload'
|
||||
import { terser } from 'rollup-plugin-terser'
|
||||
import { emptyDirectories, htmlInjector } from 'rollup-plugin-app-utils'
|
||||
|
||||
const isProduction = !process.env.ROLLUP_WATCH;
|
||||
const isProduction = !process.env.ROLLUP_WATCH
|
||||
const timeStamp = Date.now()
|
||||
|
||||
function serve() {
|
||||
let server;
|
||||
let server
|
||||
|
||||
function toExit() {
|
||||
if (server) server.kill(0);
|
||||
if (server) server.kill(0)
|
||||
}
|
||||
|
||||
return {
|
||||
writeBundle() {
|
||||
if (server) return;
|
||||
if (server) return
|
||||
server = require('child_process').spawn('npm', ['run', 'start', '--', '--dev'], {
|
||||
stdio: ['ignore', 'inherit', 'inherit'],
|
||||
shell: true
|
||||
});
|
||||
})
|
||||
|
||||
process.on('SIGTERM', toExit);
|
||||
process.on('exit', toExit);
|
||||
process.on('SIGTERM', toExit)
|
||||
process.on('exit', toExit)
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
export default {
|
||||
|
@ -37,14 +39,15 @@ export default {
|
|||
file: 'public/build/bundle.js'
|
||||
},
|
||||
plugins: [
|
||||
emptyDirectories('./public/build/'),
|
||||
svelte({
|
||||
// enable run-time checks when not in production
|
||||
dev: !isProduction,
|
||||
// we'll extract any component CSS out into
|
||||
// a separate file - better for performance
|
||||
css: css => {
|
||||
css.write('bundle.css');
|
||||
}
|
||||
// css: css => {
|
||||
// css.write('bundle.css')
|
||||
//}
|
||||
}),
|
||||
|
||||
// If you have external dependencies installed from
|
||||
|
@ -58,6 +61,12 @@ export default {
|
|||
}),
|
||||
commonjs(),
|
||||
|
||||
htmlInjector({
|
||||
template: './src/template.html',
|
||||
target: './public/index.html',
|
||||
injects: { timeStamp },
|
||||
}),
|
||||
|
||||
json({
|
||||
exclude: ['node_modules/**'],
|
||||
preferConst: true,
|
||||
|
@ -80,4 +89,4 @@ export default {
|
|||
watch: {
|
||||
clearScreen: false
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
39
src/template.html
Normal file
39
src/template.html
Normal file
|
@ -0,0 +1,39 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>The 250kb Club</title>
|
||||
<meta name="description" content="An exclusive membership for web pages presenting themselves in no more than 250kb.">
|
||||
<link rel="icon" href="/favicon.png" type="image/x-icon">
|
||||
<link rel='stylesheet' href='/global.css?{timeStamp}'>
|
||||
<script defer src='/build/bundle.js?{timeStamp}'></script>
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<h1>The 250kb Club</h1>
|
||||
<p>
|
||||
The WWW has become a bloated mess. Many pages are loading megabytes of Javascript to show you a few kilobytes of content.
|
||||
These things are a <strong>cancerous growth</strong> on the web that we should stand up against.
|
||||
</p>
|
||||
<p>We can make a difference - no matter how small it may seem. The <em>250kb Club</em> is a collection of web pages that focus on performance, efficiency and accessibility.</p>
|
||||
<p>
|
||||
If you'd like to suggest a web page to add to this collection,
|
||||
<a href="https://github.com/nkoehring/250kb-club" rel="noopener" target="_blank">open a pull request or a ticket in the official Github repository</a>.
|
||||
The site will be reviewed and, if applicable, added to the list below.
|
||||
</p>
|
||||
<p>If your pages exceeds 250kb, you might consider <a href="https://1MB.club" rel="noopener" target="_blank">1MB.club</a> which is the inspiration for this page.</p>
|
||||
</header>
|
||||
<main id="members-table">
|
||||
</main>
|
||||
<footer>
|
||||
<p>
|
||||
Made with ♥ for a performant web by <a href="https://koehr.in" rel="noopener" target="_blank">Norman Köhring</a>.
|
||||
Inspired by <a href="https://uglyduck.ca" rel="noopener" target="_blank">Bradley Taunt</a>s <a href="https://1MB.club" rel="noopener" target="_blank">1MB.club</a>
|
||||
<br/>
|
||||
The code of this page is open source. You can <a href="https://github.com/nkoehring/250kb-club" rel="noopener" target="_blank">find it on Github</a>.
|
||||
</p>
|
||||
</footer>
|
||||
<script data-goatcounter="https://250kb-club.goatcounter.com/count" async src="//gc.zgo.at/count.js"></script>
|
||||
</body>
|
||||
</html>
|
44
yarn.lock
44
yarn.lock
|
@ -349,6 +349,11 @@ console-clear@^1.1.0:
|
|||
resolved "https://registry.yarnpkg.com/console-clear/-/console-clear-1.1.1.tgz#995e20cbfbf14dd792b672cde387bd128d674bf7"
|
||||
integrity sha512-pMD+MVR538ipqkG5JXeOEbKWS5um1H4LUUccUQG68qpeqBYbzYy79Gh55jkd2TtPdRfUaLWdv6LPP//5Zt0aPQ==
|
||||
|
||||
constants@0.0.2:
|
||||
version "0.0.2"
|
||||
resolved "https://registry.yarnpkg.com/constants/-/constants-0.0.2.tgz#f973bcf3b69b6493b3b3645723124fbabce25094"
|
||||
integrity sha1-+XO887abZJOzs2RXIxJPurziUJQ=
|
||||
|
||||
css-shorthand-properties@^1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/css-shorthand-properties/-/css-shorthand-properties-1.1.1.tgz#1c808e63553c283f289f2dd56fcee8f3337bd935"
|
||||
|
@ -533,6 +538,14 @@ has@^1.0.3:
|
|||
dependencies:
|
||||
function-bind "^1.1.1"
|
||||
|
||||
hasha@^2.2.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/hasha/-/hasha-2.2.0.tgz#78d7cbfc1e6d66303fe79837365984517b2f6ee1"
|
||||
integrity sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=
|
||||
dependencies:
|
||||
is-stream "^1.0.1"
|
||||
pinkie-promise "^2.0.0"
|
||||
|
||||
http-proxy-agent@^4.0.1:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a"
|
||||
|
@ -611,6 +624,11 @@ is-reference@^1.1.2:
|
|||
dependencies:
|
||||
"@types/estree" "*"
|
||||
|
||||
is-stream@^1.0.1:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
|
||||
integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
|
||||
|
||||
jest-worker@^26.2.1:
|
||||
version "26.6.2"
|
||||
resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed"
|
||||
|
@ -797,6 +815,18 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2:
|
|||
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
|
||||
integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
|
||||
|
||||
pinkie-promise@^2.0.0:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
|
||||
integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o=
|
||||
dependencies:
|
||||
pinkie "^2.0.0"
|
||||
|
||||
pinkie@^2.0.0:
|
||||
version "2.0.4"
|
||||
resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
|
||||
integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA=
|
||||
|
||||
pkg-dir@^4.2.0:
|
||||
version "4.2.0"
|
||||
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
|
||||
|
@ -883,6 +913,20 @@ rimraf@^3.0.2:
|
|||
dependencies:
|
||||
glob "^7.1.3"
|
||||
|
||||
rollup-plugin-app-utils@^1.0.6:
|
||||
version "1.0.6"
|
||||
resolved "https://registry.yarnpkg.com/rollup-plugin-app-utils/-/rollup-plugin-app-utils-1.0.6.tgz#e75b1e5343bfaf9ed797d53e5f122a10e2580fb4"
|
||||
integrity sha512-6UEaAEMgOK/H9Hqvcf+WbEa9QFypHJoD23QYEYqh9pK7aOXQdzs/QBhPjf/cGxvccYn1QL/OqqNXiCKRskcerw==
|
||||
dependencies:
|
||||
constants "0.0.2"
|
||||
|
||||
rollup-plugin-hash@^1.3.0:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/rollup-plugin-hash/-/rollup-plugin-hash-1.3.0.tgz#6f87442cb432a8bf45356855fec69aab5dc22b07"
|
||||
integrity sha512-a/DUrOlXOqCpwCF+dPXEPDlqbOMkfXDWEWOeVU2bhrW18Dbh0nu2JLLrS3FIiasVrDZhoxhwhSkV/dg15gwPyw==
|
||||
dependencies:
|
||||
hasha "^2.2.0"
|
||||
|
||||
rollup-plugin-livereload@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/rollup-plugin-livereload/-/rollup-plugin-livereload-2.0.0.tgz#d3928d74e8cf2ae4286c5dd46b770fd3f3b82313"
|
||||
|
|
Loading…
Add table
Reference in a new issue