Skip to content

Conversation

@oscartbeaumont
Copy link
Member

@oscartbeaumont oscartbeaumont commented Dec 19, 2025

TODO:

  • Drop as many core attributes from the core #[specta(...)] and core handling
  • Remove enum repr from core
  • Parse non-Specta attributes and store them in datatype layer (maybe as TokenStream)
  • specta-serde should runtime apply attributes for rename, etc.
  • specta-serde should handle being phase-specfic
  • Hook up phase-specific handling to Typescript exporter Treating these as an implementation detail till I can sort out some bigger concerns with duplicate types in the final bindings file.
  • Add #[specta(skip_attribute = "bruh")] for skipping macro attributes as a workaround for future parsing issues.
  • Maybe just remove Serde handling from the Typescript exporter but document is really well. not gonna do this for now but maybe in the future.

Closes #258 & #232 & #332 & #229 & #328 & #114 & #402 & #395 & #132 & #130 & #22

TODO:

  • #[serde(skip)] fix looks broken cause it drops the &mut Vec<Attribute>
  • Make #[serde(transparent)] on container work
  • Make `#[serde(skip)] on field work
  • Go through all of them and test them.
  • specta_serde shouldn't depend on specta::internal #258
  • Refactor relationship between specta_typescript and specta_serde
  • Cleanup specta_serde public exports.

@oscartbeaumont oscartbeaumont mentioned this pull request Jan 5, 2026
@oscartbeaumont oscartbeaumont mentioned this pull request Jan 6, 2026
- Resolved conflicts in attribute system files
- Removed deleted enum.rs file
- Added Inflection enum to utils.rs
- All tests already migrated to insta snapshots
- Remove calls to non-existent specta_serde::validate function
- Fix comprehensive_serde_attrs example syntax
- Remove duplicate Type derive on RenameToValue
- Update validation to use process_for_serialization
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

specta_serde shouldn't depend on specta::internal

2 participants