tests make release workflow: sat
4 files changed,  +57, -34
M README.md
+14, -0
 1@@ -10,3 +10,17 @@ The goal here is bring together all the sources of information together with you
 2 - Make it work snappily, able to **plan trips with your riding buddies**, and export to formats that **work with your favorite navigation app or GPS**.  Make as much of it work in spotty mobile network conditions as possible.
 3 
 4 If you stumbled on this and have ideas, send me an email <a href="mailto:[email protected]">[email protected]</a>. See you out there.
 5+
 6+## Development
 7+
 8+This repository uses Nix flake-based builds. To create a new release:
 9+
10+```bash
11+make release
12+```
13+
14+Version strings are date based: `YYYY-MM-ddHHmm`
15+
16+### Updates to the Ygo dependency
17+
18+Normal development occurs in a Go Work setup with the companion Y CRDT library `git.kilimanjaro.io/ygo`. To cut a new release after changes to ygo, run the Makefile target `make update-ygo`.  When ygo changes, the vendorHash in flake.nix also changes. Manual intervention is required to update the hash in flake.nix.  Follow the directions after `make update-ygo` to change the hash.
M client/package.json
+1, -0
1@@ -47,6 +47,7 @@
2     "@tailwindcss/vite": "^4.2.3",
3     "fake-indexeddb": "^6.2.5",
4     "jsdom": "^29.0.2",
5+    "rescript": "^12.3.0",
6     "rescript-vitest": "^2.1.1",
7     "tailwindcss": "^4.2.3",
8     "vite": "^7.0.4",
M client/pnpm-lock.yaml
+41, -33
  1@@ -22,13 +22,13 @@ importers:
  2         version: 5.7.2
  3       '@rescript/core':
  4         specifier: ^1.6.1
  5-        version: 1.6.1([email protected])
  6+        version: 1.6.1([email protected])
  7       '@rescript/runtime':
  8         specifier: ^12.2.0
  9         version: 12.2.0
 10       '@rescript/webapi':
 11         specifier: 0.1.0-experimental-2d6efc2
 12-        version: 0.1.0-experimental-2d6efc2([email protected])
 13+        version: 0.1.0-experimental-2d6efc2([email protected])
 14       '@tiptap/core':
 15         specifier: ^3.22.5
 16         version: 3.22.5(@tiptap/[email protected])
 17@@ -105,9 +105,12 @@ importers:
 18       jsdom:
 19         specifier: ^29.0.2
 20         version: 29.0.2
 21+      rescript:
 22+        specifier: ^12.3.0
 23+        version: 12.3.0
 24       rescript-vitest:
 25         specifier: ^2.1.1
 26-        version: 2.1.1(@types/[email protected])([email protected])([email protected])([email protected])([email protected])([email protected](@types/[email protected])([email protected])([email protected]))
 27+        version: 2.1.1(@types/[email protected])([email protected])([email protected])([email protected])([email protected])([email protected](@types/[email protected])([email protected])([email protected]))
 28       tailwindcss:
 29         specifier: ^4.2.3
 30         version: 4.2.3
 31@@ -580,26 +583,26 @@ packages:
 32     peerDependencies:
 33       rescript: '>=11.1.0'
 34 
 35-  '@rescript/[email protected]':
 36-    resolution: {integrity: sha512-xc3K/J7Ujl1vPiFY2009mRf3kWRlUe/VZyJWprseKxlcEtUQv89ter7r6pY+YFbtYvA/fcaEncL9CVGEdattAg==}
 37+  '@rescript/[email protected]':
 38+    resolution: {integrity: sha512-tw0E+XcpPoFj3KizsT5qS/5O/dILi0NBZAz5I8ONK+F43qcqDJDDO+Ise45rGoNWhjwt9WOerYnOd0eUe3U9GA==}
 39     engines: {node: '>=20.11.0'}
 40     cpu: [arm64]
 41     os: [darwin]
 42 
 43-  '@rescript/[email protected]':
 44-    resolution: {integrity: sha512-qqcTvnlSeoKkywLjG7cXfYvKZ1e4Gz2kUKcD6SiqDgCqm8TF+spwlFAiM6sloRUOFsc0bpC/0R0B3yr01FCB1A==}
 45+  '@rescript/[email protected]':
 46+    resolution: {integrity: sha512-dW2R31PpBvPjSy50mSd9zKOT3dFw/gKtsUZoML81fPuXPJh0h5rwu9z3S40UUUzOa68uKNxXcVLrG1RAgs20Bw==}
 47     engines: {node: '>=20.11.0'}
 48     cpu: [x64]
 49     os: [darwin]
 50 
 51-  '@rescript/[email protected]':
 52-    resolution: {integrity: sha512-ODmpG3ji+Nj/8d5yvXkeHlfKkmbw1Q4t1iIjVuNwtmFpz7TiEa7n/sQqoYdE+WzbDX3DoJfmJNbp3Ob7qCUoOg==}
 53+  '@rescript/[email protected]':
 54+    resolution: {integrity: sha512-4GImq346kefHtaMhruFxVwWmr2shWEGQzAGdgZzn5zNWFN32hOXnztHjSFUmj5gmK9fFbidx/oB3BwdbRp5QFQ==}
 55     engines: {node: '>=20.11.0'}
 56     cpu: [arm64]
 57     os: [linux]
 58 
 59-  '@rescript/[email protected]':
 60-    resolution: {integrity: sha512-2W9Y9/g19Y4F/subl8yV3T8QBG2oRaP+HciNRcBjptyEdw9LmCKH8+rhWO6sp3E+nZLwoE2IAkwH0WKV3wqlxQ==}
 61+  '@rescript/[email protected]':
 62+    resolution: {integrity: sha512-0bPcKI0M38EpoFbhLz2w8ZAY3oZ0GWChwcDn43AN2EAWGLiCORhLP6biqRDg37jK/Bh8Y0MhYzjNWIeHoEDINQ==}
 63     engines: {node: '>=20.11.0'}
 64     cpu: [x64]
 65     os: [linux]
 66@@ -607,13 +610,16 @@ packages:
 67   '@rescript/[email protected]':
 68     resolution: {integrity: sha512-NwfljDRq1rjFPHUaca1nzFz13xsa9ZGkBkLvMhvVgavJT5+A4rMcLu8XAaVTi/oAhO/tlHf9ZDoOTF1AfyAk9Q==}
 69 
 70+  '@rescript/[email protected]':
 71+    resolution: {integrity: sha512-8SRM2f6+LaWach8NJjYQVCCmu6KYmJCb+437L7YpaUpJBDyUOC1x0FF75shZ/Gid9guKPF3zMHrTNHLuyQkkiQ==}
 72+
 73   '@rescript/[email protected]':
 74     resolution: {integrity: sha512-vCKwDGa6JNlQ9flKKDODzkL2fxs3/sOxdn4oaH3rT7gm7dTb9in2BT2Tpx7P2bxM1EYQHW5RITv/gFbO8+perw==}
 75     peerDependencies:
 76       rescript: '>=12.0.0 <13'
 77 
 78-  '@rescript/[email protected]':
 79-    resolution: {integrity: sha512-fhf8CBj3p1lkIXPeNko3mVTKQfXXm4BoxJtR1xAXxUn43wDpd8Lox4w8/EPBbbW6C/YFQW6H7rtpY+2AKuNaDA==}
 80+  '@rescript/[email protected]':
 81+    resolution: {integrity: sha512-TM1aLfn8IJFi0/ztVwHqQOcmJg4jWFCmXjrIS9Tif+6Gx8NdX8ttommUscUghe+Dn2pI382FvqPPNWRUR3AI8g==}
 82     engines: {node: '>=20.11.0'}
 83     cpu: [x64]
 84     os: [win32]
 85@@ -1737,8 +1743,8 @@ packages:
 86       rescript: ^10.1.0 || ^11.0.0-0 || ^12.0.0-0
 87       vite: ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0
 88 
 89-  [email protected]:
 90-    resolution: {integrity: sha512-1Jf2cmNhyx5Mj2vwZ4XXPcXvNSjGj9D1jPBUcoqIOqRpLPo1ch2Ta/7eWh23xAHWHK5ow7BCDyYFjvZSjyjLzg==}
 91+  [email protected]:
 92+    resolution: {integrity: sha512-xdnpEoDNoeYjZ8HHATwKJEfWti1Nqwx266edfUC8378a5AO1VvZElj2ZZ/SIJNFgUnohH9yDThB+CHEQfijxKw==}
 93     engines: {node: '>=20.11.0'}
 94     hasBin: true
 95 
 96@@ -2531,29 +2537,31 @@ snapshots:
 97 
 98   '@protomaps/[email protected]': {}
 99 
