gitnexus 1.6.4-rc.16 → 1.6.4-rc.17
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/package.json +3 -3
- package/scripts/build-tree-sitter-dart.cjs +42 -0
- package/vendor/tree-sitter-dart/README.md +18 -0
- package/vendor/tree-sitter-dart/binding.gyp +31 -0
- package/vendor/tree-sitter-dart/bindings/node/binding.cc +20 -0
- package/vendor/tree-sitter-dart/bindings/node/index.d.ts +28 -0
- package/vendor/tree-sitter-dart/bindings/node/index.js +7 -0
- package/vendor/tree-sitter-dart/grammar.js +2895 -0
- package/vendor/tree-sitter-dart/package.json +18 -0
- package/vendor/tree-sitter-dart/queries/highlights.scm +246 -0
- package/vendor/tree-sitter-dart/queries/tags.scm +92 -0
- package/vendor/tree-sitter-dart/queries/test.scm +1 -0
- package/vendor/tree-sitter-dart/src/grammar.json +12459 -0
- package/vendor/tree-sitter-dart/src/node-types.json +15055 -0
- package/vendor/tree-sitter-dart/src/parser.c +196127 -0
- package/vendor/tree-sitter-dart/src/scanner.c +130 -0
- package/vendor/tree-sitter-dart/src/tree_sitter/alloc.h +54 -0
- package/vendor/tree-sitter-dart/src/tree_sitter/array.h +290 -0
- package/vendor/tree-sitter-dart/src/tree_sitter/parser.h +265 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gitnexus",
|
|
3
|
-
"version": "1.6.4-rc.
|
|
3
|
+
"version": "1.6.4-rc.17",
|
|
4
4
|
"description": "Graph-powered code intelligence for AI agents. Index any codebase, query via MCP or CLI.",
|
|
5
5
|
"author": "Abhigyan Patwari",
|
|
6
6
|
"license": "PolyForm-Noncommercial-1.0.0",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"test:integration": "vitest run test/integration",
|
|
48
48
|
"test:watch": "vitest",
|
|
49
49
|
"test:coverage": "vitest run --coverage",
|
|
50
|
-
"postinstall": "node scripts/patch-tree-sitter-swift.cjs && node scripts/build-tree-sitter-proto.cjs",
|
|
50
|
+
"postinstall": "node scripts/patch-tree-sitter-swift.cjs && node scripts/build-tree-sitter-dart.cjs && node scripts/build-tree-sitter-proto.cjs",
|
|
51
51
|
"prepare": "node scripts/build.js",
|
|
52
52
|
"prepack": "node scripts/build.js"
|
|
53
53
|
},
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
"optionalDependencies": {
|
|
89
89
|
"node-addon-api": "^8.0.0",
|
|
90
90
|
"node-gyp-build": "^4.8.0",
|
|
91
|
-
"tree-sitter-dart": "
|
|
91
|
+
"tree-sitter-dart": "file:./vendor/tree-sitter-dart",
|
|
92
92
|
"tree-sitter-kotlin": "^0.3.8",
|
|
93
93
|
"tree-sitter-proto": "file:./vendor/tree-sitter-proto",
|
|
94
94
|
"tree-sitter-swift": "^0.6.0"
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
const fs = require('fs');
|
|
3
|
+
const path = require('path');
|
|
4
|
+
const { execSync } = require('child_process');
|
|
5
|
+
|
|
6
|
+
const dartDir = path.join(__dirname, '..', 'node_modules', 'tree-sitter-dart');
|
|
7
|
+
const bindingGyp = path.join(dartDir, 'binding.gyp');
|
|
8
|
+
const bindingNode = path.join(dartDir, 'build', 'Release', 'tree_sitter_dart_binding.node');
|
|
9
|
+
|
|
10
|
+
try {
|
|
11
|
+
if (!fs.existsSync(bindingGyp) || fs.existsSync(bindingNode)) {
|
|
12
|
+
process.exit(0);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
try {
|
|
16
|
+
require.resolve('node-addon-api');
|
|
17
|
+
require.resolve('node-gyp-build');
|
|
18
|
+
} catch (resolveErr) {
|
|
19
|
+
console.warn(
|
|
20
|
+
'[tree-sitter-dart] Skipping build: hoisted build deps not resolvable (%s).',
|
|
21
|
+
resolveErr.message,
|
|
22
|
+
);
|
|
23
|
+
console.warn(
|
|
24
|
+
'[tree-sitter-dart] Dart parsing will be unavailable. Install without --no-optional and with scripts enabled to build.',
|
|
25
|
+
);
|
|
26
|
+
process.exit(0);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
console.log('[tree-sitter-dart] Building native binding...');
|
|
30
|
+
execSync('npx node-gyp rebuild', {
|
|
31
|
+
cwd: dartDir,
|
|
32
|
+
stdio: 'pipe',
|
|
33
|
+
timeout: 180000,
|
|
34
|
+
});
|
|
35
|
+
console.log('[tree-sitter-dart] Native binding built successfully');
|
|
36
|
+
} catch (err) {
|
|
37
|
+
console.warn('[tree-sitter-dart] Could not build native binding:', err.message);
|
|
38
|
+
console.warn(
|
|
39
|
+
'[tree-sitter-dart] Dart parsing will be unavailable. Non-Dart functionality is unaffected.',
|
|
40
|
+
);
|
|
41
|
+
process.exit(0);
|
|
42
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# tree-sitter-dart
|
|
2
|
+
This is a tree-sitter grammar written for the dart programming language. We attempt to adhere as closely as possible to the dart language spec. Initially it was started with a copy of the tree-sitter Java grammar which is why there may be a few relics included in here. For the sake of simplifying the syntax tree, many items were made inlined with tree-sitter's "underscore" method of writing rules.
|
|
3
|
+
|
|
4
|
+
# Getting Started
|
|
5
|
+
- Go to the project directory
|
|
6
|
+
- run `npm install` (first time)
|
|
7
|
+
- run `npm run build_init` (first time) `npm run build` (subsequent times)
|
|
8
|
+
- run `npm run test`
|
|
9
|
+
|
|
10
|
+
# To test a single highlight file
|
|
11
|
+
- run `tree-sitter highlight test/highlight/types.dart`
|
|
12
|
+
|
|
13
|
+
# To test a single test file
|
|
14
|
+
- run `tree-sitter test -f 'testcasefilter'`
|
|
15
|
+
- for example `tree-sitter test -f 'dart string literals'`
|
|
16
|
+
|
|
17
|
+
# To show the output of a parse for a sample file (for example while debugging highlight issues)
|
|
18
|
+
- run `tree-sitter parse path/to/file.dart`
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"targets": [
|
|
3
|
+
{
|
|
4
|
+
"target_name": "tree_sitter_dart_binding",
|
|
5
|
+
"dependencies": [
|
|
6
|
+
"<!(node -p \"require('node-addon-api').targets\"):node_addon_api_except",
|
|
7
|
+
],
|
|
8
|
+
"include_dirs": [
|
|
9
|
+
"src",
|
|
10
|
+
],
|
|
11
|
+
"sources": [
|
|
12
|
+
"bindings/node/binding.cc",
|
|
13
|
+
"src/parser.c",
|
|
14
|
+
# NOTE: if your language has an external scanner, add it here.
|
|
15
|
+
"src/scanner.c",
|
|
16
|
+
],
|
|
17
|
+
"conditions": [
|
|
18
|
+
["OS!='win'", {
|
|
19
|
+
"cflags_c": [
|
|
20
|
+
"-std=c11",
|
|
21
|
+
],
|
|
22
|
+
}, { # OS == "win"
|
|
23
|
+
"cflags_c": [
|
|
24
|
+
"/std:c11",
|
|
25
|
+
"/utf-8",
|
|
26
|
+
],
|
|
27
|
+
}],
|
|
28
|
+
],
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
#include <napi.h>
|
|
2
|
+
|
|
3
|
+
typedef struct TSLanguage TSLanguage;
|
|
4
|
+
|
|
5
|
+
extern "C" TSLanguage *tree_sitter_dart();
|
|
6
|
+
|
|
7
|
+
// "tree-sitter", "language" hashed with BLAKE2
|
|
8
|
+
const napi_type_tag LANGUAGE_TYPE_TAG = {
|
|
9
|
+
0x8AF2E5212AD58ABF, 0xD5006CAD83ABBA16
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
Napi::Object Init(Napi::Env env, Napi::Object exports) {
|
|
13
|
+
exports["name"] = Napi::String::New(env, "dart");
|
|
14
|
+
auto language = Napi::External<TSLanguage>::New(env, tree_sitter_dart());
|
|
15
|
+
language.TypeTag(&LANGUAGE_TYPE_TAG);
|
|
16
|
+
exports["language"] = language;
|
|
17
|
+
return exports;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
NODE_API_MODULE(tree_sitter_dart_binding, Init)
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
type BaseNode = {
|
|
2
|
+
type: string;
|
|
3
|
+
named: boolean;
|
|
4
|
+
};
|
|
5
|
+
|
|
6
|
+
type ChildNode = {
|
|
7
|
+
multiple: boolean;
|
|
8
|
+
required: boolean;
|
|
9
|
+
types: BaseNode[];
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
type NodeInfo =
|
|
13
|
+
| (BaseNode & {
|
|
14
|
+
subtypes: BaseNode[];
|
|
15
|
+
})
|
|
16
|
+
| (BaseNode & {
|
|
17
|
+
fields: { [name: string]: ChildNode };
|
|
18
|
+
children: ChildNode[];
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
type Language = {
|
|
22
|
+
name: string;
|
|
23
|
+
language: unknown;
|
|
24
|
+
nodeTypeInfo: NodeInfo[];
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
declare const language: Language;
|
|
28
|
+
export = language;
|