houseaccount 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5796d31f6b9a92bf2b042880b51a5f18a05dcaf92c34f85940f5fcd5e528de9f
4
- data.tar.gz: ef59866ad6471fbbbf4e284c5bec8724c209503364eb7f1da6f81b0ef0329645
3
+ metadata.gz: de7a17a9106491567876581098b93d4320dd463a29e3cc917f87ee2c54e4d532
4
+ data.tar.gz: 9a46cdc89dd6f090736d7f82bd8dfb74385d42479c25b46fe0d721b7f065ec4c
5
5
  SHA512:
6
- metadata.gz: 9b63ad2533d43cc94f78baba186fe0cd1dd07189e7f259e14a580c2bd8026c5039eebf91f489370eac754468711f000fb12a5f2e2e1b813d4abb71aabe24871d
7
- data.tar.gz: f769721a266ffebeed4ec06467f701ae5a7d630355b37e93b7126061bfafcc2a208d620408b6d488ffbd841c5fcdb3411fc633359961a895ec69a24009bc35ee
6
+ metadata.gz: 5b5c2d9bc1997a8aa938788f0f46b7da04c43642672142654ba0486151333c17449608860f6027d4068382c1ad6ea041da6bdd74ab5bd4efbd92d5e128b47cb4
7
+ data.tar.gz: 8f468506e8349470d44f2a5661c92517a46ddc0542144cc72a079419c605f059260ef1a6b155c9ee4059363c6c36f321167bc1965bea8d68db615c82dc1b5bf4
data/CHANGELOG.md CHANGED
@@ -7,6 +7,35 @@ For more information about changelogs, check [Keep a Changelog](http://keepachan
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## 0.11.0 - 2026-09-16
11
+
12
+ * [Feature] The built stylesheet and script are in the package, for a page that links them
13
+
14
+ The package carried its sources alone, which a bundler can read and a browser cannot: the
15
+ script opens on three bare specifiers nothing resolves without an import map, and the
16
+ stylesheet is fourteen `@import` lines a browser would fetch one after another. So the
17
+ built `css/`, `js/`, `theme/` and `font/` ship beside them, and a page on any host links
18
+ one file from a CDN holding the package — `cdn.jsdelivr.net/npm/houseaccount@0.11.0/` —
19
+ at a version that is owed those bytes for good, npm never letting one be written twice.
20
+
21
+ * [Change] Every URL inside the stylesheet is relative
22
+
23
+ It named the site's own root, `/font/…`, which is right in one place and wrong everywhere
24
+ else: under a version prefix, or on a CDN, the font was asked for at a path no host had.
25
+ `../font/…` resolves against wherever the stylesheet is read from, so one build serves the
26
+ root, the versioned copy and the package alike — and the versioned copy, being the same
27
+ bytes as the unversioned one, costs the repository nothing to keep.
28
+
29
+ ## 0.10.1 - 2026-09-16
30
+
31
+ * [Fix] The package a host installs from npm can be bundled
32
+
33
+ Every controller reaches Bootstrap's classes through the bare `bootstrap` specifier, which
34
+ this repo's own build aliases to the bundle under `vendor/`. A host installing the package
35
+ had neither: Bootstrap 6 is not on npm, and `exports` did not name the vendored bundle, so
36
+ the alias that would have fixed it could not resolve either. The bundle is exported as
37
+ `houseaccount/bootstrap`, and the README says which alias to point at it.
38
+
10
39
  ## 0.10.0 - 2026-09-14
11
40
 
12
41
  * [Fix] A page is as tall as the window a phone actually shows
data/README.md CHANGED
@@ -14,18 +14,53 @@ Published three ways from this repo:
14
14
 
15
15
  ## How to install
16
16
 
17
+ ### From RubyGems
18
+
17
19
  ```bash
18
20
  gem install houseaccount
19
21
  ```
20
22
 
21
23
  ```ruby
22
24
  # Gemfile
23
- gem 'houseaccount', '~> 0.10.0'
25
+ gem 'houseaccount', '~> 0.11.0'
24
26
  ```
25
27
 
26
- `~> 0.10.0` stops short of `0.11`, since below 1.0 a minor release may break whatever it likes.
28
+ `~> 0.11.0` stops short of `0.12`, since below 1.0 a minor release may break whatever it likes.
27
29
  Rails 8.1 and Ruby 3.2 are the minimum.
28
30
 
31
+ ### From npm
32
+
33
+ For a host that bundles the sources itself rather than serving the gem's built tree.
34
+
35
+ ```bash
36
+ npm install houseaccount
37
+ ```
38
+
39
+ ```js
40
+ import 'houseaccount'
41
+ import 'houseaccount/houseaccount.css'
42
+ ```
43
+
44
+ The module exports nothing and is imported for its effect: it starts Stimulus, registers every
45
+ controller the house's markup names, and hands Turbo the dialog it draws for a confirmation.
46
+
47
+ Bootstrap 6 is not on npm, so the bundle ships inside this package and a bundler has to send the
48
+ bare `bootstrap` specifier there:
49
+
50
+ ```js
51
+ // esbuild
52
+ alias: { bootstrap: 'houseaccount/bootstrap' }
53
+ ```
54
+
55
+ A single controller comes from `houseaccount/controllers`, for a host registering its own
56
+ Stimulus application rather than taking the house's:
57
+
58
+ ```js
59
+ import WallController from 'houseaccount/controllers/wall_controller.js'
60
+ ```
61
+
62
+ Pin as a Gemfile does, and for the same reason: `"houseaccount": "~0.11.0"` stops short of `0.12`.
63
+
29
64
  A page takes the gem's layout, and wears the same head:
30
65
 
31
66
  ```ruby
@@ -60,7 +95,7 @@ which Pages redirects away from.
60
95
 
61
96
  With the gem in the bundle an app serves `/css/houseaccount.css`, `/js/houseaccount.js`,
62
97
  `/theme/*`, `/font/*`, `/logo/*` and `/favicon/*` itself — and its own version's copy under
63
- `/v0.10.0/`, which is what the head helper links, cached for a year — answers a 400, 404, 406, 422 or 500
98
+ `/v0.11.0/`, which is what the head helper links, cached for a year — answers a 400, 404, 406, 422 or 500
64
99
  with the house's own page, and has these helpers in every view:
65
100
 
66
101
  ```erb
@@ -205,12 +240,23 @@ Those follow the latest release. Every release is also kept whole under its own
205
240
  forever and cached for a year, for a page that would rather move on its own terms:
206
241
 
207
242
  ```html
208
- <link rel='stylesheet' href='https://design.houseaccount.com/v0.10.0/css/houseaccount.css'>
209
- <script type='module' src='https://design.houseaccount.com/v0.10.0/js/houseaccount.js'></script>
243
+ <link rel='stylesheet' href='https://design.houseaccount.com/v0.11.0/css/houseaccount.css'>
244
+ <script type='module' src='https://design.houseaccount.com/v0.11.0/js/houseaccount.js'></script>
210
245
  ```
211
246
 
212
- A host with a Content Security Policy allows that origin for `style-src`, `script-src` and
213
- `font-src`.
247
+ The same two files come from any CDN that carries the npm package, for a page that would
248
+ rather not depend on the site at all:
249
+
250
+ ```html
251
+ <link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/houseaccount@0.11.0/css/houseaccount.css'>
252
+ <script type='module' src='https://cdn.jsdelivr.net/npm/houseaccount@0.11.0/js/houseaccount.js'></script>
253
+ ```
254
+
255
+ The palettes are beside them, at `/theme/nord.css` and the rest. A published version is never
256
+ written again, so that URL is owed its bytes for as long as npm stands.
257
+
258
+ A host with a Content Security Policy allows whichever origin it names for `style-src`,
259
+ `script-src` and `font-src`.
214
260
 
215
261
  ## What is in the bundle
216
262
 
@@ -1,4 +1,4 @@
1
1
  module HouseAccount
2
2
  # Version of the gem, read by the gemspec and by hosts checking compatibility.
3
- VERSION = '0.10.0'
3
+ VERSION = '0.11.0'
4
4
  end