rip-lang 3.13.120 → 3.13.122

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 (73) hide show
  1. package/README.md +30 -2
  2. package/docs/RIP-LANG.md +4 -0
  3. package/docs/dist/rip.js +580 -140
  4. package/docs/dist/rip.min.js +180 -180
  5. package/docs/dist/rip.min.js.br +0 -0
  6. package/docs/ui/accordion.rip +103 -0
  7. package/docs/ui/alert-dialog.rip +53 -0
  8. package/docs/ui/autocomplete.rip +115 -0
  9. package/docs/ui/avatar.rip +37 -0
  10. package/docs/ui/badge.rip +15 -0
  11. package/docs/ui/breadcrumb.rip +47 -0
  12. package/docs/ui/button-group.rip +26 -0
  13. package/docs/ui/button.rip +23 -0
  14. package/docs/ui/card.rip +25 -0
  15. package/docs/ui/carousel.rip +110 -0
  16. package/docs/ui/checkbox-group.rip +61 -0
  17. package/docs/ui/checkbox.rip +33 -0
  18. package/docs/ui/collapsible.rip +50 -0
  19. package/docs/ui/combobox.rip +130 -0
  20. package/docs/ui/context-menu.rip +88 -0
  21. package/docs/ui/date-picker.rip +206 -0
  22. package/docs/ui/dialog.rip +60 -0
  23. package/docs/ui/drawer.rip +58 -0
  24. package/docs/ui/editable-value.rip +82 -0
  25. package/docs/ui/field.rip +53 -0
  26. package/docs/ui/fieldset.rip +22 -0
  27. package/docs/ui/form.rip +39 -0
  28. package/docs/ui/grid.rip +901 -0
  29. package/docs/ui/hljs-rip.js +209 -0
  30. package/docs/ui/index.css +1797 -0
  31. package/docs/ui/index.html +2385 -0
  32. package/docs/ui/input-group.rip +28 -0
  33. package/docs/ui/input.rip +36 -0
  34. package/docs/ui/label.rip +16 -0
  35. package/docs/ui/menu.rip +134 -0
  36. package/docs/ui/menubar.rip +151 -0
  37. package/docs/ui/meter.rip +36 -0
  38. package/docs/ui/multi-select.rip +203 -0
  39. package/docs/ui/native-select.rip +33 -0
  40. package/docs/ui/nav-menu.rip +126 -0
  41. package/docs/ui/number-field.rip +162 -0
  42. package/docs/ui/otp-field.rip +89 -0
  43. package/docs/ui/pagination.rip +123 -0
  44. package/docs/ui/popover.rip +93 -0
  45. package/docs/ui/preview-card.rip +75 -0
  46. package/docs/ui/progress.rip +25 -0
  47. package/docs/ui/radio-group.rip +57 -0
  48. package/docs/ui/resizable.rip +123 -0
  49. package/docs/ui/scroll-area.rip +145 -0
  50. package/docs/ui/select.rip +151 -0
  51. package/docs/ui/separator.rip +17 -0
  52. package/docs/ui/skeleton.rip +22 -0
  53. package/docs/ui/slider.rip +165 -0
  54. package/docs/ui/spinner.rip +17 -0
  55. package/docs/ui/table.rip +27 -0
  56. package/docs/ui/tabs.rip +113 -0
  57. package/docs/ui/textarea.rip +48 -0
  58. package/docs/ui/toast.rip +87 -0
  59. package/docs/ui/toggle-group.rip +71 -0
  60. package/docs/ui/toggle.rip +24 -0
  61. package/docs/ui/toolbar.rip +38 -0
  62. package/docs/ui/tooltip.rip +85 -0
  63. package/package.json +2 -1
  64. package/src/AGENTS.md +9 -0
  65. package/src/compiler.js +17 -6
  66. package/src/components.js +81 -54
  67. package/src/generated/dom-events.js +115 -0
  68. package/src/generated/dom-tags.js +290 -0
  69. package/src/lexer.js +26 -0
  70. package/src/sourcemap-utils.js +91 -0
  71. package/src/typecheck.js +74 -13
  72. package/src/types.js +58 -1
  73. package/src/ui.rip +118 -2
package/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
  </p>
10
10
 
11
11
  <p align="center">
