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.
- package/README.md +30 -2
- package/docs/RIP-LANG.md +4 -0
- package/docs/dist/rip.js +580 -140
- package/docs/dist/rip.min.js +180 -180
- package/docs/dist/rip.min.js.br +0 -0
- package/docs/ui/accordion.rip +103 -0
- package/docs/ui/alert-dialog.rip +53 -0
- package/docs/ui/autocomplete.rip +115 -0
- package/docs/ui/avatar.rip +37 -0
- package/docs/ui/badge.rip +15 -0
- package/docs/ui/breadcrumb.rip +47 -0
- package/docs/ui/button-group.rip +26 -0
- package/docs/ui/button.rip +23 -0
- package/docs/ui/card.rip +25 -0
- package/docs/ui/carousel.rip +110 -0
- package/docs/ui/checkbox-group.rip +61 -0
- package/docs/ui/checkbox.rip +33 -0
- package/docs/ui/collapsible.rip +50 -0
- package/docs/ui/combobox.rip +130 -0
- package/docs/ui/context-menu.rip +88 -0
- package/docs/ui/date-picker.rip +206 -0
- package/docs/ui/dialog.rip +60 -0
- package/docs/ui/drawer.rip +58 -0
- package/docs/ui/editable-value.rip +82 -0
- package/docs/ui/field.rip +53 -0
- package/docs/ui/fieldset.rip +22 -0
- package/docs/ui/form.rip +39 -0
- package/docs/ui/grid.rip +901 -0
- package/docs/ui/hljs-rip.js +209 -0
- package/docs/ui/index.css +1797 -0
- package/docs/ui/index.html +2385 -0
- package/docs/ui/input-group.rip +28 -0
- package/docs/ui/input.rip +36 -0
- package/docs/ui/label.rip +16 -0
- package/docs/ui/menu.rip +134 -0
- package/docs/ui/menubar.rip +151 -0
- package/docs/ui/meter.rip +36 -0
- package/docs/ui/multi-select.rip +203 -0
- package/docs/ui/native-select.rip +33 -0
- package/docs/ui/nav-menu.rip +126 -0
- package/docs/ui/number-field.rip +162 -0
- package/docs/ui/otp-field.rip +89 -0
- package/docs/ui/pagination.rip +123 -0
- package/docs/ui/popover.rip +93 -0
- package/docs/ui/preview-card.rip +75 -0
- package/docs/ui/progress.rip +25 -0
- package/docs/ui/radio-group.rip +57 -0
- package/docs/ui/resizable.rip +123 -0
- package/docs/ui/scroll-area.rip +145 -0
- package/docs/ui/select.rip +151 -0
- package/docs/ui/separator.rip +17 -0
- package/docs/ui/skeleton.rip +22 -0
- package/docs/ui/slider.rip +165 -0
- package/docs/ui/spinner.rip +17 -0
- package/docs/ui/table.rip +27 -0
- package/docs/ui/tabs.rip +113 -0
- package/docs/ui/textarea.rip +48 -0
- package/docs/ui/toast.rip +87 -0
- package/docs/ui/toggle-group.rip +71 -0
- package/docs/ui/toggle.rip +24 -0
- package/docs/ui/toolbar.rip +38 -0
- package/docs/ui/tooltip.rip +85 -0
- package/package.json +2 -1
- package/src/AGENTS.md +9 -0
- package/src/compiler.js +17 -6
- package/src/components.js +81 -54
- package/src/generated/dom-events.js +115 -0
- package/src/generated/dom-tags.js +290 -0
- package/src/lexer.js +26 -0
- package/src/sourcemap-utils.js +91 -0
- package/src/typecheck.js +74 -13
- package/src/types.js +58 -1
- 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.
|
|
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/) | — |
|
|
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
|
|