Files
web/package.json
T
b7bd4cb6d1 Bump Font Awesome to v7, rename theme CSS to match new layout classes
Bump @fortawesome/fontawesome-free 6.7.2 -> 7.3.0 (the only remaining
outdated dependency; everything else was already at latest). Drop the
now-unused .ttf webfonts - FA7's dist CSS only references .woff2.

Rename the same AdminLTE2/Bootstrap3 selectors across all 6 theme files
under style/themes/ that were already renamed everywhere else in this
migration: .main-header/.main-sidebar/.main-footer -> .app-header/
.app-sidebar/.app-footer, .wrapper -> .app-wrapper, .content-wrapper ->
.app-main (this one predates AdminLTE 4 entirely and no longer exists
anywhere - confirmed dead in the current markup), .treeview-menu ->
.nav-treeview, sidebar .header list items -> .nav-header, and the full
box/panel -> card component family (including collapsed-box -> collapsed-
card and the color/state variants). Also removed now-dead bootstrap-select/
icheck-bootstrap selectors that can never match anything anymore.

All 7 theme options (default-auto/-light/-dark/-darker, high-contrast,
high-contrast-dark, lcars) are genuinely selectable in Settings -> Web
interface/API, confirmed via the live theme dropdown - none of these
files were dead code, despite "default-darker" not being referenced by
name anywhere else in this repo (themes are loaded via string
concatenation of a backend-supplied name).

Removed pi-hole.css's ~210-line hand-rolled polyfill of Bootstrap 4/5's
margin/padding/display utility classes (.m-0.../.py-3/.d-none) - these
exist natively in Bootstrap 5 now (confirmed present with identical
values in the vendored adminlte.min.css), so the polyfill was pure dead
weight.

Verified against a live container: switched the active theme through
default-darker, lcars, and high-contrast and reloaded the dashboard for
each - all three render correctly (LCARS's very custom skin in
particular came through intact) with zero console errors. FA7 icons
render correctly across the sidebar and dashboard.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2026-07-17 22:39:57 +01:00

83 lines
2.4 KiB
JSON

{
"name": "pi-hole-web-interface",
"version": "1.0.0",
"private": true,
"description": "",
"repository": {
"type": "git",
"url": "git+https://github.com/pi-hole/web.git"
},
"keywords": [],
"author": "",
"license": "EUPL-1.2",
"bugs": {
"url": "https://github.com/pi-hole/web/issues"
},
"homepage": "https://github.com/pi-hole/web#readme",
"scripts": {
"prefix": "postcss \"style/*.css\" \"style/themes/*.css\" --use autoprefixer --no-map --replace",
"prettier:check": "prettier -l \"style/*.css\" \"style/themes/*.css\" \"scripts/**/*.js\"",
"prettier:fix": "prettier --write \"style/*.css\" \"style/themes/*.css\" \"scripts/**/*.js\"",
"xo": "xo",
"xo:check": "npm run xo",
"xo:fix": "npm run xo -- --fix",
"test": "npm run prettier:check && npm run xo:check",
"testpr": "npm run prefix && npm run prettier:fix && git diff --ws-error-highlight=all --color=always --exit-code && npm run xo:check"
},
"dependencies": {
"@fortawesome/fontawesome-free": "7.3.0",
"admin-lte": "4.1.0",
"animate.css": "4.1.1",
"bootstrap": "5.3.8",
"bootstrap-notify": "3.1.3",
"bootstrap5-toggle": "5.4.1",
"bstreeview": "1.2.0",
"chart.js": "4.5.1",
"chartjs-adapter-moment": "1.0.1",
"chartjs-plugin-deferred": "2.0.0",
"chartjs-plugin-zoom": "2.2.0",
"datatables.net": "2.3.8",
"datatables.net-bs5": "2.3.8",
"datatables.net-buttons": "3.2.6",
"datatables.net-buttons-bs5": "3.2.6",
"datatables.net-select": "3.1.3",
"datatables.net-select-bs5": "3.1.3",
"daterangepicker": "3.1.0",
"hammerjs": "2.0.8",
"jquery": "3.7.1",
"modernized-waitme": "1.0.0",
"moment": "2.30.1",
"myclabs.jquery.confirm": "2.7.0",
"nprogress": "0.2.0",
"qrious": "4.0.2",
"select2": "4.1.0",
"select2-bootstrap-5-theme": "1.3.0",
"tom-select": "2.6.1"
},
"devDependencies": {
"autoprefixer": "^10.5.0",
"eslint": "^10.5.0",
"eslint-plugin-compat": "^7.0.2",
"globals": "^17.6.0",
"postcss": "^8.5.15",
"postcss-cli": "^11.0.1",
"prettier": "^3.8.4",
"xo": "^3.0.2"
},
"browserslist": [
">= 0.5%",
"last 2 major versions",
"not dead",
"not op_mini all",
"Firefox ESR"
],
"prettier": {
"arrowParens": "avoid",
"bracketSpacing": true,
"endOfLine": "auto",
"printWidth": 100,
"singleQuote": false,
"trailingComma": "es5"
}
}