Skip to content

Releases: ash-project/ash_typescript

v0.17.0

29 Mar 18:53

Choose a tag to compare

Features:

  • manifest: add valibot entries to JSON manifest by @Torkan

  • codegen: add typed sort fields with SortString utility type and array support by @Torkan

  • codegen: add isNil operator, expand aggregate filters, generate filter field arrays by @Torkan

  • valibot by @directormac

  • add valibot to resolver and orchestrator by @directormac

  • valibot generators by @directormac

Bug Fixes:

  • codegen: remove dead valibot import from generated RPC file by @Torkan

  • valibot: namespace export harcoded suffix by @directormac

  • valibot: piped constraints by @directormac

  • rpc: use load-through format for resource-returning calculations by @Torkan

  • codegen: distinguish resource from typed struct in return type classification by @Torkan

  • test: scope typed query const assertion to Typed Queries section by @Torkan

  • codegen: unwrap NewTypes before classifying return types for field selection by Mike Wilson

  • delete vite/inertia combo as SSR didnt really work by Victor Batarse

  • in prod if there was no manifest.json assets.deploy would crash with vite by Victor Batarse

  • add csrf headers in all layouts by Victor Batarse

  • colocated hooks on non react version by Victor Batarse

  • on non-jsx framework caused crash by Victor Batarse

  • esbuild versions CSS issues by Victor Batarse

v0.16.0

23 Mar 20:53

Choose a tag to compare

Breaking Changes:

import_into_generated and typed_controller_import_into_generated file paths are now project-root-relative (e.g., "assets/js/hooks.ts") instead of JS-relative import paths (e.g., "./hooks")

Features:

  • codegen: exclude calculations with field?: false from generated types by @Torkan

  • typed-channel: auto-derive payload types from calculation transforms by @Torkan

  • rpc: verify actions and relationship read actions are public? by @Torkan

  • rpc: add machine-readable JSON manifest generation by @Torkan

  • typed-channel: detect payload type name conflicts across channels by @Torkan

  • typed-channel: add config accessors and orchestrator integration by @Torkan

  • typed-channel: add DSL, verifier, and codegen for typed channel event subscriptions by @Torkan

  • add typed_controller_base_path config for route URL prefixing by @Torkan

  • add HTTP verb shortcuts and positional method arg to typed controller DSL by @Torkan

  • add controller namespace support and simplify codegen orchestration by @Torkan

  • add multi-file codegen architecture and typed controller enhancements by @Torkan

Bug Fixes:

  • test: use domain: nil for inline test resource not registered in a domain by @Torkan

  • bump minimum ash dep to >= 3.21.1 for field? support by @Torkan

  • rpc: unwrap Reactor.Error.Invalid.RunStepError to inner error by @Torkan

  • test: replace length/1 comparisons with empty list checks by @Torkan

  • test: use CodegenTestHelper instead of removed Rpc.Codegen API by @Torkan

  • codegen: generate Array<Record<string, any>> for {:array, :map} return types by @barnabasJ (#56)

  • codegen: prefix unused actionName param with underscore when hooks disabled by @Torkan

  • test: add returns type to item_deleted publication to fix compile warning by @Torkan

  • codegen: resolve relative import paths correctly for parent directories by @Torkan

  • rpc: apply output formatter to channel field in channel functions by @Torkan

  • test: redirect typed_channels_output_file to tmp dir in codegen tests by @Torkan

  • typed-controller: default route method to nil instead of :get by @Torkan

  • use field formatter for channel handler fields by @Torkan

v0.15.3

21 Feb 21:02

Choose a tag to compare

Bug Fixes:

  • sort RPC codegen output for deterministic TypeScript generation by @Torkan

v0.15.2

21 Feb 20:16

Choose a tag to compare

Bug Fixes:

  • sort typed controller output for deterministic codegen by @Torkan

v0.15.1

21 Feb 18:04

Choose a tag to compare

Bug Fixes:

  • restore method/module_name in spark formatter locals_without_parens by @Torkan

  • add typed_controller_path_params_style config option by @Torkan

  • codegen: check typescript_type_name before unwrapping NewTypes (#52) by @Torkan

v0.15.0

19 Feb 13:17

Choose a tag to compare

Features:

  • add typed_controller_mode config for paths_only generation by @Torkan

  • generate query params and typed path helpers for TypedController routes by @Torkan

  • validate that path params have matching DSL arguments by @Torkan

  • typed-controller: validate route and argument names for TypeScript compatibility by @Torkan

  • add TypedController as standalone Spark DSL with argument extraction and type casting by @Torkan

  • controller-resource: normalize camelCase request params to snake_case by @Torkan

  • codegen: integrate controller resource route generation into mix task by @Torkan

  • add TypeScript route codegen with router introspection by @Torkan

  • add ControllerResource DSL extension with controller generation by @Torkan

Bug Fixes:

  • codegen: check typescript_type_name before unwrapping NewTypes (#52) by @Torkan

  • prevent policy breakdown leak in Forbidden.Policy error responses by @Torkan

v0.14.4

14 Feb 14:18

Choose a tag to compare

Bug Fixes:

  • rpc: add JSON-safe error serialization for policy breakdowns by @Torkan

  • zod: topologically sort resource schemas to fix declaration order by @Torkan

v0.14.3

11 Feb 01:36

Choose a tag to compare

Bug Fixes:

  • codegen: scope always_regenerate to only apply with --dev flag by @Torkan

v0.14.2

10 Feb 23:45

Choose a tag to compare

Bug Fixes:

  • rpc: ensure error responses are JSON-serializable by @Torkan

  • codegen: only export Config type for actions with optional pagination by @Torkan

v0.14.1

07 Feb 17:16

Choose a tag to compare

Bug Fixes:

  • codegen: skip file writes when generated content is unchanged by @Torkan