* feat: wasm-split base implementation * kinda sorta works with the cli * okay great it actually works * fix: cache busting for chunks * cleaned up version * it works with the router * wip: migrate to a faster linear solution using id remapping * add a good harness * it works completely on the docsite * the super tight build works too * make parallelizable * works on the docsite but not the harness * light cleanups, fix for both harness and docsite * make codegen smaller by extract some shared functions to prevent monos * chunking works, but tbd on tuning heuristics * extract used module * wip: cleaning up module * wip: much better understanding of how imports work * fix the call graph * working again... * wip: thinking about ifuncs * ifunc approach works * yes the ifunc approach works!! * it all works completely even with chunks * small cleanups * comments * actually locate all of the symbols * clean up final implementation * clean up tomls, revert some mono changs * clean up, add some more comments / docs in places * hoist more packages * clean up impl a bit more * clean cli * move harness to playwright * update playwright * extract codgen * add lazy to components * Add docs to split loader * clippy * typos * clippy, don't generate splits if not on wasm * whoops, const * Typos and docs * enable optimizations in ci * add optimizations to ci * add wasm-split router feature * parallel playwright? * fix no case check * disable pre-compress... think that might be the issue * better logging, no default pre-compress, caching of shared symbols * Fix: compressing assets * fix non-interactive logging for serve * cache playwright even on failure, use the cli with optimizations * fix prebuild * fix playwright webserver
30 lines
634 B
JavaScript
30 lines
634 B
JavaScript
// Handle caching of github stars
|
|
// This file is part of the fuzz test to prove we can handle linked js files
|
|
|
|
// Two days
|
|
const STAR_EXPIRE_TIME = 172800000;
|
|
|
|
export function get_stars(name) {
|
|
let item = localStorage.getItem(name);
|
|
let data = JSON.parse(item);
|
|
|
|
if (!data) {
|
|
return null;
|
|
}
|
|
|
|
if (data.expires <= Date.now()) {
|
|
localStorage.removeItem(name);
|
|
return null;
|
|
}
|
|
|
|
return data.stars;
|
|
}
|
|
|
|
export function set_stars(name, value) {
|
|
let expires = Date.now() + STAR_EXPIRE_TIME;
|
|
let data = { stars: value, expires };
|
|
|
|
let converted = JSON.stringify(data);
|
|
localStorage.setItem(name, converted);
|
|
}
|