mirror of
https://github.com/Shik3i/KoalaSync.git
synced 2026-07-26 20:18:14 +00:00
af4ac943a9
- Flag font: ship a committed fontTools subset (43 KB, -45%) of TwemojiCountryFlags.woff2 with only the 15 flags the site uses, under a content-hashed name with a preload on every flag-bearing page. The build validates the subset against a manifest and fails when a new flag appears without regenerating (npm run subset-flags). JS subsetters (subset-font/harfbuzzjs) were rejected: their wasm builds silently drop the COLR/CPAL color tables, rendering all flags invisible. - Responsive mascots: legal/join/404 pages served 434-500px sources for 175-180px slots; the build now emits 180w/360w variants (AVIF 1x: ~7 KB vs ~22 KB) and the pages use srcset. Small logo spots (14-42px) now use the existing 64/128px variants instead of the 256px file. - injectAvifPictures copies the img sizes attribute onto the AVIF <source>; without it Chrome mis-selects w-descriptor candidates and can drop the image entirely. - AVIF conversion is cached by content hash (.avif-cache.json); the old mtime check never hit because copyDirSync refreshes mtimes, so every verify re-encoded all 26 files. - HTML output is minified (comments + indentation, <pre> preserved, newlines kept for inline-script safety): index.html 121 KB -> 93 KB. - unicode-range trimmed to U+1F1E6-1F1FF; tag-sequence flags fall through to the system emoji font. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
29 lines
765 B
JSON
29 lines
765 B
JSON
{
|
|
"name": "koalasync",
|
|
"version": "2.5.4",
|
|
"description": "KoalaSync Build Scripts",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"build:extension": "node scripts/build-extension.cjs",
|
|
"indexnow": "node website/submit-indexnow.cjs",
|
|
"lint": "eslint .",
|
|
"lint:fix": "eslint . --fix",
|
|
"subset-flags": "node website/tools/subset-flag-font.mjs",
|
|
"test": "npm run verify",
|
|
"test:unit": "vitest run",
|
|
"verify": "node scripts/verify-release.mjs"
|
|
},
|
|
"devDependencies": {
|
|
"@playwright/test": "^1.61.1",
|
|
"@vitest/coverage-v8": "^4.1.9",
|
|
"archiver": "^7.0.1",
|
|
"esbuild": "^0.28.1",
|
|
"eslint": "^10.4.0",
|
|
"fs-extra": "^11.2.0",
|
|
"sharp": "^0.34.5",
|
|
"svgo": "^4.0.1",
|
|
"vitest": "^4.1.9"
|
|
}
|
|
}
|