Releases: joelmoss/proscenium
v0.18.0
v0.17.0
What's Changed
- BREAKING: Removed parsing and building of HTTP(S) URL's. These are now passed through as-is, to allow the browser to handle them.
- feat: Rails asset helpers will now use Rails default conventions for CSS and JS paths, while still being processed with Proscenium. So if the given
path
is a bare path (does not start with/
or./
or../
), then we use Rails default conventions, and serve CSS from/app/assets/stylesheets
and JS from/app/javascript
.
Full Changelog: v0.16.0...v0.17.0
v0.16.0
What's Changed
- feat:
sideload_assets
helper for fine grained control over what and how assets are side loaded. - feat: Cache asset path maps ("input::output") when building to path
- feat: Experimental CSS Module rewriter
- fix: lots! 😜
- Require Ruby >= 3.2
- Upgrade Go to 1.23
Full Changelog: v0.15.0...v0.16.0
v0.14.0
Full Changelog: v0.13.0...v0.14.0
Changes
- In development CSS module names now include the path to the file for easier debugging and location of where styles are defined. So instead of
tab-2f1f6523
, it will betab-2f1f6523__path-to-file-module-css
.
v0.13.0
Full Changelog: v0.12.0...v0.13.0
Changes
-
The
css_module
helper now accepts apath
keyword argument, which allows you to specify the path to the CSS file.css_module :my_module_name, path: Rails.root.join('app/components/button.css')
0.12.0
Full Changelog: v0.11.0...v0.12.0
Changes
- Improved Phlex asset inclusion with
Proscenium::Phlex::AssetInclusions
- Added
unbundle:
prefix to enable unbundling, or externalising imports. - Re-added Etag and ConditionalGet middlewares after the Proscenium middleware to enable caching of assets.
- Added
class_names
helper to Phlex components.
Fixes
- Make sure injected styles are done so at the end of the head.
0.11.0
Features
Breaking Changes
- Code splitting is now enabled by default.
- Removed
include_paths
config in favour ofALLOWED_DIRECTORIES
const. - Replaced
side_load_gems
config withengines
config option. - CSS module names are no longer camelCased.
Changes
global
now available as an alias towindow
.- Added instrumentation for building and resolving.
- Better and more accurate handling of
/public
directory. - Improved error messages for build errors to take advantage of Rails error pages.
- Support for Rails 7.1.
- Renamed
side_load_javascripts
andside_load_stylesheets
toinclude_javascripts
andinclude_stylesheets
respectively. - Massive improvements to Phlex and ViewComponent support.
- Improvements to lazy loading components.
Fixes
- Avoid processing escape sequences in CSS.
- ...plus loads more!
Full Changelog: v0.10.0...v0.11.0
0.10.0
Features
- Automatic code splitting for side loaded assets.
- Support side loading of partials.
- Added
.jsx
,.tsx
and.module.css
file extensions to those which are side loaded. - Modified and greatly improved environment variable usage, and moved to the
proscenium.env.*
object, with support for tree shaking. - The
side_load_stylesheets
helper now accepts and passes through additional arguments. - Further support for importmaps, including some basic functionality of the spec, along with URL values, extension-less values, and indexes.
Chores
- Update esbuild and all other dependencies to the latest.
- Improved and simplified test suite.
0.9.1
FIX - Added app/assets
to include_paths
configuration.
This provides a friendlier path when starting with a new Rails app, which assumes that your assets are all located in app/assets
. Proscenium makes no such assumption, and you can actually put your assets anywhere you want. But at least this addition means it is a little easier to move to Proscenium.
DOCS - Created a guide to getting started with a new Rails app.
Full Changelog: v0.9.0...v0.9.1
0.9.0
- FEAT - Typescript and TSX is now fully support out of the box with the
.ts
and.tsx
file extensions. Also.ts
files can now be side loaded.
Full Changelog: v0.8.2...v0.9.0