Skip to content

v0.3.0

Choose a tag to compare

@MatthewKennedy MatthewKennedy released this 03 Jul 21:51
f4c4218

Highlights

  • Colocated component JavaScript (#13) — each component's Stimulus controller now lives in its component folder (app/components/phlex_kit/<name>/<name>_controller.js), so a component is fully self-contained: .rb + .css + _controller.js. The public JS API is unchanged (import { registerPhlexKitControllers } from "phlex_kit/controllers" and the flat controller module IDs are preserved), so this is a non-breaking restructure.

  • One-step, fully-editable component eject (#15) — rails g phlex_kit:component <name> now ejects the colocated _controller.js too, and auto-wires config/application.rb (idempotently) so the ejected Ruby, CSS, and JS all shadow the gem:

    Rails.autoloaders.main.collapse(Rails.root.join("app/components/phlex_kit/*"))
    config.assets.paths.unshift(Rails.root.join("app/components"))

    Previously only the Ruby shadowed; the CSS/JS silently kept serving the gem's originals.

  • Propshaft + importmap install guide (#14) — a step-by-step, validated walkthrough at docs/05-PROPSHAFT-INSTALL.md.

Validated end-to-end in a fresh importmap Rails app, in both development and production (precompiled) mode. Suite green (159 runs).

Full changelog: v0.2.2...v0.3.0