100-  '@rescript/[email protected]([email protected])':
101+  '@rescript/[email protected]([email protected])':
102     dependencies:
103-      rescript: 12.2.0
104+      rescript: 12.3.0
105 
106-  '@rescript/[email protected]':
107+  '@rescript/[email protected]':
108     optional: true
109 
110-  '@rescript/[email protected]':
111+  '@rescript/[email protected]':
112     optional: true
113 
114-  '@rescript/[email protected]':
115+  '@rescript/[email protected]':
116     optional: true
117 
118-  '@rescript/[email protected]':
119+  '@rescript/[email protected]':
120     optional: true
121 
122   '@rescript/[email protected]': {}
123 
124-  '@rescript/[email protected]([email protected])':
125+  '@rescript/[email protected]': {}
126+
127+  '@rescript/[email protected]([email protected])':
128     dependencies:
129-      rescript: 12.2.0
130+      rescript: 12.3.0
131 
132-  '@rescript/[email protected]':
133+  '@rescript/[email protected]':
134     optional: true
135 
136   '@rollup/[email protected]':
137@@ -3610,9 +3618,9 @@ snapshots:
138 
139   [email protected]: {}
140 
141-  [email protected](@types/[email protected])([email protected])([email protected])([email protected])([email protected])([email protected](@types/[email protected])([email protected])([email protected])):
142+  [email protected](@types/[email protected])([email protected])([email protected])([email protected])([email protected])([email protected](@types/[email protected])([email protected])([email protected])):
143     dependencies:
144-      rescript: 12.2.0
145+      rescript: 12.3.0
146       vite: 7.3.2(@types/[email protected])([email protected])([email protected])
147       vitest: 3.2.4(@types/[email protected])([email protected])([email protected])([email protected])
148     transitivePeerDependencies:
149@@ -3636,15 +3644,15 @@ snapshots:
150       - tsx
151       - yaml
152 
153-  [email protected]:
154+  [email protected]:
155     dependencies:
156-      '@rescript/runtime': 12.2.0
157+      '@rescript/runtime': 12.3.0
158     optionalDependencies:
159-      '@rescript/darwin-arm64': 12.2.0
160-      '@rescript/darwin-x64': 12.2.0
161-      '@rescript/linux-arm64': 12.2.0
162-      '@rescript/linux-x64': 12.2.0
163-      '@rescript/win32-x64': 12.2.0
164+      '@rescript/darwin-arm64': 12.3.0
165+      '@rescript/darwin-x64': 12.3.0
166+      '@rescript/linux-arm64': 12.3.0
167+      '@rescript/linux-x64': 12.3.0
168+      '@rescript/win32-x64': 12.3.0
169 
170   [email protected]: {}
171 
M flake.nix
+1, -1
1@@ -49,7 +49,7 @@
2       rtw-package = { pkgs, lib, buildGoModule, ygo }:
3         buildGoModule {
4           pname = "rtw";
5-          version = "0.1.0";
6+          version = "2026.06.040726";
7 
8           src = ./.;
9