12
- <a href="CHANGELOG.md"><img src="https://img.shields.io/badge/version-3.13.120-blue.svg" alt="Version"></a>
12
+ <a href="CHANGELOG.md"><img src="https://img.shields.io/badge/version-3.13.122-blue.svg" alt="Version"></a>
13
13
  <a href="#zero-dependencies"><img src="https://img.shields.io/badge/dependencies-ZERO-brightgreen.svg" alt="Dependencies"></a>
14
14
  <a href="#"><img src="https://img.shields.io/badge/tests-1%2C436%2F1%2C436-brightgreen.svg" alt="Tests"></a>
15
15
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green.svg" alt="License"></a>
@@ -87,6 +87,15 @@ dog = Dog.new("Buddy") # Ruby-style constructor
87
87
 
88
88
  Both `#{}` and `${}` compile to JavaScript template literals. Use whichever you prefer.
89
89
 
90
+ ### Objects
91
+
92
+ ```coffee
93
+ user = {name: "Alice", age: 30}
94
+ config =
95
+ api.endpoint: "https://example.com" # Dotted keys become flat string keys
96
+ api.timeout: 5000 # {'api.endpoint': "...", 'api.timeout': 5000}
97
+ ```
98
+
90
99
  ### Destructuring & Comprehensions
91
100
 
92
101
  ```coffee
@@ -424,7 +433,7 @@ Rip includes optional packages for full-stack development:
424
433
  | [rip-lang](https://www.npmjs.com/package/rip-lang) | 3.13.62 | Core language compiler |
425
434
  | [@rip-lang/server](packages/server/) | 1.3.12 | Multi-worker app server (web framework, hot reload, HTTPS, mDNS) |
426
435
  | [@rip-lang/db](packages/db/) | 1.3.15 | DuckDB server with official UI + ActiveRecord-style client |
427
- | [ui](packages/ui/) | — | Rip UI — 38 headless components (Grid, Select, Dialog, Tabs, etc.) |
436
+ | [@rip-lang/ui](packages/ui/) | — | Unified UI system browser widgets, email components, shared helpers, Tailwind integration |
428
437
  | [@rip-lang/swarm](packages/swarm/) | 1.2.18 | Parallel job runner with worker pool |
429
438
  | [@rip-lang/csv](packages/csv/) | 1.3.6 | CSV parser + writer |
430
439
  | [@rip-lang/schema](packages/schema/) | 0.3.8 | Unified schema → TypeScript types, SQL DDL, validation, ORM |
@@ -473,6 +482,25 @@ bun run build # Build browser bundle
473
482
 
474
483
  ---
475
484
 
485
+ ## Release
486
+
487
+ ```bash
488
+ # rip-lang + changed @rip-lang/* packages + @rip-lang/all
489
+ bun run bump
490
+
491
+ # Explicit version level
492
+ bun run bump patch
493
+ bun run bump minor
494
+ bun run bump major
495
+ ```
496
+
497
+ - `bun run bump` is the standard release flow for the npm ecosystem in this repo.
498
+ - It bumps `rip-lang`, bumps any changed publishable `@rip-lang/*` packages, updates `@rip-lang/all`, runs the build and test steps, then commits, pushes, and publishes.
499
+ - `@rip-lang/all` is released automatically as part of that flow; there is no separate manual release step for it.
500
+ - `packages/vscode` is intentionally excluded and must be versioned and published separately.
501
+
502
+ ---
503
+
476
504
  ## Documentation
477
505
 
478
506
  | Guide | Description |
package/docs/RIP-LANG.md CHANGED
@@ -106,6 +106,7 @@ colors = %w(red green blue) # any delimiter: [] () {} <> || !! etc.
106
106
  # Objects
107
107
  user = {name: "Alice", age: 30}
108
108
  shorthand = {name, age} # Same as {name: name, age: age}
109
+ config = {api.host: "localhost", api.port: 3000} # Dotted keys → flat string keys
109
110
 
110
111
  # Ranges
111
112
  nums = [1..5] # [1, 2, 3, 4, 5]
@@ -2068,6 +2069,9 @@ a[/pat/, 1] # regex extract
2068
2069
  a? # existence check (a != null)
2069
2070
  a ?? b # nullish coalescing
2070
2071
 
2072
+ # Dotted keys
2073
+ {a.b: 1} # {'a.b': 1} — flat string key
2074
+
2071
2075
  # Word arrays
2072
2076
  %w[foo bar baz] # ["foo", "bar", "baz"] — Ruby-style word literal
2073
2077