dev: use cssnano, postcss, postcss-cli and css-declaration-sorter packages for more control over minification

dev: exclude some files
dev: sort declarations alphabetically during minification
This commit is contained in:
lscambo13 committed 2026-06-05 22:37:30 +05:30
1 parent 9972862b5e
commit ba0aabd07b
4 files changed
+1763

No files matched your search

+7
View File
@@ -1,2 +1,9 @@
/tmp.txt /tmp.txt
/commits.csv /commits.csv
/node_modules
/Theme/mod.css
/Theme/ElegantFin-theme-nightly-min.css
/Theme/assets/add-ons/custom-media-covers-nightly-min.css
/Theme/assets/add-ons/media-bar-plugin-support-nightly-min.css
/Theme/assets/add-ons/seamless-fork-compatibility-nightly.css
/Theme/assets/add-ons/seamless-fork-compatibility-nightly-min.css
+1716
View File
File diff suppressed because it is too large. Load diff
+18
View File
@@ -0,0 +1,18 @@
{
"devDependencies": {
"css-declaration-sorter": "^7.4.0",
"cssnano": "^8.0.1",
"postcss": "^8.5.15",
"postcss-cli": "^11.0.1"
},
"scripts": {
"build:theme": "postcss ./Theme/ElegantFin-theme-nightly.css -o ./Theme/ElegantFin-jellyfin-theme-build-latest-minified.css",
"build:covers-addon": "postcss ./Theme/assets/add-ons/custom-media-covers-nightly.css -o ./Theme/assets/add-ons/custom-media-covers-latest-min.css",
"build:mediabar-addon": "postcss ./Theme/assets/add-ons/media-bar-plugin-support-nightly.css -o ./Theme/assets/add-ons/media-bar-plugin-support-latest-min.css",
"build:release": "npm run build:theme && npm run build:covers-addon && npm run build:mediabar-addon",
"watch:theme": "postcss ./Theme/ElegantFin-theme-nightly.css -o ./Theme/ElegantFin-theme-nightly-min.css --watch --verbose",
"watch:covers-addon": "postcss ./Theme/assets/add-ons/custom-media-covers-nightly.css -o ./Theme/assets/add-ons/custom-media-covers-nightly-min.css --watch --verbose",
"watch:mediabar-addon": "postcss ./Theme/assets/add-ons/media-bar-plugin-support-nightly.css -o ./Theme/assets/add-ons/media-bar-plugin-support-nightly-min.css --watch --verbose",
"watch:fixes-addon": "postcss ./Theme/assets/add-ons/seamless-fork-compatibility-nightly.css -o ./Theme/assets/add-ons/seamless-fork-compatibility-nightly-min.css --watch --verbose"
}
}
+22
View File
@@ -0,0 +1,22 @@
const cssDeclarationSorter = require('css-declaration-sorter');
const cssnano = require('cssnano');
module.exports = {
plugins: [
cssDeclarationSorter({
keepOverrides: true,
order: (a, b) => {
const aVar = a.startsWith('--');
const bVar = b.startsWith('--');
if (aVar && !bVar) return -1;
if (!aVar && bVar) return 1;
return a.localeCompare(b);
},
}),
cssnano({
preset: 'default',
}),
],
};