Files
web/package.json
T
89e65d8d08 Migrate layout shell to AdminLTE 4 / Bootstrap 5
Swap vendored AdminLTE 2.4.18 + Bootstrap 3.4.1 for AdminLTE 4.1.0 +
Bootstrap 5.3.8 (AdminLTE's dist CSS now bundles Bootstrap, so the
separate Bootstrap stylesheet is dropped; only its JS bundle remains).

Rewrite the page shell (header, header_authenticated, sidebar, footer)
to AdminLTE 4's app-wrapper/app-header/app-sidebar/app-main/app-content
structure and nav-sidebar/nav-treeview markup, and convert the dashboard
(index.lp) box/small-box markup to Bootstrap 5 cards as the first fully
migrated page.

Verified against a live container: fixed a chart.js tooltip lookup that
still targeted the old .box selector, restored the header logo mini/full
swap and sidebar user-panel collapse behavior that AdminLTE 2 used to
provide for free, and resolved a duplicate id="navigation" collision
with AdminLTE 4's own accessibility skip-link script.

Every other page still uses the old box/Bootstrap-3-grid/BS3-plugin
markup and will render incorrectly until the remaining migration phases
land.

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

80 lines
2.3 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.0.0",
"admin-lte": "4.1.0",
"animate.css": "4.1.1",
"bootstrap": "5.3.8",
"bootstrap-notify": "3.1.3",
"bootstrap-select": "1.13.18",
"bootstrap-toggle": "2.2.2",
"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-bs": "1.10.21",
"datatables.net-buttons-bs": "1.7.1",
"datatables.net-select-bs": "1.3.1",
"daterangepicker": "3.1.0",
"hammerjs": "2.0.8",
"icheck-bootstrap": "3.0.1",
"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.0.13"
},
"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"
}
}