{"id":44051,"library":"tree-sitter-sql-bigquery","title":"tree-sitter-sql-bigquery","description":"Tree-sitter grammar for GoogleSQL (BigQuery SQL dialect). Version 0.8.0, released 2024-04, maintained actively. Supports parsing BigQuery SQL using the tree-sitter parsing library, enabling incremental parsing, syntax highlighting, and code navigation. Differentiators: dedicated BigQuery dialect support, bindings for Node.js via tree-sitter, and a web demo. Active development with CI.","status":"active","version":"0.8.0","language":"javascript","source_language":"en","source_url":"https://github.com/takegue/tree-sitter-sql-bigquery","tags":["javascript","parser","lexer","sql","bigquery","typescript"],"install":[{"cmd":"npm install tree-sitter-sql-bigquery","lang":"bash","label":"npm"},{"cmd":"yarn add tree-sitter-sql-bigquery","lang":"bash","label":"yarn"},{"cmd":"pnpm add tree-sitter-sql-bigquery","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Runtime peer dependency for tree-sitter API","package":"tree-sitter","optional":false}],"imports":[{"note":"tree-sitter >=0.21 moves to ESM exports for Node.js","wrong":"const Parser = require('tree-sitter'); const SQLBigQuery = require('tree-sitter-sql-bigquery');","symbol":"default","correct":"import Parser from 'tree-sitter';\nimport SQLBigQuery from 'tree-sitter-sql-bigquery';\nconst parser = new Parser();\nparser.setLanguage(SQLBigQuery);"},{"note":"TypeScript types included; import default for language object","wrong":"","symbol":"types","correct":"import type { Tree } from 'tree-sitter';\nimport SQLBigQuery from 'tree-sitter-sql-bigquery';"},{"note":"If you need the grammar object directly (e.g., for custom parser). Not common; prefer setLanguage with default export.","wrong":"","symbol":"Grammar (direct use)","correct":"import { grammar } from 'tree-sitter-sql-bigquery';"}],"quickstart":{"code":"import Parser from 'tree-sitter';\nimport SQLBigQuery from 'tree-sitter-sql-bigquery';\n\nconst parser = new Parser();\nparser.setLanguage(SQLBigQuery);\n\nconst source = `SELECT 1 AS a FROM dataset.table;`;\nconst tree = parser.parse(source);\nconsole.log(tree.rootNode.toString());","lang":"typescript","description":"Parses a BigQuery SQL statement using tree-sitter and prints the syntax tree."},"warnings":[{"fix":"Upgrade tree-sitter to ^0.21.0","message":"tree-sitter peer dependency changed from ^0.20 to ^0.21 in v0.8.0","severity":"breaking","affected_versions":">=0.8.0"},{"fix":"Use import statement instead of require()","message":"ESM-only imports in tree-sitter >=0.21; require() may fail","severity":"breaking","affected_versions":">=0.8.0"},{"fix":"Check GitHub issues; contribute if needed","message":"Grammar may not be fully up-to-date with latest BigQuery features; check issue tracker","severity":"gotcha","affected_versions":">=0.0.1"}],"env_vars":null,"search_vec":"'-04':19 '0.8.0':16 '2024':18 'activ':21,57 'bigqueri':5,12,24,43,65 'bind':46 'ci':60 'code':39 'dedic':42 'demo':56 'develop':58 'dialect':14,44 'differenti':41 'enabl':33 'googlesql':11 'grammar':9 'highlight':37 'increment':34 'javascript':61 'lexer':63 'librari':32 'maintain':20 'navig':40 'node.js':48 'pars':23,31,35 'parser':62 'releas':17 'sitter':3,8,30,52 'sql':4,13,25,64 'support':22,45 'syntax':36 'tree':2,7,29,51 'tree-sitt':6,28,50 'tree-sitter-sql-bigqueri':1 'typescript':66 'use':26 'version':15 'via':49 'web':55","created_at":"2026-06-05T17:02:44.561094+00:00","updated_at":"2026-06-05T17:02:44.561094+00:00","problems":[{"fix":"npm install tree-sitter","cause":"Missing peer dependency tree-sitter","error":"Error: Cannot find module 'tree-sitter'"},{"fix":"Use import Parser from 'tree-sitter' with ESM or use the ESM variant for tree-sitter >=0.21","cause":"Wrong import style (CommonJS vs ESM)","error":"TypeError: Parser is not a constructor"},{"fix":"parser.setLanguage(SQLBigQuery) not parser.setLanguage('tree-sitter-sql-bigquery')","cause":"Passing module path string instead of language object to parser.setLanguage()","error":"Error: Language function must be the language object, not a string"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/takegue/tree-sitter-sql-bigquery#readme","github":"https://github.com/takegue/tree-sitter-sql-bigquery","docs":null,"changelog":null,"pypi":null,"npm":"tree-sitter-sql-bigquery","openapi_spec":null,"status_page":null,"smithery":null,"categories":["database"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-05","next_check":"2026-09-03","install_tag":null}}