typelizer 0.10.0 → 0.12.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 +4 -4
- data/CHANGELOG.md +33 -3
- data/README.md +22 -671
- data/lib/tasks/generate.rake +50 -15
- data/lib/typelizer/config.rb +4 -0
- data/lib/typelizer/configuration.rb +4 -0
- data/lib/typelizer/generator.rb +2 -2
- data/lib/typelizer/interface.rb +16 -1
- data/lib/typelizer/listen.rb +26 -7
- data/lib/typelizer/openapi.rb +14 -8
- data/lib/typelizer/railtie.rb +2 -1
- data/lib/typelizer/route_config.rb +50 -0
- data/lib/typelizer/route_generator.rb +149 -0
- data/lib/typelizer/route_writer.rb +171 -0
- data/lib/typelizer/serializer_plugins/alba.rb +2 -1
- data/lib/typelizer/templates/index.ts.erb +2 -2
- data/lib/typelizer/templates/route_controller.erb +77 -0
- data/lib/typelizer/templates/route_index.erb +14 -0
- data/lib/typelizer/templates/route_runtime.js +105 -0
- data/lib/typelizer/templates/route_runtime.ts +122 -0
- data/lib/typelizer/version.rb +1 -1
- data/lib/typelizer/writer.rb +20 -13
- data/lib/typelizer.rb +32 -2
- metadata +9 -2
- /data/lib/typelizer/templates/{fingerprint.ts.erb → fingerprint.erb} +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: '0784a5e0472196bc334c145c9f02e6f98898d164670abd55e4215775ed4b0aaa'
|
|
4
|
+
data.tar.gz: fc4dcaf1daddc6f9d07068e36fdc6ff7d2be2f8fe3163b42460e1fbaa6e5671b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 80275894a434d028d8e89aaaa746476fce065785201374488b92ba967866bad458852cf5c57864027076b44c48225e596435c772fc0a05bcc26bf7c312eb219d
|
|
7
|
+
data.tar.gz: c3f99f8cb337d3fc3a33c6fda789c23957907440f0162c437b379f8f1f2a1f61416348cc86386bf2c686a9060aee55a8ffc796baf2d42e4296b0cf77d9249468
|
data/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,33 @@ and this project adheres to [Semantic Versioning].
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.12.0] - 2026-03-29
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- **Route generation**: Generate typed TypeScript (or JavaScript) route helpers from Rails routes. Enable with `config.routes.enabled = true`. ([@skryukov])
|
|
15
|
+
|
|
16
|
+
## [0.11.0] - 2026-03-26
|
|
17
|
+
|
|
18
|
+
### Added
|
|
19
|
+
|
|
20
|
+
- Per-serializer `output_dir` override via `typelizer_config`. Interfaces are written to their configured directory while the shared `index.ts` barrel generates correct relative import paths. ([@skryukov])
|
|
21
|
+
|
|
22
|
+
- `filename_mapper` configuration to decouple generated file paths from TypeScript type names. Useful for mirroring Ruby module namespaces as nested directories. ([@skryukov], [@rdavid1099])
|
|
23
|
+
|
|
24
|
+
```ruby
|
|
25
|
+
Typelizer.configure do |config|
|
|
26
|
+
config.filename_mapper = ->(name) { name.gsub("::", "/") }
|
|
27
|
+
end
|
|
28
|
+
# Alba::UserSerializer → types/Alba/User.ts (type name stays AlbaUser)
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Fixed
|
|
32
|
+
|
|
33
|
+
- Walk over inline association properties to determine imports. ([@skryukov])
|
|
34
|
+
- Fix `config.type_mapping` override not applied to OpenAPI schema generation. ([@skryukov])
|
|
35
|
+
- Fix key transformation for Alba traits. ([@skryukov])
|
|
36
|
+
|
|
10
37
|
## [0.10.0] - 2026-03-02
|
|
11
38
|
|
|
12
39
|
### Changed
|
|
@@ -426,20 +453,23 @@ and this project adheres to [Semantic Versioning].
|
|
|
426
453
|
|
|
427
454
|
[@davidrunger]: https://github.com/davidrunger
|
|
428
455
|
[@Envek]: https://github.com/Envek
|
|
429
|
-
[@jonmarkgo]: https://github.com/jonmarkgo
|
|
430
456
|
[@hkamberovic]: https://github.com/hkamberovic
|
|
457
|
+
[@jonmarkgo]: https://github.com/jonmarkgo
|
|
431
458
|
[@kristinemcbride]: https://github.com/kristinemcbride
|
|
432
459
|
[@nkriege]: https://github.com/nkriege
|
|
433
460
|
[@NOX73]: https://github.com/NOX73
|
|
434
461
|
[@okuramasafumi]: https://github.com/okuramasafumi
|
|
435
462
|
[@patvice]: https://github.com/patvice
|
|
436
463
|
[@pgiblock]: https://github.com/pgiblock
|
|
437
|
-
[@prog-supdex]: https://github.com/prog-supdex
|
|
438
464
|
[@PedroAugustoRamalhoDuarte]: https://github.com/PedroAugustoRamalhoDuarte
|
|
465
|
+
[@prog-supdex]: https://github.com/prog-supdex
|
|
466
|
+
[@rdavid1099]: https://github.com/rdavid1099
|
|
439
467
|
[@skryukov]: https://github.com/skryukov
|
|
440
468
|
[@ventsislaf]: https://github.com/ventsislaf
|
|
441
469
|
|
|
442
|
-
[Unreleased]: https://github.com/skryukov/typelizer/compare/v0.
|
|
470
|
+
[Unreleased]: https://github.com/skryukov/typelizer/compare/v0.12.0...HEAD
|
|
471
|
+
[0.12.0]: https://github.com/skryukov/typelizer/compare/v0.11.0...v0.12.0
|
|
472
|
+
[0.11.0]: https://github.com/skryukov/typelizer/compare/v0.10.0...v0.11.0
|
|
443
473
|
[0.10.0]: https://github.com/skryukov/typelizer/compare/v0.9.3...v0.10.0
|
|
444
474
|
[0.9.3]: https://github.com/skryukov/typelizer/compare/v0.9.2...v0.9.3
|
|
445
475
|
[0.9.2]: https://github.com/skryukov/typelizer/compare/v0.9.1...v0.9.2
|