@willbooster/tree-sitter-ruby 4.0.4 → 5.0.1
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 +10 -9
- package/package.json +17 -20
- package/tree-sitter-ruby.wasm +0 -0
- package/tree-sitter.json +1 -1
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
[](https://github.com/WillBooster/tree-sitter-ruby/actions/workflows/test.yml)
|
|
6
6
|
[](https://github.com/WillBooster/tree-sitter-ruby/actions/workflows/test-rust.yml)
|
|
7
7
|
[](https://github.com/semantic-release/semantic-release)
|
|
8
|
-
[](https://github.com/WillBooster/shared/tree/main/packages/wbfy)
|
|
9
9
|
[](https://crates.io/crates/willbooster-tree-sitter-ruby)
|
|
10
10
|
|
|
11
11
|
Ruby grammar for [tree-sitter](https://github.com/tree-sitter/tree-sitter), forked from
|
|
@@ -14,8 +14,8 @@ to its authors and contributors. This is not an official release of that project
|
|
|
14
14
|
|
|
15
15
|
This fork extends the upstream grammar to parse anonymous block forwarding, spaced block arguments, and command calls in endless methods, with a parser generated by
|
|
16
16
|
[WillBooster/tree-sitter](https://github.com/WillBooster/tree-sitter), whose compact parse tables make the
|
|
17
|
-
parser smaller. The parser carries that fork's own ABI number (`
|
|
18
|
-
runtime; upstream's tree-sitter runtime
|
|
17
|
+
parser smaller. The parser carries that fork's own ABI number (`0x57420009`), so it loads only with the WillBooster
|
|
18
|
+
runtime 13.x; upstream's tree-sitter runtime and other major versions of the fork's runtime reject it.
|
|
19
19
|
The scanner preserves long heredoc identifiers
|
|
20
20
|
when their state fits the runtime's serialization buffer. If the open heredocs cannot fit, their bodies are parsed as
|
|
21
21
|
code instead of aborting the process.
|
|
@@ -24,12 +24,13 @@ code instead of aborting the process.
|
|
|
24
24
|
|
|
25
25
|
The npm package ships `tree-sitter-ruby.wasm` for
|
|
26
26
|
[@willbooster/web-tree-sitter](https://www.npmjs.com/package/@willbooster/web-tree-sitter), which runs in Node.js, Bun,
|
|
27
|
-
browsers, and Cloudflare Workers. The parser requires runtime
|
|
27
|
+
browsers, and Cloudflare Workers. The parser requires runtime 13.x.
|
|
28
28
|
|
|
29
29
|
In Node.js and Bun, load the grammar from its path:
|
|
30
30
|
|
|
31
31
|
```js
|
|
32
32
|
import { fileURLToPath } from 'node:url';
|
|
33
|
+
|
|
33
34
|
import { Language, Parser } from '@willbooster/web-tree-sitter';
|
|
34
35
|
|
|
35
36
|
await Parser.init();
|
|
@@ -42,9 +43,9 @@ const tree = parser.parse('puts "Hello"\n');
|
|
|
42
43
|
In browsers, load the grammar from its URL. With Vite:
|
|
43
44
|
|
|
44
45
|
```js
|
|
46
|
+
import rubyUrl from '@willbooster/tree-sitter-ruby/tree-sitter-ruby.wasm?url';
|
|
45
47
|
import { Language, Parser } from '@willbooster/web-tree-sitter';
|
|
46
48
|
import runtimeUrl from '@willbooster/web-tree-sitter/web-tree-sitter.wasm?url';
|
|
47
|
-
import rubyUrl from '@willbooster/tree-sitter-ruby/tree-sitter-ruby.wasm?url';
|
|
48
49
|
|
|
49
50
|
await Parser.init({ locateFile: () => runtimeUrl });
|
|
50
51
|
const parser = new Parser();
|
|
@@ -54,9 +55,9 @@ parser.setLanguage(await Language.load(rubyUrl));
|
|
|
54
55
|
In Cloudflare Workers, which do not allow compiling Wasm at run time, import both `.wasm` files as modules:
|
|
55
56
|
|
|
56
57
|
```js
|
|
58
|
+
import ruby from '@willbooster/tree-sitter-ruby/tree-sitter-ruby.wasm';
|
|
57
59
|
import { Language, Parser } from '@willbooster/web-tree-sitter';
|
|
58
60
|
import runtime from '@willbooster/web-tree-sitter/web-tree-sitter.wasm';
|
|
59
|
-
import ruby from '@willbooster/tree-sitter-ruby/tree-sitter-ruby.wasm';
|
|
60
61
|
|
|
61
62
|
await Parser.init({ wasmModule: runtime });
|
|
62
63
|
const parser = new Parser();
|
|
@@ -67,12 +68,12 @@ The package also ships the queries in `queries/` and the node types in `src/node
|
|
|
67
68
|
|
|
68
69
|
In Rust, depend on the [crate](https://crates.io/crates/willbooster-tree-sitter-ruby) and on
|
|
69
70
|
[willbooster-tree-sitter](https://crates.io/crates/willbooster-tree-sitter), the runtime this package is tested and
|
|
70
|
-
fuzzed with. The parser requires runtime
|
|
71
|
+
fuzzed with. The parser requires runtime 13.x:
|
|
71
72
|
|
|
72
73
|
```toml
|
|
73
74
|
[dependencies]
|
|
74
|
-
tree-sitter = { package = "willbooster-tree-sitter", version = "
|
|
75
|
-
tree-sitter-ruby = { package = "willbooster-tree-sitter-ruby", version = "
|
|
75
|
+
tree-sitter = { package = "willbooster-tree-sitter", version = "13.0.0" }
|
|
76
|
+
tree-sitter-ruby = { package = "willbooster-tree-sitter-ruby", version = "5" }
|
|
76
77
|
```
|
|
77
78
|
|
|
78
79
|
```rust
|
package/package.json
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@willbooster/tree-sitter-ruby",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.1",
|
|
4
4
|
"description": "Ruby grammar for tree-sitter",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"incremental",
|
|
7
7
|
"parsing",
|
|
8
|
-
"
|
|
9
|
-
"
|
|
8
|
+
"ruby",
|
|
9
|
+
"tree-sitter"
|
|
10
10
|
],
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"author": "WillBooster Inc.",
|
|
11
13
|
"repository": {
|
|
12
14
|
"type": "git",
|
|
13
15
|
"url": "git+https://github.com/WillBooster/tree-sitter-ruby.git"
|
|
14
16
|
},
|
|
15
|
-
"license": "MIT",
|
|
16
|
-
"author": "WillBooster Inc.",
|
|
17
17
|
"files": [
|
|
18
18
|
"grammar.js",
|
|
19
19
|
"queries/*.scm",
|
|
@@ -21,6 +21,10 @@
|
|
|
21
21
|
"src/node-types.json",
|
|
22
22
|
"*.wasm"
|
|
23
23
|
],
|
|
24
|
+
"publishConfig": {
|
|
25
|
+
"access": "public",
|
|
26
|
+
"registry": "https://registry.npmjs.org/"
|
|
27
|
+
},
|
|
24
28
|
"scripts": {
|
|
25
29
|
"build-wasm": "script/generate --build-wasm",
|
|
26
30
|
"build/ci": "bun run build-wasm",
|
|
@@ -43,33 +47,26 @@
|
|
|
43
47
|
"devDependencies": {
|
|
44
48
|
"@tsconfig/bun": "1.0.11",
|
|
45
49
|
"@types/bun": "1.4.3",
|
|
46
|
-
"@vitest/browser-playwright": "5.0.
|
|
47
|
-
"@willbooster/
|
|
48
|
-
"@willbooster/
|
|
49
|
-
"@willbooster/
|
|
50
|
-
"@willbooster/web-tree-sitter": "10.0.2",
|
|
50
|
+
"@vitest/browser-playwright": "5.0.5",
|
|
51
|
+
"@willbooster/oxlint-config": "1.4.9",
|
|
52
|
+
"@willbooster/wb": "22.29.3",
|
|
53
|
+
"@willbooster/web-tree-sitter": "13.0.0",
|
|
51
54
|
"conventional-changelog-conventionalcommits": "10.4.1",
|
|
52
55
|
"lefthook": "2.2.2",
|
|
53
|
-
"oxfmt": "0.73.0",
|
|
54
56
|
"oxlint": "1.88.0",
|
|
55
57
|
"oxlint-tsgolint": "7.0.2004",
|
|
56
|
-
"playwright": "1.64.
|
|
58
|
+
"playwright": "1.64.1",
|
|
57
59
|
"semantic-release": "25.0.9",
|
|
58
|
-
"sort-package-json": "4.0.0",
|
|
59
60
|
"vite": "8.3.4",
|
|
60
|
-
"vitest": "5.0.
|
|
61
|
-
"wrangler": "4.
|
|
61
|
+
"vitest": "5.0.5",
|
|
62
|
+
"wrangler": "4.151.1"
|
|
62
63
|
},
|
|
63
64
|
"peerDependencies": {
|
|
64
|
-
"@willbooster/web-tree-sitter": "^
|
|
65
|
+
"@willbooster/web-tree-sitter": "^13.0.0"
|
|
65
66
|
},
|
|
66
67
|
"peerDependenciesMeta": {
|
|
67
68
|
"@willbooster/web-tree-sitter": {
|
|
68
69
|
"optional": true
|
|
69
70
|
}
|
|
70
|
-
},
|
|
71
|
-
"publishConfig": {
|
|
72
|
-
"access": "public",
|
|
73
|
-
"registry": "https://registry.npmjs.org/"
|
|
74
71
|
}
|
|
75
72
|
}
|
package/tree-sitter-ruby.wasm
CHANGED
|
Binary file
|