rip-lang 2.7.2 → 2.7.3

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 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-2.7.2-blue.svg" alt="Version"></a>
12
+ <a href="CHANGELOG.md"><img src="https://img.shields.io/badge/version-2.7.3-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-979%2F979-brightgreen.svg" alt="Tests"></a>
15
15
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green.svg" alt="License"></a>
package/bin/rip CHANGED
@@ -183,6 +183,36 @@ async function main() {
183
183
  }
184
184
  }
185
185
 
186
+ // Fallback: Check for bin/ script in git repo root
187
+ // Allows `rip migrate --status` to find and run {repo}/bin/migrate
188
+ if (inputFile && !inputFile.startsWith('-') && !existsSync(inputFile)) {
189
+ try {
190
+ // Check if we're in a git repo
191
+ const repoRoot = execSync('git rev-parse --show-toplevel', {
192
+ encoding: 'utf-8',
193
+ stdio: ['pipe', 'pipe', 'pipe']
194
+ }).trim();
195
+
196
+ // Look for bin/{command} in repo root
197
+ const binScript = join(repoRoot, 'bin', inputFile);
198
+
199
+ if (existsSync(binScript)) {
200
+ // Found it! Execute with remaining args
201
+ try {
202
+ execSync(`"${binScript}" ${scriptArgs.join(' ')}`, {
203
+ stdio: 'inherit',
204
+ shell: true
205
+ });
206
+ process.exit(0);
207
+ } catch (error) {
208
+ process.exit(error.status || 1);
209
+ }
210
+ }
211
+ } catch {
212
+ // Not in a git repo, or git not available - fall through to normal error
213
+ }
214
+ }
215
+
186
216
  let source;
187
217
 
188
218
  try {
@@ -6,7 +6,7 @@
6
6
 
7
7
  That "Why Not" document makes strong arguments, but here's the **counter-argument**—a working, tested, **production-ready** language that offers a different path.
8
8
 
9
- **Rip isn't vaporware. It's real. Version 2.7.2. 979/979 tests passing. Self-hosting. Zero dependencies. Available now.**
9
+ **Rip isn't vaporware. It's real. Fully tested. Self-hosting. Zero dependencies. Available now.**
10
10
 
11
11
  ### The Philosophical Divide: Freedom vs Fear
12
12
 
@@ -198,7 +198,7 @@ Not "minimal." Not "few." **ZERO.** This is **real**, **running**, **today**.
198
198
  // Actual package.json from Rip
199
199
  {
200
200
  "name": "rip-lang",
201
- "version": "2.5.1",
201
+ "version": "x.y.z",
202
202
  "dependencies": {} // ← COMPLETELY EMPTY
203
203
  }
204
204
  ```
@@ -706,7 +706,7 @@ Rip isn't about going backward. It's about recognizing that **we took a wrong tu
706
706
 
707
707
  **The future isn't more dependencies. It's zero dependencies.**
708
708
 
709
- **The future is Rip. Version 2.7.2. Available today.**
709
+ **The future is Rip. Available today.**
710
710
 
711
711
  ---
712
712
 
@@ -752,6 +752,6 @@ $ echo 'console.log "Hello, Rip!"' > test.rip && bun test.rip
752
752
  - ✅ **Ruby constructors** (`ClassName.new()` - elegant instantiation)
753
753
  - ✅ **Framework-agnostic** (use with React, Vue, Svelte, or vanilla JS!)
754
754
 
755
- **Version 2.7.2. Available now. Clone and go.**
755
+ **Available now. Clone and go.**
756
756
 
757
757
  This approach is ready. Give it a try.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rip-lang",
3
- "version": "2.7.2",
3
+ "version": "2.7.3",
4
4
  "description": "A modern language that compiles to JavaScript",
5
5
  "type": "module",
6
6
  "main": "src/compiler.js",