jsx_rosetta 0.4.0 → 0.6.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.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +342 -11
  3. data/CLAUDE.md +70 -0
  4. data/README.md +50 -0
  5. data/ROADMAP.md +92 -0
  6. data/agents/jsx-rosetta-resolve-todo-file.md +90 -0
  7. data/lib/jsx_rosetta/ast/inflector.rb +32 -0
  8. data/lib/jsx_rosetta/backend/phlex.rb +1421 -158
  9. data/lib/jsx_rosetta/backend/rails_view.rb +1 -1
  10. data/lib/jsx_rosetta/backend/view_component/expression_translator.rb +357 -33
  11. data/lib/jsx_rosetta/backend/view_component.rb +261 -31
  12. data/lib/jsx_rosetta/cli.rb +175 -37
  13. data/lib/jsx_rosetta/icons/lucide.json +37 -0
  14. data/lib/jsx_rosetta/icons.rb +44 -0
  15. data/lib/jsx_rosetta/ir/lowering.rb +1164 -70
  16. data/lib/jsx_rosetta/ir/module_shape_classifier.rb +20 -1
  17. data/lib/jsx_rosetta/ir/radix_registry.rb +84 -0
  18. data/lib/jsx_rosetta/ir/types.rb +264 -19
  19. data/lib/jsx_rosetta/ir.rb +5 -4
  20. data/lib/jsx_rosetta/pages_routing.rb +640 -0
  21. data/lib/jsx_rosetta/version.rb +1 -1
  22. data/lib/jsx_rosetta.rb +8 -6
  23. data/plans/nextjs_pages_to_rails.md +200 -0
  24. data/plans/nextjs_pages_to_rails_slice_2.md +118 -0
  25. data/plans/nextjs_pages_to_rails_slice_3.md +121 -0
  26. data/plans/nextjs_pages_to_rails_slice_4.md +301 -0
  27. data/plans/translator_widening_and_pages_followups.md +120 -0
  28. data/plans/translator_widening_slice_a.md +208 -0
  29. data/skills/jsx-rosetta-resolve-todos/SKILL.md +206 -0
  30. data/skills/jsx-rosetta-resolve-todos/data/design_tokens.template.yml +71 -0
  31. data/skills/jsx-rosetta-resolve-todos/data/target_app_conventions.template.yml +107 -0
  32. data/skills/jsx-rosetta-resolve-todos/examples/design_tokens.ant_design_v5.yml +190 -0
  33. data/skills/jsx-rosetta-resolve-todos/recipes/01_design_tokens.md +74 -0
  34. data/skills/jsx-rosetta-resolve-todos/recipes/02_promoted_ivar.md +49 -0
  35. data/skills/jsx-rosetta-resolve-todos/recipes/03_react_hooks.md +34 -0
  36. data/skills/jsx-rosetta-resolve-todos/recipes/04_apollo_hooks.md +34 -0
  37. data/skills/jsx-rosetta-resolve-todos/recipes/05_event_handlers.md +45 -0
  38. data/skills/jsx-rosetta-resolve-todos/recipes/06_module_constants.md +29 -0
  39. data/skills/jsx-rosetta-resolve-todos/recipes/07_nextjs_navigation.md +44 -0
  40. data/skills/jsx-rosetta-resolve-todos/recipes/08_generic_js_bailouts.md +55 -0
  41. data/skills/jsx-rosetta-resolve-todos/tools/apply_promoted_ivar.rb +189 -0
  42. data/skills/jsx-rosetta-resolve-todos/tools/apply_substitutions.rb +292 -0
  43. data/skills/jsx-rosetta-resolve-todos/tools/diff_corpus.rb +161 -0
  44. data/skills/jsx-rosetta-resolve-todos/tools/discover_bailouts.rb +211 -0
  45. metadata +30 -1
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jsx_rosetta
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean McCleary
@@ -24,11 +24,14 @@ extensions: []
24
24
  extra_rdoc_files: []
