Add Liquid template language support for Shopify themes

- Add 'liquid' to Language type and default include patterns
- Create LiquidExtractor with regex-based extraction (tree-sitter-liquid has ABI issues)
- Extract render/include/section references as component nodes
- Extract schema blocks as constant nodes with parsed names
- Extract assign statements as variable nodes
- Create file relationship edges for snippet/section references

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Colby McHenry
2026-01-19 15:59:40 -06:00
co-authored by Claude Opus 4.5
parent 8d1fb680e5
commit a4ddedb197
5 changed files with 343 additions and 6 deletions
+21 -2
View File
@@ -1,12 +1,12 @@
{
"name": "@colbymchenry/codegraph",
"version": "0.1.9",
"version": "0.2.6",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@colbymchenry/codegraph",
"version": "0.1.9",
"version": "0.2.6",
"license": "MIT",
"dependencies": {
"@xenova/transformers": "^2.17.0",
@@ -22,6 +22,7 @@
"tree-sitter-java": "^0.23.5",
"tree-sitter-javascript": "^0.23.1",
"tree-sitter-kotlin": "^0.3.8",
"tree-sitter-liquid": "github:hankthetank27/tree-sitter-liquid",
"tree-sitter-php": "^0.23.11",
"tree-sitter-python": "^0.23.6",
"tree-sitter-ruby": "^0.23.1",
@@ -2431,6 +2432,24 @@
"integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==",
"license": "MIT"
},
"node_modules/tree-sitter-liquid": {
"version": "0.1.0",
"resolved": "git+ssh://git@github.com/hankthetank27/tree-sitter-liquid.git#d6ebde3974742cd1b61b55d1d94aab1dacb41056",
"hasInstallScript": true,
"license": "MIT",
"dependencies": {
"node-addon-api": "^8.0.0",
"node-gyp-build": "^4.8.1"
},
"peerDependencies": {
"tree-sitter": "^0.21.1"
},
"peerDependenciesMeta": {
"tree_sitter": {
"optional": true
}
}
},
"node_modules/tree-sitter-php": {
"version": "0.23.12",
"resolved": "https://registry.npmjs.org/tree-sitter-php/-/tree-sitter-php-0.23.12.tgz",