Browse Source

bootstrap removal phase 4e: drop root/reboot/type; remove bootstrap dep

Removed the final Bootstrap imports (root, reboot, type) and the now-dead
functions/variables/maps/mixins compile chain + the color-map Sass that only
fed the (already removed) utilities/api. Base reset/typography come from the
theme's own normalize + reset and theme.json global styles; kept just
body{color:#232323} (the one thing reboot added that wasn't overridden).

Uninstalled the bootstrap npm package. Build succeeds with bootstrap absent
from node_modules. Verified About/Now/single/studio/front-page/footer/
analytics/contact/404 all unchanged.

v4-style.min.css 57,910 -> 47,486 bytes. TOTAL: 210,045 -> 47,486 (-77%).
windhamdavid 1 week ago
parent
commit
e44e078fa5
5 changed files with 17 additions and 80 deletions
  1. 12 51
      css/styles.scss
  2. 2 26
      package-lock.json
  3. 0 1
      package.json
  4. 3 2
      src/main.js
  5. 0 0
      v4-style.min.css

+ 12 - 51
css/styles.scss

@@ -13,65 +13,26 @@ need to test
 ############################################################
 ************************************************************/
 
-/***********************************************************
-################### Bootstrap Functions ####################
-************************************************************/
-
-@import '../node_modules/bootstrap/scss/functions';
-@import '../node_modules/bootstrap/scss/variables';
-@import '../node_modules/bootstrap/scss/variables-dark';
-@import '../node_modules/bootstrap/scss/maps';
-@import '../node_modules/bootstrap/scss/mixins';
-
-
-/***********************************************************
-####################### Custom  ############################
-************************************************************/
-
-$body-bg: #d3d3d3;
-$body-color: #232323;
-$link-color: #67000a;
-$theme-colors: (
-  "dark": #535763,
-);
-
-$custom-colors: (
-  'dw-blue-dark': #484C57,
-  'dw-blue':#535763,
-  'dw-light':#e2e2e2,
-  'dw-bright':#e3e3e3,
-);
-
-$theme-colors: map-merge($theme-colors, $custom-colors);
-$theme-colors: map-remove($theme-colors, 'primary','secondary','success','warning', 'info');
-$colors: map-remove($colors, 'white','black','gray','gray-dark','dark','blue','indigo','purple','pink', 'orange', 'yellow', 'green', 'teal', 'cyan');
-$theme-colors-rgb: map-loop($theme-colors, to-rgb, "$value");
-$utilities-colors: map-merge($utilities-colors, $theme-colors-rgb);
-$utilities-text-colors: map-loop($utilities-colors, rgba-css-var, "$key", "text");
-$utilities-bg-colors: map-loop($utilities-colors, rgba-css-var, "$key", "bg");
-
-$enable-negative-margins: true;
-
 
 /***********************************************************
-########## Bootstrap 5 — subset to used parts #############
-   Being removed incrementally (Phases 1-3, 2026-07-13).
-   Dropped (unused / migrated): dropdown, button-group, accordion,
+########## Bootstrap fully removed (2026-07-13) ###########
+   The theme no longer depends on the bootstrap npm package. Everything
+   below is hand-rolled from the parts the theme actually used: a 12-col
+   flex grid, ~35 utility classes, and the components (badge, alert,
+   pagination, list-group, nav/navbar, card, forms, buttons).
+   Dropped with no replacement: dropdown, button-group, accordion,
    breadcrumb, progress, toasts, modal, tooltip, popover, spinners,
    placeholders, carousel (→ native .dw-carousel), tables, close,
-   images, badge, alert, pagination (→ custom CSS below), helpers,
-   and the whole utilities API (→ hand-rolled ~35-class layer below —
-   the API generated hundreds of responsive variants; the theme uses ~35).
-   Kept for now: grid + nav/navbar + forms/buttons + list-group + card.
-   Phase 4 target: grid → WordPress block grid, then drop Bootstrap.
+   transitions, helpers, the utilities API, root, reboot, type
+   (base reset/typography come from the theme's own normalize + reset
+   above and theme.json global styles).
    (offcanvas nav is self-contained CSS via :target — see .dw-offcanvas.)
 ************************************************************/
 
-@import '../node_modules/bootstrap/scss/root';
-@import '../node_modules/bootstrap/scss/reboot';
-@import '../node_modules/bootstrap/scss/type';
+// reboot provided body { color }; the theme's reset/bg cover the rest.
+body { color: #232323; }
 
-// ---- replacements for dropped Bootstrap partials (Phase 1 + 2) ----
+// ---- replacements for dropped Bootstrap partials ----
 
 // images partial: only .img-fluid was used (art page).
 .img-fluid {

+ 2 - 26
package-lock.json

@@ -9,7 +9,6 @@
       "version": "0.5.0",
       "dependencies": {
         "@awesome.me/kit-4256b2a3b9": "^1.0.16",
-        "bootstrap": "^5.3.8",
         "jquery": "^3.6.1",
         "jquery-lazyload": "^1.9.7",
         "jquery-validation": "^1.19.5",
@@ -4291,6 +4290,7 @@
       "version": "2.11.8",
       "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
       "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
+      "dev": true,
       "license": "MIT",
       "peer": true,
       "funding": {
@@ -10507,25 +10507,6 @@
       "dev": true,
       "license": "ISC"
     },
-    "node_modules/bootstrap": {
-      "version": "5.3.8",
-      "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.8.tgz",
-      "integrity": "sha512-HP1SZDqaLDPwsNiqRqi5NcP0SSXciX2s9E+RyqJIIqGo+vJeN5AJVM98CXmW/Wux0nQ5L7jeWUdplCEf0Ee+tg==",
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/twbs"
-        },
-        {
-          "type": "opencollective",
-          "url": "https://opencollective.com/bootstrap"
-        }
-      ],
-      "license": "MIT",
-      "peerDependencies": {
-        "@popperjs/core": "^2.11.8"
-      }
-    },
     "node_modules/brace-expansion": {
       "version": "1.1.11",
       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -31036,6 +31017,7 @@
       "version": "2.11.8",
       "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
       "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
+      "dev": true,
       "peer": true
     },
     "@prisma/instrumentation": {
@@ -35369,12 +35351,6 @@
       "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
       "dev": true
     },
-    "bootstrap": {
-      "version": "5.3.8",
-      "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.8.tgz",
-      "integrity": "sha512-HP1SZDqaLDPwsNiqRqi5NcP0SSXciX2s9E+RyqJIIqGo+vJeN5AJVM98CXmW/Wux0nQ5L7jeWUdplCEf0Ee+tg==",
-      "requires": {}
-    },
     "brace-expansion": {
       "version": "1.1.11",
       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",

+ 0 - 1
package.json

@@ -39,7 +39,6 @@
   },
   "dependencies": {
     "@awesome.me/kit-4256b2a3b9": "^1.0.16",
-    "bootstrap": "^5.3.8",
     "jquery": "^3.6.1",
     "jquery-lazyload": "^1.9.7",
     "jquery-validation": "^1.19.5",

+ 3 - 2
src/main.js

@@ -9,8 +9,9 @@
 import $ from 'jquery';
 window.$ = window.jQuery = $;
 
-// Bootstrap JS retired: offcanvas → CSS :target, carousels/tabs/tooltips → native
-// per-page vanilla JS. The bootstrap npm package stays for the SCSS subset only.
+// Bootstrap fully retired: JS offcanvas → CSS :target, carousels/tabs/tooltips →
+// native per-page vanilla JS; the CSS (grid/utilities/components) is hand-rolled
+// in css/styles.scss. The bootstrap npm package has been removed.
 
 import 'jquery-validation'; // → $.fn.validate  (comment forms: about, single)
 import 'jquery-lazyload'; // → $.fn.lazyload  (desk)

File diff suppressed because it is too large
+ 0 - 0
v4-style.min.css


Some files were not shown because too many files changed in this diff