25
25
  files:
26
26
  - CHANGELOG.md
27
+ - CLAUDE.md
27
28
  - CODE_OF_CONDUCT.md
28
29
  - LICENSE.txt
29
30
  - PLAN.md
30
31
  - README.md
32
+ - ROADMAP.md
31
33
  - Rakefile
34
+ - agents/jsx-rosetta-resolve-todo-file.md
32
35
  - exe/jsx_rosetta
33
36
  - lib/jsx_rosetta.rb
34
37
  - lib/jsx_rosetta/ast.rb
@@ -44,11 +47,15 @@ files:
44
47
  - lib/jsx_rosetta/backend/view_component.rb
45
48
  - lib/jsx_rosetta/backend/view_component/expression_translator.rb
46
49
  - lib/jsx_rosetta/cli.rb
50
+ - lib/jsx_rosetta/icons.rb
51
+ - lib/jsx_rosetta/icons/lucide.json
47
52
  - lib/jsx_rosetta/ir.rb
48
53
  - lib/jsx_rosetta/ir/lowering.rb
49
54
  - lib/jsx_rosetta/ir/module_shape_classifier.rb
55
+ - lib/jsx_rosetta/ir/radix_registry.rb
50
56
  - lib/jsx_rosetta/ir/types.rb
51
57
  - lib/jsx_rosetta/node_bridge.rb
58
+ - lib/jsx_rosetta/pages_routing.rb
52
59
  - lib/jsx_rosetta/parse_error.rb
53
60
  - lib/jsx_rosetta/parser.rb
54
61
  - lib/jsx_rosetta/routes.rb
@@ -57,6 +64,28 @@ files:
57
64
  - node/package-lock.json
58
65
  - node/package.json
59
66
  - node/parse.js
67
+ - plans/nextjs_pages_to_rails.md
68
+ - plans/nextjs_pages_to_rails_slice_2.md
69
+ - plans/nextjs_pages_to_rails_slice_3.md
70
+ - plans/nextjs_pages_to_rails_slice_4.md
71
+ - plans/translator_widening_and_pages_followups.md
72
+ - plans/translator_widening_slice_a.md
73
+ - skills/jsx-rosetta-resolve-todos/SKILL.md
74
+ - skills/jsx-rosetta-resolve-todos/data/design_tokens.template.yml
75
+ - skills/jsx-rosetta-resolve-todos/data/target_app_conventions.template.yml
76
+ - skills/jsx-rosetta-resolve-todos/examples/design_tokens.ant_design_v5.yml
77
+ - skills/jsx-rosetta-resolve-todos/recipes/01_design_tokens.md
78
+ - skills/jsx-rosetta-resolve-todos/recipes/02_promoted_ivar.md
79
+ - skills/jsx-rosetta-resolve-todos/recipes/03_react_hooks.md
80
+ - skills/jsx-rosetta-resolve-todos/recipes/04_apollo_hooks.md
81
+ - skills/jsx-rosetta-resolve-todos/recipes/05_event_handlers.md
82
+ - skills/jsx-rosetta-resolve-todos/recipes/06_module_constants.md
83
+ - skills/jsx-rosetta-resolve-todos/recipes/07_nextjs_navigation.md
84
+ - skills/jsx-rosetta-resolve-todos/recipes/08_generic_js_bailouts.md
85
+ - skills/jsx-rosetta-resolve-todos/tools/apply_promoted_ivar.rb
86
+ - skills/jsx-rosetta-resolve-todos/tools/apply_substitutions.rb
87
+ - skills/jsx-rosetta-resolve-todos/tools/diff_corpus.rb
88
+ - skills/jsx-rosetta-resolve-todos/tools/discover_bailouts.rb
60
89
  homepage: https://github.com/mrinterweb/jsx_rosetta
61
90
  licenses:
62
91
  - MIT