dependencies.md 5.5 KB

daw theme — dependency inventory (pre-0.5.0)

Snapshot of everything the classic daw theme depends on, so we can isolate and decide each one's fate during the v0.5.0 FSE migration. Status legend:

  • Keep — still wanted; carry forward (possibly repackaged).
  • Replace — functionality stays, implementation changes (native/blocks/modern lib).
  • Drop? — likely dead or superseded; confirm before removing.
  • Audit — usage unclear; verify what still references it before deciding.

1. npm — runtime (package.json › dependencies)

Package Ver Used by Status
bootstrap ^5.2.3 site-wide (v4-bootstrap bundle) Audit — FSE/theme.json + blocks remove most of the need; may keep only grid/offcanvas
bootstrap-icons ^1.10.2 icons Audit
jquery ^3.6.1 deregistered globally, re-enqueued per page Replace — goal is no-jQuery; vanilla per block
jquery-validation ^1.19.5 contact/forms Drop? — Gravity Forms handles validation now
jasny-bootstrap ^4.0.0 offcanvas (legacy) Drop? — BS5 has native offcanvas (noted in v0.4 readme, never finished)
svg-morpheus ^0.3.0 homepage icon morph (front-page.js) Keep — tied to the bespoke homepage we're preserving
animate.css ^4.1.1 scroll animations (WOW) Drop? — prefers-reduced-motion + CSS
fullcalendar ^5.11.3 calendar (desk/now?) Audit — confirm which page still renders it

2. npm — dev (package.json › devDependencies)

gulp, gulp-clean-css, gulp-concat, gulp-rename, gulp-sass, gulp-terser, gulp-uglify, sass, streamqueue, browser-sync. Status: Replace — the whole gulp pipeline → @wordpress/scripts + webpack (per 0.5.0 decision).

3. Vendored / hand-managed JS (js/, not all from npm)

Concatenated into scripts.js (per readme): WOW, jquery-validation, jquery_lazyload, backstretch (was Formstone Wallpaper), Rainbow, jquery.appear, Draw-Fill-SVG, typed.js, jquery-scrollto, smoothState, js-cookie, jquery-waypoints, ghembedder. Plus standalone:

File Purpose Status
terminal.js old homepage terminal Drop? — already removed from bundle (davo-chat replaced it)
messenger.min.js + css/messenger.css HubSpot Messenger Drop? — deprecated (readme), still in front bundle
modernizr.js feature detection Drop? — obsolete
mediaelement-and-player.min.js, wp-mediaelement.min.js media player Replace — use core mediaelement or native <audio>/<video>
loop.js backbone/underscore/wp-api infinite loop (desk/archive) Replace — core Query Loop block
chat.js / chat.min.js / chat_func.js Twilio chat (page-chat) Audit — superseded by davo-bot?
moment.min.js dates (fullcalendar) Drop? — follows fullcalendar decision
color.js, drawfillsvg.js effects Audit
Page JS: about/art/music/desk/contact/single/studio/code/analytics.js per-page behavior Audit/Replace — fold into blocks/parts where still needed
v4-*, *.min.js gulp build outputs generated, not sources

4. CSS (css/)

normalize.css, bootstrap (boot.css), animate (v4-animate), font-awesome.css, fullcalendar.css, messenger.css, chat.css, form.css, front-page.css, fonts.css, editor.css, styles.scssstyles.css. Status: Replace — most folds into theme.json (tokens/palette/typography) + per-block style.css; keep front-page.css (bespoke homepage) and editor.css.

5. Vendored PHP libs (inc/lib/)

Lib Path Used by Status
Twilio PHP SDK (full, ~80 files) inc/lib/call/Services/Twilio/* call/SMS/chat (page-chat, phone.php, sms.php, call.php) Audit — is the phone/SMS/chat feature still live? If kept, replace vendored SDK with Composer twilio/sdk
simple_html_dom inc/lib/dom.php, html_dom.php HTML scraping (music/last.fm? sitemap?) Audit

inc/lib/call/auth.php is gitignored (secrets).

6. Fonts (fonts/)

Mixed eot/otf/svg/ttf/woff/woff2 (11/1/9/11/12/3). Per style.css header: Font Awesome 4.2, Font Mfizz 2.1, Computer Modern. Status: Audit/Replace — declare kept faces in theme.json fontFamilies; drop icon fonts in favor of inline SVG/bootstrap-icons if still wanted.

7. External / CDN

Service Where Status
Matomo (self-hosted davidawindham.com/wik/) dw_analytics() footer Keep → move to inc/analytics/matomo.php
Stripe v2 (js.stripe.com/v2/) contact/pay pages Drop? — Stripe v2 is long-deprecated; Gravity Forms Stripe add-on is the real payment path now

8. WordPress plugins in play (install-level, not theme deps — for context)

Gravity Forms (+ Stripe/Signature/PDF), Akismet, WP Super Cache, WP Sweep, dw-guten (rebuilt v0.4), daw-mcp/mcp-adapter. Forms/validation/payments now belong to Gravity Forms — informs the Drop? calls on jquery-validation + Stripe v2.


Isolation summary for the upgrade

  • Definitely carry forward: Matomo, svg-morpheus (homepage), front-page.css, davo-bot widget loader, dw-guten meta sidebar.
  • Replace with platform: gulp→wp-scripts, jQuery→vanilla, loop.js→Query Loop block, mediaelement→core/native, most CSS→theme.json.
  • Confirm-then-drop: terminal.js, messenger, modernizr, jasny-bootstrap, animate.css, jquery-validation, Stripe v2, moment/fullcalendar.
  • Audit features before deciding: Twilio call/SMS/chat, simple_html_dom, the per-page JS, icon fonts.